*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Cairo", sans-serif !important;
}
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&display=swap');
:root {
    --main-background-color: #f7f6f4;   /* خلفية فاتحة قريبة من الأبيض */
    --primary-color: #8a1538;           /* العنابي الأساسي */
    --secondary-color: #d6cfc4;         /* رمادي فاتح مائل للبيج */
    --main1-color: #5a0f26;             /* عنابي غامق للتأكيد */
    --main2-color: #ffffff;             /* الأبيض */
    --main3-color: #b4975a;             /* ذهبي خفيف لإضافة لمسة فخامة */
    --main4-color: #3c0b18;             /* عنابي داكن جدًا للنصوص أو الهوامش */
    --logo-color: #8a1538;              /* اللون الرسمي للشعار */
}
/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: var(--primary-color);
}

::-webkit-scrollbar-thumb:hover {
    background: #5a0f26; /* عنابي غامق */
}

.nav-link {
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 8px;
    color: var(--main1-color); /* عنابي غامق */
    text-decoration: none;
    overflow: hidden;
}

/* Active state with modern glass morphism effect */
.nav-link.active {
    background: linear-gradient(135deg, 
        rgba(138, 21, 56, 0.15) 0%,  /* عنابي فاتح */
        rgba(214, 207, 196, 0.1) 100% /* رمادي فاتح */
    );
    backdrop-filter: blur(10px);
    border: 1px solid rgba(138, 21, 56, 0.2); /* إطار عنابي */
    color: var(--primary-color); /* العنابي الأساسي */
    font-weight: 600;
    box-shadow: 
        0 8px 32px rgba(138, 21, 56, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Left border accent for active items */
.nav-link.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--primary-color), var(--secondary-color));
    border-radius: 0 2px 2px 0;
}

/* Subtle glow effect on active */
.nav-link.active::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, 
        rgba(138, 21, 56, 0.05) 0%, 
        transparent 70%);
    border-radius: 8px;
    pointer-events: none;
}

/* Hover effects for better interaction feedback */
.nav-link:hover:not(.active) {
    background: rgba(138, 21, 56, 0.05);
    transform: translateX(4px);
    box-shadow: 0 4px 16px rgba(138, 21, 56, 0.08);
}

/* SVG and icon styling for active state */
.nav-link.active svg,
.nav-link.active img {
    filter: brightness(1.1) saturate(1.2);
    transform: scale(1.05);
    transition: all 0.3s ease;
}

/* Dropdown specific active styling */
.nav-item.dropdown .nav-link.active {
    background: linear-gradient(135deg, 
        rgba(138, 21, 56, 0.12) 0%, 
        rgba(214, 207, 196, 0.08) 100%);
}

.dropdown-active {
    background: linear-gradient(135deg, 
        rgba(138, 21, 56, 0.12) 0%, 
        rgba(214, 207, 196, 0.08) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(138, 21, 56, 0.2);
    color: var(--primary-color);
    font-weight: 600;
}


.footer{
    background-color: white !important;
    color: black !important;
}
.footer-logo{
    width: 250px;
}
.nav-link-black{
    color: black !important;
    text-decoration: underline !important;
}
.border-active{
    border: 1.5px solid rgb(119, 119, 119) !important;
    border-radius: 5px !important;
    background: var(--main3-color) !important;
    color: white !important;
}

@media print {
    .no-print {
        margin: 0 !important;
        display: none !important;
    }
}

.bg-main{
    background-color: var(--main1-color) !important;
}
.bg-main2{
    background-color: var(--main2-color) !important;
}
.text-main{
    color: var(--main1-color) !important;
}
.text-main1{
    color: var(--primary-color) !important;
}
.nav-link{
    color: var(--primary-color) !important;
}
.nav-link1{
    color: black !important;
    text-decoration: none !important;
}
body{
    background: #e2e4e9bb;
}
.dropdown-item-hover{
    transition: all .3s ease-in-out;
}
.dropdown-item-hover:hover{
    background-color: var(--main2-color) !important;
    scale: 1.01;
}

.navbar-home{
    background-color: white !important;
    color: var(--main1-color) !important;
    border-bottom: 2px var(--primary-color) solid;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}
.admin-navbar{
    background-color: white !important;
    color: var(--main1-color) !important;
    border-bottom: 2px var(--primary-color) solid;
}

.logos-container {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    width: 100%;
    background: #fff;
    padding: 10px 0;
}

.logos-card {
    display: flex;
    align-items: center;
    gap: 20px; /* Adjust spacing between images */
    animation: slideLoop 15s linear infinite;
    width: max-content; /* Ensures the content width adapts dynamically */
}

.partner-logo {
    max-width: 120px; /* Adjust size */
    height: auto;
}

/* Keyframe animation for smooth infinite scrolling */
@keyframes slideLoop {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.btn-primary{
    background-color: var(--main4-color) !important;
    border-color: var(--main1-color) !important; 
}
.header-logo{
    color: var(--logo-color) !important;
    font-weight: 900;
    font-size: 2.2rem;
}
.img-logo{
    width: 150px;
    height: 150px;
    /* border-radius: 50%; */
    object-fit: cover;
}
.logo{
    color: var(--main1-color);
    font-weight: bold;
    font-size: 3.2rem;
}
.text-hight-low{
    line-height: .2rem;
}
.form-container{
    /* width: 100%; */
    /* height: calc(80vh - 60px); */
    display: flex;
    justify-content: center;
    align-items: center;
}
.form-container form{
    width: 400px;
    padding: 20px;
    /* background-color: white; */
    border-radius: 5px;
    /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}

.box_shadow{
    box-shadow: 0 5px 25px rgba(1 1 1 / 15%);
}
.decoration-none{
    text-decoration: none !important;
}

footer{
    background-color: var(--primary-color) !important;
    color: white;
    padding: 10px;

}
.min-h-100{
    min-height: 100vh !important;
}
.text-bold{
    font-weight: bold;
}

.custom-search-input{
    border: none !important;
    border-radius: 0px !important;
    /* border-bottom: 1px solid #ced4da !important; */
    box-shadow: none !important;
}
.custom-search-input:focus{
    border-bottom: 1px solid #ced4da !important;
    box-shadow: none !important;
}

.custom-search-input::placeholder{
    font-size: 14px;
}

.custom-search-button{
    border: none !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    background-color: var(--main2-color);
    color: var(--main1-color);
}
.custom-search-button:focus{
    border: none !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    background-color: var(--main2-color);
}
.custom-search-button:hover{
    border: none !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    background-color: var(--main2-color);
}

aside{
    background: var(--main-background-color);
    color: var(--primary-color);
    height: 100vh;
    padding: 10px;
    width: 25%;
    position: fixed;
    right: 0;
    top: 0;
    overflow-y: auto;
}
.aside-admin{
    background: var(--main-background-color);
    color: var(--primary-color);
    height: calc(100vh - 60px);
    padding: 10px;
    width: 350px;
}
.question-container{
    color: var(--primary-color);
    height: calc(100vh - 60px);
    padding: 10px;
    width: 75%;
    position: absolute;
    left: 0;
    top: 0;
}
.main-admin{
    color: var(--primary-color);
    height: calc(100vh - 60px);
    padding: 10px;
    width: calc(100% - 300px);
}
.border-bottom1{
    border-bottom: 1px solid var(--main1-color);
}
.border-bottom2{
    border-bottom: 1px solid rgb(189, 189, 189);
}

.main-container{
    width: 100%;
    height: 90vh;
    position: relative;
    /* background: linear-gradient(to right, #0b5f61, #0b4c4d) !important; */

}
.main-container .main-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    z-index: -1;
}
.main-container .content{
    position: absolute;
    top: 50%;
    left: 30%;
    width: 30%;
    height: 100%;
    padding: 70px 20px 20px 20px;
    transform: translate(-50%,-50%);
    color: white;
    text-align: center;
    background-color: var(--main2-color);
    color: var(--main1-color);
}
h4{
    color: var(--main4-color) !important;
}

.double-arrow-img{
    width: 50px;
    height: 50px;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    transform: rotate(270deg);
}
.double-arrow-img:hover{
    cursor: pointer;
    transition: all .5s ease-in-out;
    transform: rotate(270deg) scale(1.5);
}
.double-arrow-up-img{
    width: 30px;
    height: 30px;
    object-fit: cover;
    object-position: center;
    transform: rotate(90deg);
}
.min-height{
    min-height: 70vh;
}
#bbttnn{
    background-color: var(--main2-color);
    z-index: 999;
    position: fixed;
    font-size: 1rem;
    left: 20px;
    bottom: 20px;
    padding: 5px 8px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    outline: none;
    display: none;
}

.bbttnn:hover{
    cursor: pointer;
    transition: all .5s ease-in-out;
    transform: rotate(90deg) scale(1.5);
}

#bbttnn1{
    background-color: var(--main2-color);
    z-index: 999;
    position: fixed;
    font-size: 1rem;
    left: 20px;
    bottom: 65px;
    padding: 5px 8px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    outline: none;
    display: none;
}
.q-icons-container{
    width: 100%;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.q-icon{
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--main1-color);
    cursor: pointer;
    text-decoration: none;
    color: var(--main1-color);
}
.q-icon-answered{
    border: 1px solid #10c14e !important;
    background-color: #10c14e !important;
    color: white !important;
}

.q-active {
    border: 1px solid #007bff;
}
.q-answered{
    border: 1px solid #10c14e !important;
}
.q-icon-active{
    border: 1px solid #007bff;
    color: #007bff;
    background-color: #007bff;
    color: white;
}

/* Container for answer options */
.answer-option {
    width: 100%;
    margin-bottom: 15px;
}

/* Label styling */
.answer-label {
    position: relative;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px; /* Space between custom radio and text */
}

/* Hide the native radio button */
.answer-radio {
    display: none;
    width: 100%;
}

/* Create custom radio button */
.custom-radio {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #f0f0f0;
    border: 2px solid #ccc;
    border-radius: 50%;
    position: relative;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* The dot inside the custom radio button */
.custom-radio::after {
    content: "";
    position: absolute;
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #007bff;
}

/* Show the custom dot and border when the radio is checked */
.answer-radio:checked + .custom-radio {
    background-color: #007bff;
    border-color: #007bff;
}

/* Show the inner dot when selected */
.answer-radio:checked + .custom-radio::after {
    display: block;
}

/* Add a clear border to the selected option's text */
.answer-radio:checked + .custom-radio + .mx-2 {
    border: 2px solid #007bff;
    padding: 2px 8px;
    border-radius: 4px;
    color: #007bff;
}

.card-header{
    width: 100%;
    height: 25%;
    display: flex;
    flex-wrap: wrap;
}
.card_body{
    width: 100%;
    height: 75%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.card-content{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
}
.card-icon{
    width: 65px;
    padding: 5px;
    margin: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;

    color: white;
    /* background-color: var(--main2-color); */
}
.bg-danger{
    background-color: red !important;
}
.res-h1{
    font-size: 3.5rem;
}
.letter-spacing-long{
    letter-spacing: 2px;
}
.d-card{
    width: 100%;
    height: 100px;
    padding: 12px;
    display: flex;
    background-color: white;
    justify-content: center;
    flex-direction: column;
    border-radius: 8px;
    border: 1px solid rgb(156, 156, 156) !important;
}
.border-warning{
    border-right: 5px solid #ffc107 !important;
}
.border-primary{
    border-right: 5px solid #007bff !important;
}
.border-success{
    border-right: 5px solid #28a745 !important;
}
.border-danger{
    border-right: 5px solid #dc3545 !important;
}
.border-top-warning{
    border-top: 5px solid #ffc107 !important;
}
.border-top-primary{
    border-top: 5px solid #007bff !important;
}
.border-top-success{
    border-top: 5px solid #28a745 !important;
}
.border-top-danger{
    border-top: 5px solid #dc3545 !important;
}
.border-info{
    border-right: 5px solid #17a2b8 !important;
}
.line-height{
    line-height: .5 !important;
}
.animated-logo {
    animation: scaleFade 2s ease-in-out infinite alternate;
}

@keyframes scaleFade {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2); /* Grow slightly bigger */
        opacity: 1; /* Fully visible */
    }
    100% {
        transform: scale(1); /* Shrink back */
        opacity: 1;
    }
}

.sqare{
    width: 10px;
    height: 10px;
    /* border-radius: 5px; */
    margin: 3px;
}
.animate-fade-in-down{
    animation: fade-in-down 1s ease-in-out;
}
.animate-fade-in-up{
    animation: fade-in-up 1s ease-in-out;
}
.animate-fade-in-right{
    animation: fade-in-right 1s ease-in-out;
}
.animate-fade-in-left{
    animation: fade-in-left 1s ease-in-out;
}

/* new style for login form */
.right-side-form{
    background-color: rgb(244, 243, 243);
}
.profile-square{
    width: 100%;
    height: 300px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
}
.profile-square .top{
    width: 100%;
    height: 72%;
    /* border: 1px solid rgb(156, 156, 156); */
    display: flex;
    align-items: center;
    justify-content: center;
}
.profile-square .bottom{
    width: 100%;
    height: 28%;
    border-top: 1px solid rgb(156, 156, 156);
    display: flex;
    align-items: center;
    justify-content: center;
}
.profile-square .circle{
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 8px solid #d7936f;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: white;
}
.bg-awareness{
    background-color: #d7936f !important;
    padding: 0 5px;
    border-radius: 8px;
    color: white;
}
.text-awareness{
    color: #d7936f !important;
}
.bg-participation{
    background-color: #6a93a6 !important;
    padding: 0 5px;
    border-radius: 8px;
    color: white;
}
.text-participation{
    color: #6a93a6 !important;
}
.bg-application{
    background-color: #007bff !important;
    padding: 0 5px;
    border-radius: 8px;
    color: white;
}
.text-application{
    color: #007bff !important;
}
.bg-merger{
    background-color: #b371ac !important;
    padding: 0 5px;
    border-radius: 8px;
    color: white;
}
.text-merger{
    color: #b371ac !important;
}

.profile-table-container {
    width: 100%;
    overflow-x: auto;
    /* overflow-y: visible; Ensure sticky elements remain visible */
    position: relative;
}

/* Table Styling */
.profile-table {
    width: 100%; 
    background-color: white;
    border-collapse: separate; 
    border-spacing: 0; 
    border: 1px solid #ddd; 
    border-radius: 8px; 
    overflow: hidden;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

/* General Cell Borders */
.profile-table td, 
.profile-table th {
    border-bottom: 1px solid #ddd; 
    padding: 8px; 
    text-align: center;
}

/* Header Styling */
.profile-table th {
    background-color: #f4f4f4; 
    font-weight: bold;
    border-bottom: 2px solid #ddd; 
}

/* Sticky Header */
.sticky-header {
    position: sticky;
    top: 0;
    z-index: 5; /* Higher than cells but lower than UI overlays */
    background-color: #f4f4f4;
}

/* Sticky First Column */
.sticky-column {
    position: sticky;
    left: 0;
    z-index: 3; /* Higher than cells */
    background-color: #fff;
    font-weight: bold;
}

/* Percentage Span Styling */
.percentage-span {
    width: 90px;
    padding: 5px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* Rounded Corners on Table */
.profile-table tr:first-child th:first-child {
    border-top-left-radius: 8px;
}

.profile-table tr:first-child th:last-child {
    border-top-right-radius: 8px;
}

.profile-table tr:last-child td:first-child {
    border-bottom-left-radius: 8px;
}

.profile-table tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

.exam-card{
    width: 95%;
    height: 95;
}


.profile-square .circle2{
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 8px solid #6a93a6;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: white;
}
.profile-square .circle3{
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 8px solid #007bff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: white;
}
.profile-square .circle4{
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 8px solid #b371ac;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: white;
}
.read-msg{
    border: #10c14e solid 3px !important;
    border-radius: 8px;
}

.gest-main-container{
    width: 100%;
    height: 85vh;
    position: relative;
}
/* .gest-main-container .main-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    z-index: -1;
} */

.guest-btn{
    border: 1px solid var(--main3-color);
    outline: none;
    text-decoration: none;
    background: transparent;
    color: var(--main4-color);
    padding: 5px 20px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.2rem;
    transition: all .2s ease-in-out;
}
.guest-btn:hover{
    background: var(--main3-color);
    color: white;
    scale: 1.02;
}
.about-us-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.logos-container{
    width: 100%;
}
.logos-card{
    background: rgb(255, 255, 255);
    padding: 10px;
    border-radius: 10px;  
}
.logos-card1 img{
    width: 150px;
    height: 150px;
    object-fit: cover;
    object-position: center;
}
.logos-container img{
    width: 100px;
    height: 100px;
    object-fit: cover;
    object-position: center;
}
.lang-dropdown{
    margin-right: 10px;
}
.mr-3{
    margin-right: 10px !important;
}
.ml-3{
    margin-left: 10px !important;
}
.lang-icon{
    width: 25px;
    height: 25px;
    padding: 1px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1.5px solid rgb(129, 128, 128);
    color: black;
}
.lang-icon-active{
    background-color: var(--primary-color) !important;
    color: white !important;
}
.lang-icon:hover{
    background-color: var(--primary-color) !important;
    color: white !important;
}
.lang-icon-en{
    border-radius: 0 0 5px 5px ;
}
.lang-icon-ar{
    border-radius: 5px 5px 0 0;
}
.read-msg{
    border: #10c14e solid 3px !important;
    border-radius: 8px;
}
.profile-border{
    border-radius: 10px;
    padding: 8px;
    border: #297dd0 solid 3px;
    /* box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); */
}
.card-min-h{
    min-height: 200px !important;
}


/* Animation */
@keyframes fade-in-down {
    0% {
        transform: translateY(-20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-up {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in-right {
    0% {
        transform: translateX(20px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-left {
    0% {
        transform: translateX(-20px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}   

@media  screen and (max-width: 992px) {
    .logout1{
        display: none !important;
    }
    .res-h1{
        font-size: 2.5rem;
    }
}

@media  screen and (min-width: 992px) {
    .logout{
        display: none !important;
    }
    .margin-large{
        margin: 120px 160px !important;
    }
}

@media  screen and (max-width: 768px) {
    .d-none-sm{
        display: none !important;
    }
    .res-h1{
        font-size: 2rem;
    }
    .percentage-span{
        width: 50px;
        font-size: 10px;
    }
    .main-container .content{
        width: 60% !important;
    }
}

@media  screen and (max-width: 850px){
    aside{
        display: none !important;
    }
    .question-container{
        width: 100% !important;
    }
    #bbttnn1{
        display: block !important;
    }
}

@media  screen and (min-width: 850px){
    .d-none-850{
        display: none !important;
    }
}

aside {
    background: white;
    color: var(--primary-color);
    min-height: 100vh;
    padding: 10px;
    width: 300px;
    border-left: var(--primary-color) solid 3px;
    position: fixed;
    top: 0;
    right: 0;
    left: unset;
}


main {
    margin-left: 0;
    margin-right: 300px;
    left: 0;
    right: unset;
    width: calc(100% - 300px);
}
header {
    background-color: white;
    border-bottom: 2px solid var(--primary-color);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 991.98px) { /* lg breakpoint */
    aside {
        display: none;
    }

    main {
        margin-right: 0;
        width: 100%;
    }
}

