/********** Template CSS **********/
:root {
    --primary: #06BBCC;
    --light: #F0FBFC;
    --dark: #181d38;
}

.fw-medium {font-weight: 600 !important;}
.fw-semi-bold {font-weight: 700 !important;}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}
.form-control:focus {box-shadow: none !important;}

/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

/*** Button ***/
.btn {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    transition: .5s;
}

.btn .btn-primary,
.btn .btn-secondary {color: #FFFFFF;}

.btn-square {width: 38px; height: 38px;}
.btn-sm-square {width: 32px; height: 32px;}
.btn-lg-square {width: 48px; height: 48px;}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 0;
}

/*** Navbar ***/
.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;
}

.navbar-light .navbar-nav .nav-link {
    margin-right: 30px;
    padding: 25px 0;
    color: #FFFFFF;
    font-size: 15px;
    text-transform: uppercase;
    outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {color: var(--primary);}
.navbar-light .navbar-nav .nav-link {color: var(--dark); font-weight: 500;}
.navbar-light.sticky-top {top: -100px; transition: .5s;}

@media (max-width: 600.98px) {
    .navbar-light .navbar-nav .nav-link {
        margin-right: 0;
        padding: 10px 0;
    }
    .navbar-light .navbar-nav {border-top: 1px solid #EEEEEE;}
    .back-to-top {display: none !important;}
}
@media (max-width: 768px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        margin-top: 0;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
        left: 0;
    }
    .navbar .dropdown-menu.fade-down {
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
    }
    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        transform: rotateX(0deg);
        visibility: visible;
        transition: .5s;
        opacity: 1;
        left: 0;
    }
}


/*** Header carousel ***/
@media (max-width: 768px) {
    .header-carousel .owl-carousel-item {
        position: relative;
        min-height: 500px;
    }
    .header-carousel .owl-carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.header-carousel .owl-nav {
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
}
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    margin: 7px 0;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: transparent;
    border: 1px solid #FFFFFF;
    font-size: 22px;
    transition: .5s;
}
.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    background: var(--primary);
    border-color: var(--primary);
}

.page-header {
    background: linear-gradient(rgba(24, 29, 56, .7), rgba(24, 29, 56, .7)), url(../img/1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.page-header-inner {background: rgba(15, 23, 43, .7);}
.breadcrumb-item + .breadcrumb-item::before {color: var(--light);}


/*** Section Title ***/
.section-title {
    position: relative;
    display: inline-block;
    font-size: 32px;
}

.section-title::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    height: 10px;
    width: 100%;
    background: #ab674221;
    z-index: -1;
}

@media (max-width: 768px) {
    .section-title{
    font-size: 28px;
}
}
@media (max-width: 568px) {
    .section-title{
    font-size: 25px;
}
}

/*.section-title::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: calc(100% + 80px);
    height: 10px;
    width: 100%;
    top: 4px;
    left: -40px;
    background: var(--primary);
    z-index: -1;
}
 .section-title::after {
    position: absolute;
    content: "";
    width: calc(100% + 120px);
    height: 2px;
    bottom: 5px;
    left: -60px;
    background: var(--primary);
    z-index: -1;
} */
.section-title.text-start::before {
    width: calc(100% + 40px);
    left: 0;
}
.section-title.text-start::after {
    width: calc(100% + 60px);
    left: 0;
}


/*** Service ***/
.service-item {background: var(--light); transition: .5s;}
.service-item:hover {margin-top: -10px; background: var(--primary);}
.service-item * {transition: .5s;}
.service-item:hover * {color: var(--light) !important;}


/*** Categories & Courses ***/
.category img,
.course-item img {transition: .5s;}

.category a:hover img,
.course-item:hover img {transform: scale(1.1);}


/*** Team ***/
.team-item img {transition: .5s;}
.team-item:hover img {transform: scale(1.1);}


/*** Testimonial ***/
.testimonial-carousel::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}
.testimonial-carousel::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

@media (min-width: 768px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {width: 200px;}
}

@media (min-width: 992px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {width: 300px;}
}

.testimonial-carousel .owl-item .testimonial-text,
.testimonial-carousel .owl-item.center .testimonial-text * {transition: .5s; color: #FFFFFF !important;}
.testimonial-carousel .owl-item.center .testimonial-text {background: var(--primary) !important;}
.testimonial-carousel .owl-dots {
    margin-top: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    border: 1px solid #CCCCCC;
    transition: .5s;
}
.testimonial-carousel .owl-dot.active {
    background: var(--primary);
    border-color: var(--primary);
}


/*** Footer Section CSS - Moon ***/
.footer .company-info {
    display: flex;
    flex-direction: row; /* 12 columns width */
    margin: 0; /* Negative margin to create a 2-column gap on both sides */
    text-align: center;
    justify-content: center;
}
.footer .footer-menu .footer-menu-text a {text-decoration: none; color: white;}
.footer .footer-menu .footer-menu-text a:hover {text-decoration: underline; color: var(--theme-color);}
.footer .linked-menu-desktop {display: block;}
.footer .linked-menu-mobile {display: none;}
.footer .footer_section {padding-left: 0;}
.footer .footer_section h6 {text-align: left !important;}
.footer .bg-theme-color {background: var(--theme-color) !important;}
.footer .bg-theme-color:hover {background: #593b2b !important;}

@media (max-width: 768px) {
    .footer .mobile {flex-direction: column; text-align: center;}
    .footer .company-info {
        flex-direction: row; /* 16 columns width */
        text-align: justify;}
    .footer .linked-menu-desktop {display: none;}
    .footer .linked-menu-mobile {display: block;}
    .footer .linked-menu-mobile .footer-menu-text {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-evenly;}
    .footer .linked-menu-mobile .footer-menu-text a {width: 150px;}
}

.footer .btn-social {
    margin-right: 5px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    font-weight: normal;
    border: 1px solid #FFFFFF;
    border-radius: 35px;
    transition: .3s;
}
.footer .btn.btn-social:hover {color: var(--primary);}

.footer .linked-menu-desktop .footer-menu-text a {white-space: nowrap;}

.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: normal;
    text-transform: capitalize;
    text-decoration: none;
    transition: .3s;
}
.footer .btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}
.footer .btn-link:hover {
    letter-spacing: 2px;
    box-shadow: none;
    color: var(--theme-color);
}

.footer .copyright {
    padding: 12px 0;
    font-size: 15px;
    border-top: 1px solid rgba(256, 256, 256, .1);
}
.footer .copyright a {color: var(-light);}

.footer .footer-menu a {
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}
.footer .footer-menu a:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}

label {font-weight: 500; margin: 5px 0;}
.navbar-nav li:hover>ul.dropdown-menu {display: block;}

.dropdown-submenu {position: relative;}
.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
}

/* rotate caret on hover */
.dropdown-menu>li>a:hover:after {
    text-decoration: underline;
    transform: rotate(-90deg);
}

.form_element {
    padding: 0;
    margin: 20px 0;
    border: 1px solid #818181;
}
.element-body {padding: 10px;}

/* ================= Accordion Style (Common Toggle Button) =========== */

.shadow:hover { box-shadow: rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; }

.accordion { display: grid; gap: 20px; margin-top: 50px; }
.accordion .accordion-item { box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0; }
.accordion .accordion-item button:hover { background: #f4f4f4; }
.accordion .accordion-item button[aria-expanded='true'] { border-bottom: 1px solid var(--theme-color); }

.accordion button {
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    padding: 20px 10px;
    color: var(--theme-color);
    font-size: 18px;
    font-weight: 400;
    border: none;
    background: none;
    outline: none;}

.accordion button:hover,
.accordion button:focus { cursor: pointer; color: var(--theme-color); }
.accordion button:hover::after,
.accordion button:focus::after { cursor: pointer; color: var(--theme-color); border: 1px solid var(--theme-color); }

.accordion button .accordion-title { padding-right: 1.5em; color: black; display: block; }

.accordion button .icon {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 22px;
    height: 22px;
    border: 1px solid;
    border-radius: 22px;
    transform: translateY(-50%); }

.accordion button[aria-expanded='true'] {color: var(--theme-color); background: #ddd;}
.accordion button[aria-expanded='true']:hover {background: #ddd;}
.accordion button[aria-expanded='true'] .icon::after {width: 0;}
.accordion button[aria-expanded='true']+.accordion-content {
    opacity: 1;
    max-height: 400px;
    overflow-y: auto;
    transition: all 200ms linear;
    will-change: opacity, max-height; }

.accordion .accordion-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 200ms linear, max-height 200ms linear;
    will-change: opacity, max-height; }

.accordion .accordion-content ul,
.accordion .accordion-content p { font-size: 16px; font-weight: 400; margin: 1em; }

/* ================= Md. Mahabub Alam Moon =========== */

#more1,
#more2 {display: none;}

.prevent-copy-text-Moon {
    -webkit-user-select: none;      /* Safari */
    -ms-user-select: none;          /* Internet Explorer 10 and 11 */
    user-select: none;              /* Standard syntax */
}
.prevent-copy-image-Moon {pointer-events: none;}

.createFA {color: var(--theme-color); text-align: center;}
.btn-createFA {background: #334d6e;}
.btn-createFA:hover {background: #001f3f;}

.transition-button-Moon {
    display: inline-block;
    background-color: transparent; /* Initial background color */
    color: Black;
    padding: 10px 20px;
    border: 2px solid var(--theme-color);
    border-radius: 5px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    transition: background-color 1s ease; /* Transition effect */
    z-index: 1; /* Ensure button content is above pseudo-element */ 
}
.transition-button-Moon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--theme-color);
    transform: translateX(-100%);
    transition: transform 1s ease;
    z-index: -1; /* Ensure pseudo-element is below button content */
}
.transition-button-Moon:hover::before { transform: translateX(0); }
.transition-button-Moon:hover {
    background-color: #3498db;
    color: White;
    font-weight: bold;
}

/* ============= Registration Page ============= */

.registration-page .left-section .box { padding: 20px; }
.registration-page .photo-section { text-align: center; overflow: hidden; }
.registration-page .photo-section img { border-top-left-radius: 10px; border-top-right-radius: 10px; }
.registration-page .registrationImage { width: 600px; height: 313px; }
.registration-page .text-section { margin-top: 20px; text-align: justify; }
.registration-page .text-section p { margin-bottom: 10px; }
.registration-page .text-section ul { margin: 0; padding-left: 40px; }
.registration-page .text-section li { list-style-type: disc; margin-bottom: 10px; text-align: left !important; }
        
.registration-page .field-icon { position: absolute; right: 10px; top: 0.6rem; z-index: 9; }
.consentLabel label { font-weight: 400 !important;}

.registration-page label { font-weight: bold; }

@media (max-width: 768px) {
    .registration-page .text-section ul { padding-left: 20px; }
    .registration-page .registrationImage { width: 600px; height: 220px; }
}

.registration-page .registration_section { box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0; display: flex; gap: 20px; border-radius: 10px; overflow: hidden; }
@media only screen and (max-width: 1220px) {.registration-page .registration_section { flex-direction: column-reverse; }}

.registration-page .password-section { display: grid; align-items: center; grid-template-columns: 1fr 3fr; gap: 10px; }
@media only screen and (max-width: 767px) {.registration-page .password-section { grid-template-columns: 1fr; gap: 0 }}

.registration-page .userPhotoPreview {width: 120px; height: 120px; object-fit: contain; border: 1px solid #ddd; margin-top: 10px; display: none;}

/* ============= Login Page ============= */

.login_section .padding-30 {padding: 20px;}
.login_section { box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0; display: flex; gap: 20px; border-radius: 10px; overflow: hidden; }
@media only screen and (max-width: 1220px) {
    .login_section { flex-direction: column-reverse; }
}
.login_section .field-icon { position: absolute; right: 10px; top: 1.1rem; z-index: 9; }
.login_section .login_btn:hover {box-shadow: rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;}

.login_section .form-control { border-top-right-radius: 4px !important; border-bottom-right-radius: 4px !important; }
.login_section .form-control:focus { border: 1px solid #ab6742; }

/* ============= Common Style ============= */

.thematicHover { color: var(--theme-color); font-weight: 700; }
.thematicHover:hover { color: DodgerBlue; text-decoration: underline; cursor: pointer; }

/* ============= Common Buttons ============= */

.register_btn,
.login_btn { background: var(--theme-color); border-radius: 10px; border: none; font-weight: 600; color: #fff; padding: 10px 50px; margin: 0 auto; display: block; width: fit-content; }
.register_btn:hover,
.login_btn:hover { background: #8a5535; box-shadow: rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; }

/* ============= Courses & Materials */

.faq_toggle_btn { display: flex !important; justify-content: space-between; align-items: center; }
.faq_toggle_btn .active { rotate: 180deg; transition: 0.5s;}
.faq_toggle_icon { border: 1px solid var(--theme-color); border-radius: 50%; transition: 0.5s; }

/* ============= Jobs at CERRS (INDEX Page) ============= */

.jobs-at-cerrs .category .job_main {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 30px 19px 32px 19px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;}
.jobs-at-cerrs .category .job_main:hover {box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);}
.jobs-at-cerrs .category .job_main span {
    padding: 5px 5px 5px 10px;
    font-weight: 400;
    border: 1px solid #ccc;
    border-radius: 5px;
    display: inline-block;
    margin-left: 20px;}
.jobs-at-cerrs .job-place {
    display: flex;
    align-items: center;
    font-size: 16px;
    padding-left: 0px;
    color: #76787A;}
.jobs-at-cerrs .job-place {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    padding-left: 0px;
    color: #76787A;}
.jobs-at-cerrs .job-place li {list-style: none;}
.jobs-at-cerrs .job-place p {margin: 0;}
@media (max-width: 400px) {
    .jobs-at-cerrs .job-place {flex-direction: column; align-items: flex-start;}
    .jobs-at-cerrs .job-place li {margin-bottom: 10px;}
}

/* ============= Jobs at CERRS (Details Page) ============= */

.job-detail-page .f-sm {font-size: small; font-weight: 600;}
.job-detail-page .bg-semi-dark {background: #dddddd;}
.job-detail-page .semi-blue {color: #197fc3;}
.job-detail-page .semi-blue:hover {color: #135a8a;}
.job-detail-page .keywords a {
    display: inline-block;
    padding: 5px 10px;
    margin: 5px;
    border: 1px solid #28a745;
    border-radius: 15px;
    color: #28a745;
    background-color: #f9f9f9;
    transition: background-color 0.3s, color 0.3s;
    text-decoration: none;}
.job-detail-page .keywords a:hover {background-color: #28a745; color: #fff;}
.job-detail-page img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);}
.job-detail-page .job-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 15px 0;
    color: #333;}
.job-detail-page .job-company,
.job-detail-page .job-location {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 10px 0;
    color: #555;}
.job-detail-page .job-company a,
.job-detail-page .job-location a {color: #197fc3; text-decoration: none;}
.job-detail-page .job-company a:hover,
.job-detail-page .job-location a:hover {color: #135a8a;}

.job-detail-page .pageBuilderMoon {text-align: justify;}
.job-detail-page .pageBuilderMoon ul {
    list-style-type: none; /* Removing default bullet points */
    padding-left: 20px;    /* Padding for better spacing */}
@media (max-width: 420px) {
    .job-detail-page .job-title {font-size: 1.25rem;}
    .job-detail-page .pageBuilderMoon ul {padding-left: 5px;}
}
.job-detail-page .pageBuilderMoon li {
    position: relative;
    padding-left: 25px; /* Space for bullets */
    margin-bottom: 8px; /* Gap between list items */}
.job-detail-page .pageBuilderMoon li::before {
    content: '\2022';   /* Unicode character for a bullet point (•) */
    position: absolute;
    left: 0;
    top: -8px;         /* Adjust the vertical alignment */
    color: #008000;     /* Moon-made Bullet point color */
    font-size: 1.6em;     /* Moon-made Bullet point size */}

/* ============= Privacy Policy + Return & Refund Policy + Terms & Conditions ============= */

.privacyPolicy h3,
.refundPolicy h3,
.TermsAndConditions h3 {text-align: center; font-weight: bold; margin-top: 10px; margin-bottom: 15px;}

.privacyPolicy .effectiveDate,
.refundPolicy .effectiveDate,
.TermsAndConditions .effectiveDate {text-align: right;}
@media (max-width: 768px) {
    .privacyPolicy .effectiveDate,
    .refundPolicy .effectiveDate,
    .TermsAndConditions .effectiveDate {text-align: left;}
}

.privacyPolicy .paraMoon p,
.refundPolicy .paraMoon p,
.TermsAndConditions .paraMoon p {text-align: justify; text-justify: inter-word; margin-bottom: 10px;}

.privacyPolicy .TOC section,
.refundPolicy .TOC section,
.TermsAndConditions .TOC section {font-weight: bold; color: darkgreen;}

.privacyPolicy .TOC subsection,
.refundPolicy .TOC subsection,
.TermsAndConditions .TOC subsection {text-indent: 20px;}

.privacyPolicy .paraMoon p,
.privacyPolicy .TOC section,
.privacyPolicy .TOC subsection,
.refundPolicy .paraMoon p,
.refundPolicy .TOC section,
.refundPolicy .TOC subsection,
.TermsAndConditions .paraMoon p,
.TermsAndConditions .TOC section,
.TermsAndConditions .TOC subsection {font-size: 15px; font-family: arial;}

.privacyPolicy .TOC under-subsection {text-indent: 50px;}

/* ============= ssssssssssssss ============= */
