/* common css  */

.text-primary {
    color: #003A76 !important;
}

.bg-primary {
    background-color: #003A76 !important;
}

p {
    text-align: justify;
}

a {
    text-decoration: none !important;
}

h4 {
    font-size: 1.4rem !important;
}

h6 {
    font-weight: 600 !important;
}

/*
* Header css
*/

.nav-menus {
    display: flex !important;
    border-bottom: 1px solid #cccccc78 !important;
    justify-content: space-between;
    padding: 10px 30px !important;
}

#mobileModal .modal-dialog {
    width: 100% !important;
    margin-top: 0px !important;
}

#mobileModal .modal-content {
    width: 100% !important;
    border: none !important;
    border-radius: 0px !important;
    background: none !important;
}

.modal-body .ratio {
    background-color: transparent !important;
}

#mobileModal .modal-body a,
#mobileModal a .fa-arrow-right {
    color: #ffffff !important;
    font-size: 1.3rem !important;
}

#mobileModal .modal-header {
    height: 80px;
    padding: 0 !important;
    border-bottom: none !important;
}

#mobileModal .close-btn {
    background: #003a76 !important;
    padding: 25px 20px !important;
    border: none !important;
}

#mobileModal .modal-body {
    background: #003a76 !important;
    overflow: hidden;
}

#mobileModal .modal-content {
    padding: 0px !important;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 80%;
        text-align: center;
    }
}

@media only screen and (max-width: 768px) {
    .modal-dialog {
        margin: 0px !important;
    }
}

/* ==========================================================================
   HOMEPAGE & NAV BAR RULES
   ========================================================================== */

/* 1. Transparent Navbar (Default Home State) */
.home .custom-navbar {
    background-color: transparent !important;
    box-shadow: none !important;
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

/* Force nav links to be white ONLY while transparent on Home */
.home .custom-navbar .nav-link {
    color: #ffffff !important;
}

/* Show transparent logo, hide dark logo on Home */
.home .custom-navbar .logo-transparent {
    display: block;
}

.home .custom-navbar .logo-scrolled {
    display: none;
}

/* 2. Scrolled Navbar (Active after 600px on Home) */
.home .custom-navbar.scrolled {
    background-color: #ffffff !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.home .nav-link a:hover {
    color: #93d500 !important;
}

.custom-navbar.scrolled .nav-link a:hover {
    color: #003A76 !important;
}

/* Revert nav links to dark blue when background turns white on Home */
.custom-navbar.scrolled .nav-link {
    color: gray !important;
}

/* Make download button visible when background turns white */
.custom-navbar.scrolled .btn-light-outline,
body:not(.home) .custom-navbar .btn-light-outline {
    color: #003A76 !important;
    border-color: #003A76 !important;
}

.custom-navbar.scrolled .btn-light-outline:hover,
body:not(.home) .custom-navbar .btn-light-outline:hover {
    background-color: #003A76 !important;
    color: #ffffff !important;
}

/* Hide transparent logo, show dark logo on Home scroll */
.home .custom-navbar.scrolled .logo-transparent {
    display: none;
}

.home .custom-navbar.scrolled .logo-scrolled {
    display: block;
}

/* Inner Pages Default Navbar Behavior */
body:not(.home) .custom-navbar {
    background-color: #ffffff !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

body:not(.home) .custom-navbar .logo-transparent {
    display: none;
}

body:not(.home) .custom-navbar .logo-scrolled {
    display: block;
}

.home .custom-navbar img[alt="mobilemenu"] {
    filter: brightness(0) invert(1);
}

.home .custom-navbar.scrolled img[alt="mobilemenu"],
body:not(.home) .custom-navbar img[alt="mobilemenu"] {
    filter: none;
}

/* Header Banner  */

.hero-banner {
    position: relative;
    overflow: hidden;
    height: 100dvh !important;
}

.banner-video {
    position: relative;
    width: 100%;
    right: 0;
    left: 0;
    object-fit: cover;
    height: 100dvh;
    z-index: 1;
}

.hero-banner:before {
    content: '';
    position: absolute;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.inner-padding {
    padding-top: 5rem;
    padding-bottom: 4rem;
}

h1 {
    font-size: 28px !important;
}

@media (min-width: 768px) {
    h1 {
        font-size: 38px !important;
    }
}

@media (min-width: 992px) {
    h1 {
        font-size: 48px !important;
    }
}

.top-margin {
    margin-top: 4.6rem !important;
}

@media (max-width: 576px) {
    .hero-banner {
        height: 100dvh !important;
    }

    .top-margin {
        margin-top: 5rem !important;
    }
}

/* clients/partners logo */

.partner-slider {
    margin: 40px 0;
    position: relative;
}

.partner-slider .slide {
    margin: 10px;
    display: flex !important;
    border: 1px solid #ccc;
    padding: 1.5rem;
    align-items: center;
    justify-content: center;
}

.partner-slider .slide img {
    width: 100%;
    height: 100px !important;
    object-fit: scale-down;
    vertical-align: middle;
}

.slick-prev:before,
.slick-next:before {
    color: #003a76 !important;
    font-size: 1.8rem !important;
}

@media (max-width: 768px) {
    .partner-slider .slide {
        padding: .5rem 1rem 0.5rem 1rem !important;
    }
}

/**
 * Progress Bar
 */
.progress,
.client_progress {
    display: block;
    width: 100%;
    height: 4px !important;
    border-radius: 10px !important;
    overflow: hidden;
    background-image: linear-gradient(to right, #003A76, #003A76);
    background-repeat: no-repeat;
    background-size: 0 100%;
    transition: background-size .4s ease-in-out;
}

.sr-only,
.client-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.fa-arrow-right {
    color: #003A76 !important;
    font-size: 2.5em !important;
}

.slick-slide img {
    margin: auto;
    vertical-align: middle !important;
}

/* Accordion  */

@media (max-width: 991px) {
    .tab-content>.tab-pane {
        display: block !important;
        opacity: 1 !important;
    }
}

.tab-content {
    width: 100% !important;
}

.home-policy {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between !important;
}

.health-div {
    margin-top: auto;
}

.policy-text .pt-5 {
    padding-top: 3rem !important;
}

.w-full {
    width: 57% !important;
}

.image-margin {
    margin-top: -22% !important;
}

.home-policy {
    width: 100%;
}

@media (min-width: 992px) {
    .home-policy {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .home-policy #myTab {
        width: 100%;
        display: flex;
        padding: 0;
        margin: 0;
    }

    .home-policy #myTab .nav-item {
        flex: 1 1 0;
    }

    .home-policy #myTab .nav-link {
        width: 100%;
        text-align: center;
    }
}

@media (min-width: 992px) {

    .home-policy-row {
        position: relative;
    }

    /* Right column */
    .home-policy {
        position: relative;
        padding-bottom: 0;
    }

    /* Keep tabs independent */
    .home-policy .tab-content {
        height: 100%;
    }

    /* FIXED at bottom of home-policy */
    .home-policy .health-div {
        position: absolute;
        bottom: 0;
        margin: 0 !important;
        display: flex;
        align-items: stretch;
    }

    /* Equal width + equal height */
    .home-policy .health-div .policy-text {
        display: flex;
        align-items: stretch;
    }

    .home-policy .health-div .policy-text>div {
        width: 100%;
        height: 100%;
    }
}

@media screen and (max-width: 967px) {
    .image-margin {
        margin-top: 0% !important;
    }

    .w-full {
        width: 100% !important;
    }

    .policy-content {
        display: block;
    }
}

.goal-sec {
    background-color: #003A76;
    margin: 0 auto;
    height: 500px;
}

.goal-sec .container,
.save-sec .container {
    padding-left: 27% !important;
    padding-top: 80px !important;
}

.goal-sec .container {
    padding-right: 15%;
}

.save-sec .container {
    padding-right: 27%;
}

.save-sec {
    background-color: rgba(132, 210, 229, .7) !important;
    margin: auto;
    height: 500px;
}

.accordion-item {
    background-color: transparent !important;
    border: transparent !important;
}

.accordion-button:not(.collapsed) {
    color: #003A76 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.accordion-button {
    background-color: transparent !important;
    border-bottom: 1px solid #CECECE !important;
    border-bottom-width: thin !important;
}

.accordion-button:not(.collapsed) {
    border: 0 !important;
}

@media only screen and (max-width: 768px) {

    .goal-sec .container,
    .save-sec .container {
        padding: 0px 0px !important;
    }

    .goal-sec,
    .save-sec {
        height: auto !important;
    }

    .accordion-body {
        border-bottom: 2px solid #CECECE !important;
    }

    .first-image {
        height: calc((75vw - 30px) * 7 / 12 * 1200 / 1040) !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    .second-image {
        height: auto !important;
    }
}

/* banner height */
.min-vh-90 {
    min-height: 83dvh !important;
}

/* footer CSS */

.social-links {
    margin-top: 150px;
    float: inline-end;
}

.social-links a {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
}

.social-btn {
    padding: .375rem .75rem !important;
}

@media screen and (max-width: 967px) {
    .social-links {
        margin-top: 0px;
        float: left;
    }

    footer ul {
        padding-left: 20px;
    }

    .subscribe_form {
        margin: 30px 0 0 0;
    }
}

.solution-container {
    padding: 0 12rem;
}

@media screen and (max-width: 900px) {
    .solution-container {
        padding: 0 !important;
    }
}

/* ==========================================================================
   CONTACT FORM & CONTACT SECTION (REUSABLE COMPONENT)
   ========================================================================== */

.ci-contact-form {
    padding: 2rem;
    margin: 0 auto !important;
}

@media (min-width: 992px) {
    .ci-contact-form {
        padding: 3rem 3rem 3rem 15.5rem;
    }
}

.ci-form-control,
input.form-control,
textarea.form-control {
    line-height: 1.5;
    color: #212529;
    background-color: transparent !important;
    background-clip: padding-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0 !important;
    border-bottom: 1px solid #00000070 !important;
    padding: 10px 10px 10px 0px !important;
    outline: none;
}

.contact-section {
    position: relative;
    background-color: #f0f0f0a6;
}

.static-col {
    position: static !important;
}

@media (min-width: 768px) {
    .fullscreen-right-img {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 50%;
        z-index: 1;
    }

    .fullscreen-right-img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }
}

@media (max-width: 767px) {
    .contact-section {
        margin-top: 0rem;
    }

    .contact-section .static-col {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        padding-left: 0;
        padding-right: 0;
    }

    .contact-section .fullscreen-right-img {
        display: block;
        width: 100%;
    }

    .contact-section .fullscreen-right-img img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}

.is-valid {
    color: green !important;
}

.is-invalid {
    color: red !important;
}

/* ==========================================================================
   CARDS & GRID UTILITIES
   ========================================================================== */

.card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background-color: #ffffff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-img {
    height: 250px !important;
    min-height: 250px !important;
    width: 100% !important;
    overflow: hidden;
    position: relative;
}

.card-img img,
.card-img>img,
#solutions .card-img img {
    height: 250px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.card .p-4,
.card .bg-light.p-4 {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */

.about-section {
    position: relative;
}

.object-cover,
.object-fit-cover {
    object-fit: cover !important;
    object-position: center;
}

.about-video-banner {
    position: relative !important;
    height: 515px !important;
    width: 100% !important;
    display: block !important;
    overflow: hidden;
}

.about-video-banner-img {
    position: relative !important;
    width: 100%;
    height: 515px;
    display: block;
    object-fit: cover;
}

.play-btn-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    z-index: 2;
}

.play-btn-overlay svg {
    width: 24px;
    height: 24px;
    color: #000000;
    margin-left: 4px;
    transition: color 0.3s ease;
}

.video-lightbox-trigger:hover .play-btn-overlay {
    background-color: #ffffff;
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.video-lightbox-trigger:hover .play-btn-overlay svg {
    color: #0056b3;
}

.about-policy-row>[class*="col-"] {
    display: flex;
}

.about-policy-row .policy-content {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .about-section .min-vh-90 {
        min-height: auto !important;
    }

    .md-message {
        padding-right: 0 !important;
    }

    .about-video-banner {
        width: 100%;
        height: 350px !important;
    }

    .about-video-banner-img {
        width: 100%;
        height: auto;
    }

    .play-btn-overlay {
        width: 60px;
        height: 60px;
    }

    .play-btn-overlay svg {
        width: 20px;
        height: 20px;
    }
}

/* ==========================================================================
   SINGLE SOLUTIONS CAROUSEL
   ========================================================================== */

.solution-content p {
    color: #6c757d !important;
}

#dynamic_slide_show .carousel-inner .carousel-item img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {
    #dynamic_slide_show .carousel-inner .carousel-item img {
        height: 300px;
    }
}

@media (max-width: 576px) {
    #dynamic_slide_show .carousel-inner .carousel-item img {
        height: 250px;
    }
}

.carousel .custom-carousel-thumbs {
    position: relative;
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    max-width: 600px;
    padding: 0;
    list-style: none;
    gap: 10px;
}

.carousel .custom-carousel-thumbs li {
    text-indent: 0 !important;
    width: 100px !important;
    height: 100px !important;
    opacity: 0.6;
    transition: opacity 0.3s ease;
    cursor: pointer;
    margin: 0;
    border: 2px solid transparent;
}

.carousel .custom-carousel-thumbs li.active {
    opacity: 1;
    border-color: #007bff;
}

.carousel .custom-carousel-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ==========================================================================
   SINGLE PROJECTS SLIDER & VIDEO MODAL
   ========================================================================== */

.project-row {
    align-items: flex-start;
}

.project-slider-wrapper {
    position: relative;
    width: 100%;
}

.project-main-slider {
    margin-bottom: 15px;
    width: 100%;
}

.project-main-slide {
    width: 100%;
    height: 450px !important;
    overflow: hidden;
    background: #f5f5f5;
}

.project-main-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.project-main-slider .slick-slide {
    outline: none;
}

.project-main-slider .slick-prev,
.project-main-slider .slick-next {
    z-index: 10;
    width: 45px;
    height: 45px;
}

.project-main-slider .slick-prev {
    left: 15px;
}

.project-main-slider .slick-next {
    right: 15px;
}

.project-main-slider .slick-prev:before,
.project-main-slider .slick-next:before {
    font-size: 30px;
    opacity: 0.8;
    color: #ffffff;
}

.project-thumb-slider {
    margin-top: 10px;
    width: 100%;
}

.project-thumb-slider .slick-slide {
    padding-left: 5px;
    padding-right: 5px;
    outline: none;
    position: relative;
}

.project-thumb-slide {
    width: 100%;
    height: 120px;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid transparent;
    position: relative;
    transition: border-color 0.25s ease;
}

.project-thumb-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: opacity 0.25s ease;
}

/* Dark overlay on ALL thumbnail slides by default */
.project-thumb-slider .project-thumb-slide::after,
.project-thumb-slider .slick-slide::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.25s ease, background 0.25s ease;
    z-index: 5;
}

/* Hover state on inactive thumbnails */
.project-thumb-slider .slick-slide:not(.slick-current) .project-thumb-slide:hover::after {
    background: rgba(0, 0, 0, 0.3);
}

/* Active thumbnail (.slick-current): NO OVERLAY */
.project-thumb-slider .slick-slide.slick-current::after,
.project-thumb-slider .slick-slide.slick-current .project-thumb-slide::after,
.project-thumb-slider .slick-current.project-thumb-slide::after {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

/* Active thumbnail border highlight */
.project-thumb-slider .slick-slide.slick-current .project-thumb-slide,
.project-thumb-slider .slick-current.project-thumb-slide {
    border-color: #003A76 !important;
}

.project-thumb-slider.static-thumbs {
    display: flex;
    justify-content: center;
    width: 100%;
}

.project-thumb-slider.static-thumbs .slick-list {
    width: auto;
    max-width: 100%;
}

.project-thumb-slider.static-thumbs .slick-track {
    width: auto !important;
    display: flex;
    transform: none !important;
}

.project-thumb-slider.static-thumbs .slick-slide {
    width: 120px !important;
    flex: 0 0 120px;
}

.project-thumb-slider .slick-prev,
.project-thumb-slider .slick-next {
    display: none !important;
}

.project-video-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.project-video-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .3);
    transition: .3s ease;
}

.project-video-play:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.play-icon {
    width: 22px;
    height: 22px;
    margin-left: 4px;
}

.play-icon svg {
    width: 100%;
    height: 100%;
    color: #000;
}

.video-thumb {
    width: 100%;
    height: 100%;
    position: relative;
}

.video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumb-play svg {
    width: 11px;
    height: 11px;
    color: #000;
}

.project-details-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.project-specifications {
    width: 100%;
}

.case-study-wrapper {
    margin-top: auto;
    padding-top: 30px;
}

.project-video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .85);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.project-video-modal.active {
    display: flex;
}

.project-video-modal video {
    width: 90%;
    max-width: 1000px;
}

.project-video-close {
    position: absolute;
    top: 20px;
    right: 30px;
    width: 45px;
    height: 45px;
    border: none;
    border-radius: 50%;
    background: #fff;
    color: #000;
    font-size: 30px;
    cursor: pointer;
}

.project-thumb-slider.few-thumbnails .slick-track {
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .project-main-slide {
        height: 280px;
    }

    .project-thumb-slide {
        height: 60px;
    }

    .project-thumb-slider.static-thumbs .slick-slide {
        width: 60px !important;
        flex: 0 0 60px;
    }

    .project-video-play {
        width: 60px;
        height: 60px;
    }

    .project-details-column {
        margin-top: 30px;
    }

    .case-study-wrapper {
        margin-top: 20px;
    }
}

/* ==========================================================================
   DOWNLOADS PAGE
   ========================================================================== */

.downloads-card,
.card.rounded-0 {
    border: 1px solid #000 !important;
}

.modal-dialog {
    text-align: left;
    margin: 1.75rem auto;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 90% !important;
    }
}

@media (min-width: 992px) {
    .modal-dialog {
        max-width: 500px !important;
    }
}

.modal-content {
    border-radius: 10px !important;
    padding: 20px;
}

/* ---- Lightbox Modal: Navigation & Close Buttons ---- */
/* Scoped to lightbox modals only (not download/contact modals) */

.modal:has(.lightbox-carousel) {
    padding: 20px !important;
    margin: 0 !important;
}

.modal:has(.lightbox-carousel) .modal-dialog {
    max-width: 70% !important;
}


.modal:has(.lightbox-carousel) .btn-close {
    background-color: #003A76 !important;
    opacity: 1 !important;
    border-radius: 50% !important;
    padding: 14px !important;
    width: 20px !important;
    height: 20px !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5) !important;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1060;
    border: 2px solid #003a76 !important;
}

.modal:has(.lightbox-carousel) .btn-close:hover {
    background-color: #000 !important;
    transform: scale(1.15);
    transition: all 0.2s ease;
    color: #003A76 !important;

}

.modal:has(.lightbox-carousel) .carousel-control-prev,
.modal:has(.lightbox-carousel) .carousel-control-next {
    width: 50px !important;
    height: 50px !important;
    background-color: #003a76 !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4) !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.modal:has(.lightbox-carousel) .carousel-control-prev {
    left: 15px !important;
}

.modal:has(.lightbox-carousel) .carousel-control-next {
    right: 15px !important;
}

.modal:has(.lightbox-carousel) .carousel-control-prev:hover,
.modal:has(.lightbox-carousel) .carousel-control-next:hover {
    background-color: #00529e !important;
    transform: scale(1.1) !important;
}

.modal:has(.lightbox-carousel) .carousel-control-prev-icon,
.modal:has(.lightbox-carousel) .carousel-control-next-icon {
    filter: brightness(0) invert(1) !important;
    width: 20px !important;
    height: 20px !important;
}

.modal .lightbox-carousel img {
    max-height: 80vh !important;
    width: 100% !important;
    object-fit: contain !important;
}

.modal:has(.lightbox-carousel) .modal-content {
    padding: 10px !important;
    margin: 0 !important;
    background-color: #fff !important;
}

/* Lightbox title/caption (injected by JS) */
.lightbox-title-caption {
    background-color: #003a76 !important;
    color: #fff !important;
    padding: 12px 20px !important;
    text-align: center !important;
    border-radius: 0 0 6px 6px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

@media (max-width: 576px) {
    .modal:has(.lightbox-carousel) .modal-dialog {
        max-width: 100% !important;
    }

    .modal:has(.lightbox-carousel) .carousel-control-prev {
        left: 5px !important;
    }

    .modal:has(.lightbox-carousel) .carousel-control-next {
        right: 5px !important;
    }

    .modal:has(.lightbox-carousel) .carousel-control-prev,
    .modal:has(.lightbox-carousel) .carousel-control-next {
        width: 35px !important;
        height: 35px !important;
    }

    .modal:has(.lightbox-carousel) .btn-close {
        width: 15px !important;
        height: 15px !important;
        padding: 10px !important;
    }
}

.required {
    color: red;
    margin-left: 2px;
}

/* ==========================================================================
   COMPREHENSIVE MOBILE / RESPONSIVE FIXES
   ========================================================================== */

/* Case Studies / Testimonial Section (Homepage) */
@media (max-width: 767px) {
    .bg-theme .col-md-8 .ps-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .testimonial-content {
        margin: 15px 0px !important;
        border-radius: 15px !important;
    }

    .testimonial-content .p-3 {
        padding: 1rem !important;
    }

    .testimonial-content .d-flex.justify-content-between {
        gap: 0.5rem;
    }
}

/* Projects & Careers Cards */
@media (max-width: 575px) {
    .col-sm-4 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Footer mobile */
@media (max-width: 767px) {
    footer .container {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    footer .col-lg-4.order-lg-1 {
        text-align: left;
    }

    footer ul {
        padding-left: 0 !important;
    }

    footer .social-links {
        float: none !important;
    }
}

/* Downloads Page mobile */
@media (max-width: 767px) {
    .download-btn img {
        width: 30px !important;
        height: 30px !important;
    }
}

/* General overflow prevention */
@media (max-width: 767px) {
    .container {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    section,
    .container-fluid {
        overflow-x: hidden;
    }
}

/* Goal Section mobile */
@media (max-width: 767px) {
    .goal-grid {
        gap: 3rem !important;
    }
}

/* Navbar container mobile */
@media (max-width: 991px) {
    .navbar .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Responsive height utility */
@media (min-width: 992px) {
    .h-lg-100 {
        height: 100% !important;
    }
}

/* ==========================================================================
   SINGLE BLOG RESPONSIVE LAYOUT
   ========================================================================== */
/* 
.blog-content>h1,
.blog-content>h2,
.blog-content>h3,
.blog-content>h4,
.blog-content>h5,
.blog-content>h6,
.blog-content>ul,
.blog-content>ol,
.blog-content>blockquote,
.blog-content>.wp-block-paragraph {
    margin-left: auto;
    margin-right: auto;
    padding-left: 3rem;
    padding-right: 3rem;
    line-height: 1.8;
}

.blog-content p img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 3rem auto !important;
    padding: 0 !important;
}

@media (min-width: 992px) {

    .blog-content>h1,
    .blog-content>h2,
    .blog-content>h3,
    .blog-content>h4,
    .blog-content>h5,
    .blog-content>h6,
    .blog-content>ul,
    .blog-content>ol,
    .responsive-blog-content>blockquote {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .blog-content p img {
        width: 112% !important;
        max-width: 112% !important;
        margin-left: -6% !important;
        margin-right: -6% !important;
    }
}

.blog-content figcaption {
    text-align: center;
    font-size: 0.875rem;
    color: #6c757d;
    margin-top: 0.5rem;
    padding: 0 1.25rem;
} */

/* ==========================================================================
   ABOUT PAGE AWARDS & TEAM SECTIONS
   ========================================================================== */

.about-text {
    padding: 1rem 2rem 0rem 0rem !important;
    margin: 0 auto !important;
}

.about-text p {
    font-weight: 400;
    color: gray;
}

.award-content {
    background: #fff;
    display: inline-flex;
    flex-direction: row;
}

.award-content:not(:first-child) {
    margin: 60px 0px 0px 0px;
}

.award-content:last-child {
    margin: 60px 0px 60px 0px;
}

.award-text {
    width: 60%;
    margin: auto;
    padding: 0 6rem !important;
}

.award-text h3,
.award-text h5 {
    font-weight: 400;
}

.award-text img {
    display: inline-block;
    width: 50%;
}

.award-image {
    width: 40%;
}

.md-message {
    padding-right: 4em !important;
    text-align: justify;
    text-justify: inter-word;
}

.policy-content {
    padding: 80px 20px 20px 20px !important;
    background: #f4f4f4;
    text-align: justify;
}

.policy-content h4 {
    font-weight: 400;
    margin-bottom: 30px !important;
}

.policy-content p {
    color: #747474;
    line-height: normal !important;
}

#teamsCarousel img {
    height: 325px;
    object-fit: cover !important;
}

.card-title {
    color: black;
    font-weight: 300;
}

.card {
    margin-bottom: 30px !important;
}

.mt-n5 {
    margin-top: -8em;
}

.mt-8 {
    margin-top: 8rem;
}

.mt-n10 {
    margin-top: -13em;
}

@media screen and (max-width: 967px) {
    #teamsCarousel {
        padding-left: 0 !important;
    }

    .about-text {
        padding: 3rem 1rem 0rem 3rem !important;
        margin: 0 auto !important;
    }

    .award-content {
        flex-direction: column !important;
    }
}

@media (max-width: 767px) {
    p {
        line-height: 30px !important;
    }

    #teamsCarousel {
        padding-left: 0 !important;
    }

    #awardCarousel .row {
        padding: 0 !important;
    }

    .award-content {
        flex-direction: column !important;
        margin: 0px !important;
    }

    .about-text {
        padding: 20px 40px !important;
        margin: 0 auto !important;
    }

    .award-text {
        width: auto !important;
        padding: 1.5em !important;
    }

    .award-image {
        width: 100%;
    }

    .md-message {
        padding-right: 0px !important;
    }
}