@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

:root {
    --main-color: #3368b8;
    --main-color-hover: #1e385f;

    --main2-color: #727272;

    --dark-text: #333;
    --dark-text-hover: #777;

    --light-color: #efefef;
}

body {
    font-family: 'Poppins', 'Courier New', Courier, monospace;
    background-color: var(--main-bg);
    min-height: 100vh;
    width: 100%;

    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
}

header,
main,
footer {
    width: 100%;
}

/* Basics */

.bg-light {
    background-color: #f5f9fd !important;
}

.text-main {
    color: var(--main-color);
}

.bg-main2 {
    background: var(--main-color);
}

.btn-main {
    background-color: var(--main-color);
}

.btn-main:hover {
    background-color: var(--main-color-hover);
}

.text-justify {
    text-align: justify;
}

a {
    text-decoration: none;
    color: var(--dark-text);
    transition: all 0.3s ease-in-out;
}

.stars {
    color: #fbbf24;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.top-header-phone:hover {
    background-image: linear-gradient(135deg, var(--main-color), var(--main-color-hover)) !important;
    color: var(--light-color) !important;
}

.top-header-phone:hover small.fa {
    transform: rotate(-90deg) !important;
    color: var(--light-color) !important;
}

a:hover {
    color: var(--dark-text-hover);
}

/* navigation bar */
nav .logo {
    width: 120px;
}

.btn {
    font-weight: 500;
    transition: .5s;
}

.btn-sm-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-weight: normal;
}

.navbar-light .navbar-nav .nav-link {
    margin-right: 50px;
    padding: 25px 0;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--main-color);
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link {
        margin-right: 0;
        padding: 10px 0;
    }

    .navbar-light .navbar-nav {
        border-top: 1px solid #EEEEEE;
    }
}

.navbar-light .navbar-brand,
.navbar-light a.btn {
    height: 75px;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--main2-color);
    letter-spacing: 0.5px;
    font-weight: 500;
}

.navbar-light.sticky-top {
    top: -100px;
    transition: .5s;
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        border: none;
        margin-top: 0;
        top: 150%;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}

/* hero design */

.main {
    display: flex-col;
    width: 100%;
    text-align: center;
    padding: 10px;
}

.carousel {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    max-width: 100%;
    height: 80vh;
    min-height: 400px;
}

.slide {
    position: absolute;
    inset: 0;
    background-color: var(--main-color);
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: translateX(100%);
    transition: all var(--transition-duration) ease-in-out;
    display: flex;
    align-items: flex-end;
}

.slide.active {
    opacity: 1;
    transform: translateX(0);
    z-index: 1;
}

.slide.exit-left {
    transform: translateX(-100%);
}

.slide.exit-right {
    transform: translateX(100%);
}

.overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.8),
            rgba(0, 0, 0, 0.4),
            rgba(0, 0, 0, 0.1));
    z-index: 0;
}

.slide-content {
    padding: 2rem;
    z-index: 2;
    max-width: 700px;
    margin-bottom: 30px;
}

.slide-content h2 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.slide-content p {
    font-size: 1rem;
    color: #ddd;
    margin-bottom: 1rem;
}

.controls {
    position: absolute;
    bottom: 1rem;
    left: 0;
    right: 0;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
}

.dots {
    display: flex;
    gap: 0.5rem;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active {
    width: 32px;
    background-color: var(--main-color);
}

.arrows {
    display: flex;
    gap: 0.5rem;
}

.arrow-btn {
    padding: 0.5rem 0.8rem;
    border-radius: 8px;
    border: 0.1px solid rgba(255, 255, 255, 0.2);
    background-color: rgba(255, 255, 255, 0.01);
    color: white;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.3s;
}

.arrow-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {
    .slide-content {
        padding: 1.5rem;
    }

    .slide-content h1 {
        font-size: 1.5rem;
    }

    .slide-content p {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .slide-content h1 {
        font-size: 1.2rem;
    }

    .slide-content p {
        display: none;
    }
}

/* our-vison */

.our-vision {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 2rem;

    .vision-box {
        border-radius: 24px;
        background: rgba(150, 150, 150, 0.08);
        backdrop-filter: blur(30px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15);
        transform: rotate(-2deg);
        transition: transform 0.5s ease-in-out;
    }

    .vision-box:hover {
        transform: rotate(0deg);
    }

    .container {
        position: relative;
        z-index: 2;
    }

    .btn-accent {
        border: 0.1px solid #ffffff20;
        color: var(--light-color);
        transition: all 0.4s ease-in-out;
        font-weight: 200;
    }

    img {
        opacity: 0.8;
        filter: blur(3px) drop-shadow(8px 8px 10px gray);
    }

    .btn-accent:hover {
        background-color: #ffffff10;
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(255, 204, 51, 0.3);
    }

    h2 {
        letter-spacing: 1px;
        color:var(--light-color);
    }

    p {
        color: rgba(255, 255, 255, 0.75) !important;
        font-weight: 300;
    }

    @keyframes floatIn {
        0% {
            transform: translateY(40px);
            opacity: 0;
        }

        100% {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .our-vision h2,
    .our-vision p,
    .our-vision a {
        animation: floatIn 1s ease forwards;
    }

    @media (max-width: 768px) {
        background-attachment: scroll;
        min-height: auto;
        padding: 4rem 0;

        .vision-box {
            transform: rotate(0deg);
        }

        h2 {
            font-size: 2.2rem;
        }

        p {
            font-size: 1rem;
        }
    }
}


/* what we do section */

.what-we-do .card {
    transition: all 0.4s ease;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.what-we-do .card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
    background-color: #fff;
}

.what-we-do .card:hover .circle {
    background-color: var(--main-color);
    box-shadow: 0 0 15px var(--main-color);
    transform: scale(1.1);
}

.what-we-do .card .circle {
    transition: all 0.4s ease;
}

.what-we-do .card:hover .circle i {
    color: #fff !important;
}

.what-we-do .card h5 {
    transition: color 0.3s ease;
}

.what-we-do .card:hover h5 {
    color: var(--main-color);
}

.what-we-do .card p {
    transition: color 0.3s ease;
}

.what-we-do .card:hover p {
    color: #555;
}


/* why work with us section */

.why-work-with-us .why-card {
    transition: all 0.4s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.why-work-with-us .why-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.why-work-with-us .why-card:hover::before {
    opacity: 1;
}

.why-work-with-us .why-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    color: #fff;
}

.why-work-with-us .why-card * {
    position: relative;
    z-index: 1;
}

.why-work-with-us .why-card:hover p,
.why-work-with-us .why-card:hover h5,
.why-work-with-us .why-card:hover i {
    color: #fff !important;
}

.icon-circle {
    width: 70px;
    height: 70px;
    background-color: var(--main-color-light, #e9ecef);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.why-card:hover .icon-circle {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.social-icons {
    a:hover {
        background-color: var(--main-color-hover) !important;
        color: var(--light-color) !important;
    }
}

/* statistics section */

.statistics-counter {
    background: var(--main-color-hover);
    border-radius: 20px;
}

.bg-glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.4s ease;
}

.stats-box {
    transition: all 0.4s ease-in-out;
}

.stats-box:hover {
    transform: translateY(-8px) scale(1.03);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.icon-glow {
    color: var(--light-color);
    text-shadow: 0 0 8px var(--main-color-hover), 0 0 15px #dedede;
    transition: 0.4s ease;
}

.stats-box:hover .icon-glow {
    color: var(--main-color);
    text-shadow: 0 0 8px var(--main-color), 0 0 15px var(--main-color-hover);
}

.counting {
    letter-spacing: 1px;
    transition: color 0.3s ease;
    color: transparent;
    -webkit-text-stroke: 0.4px var(--light-color);
    text-stroke: 0.4px var(--light-color);
}

/* .stats-box:hover .counting {
    -webkit-text-stroke: 1px var(--main-color);
    text-stroke: 1px var(--main-color);
} */

@media (max-width: 1192px) {
    .statistics-counter .counting {
        font-size: 24px !important;
    }

    .statistics-counter h5 {
        font-size: 14px;
    }

    .statistics-counter i {
        font-size: 24px;
    }
}


/* testimonial section */

section.testimonial {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    width: 100%;
    margin: 0 auto;
    gap: 1rem;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial {
        column-gap: 2rem;
    }
}

section.testimonial h2 {
    grid-column: span 12;
    text-transform: capitalize;
    margin-bottom: 2rem;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial h2 {
        margin-bottom: 4rem;
    }
}

section.testimonial .cards {
    grid-column: span 12;
    display: grid;
    gap: 1.2rem;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial .cards {
        grid-column: span 5;
    }
}

section.testimonial .cards .card {
    cursor: pointer;
    padding: 2em;
    border-radius: 1rem;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 1rem;
    align-items: center;
    transition: 0.3s;
    position: relative;
    border: 0.094rem solid transparent;
}

section.testimonial .cards .card img {
    display: block;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 50%;
    filter: grayscale(1);
    transition: 0.5s;
}

section.testimonial .cards .card>div h3 {
    text-transform: capitalize;
    font-size: 1.025rem;
}

section.testimonial .cards .card>div p {
    text-transform: capitalize;
    color: #767676;
    font-size: 0.9rem;
}

section.testimonial .cards .card.active {
    background: #fff;
    border: 0.094rem solid #0f172a14;
}

section.testimonial .cards .card.active .gradient {
    background-image: linear-gradient(to right, #4755690a, var(--main-color), var(--main-color-hover), #4755690a);
    width: 50%;
    height: 0.094rem;
    position: absolute;
    bottom: -0.063rem;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0px 0.125rem 0.75rem #4343c84d;
    content: "";
}

section.testimonial .cards .card.active img {
    filter: grayscale(0);
}

section.testimonial .content {
    grid-column: span 12;
    position: relative;
    width: 100%;
    margin-top: 2rem;
    height: auto;
    overflow: hidden;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial .content {
        grid-column: span 7;
        margin-top: 0;
        height: auto;
    }
}

section.testimonial .content .contentBox {
    display: none;
    position: relative;
    width: 100%;
    height: auto;
    flex-direction: column;
    align-items: start;
    justify-content: flex-start;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial .content .contentBox {
        display: flex;
        position: absolute;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
    }

    section.testimonial .content .contentBox:not(.active) {
        opacity: 0;
        pointer-events: none;
    }
}

section.testimonial .content .contentBox .text {
    padding-bottom: 2rem;
}

@media screen and (min-width: 61.25rem) {
    section.testimonial .content .contentBox .text {
        padding-bottom: 0;
    }
}

section.testimonial .content .contentBox h2.main-line,
section.testimonial .content .contentBox p,
section.testimonial .content .contentBox span {
    opacity: 0;
    transition: 0.5s;
}

section.testimonial .content .contentBox p {
    margin-top: 1.25rem;
    font-size: 15px;
    text-align: justify;
    color: #777;
}

section.testimonial .content .contentBox span {
    display: inline-block;
    margin-top: 0.625rem;
}

section.testimonial .content .contentBox span svg {
    width: 1.25rem;
    color: #eca633;
}

section.testimonial .content .contentBox.active {
    display: flex;
}

section.testimonial .content .contentBox.active h2.main-line {
    opacity: 1;
    font-weight: 500;
    /* font-size: 24px; */
    transition-delay: 0.5s;
}

section.testimonial .content .contentBox.active span {
    opacity: 1;
    transition-delay: 0.7s;
}

section.testimonial .content .contentBox.active p {
    opacity: 1;
    transition-delay: 0.9s;
}

/* client section */

.clients-section {
    overflow: hidden;

    .clients-section {
        overflow: hidden;
    }

    .logo-slider {
        overflow: hidden;
        width: 100%;
        position: relative;
    }

    .logos-track {
        display: flex;
        align-items: center;
        gap: 3rem;
        animation: scroll 25s linear infinite;
        width: max-content;
    }

    .logo-slider:hover .logos-track {
        animation-play-state: paused;
    }

    .logo-card {
        flex: 0 0 auto;
        text-align: center;
        min-width: 140px;
    }

    .logo-card img {
        max-height: 60px;
        opacity: 0.8;
        transition: all 0.3s ease;
    }

    .logo-card:hover img {
        filter: grayscale(0%) brightness(1);
        opacity: 1;
        transform: scale(1.1);
    }

    .logo-name {
        margin-top: 0.5rem;
        font-size: 0.85rem;
        color: #555;
        opacity: 0.8;
        transition: color 0.3s ease;
    }

    .logo-card:hover .logo-name {
        color: var(--main-color);
        opacity: 1;
    }

    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }
    }
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* certificate section */

.certificate-section {
    padding: 40px 0;
}

.certificate-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.certificate-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.certificate-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1.414;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.certificate-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.certificate-card:hover .certificate-image {
    transform: scale(1.05);
}

.certificate-info {
    padding: 25px;
    text-align: center;
}

.certificate-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--main-color-hover);
    margin-bottom: 8px;
}

.certificate-date {
    color: #718096;
    font-size: 14px;
    font-weight: 500;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-title {
    font-size: 48px;
    font-weight: 800;
    color: white;
    margin-bottom: 15px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.section-subtitle {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
}


/* footer */

footer {
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    padding: 60px 60px 40px;
    margin: auto;
    margin-bottom: 16px;
    max-width: 1368;
    width: 98%;
    border-radius: 15px;

    @media (max-width: 1192px) {
        margin-bottom: 10px;
    }

    @media (max-width: 780px) {
        margin-bottom: 8px;
    }

    @media (max-width: 576px) {
        margin-bottom: 5px;
        padding: 50px 10px 30px;
    }

    .footer-container {
        /* opacity: 0.95; */

        .footer-section {
            h3 {
                letter-spacing: 0.6px;
                font-family: var(--main2-color);
                font-weight: 700;
                font-size: 14px;
                margin-bottom: 30px;
            }

            ul {
                font-weight: 300;
                list-style: none;

                li {
                    margin-bottom: 8px;
                    cursor: pointer;

                }

                li a {
                    color: var(--light-color) !important;
                }

                li a:hover {
                    color: var(--main-color-hover) !important;
                }
            }

            p {
                strong {
                    font-weight: 600;
                    font-size: 16px;
                    letter-spacing: 0.4px;
                }

                font-size: 14px;
                color: var(--light-color);

                @media (max-width: 576px) {
                    font-size: 14px;
                }
            }


        }

        .newsletter {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;

            h3 {
                margin: 30px 0;
                font-family: var(--light-color);
                font-weight: 500;
                font-size: 16px;
            }

            form {
                display: flex;
                gap: 10px;
                margin-bottom: 50px;

                @media (max-width: 1150px) {
                    flex-direction: column;
                }

                input[type="email"] {
                    max-width: 224px;
                    width: 100%;
                    font-weight: 300;
                    font-size: 14px;
                    padding: 5px 15px;
                    border: 2px solid #ffffff50;
                    border-radius: 5px;
                    background: transparent;
                    color: var(--light-color);
                    outline: none;
                    height: 51px;

                    @media (max-width: 780px) {
                        max-width: unset;
                    }

                    &::placeholder {
                        color: #dedede90;
                    }
                }

                button {
                    font-weight: 700;
                    font-size: 16px;
                    padding: 0 10px;
                    height: 51px;
                    background-color: var(--light-color);
                    color: var(--main-color);
                    border: none;
                    border-radius: 5px;
                    cursor: pointer;
                    transition: all 0.35s ease-in-out;
                }

                button:hover {
                    background-color: var(--main-color-hover);
                    color: var(--light-color);
                }
            }

            h4 {
                font-weight: 500;
                font-size: 16px;
                margin-bottom: 20px;
            }

        }

    }

    .footer-section {
        opacity: 0.9;
        font-weight: 200;
        letter-spacing: 0.5px;
    }

}

/* whatsapp */

.whatsapp-link-box {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background-color: #128C7E;
    display: flex;
    justify-content: center;
    align-items: center;

    @media (max-width: 576px) {
        bottom: 15px;
        right: 15px;

        width: 30px;
        height: 30px;
    }
}

.whatsapp-link-box:hover {
    transition: all 0.4s ease-in-out;
    background-color: var(--light-color);
}

.whatsapp-link-box a {
    color: #efefef;
}

.whatsapp-link-box a i {
    font-size: 20px;

    @media (max-width: 576px) {
        font-size: 14px;
    }
}

.whatsapp-link-box:hover a {
    transition: all 0.4s ease-in-out;
    color: #128C7E;
}


/* page heading */

.page-heading {
    position: relative;
    background-color: var(--main-color);
    background-image: url('https://images.pexels.com/photos/681347/pexels-photo-681347.jpeg?_gl=1*q0dsm0*_ga*NTg3NzgzMDYxLjE3NjE3OTMxOTg.*_ga_8JE65Q40S6*czE3NjE3OTMxOTgkbzEkZzEkdDE3NjE3OTMyNDEkajE3JGwwJGgw');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 24px;
    overflow: hidden;
    height: 240px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.page-heading::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.page-heading h2 {
    position: relative;
    z-index: 2;
    font-weight: bold;
    margin: 0;
    text-align: center;
}



/* ash code */

/* event / gallery page design */

/* .glass-modal {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
} */

.product-info-glass {
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    transition: all 0.5s ease;
}

.product-card:hover .product-info-glass {
    transform: translateY(10px);
    opacity: 0.9;
}

.product-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.event-card img {
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.event-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.25s ease;
}

.event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.event-info-glass {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(6px);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    transition: bottom 0.4s ease, opacity 0.4s ease;
}

.event-card:hover .event-info-glass {
    bottom: -100%;
    opacity: 0;
}


.event-info-glass h6,
.event-info-glass small {
    color: #ffffffd5;
}

.modal.fade .modal-dialog {
    transform: scale(0.95);
    transition: transform 0.25s ease-out;
}

.modal.show .modal-dialog {
    transform: scale(1);
}

.modal-backdrop.show {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(3px);
}

.modal.fade .modal-dialog {
    transform: scale(0.95);
    transition: transform 0.25s ease-out;
}

.modal.show .modal-dialog {
    transform: scale(1);
}

.modal-backdrop.show {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(3px);
}

.event-card img:hover {
    transform: scale(1.05);
}

.group-title {
    font-weight: 700;
    font-size: 1.5rem;
    margin: 50px 0 20px;
    text-transform: uppercase;
    color: var(--main-color);
    border-left: 5px solid var(--main-color);
    padding-left: 10px;
}

/* product page design */

.product-card img {
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.product-card img:hover {
    transform: scale(1.05);
}

.product-info-glass {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(6px);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    transition: bottom 0.4s ease, opacity 0.4s ease;

    h6 {
        font-size: 15px;
        margin-bottom: -5px !important;
    }

    small {
        font-size: 11px;
    }
}


.modern-tabs {
    gap: 10px;
    flex-wrap: wrap;
}

.modern-tabs .nav-link {
    color: var(--main-color);
    border-radius: 50px;
    padding: 6px 22px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.modern-tabs .nav-link.active {
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    font-weight: 600;
}

.modern-tabs .nav-link:not(.active):hover {
    background: #c3cfe230;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.tab-pane {
    animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* contact page design */

.contact-section {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.15);

    label {
        color: #777;
        font-size: 14px;
    }

    input,
    textarea {
        border: 0;
        background-color: #f9f9f9;
        border-radius: 4px;
        padding: 10px 15px;
    }

    input::placeholder,
    textarea::placeholder {
        color: #bbb;
        font-size: 12px;
    }
}

.contact-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px 0 0 20px;
    filter: brightness(80%);
    transition: transform 0.6s ease;
}

.contact-image:hover img {
    transform: scale(1.05);
}

.contact-form {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.12);
    border-radius: 0 20px 20px 0;
    color: #fff;
}

.form-label {
    color: #f1f1f1;
    font-weight: 500;
}

.form-control {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.form-control:focus {
    background: rgba(255, 255, 255, 0.2);
    border-color: var(--main-color);
    box-shadow: 0 0 10px var(--main-color-hover);
    color: #fff;
}

@media (max-width: 768px) {
    .contact-image img {
        border-radius: 20px 20px 0 0;
    }

    .contact-form {
        border-radius: 0 0 20px 20px;
    }
}

.map-container iframe {
    width: 100%;
    height: 50vh;
    border: 0;
    border-radius: 15px;
}

/* team page */

.team-main-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.team-main-image-container img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 24px;
}

.team-image {
    transition: transform 3s ease-in-out;
}

.team-main-image-container:hover .team-image {
    transform: scale(1.15);
}

@media (max-width: 767.98px) {
    .team-main-image-container img {
        max-height: 400px;
        object-fit: cover;
        border-radius: 14px;
    }
}

@media (min-width: 768px) {
    .team-main-image-container img {
        max-height: 600px;
        object-fit: cover;
    }
}

.team-main-image-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.team-main-image-container:hover::before {
    opacity: 1;
}

/* about page */

.about-page-container .floating-shapes {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.about-page-container .shape {
    position: absolute;
    border-radius: 50%;
    animation: float 20s infinite;
}

.about-page-container .shape:nth-child(1) {
    width: 300px;
    height: 300px;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    opacity: 0.08;
    top: 10%;
    left: 10%;
    animation-delay: 0s;
}

.about-page-container .shape:nth-child(2) {
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, var(--main-color-hover), var(--main-color));
    opacity: 0.08;
    top: 60%;
    right: 10%;
    animation-delay: 5s;
}

@keyframes float {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg);
    }

    33% {
        transform: translate(30px, -30px) rotate(120deg);
    }

    66% {
        transform: translate(-20px, 20px) rotate(240deg);
    }
}


.about-page-container #hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: 100px 0 80px;
}

.about-page-container .hero-content {
    animation: fadeInUp 1s ease;
}

.about-page-container .about-content {
    color: #787878;
    margin-bottom: 1.2rem;

    p,
    li {
        font-size: 16px;
        opacity: 0.95;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.about-page-container .hero-title {
    font-weight: 900;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.about-page-container .btn-primary-custom {
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    border: none;
    border-radius: 50px;
    padding: 12px 35px;
    color: white;
    font-weight: 600;
    transition: all 0.3s ease;
}

.about-page-container .btn-primary-custom:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(51, 104, 184, 0.3);
}

.about-page-container .btn-outline-custom {
    border: 1px solid var(--main2-color);
    border-radius: 50px;
    padding: 10px 33px;
    color: var(--main-color);
    font-weight: 600;
    background: transparent;
    transition: all 0.3s ease;
}

.about-page-container .btn-outline-custom:hover {
    background: var(--main-color-hover);
    color: white;
    transform: translateY(-3px);
}

.about-page-container .image-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 2rem;
}

.about-page-container .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    height: 250px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.5s ease;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
}

.about-page-container .gallery-item:hover {
    transform: scale(1.05) rotate(2deg);
}

.about-page-container .gallery-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(51, 104, 184, 0.8), rgba(90, 143, 214, 0.8));
    transition: opacity 0.3s;
}

.about-page-container .gallery-item:hover::before {
    opacity: 0.6;
}

.about-page-container .gallery-item i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4rem;
    color: white;
    z-index: 1;
}

.about-page-container .director-section {
    padding: 100px 0;
    position: relative;
}

.about-page-container .director-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 30px;
    padding: 60px 40px;
    transition: all 0.5s ease;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}


.about-page-container .director-card:hover {
    transform: translateY(-10px);
    box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
}

.about-page-container .director-img {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 0 auto 30px;
    background: var(--light-color);
    padding: 5px;
    position: relative;
    animation: pulse 2s infinite;
}

@keyframes pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(51, 104, 184, 0.4);
    }

    50% {
        box-shadow: 0 0 0 20px rgba(51, 104, 184, 0);
    }
}

.about-page-container .director-img-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, #e3ecf7, #f0f5fb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: var(--primary);
}

.about-page-container .director-name {
    font-size: 2rem;
    font-weight: 800;
    color: var(--main-color-hover);
    margin-bottom: 4px !important;
}

.about-page-container .director-role {
    font-size: 1.1rem;
    color: #676767;
    font-weight: 600;
    margin-bottom: 20px;
}

.about-page-container .director-bio {
    color: #898989;
    font-size: 15px;
    line-height: 2;
    font-weight: 400;
    margin-bottom: 30px;
    text-align: justify;
}

.about-page-container .social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    color: white;
    margin: 0 5px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.about-page-container .social-links a:hover {
    transform: translateY(-5px) rotate(360deg);
    box-shadow: 0 10px 25px rgba(51, 104, 184, 0.4);
}

.about-page-container .stat-number {
    color: var(--primary);
    font-weight: 800;
    font-size: 2rem;
}

.about-page-container .stat-label {
    color: var(--secondary);
    font-size: 0.9rem;
}


.about-page-container #team {
    padding: 100px 0;
}

.about-page-container .team-member {
    background: white;
    border-radius: 20px;
    padding: 30px;
    height: 100%;
    margin-bottom: 30px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards;
}

.about-page-container .team-member:nth-child(1) {
    animation-delay: 0.1s;
}

.about-page-container .team-member:nth-child(2) {
    animation-delay: 0.2s;
}

.about-page-container .team-member:nth-child(3) {
    animation-delay: 0.3s;
}

.about-page-container .team-member:nth-child(4) {
    animation-delay: 0.4s;
}

.about-page-container .team-member:nth-child(5) {
    animation-delay: 0.5s;
}

.about-page-container .team-member:nth-child(6) {
    animation-delay: 0.6s;
}

.about-page-container .team-member:nth-child(7) {
    animation-delay: 0.7s;
}

.about-page-container .team-member:nth-child(8) {
    animation-delay: 0.8s;
}

.about-page-container .team-member:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.about-page-container .team-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: white;
}

.about-page-container .team-member h5 {
    color: var(--main-color-hover);
}

.about-page-container .team-member .text-muted {
    color: #787878 !important;
}

.about-page-container #testimonials {
    padding: 100px 0;
    background: linear-gradient(90deg, var(--main-color), var(--main-color-hover));
    color: white;
    position: relative;
}

.about-page-container .testimonial-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 40px;
    margin: 20px 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.4s ease;
}

.about-page-container .testimonial-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
}

.about-page-container .client-name {
    font-weight: 700;
    margin-top: 16px;
    font-size: 1.1rem;
}

.about-page-container .client-company {
    color: #c3cfe2;
    font-size: 0.9rem;
}

.about-page-container .testimonial-text {
    font-size: 1.1rem;
    line-height: 1.8;
    font-style: italic;
}

.about-page-container #values {
    padding: 100px 0;
    background: white;
}

.about-page-container .value-card {
    text-align: center;
    padding: 40px;
    border-radius: 20px;
    transition: all 0.4s ease;
    cursor: pointer;
}

.about-page-container .value-card:hover {
    background: linear-gradient(135deg, #f8fafc, #e3ecf7);
    transform: translateY(-10px);
}

.about-page-container .value-icon {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--main-color), var(--main-color-hover));
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: white;
    transition: all 0.4s ease;
}

.about-page-container .value-card:hover .value-icon {
    transform: rotateY(360deg);
}

.about-page-container .value-card h4 {
    color: var(--main-color-hover);
    font-weight: 700;
    margin-bottom: 15px;
}

.about-page-container .value-card p {
    color: var(--main-color);
    line-height: 1.6;
}

.about-page-container .section-title {
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    padding-bottom: 20px;
    color: var(--main-color);
}

@media (max-width: 768px) {
    .about-page-container .hero-title {
        font-size: 2.5rem;
    }

    .about-page-container .section-title {
        font-size: 2rem;
    }

    .about-page-container .director-card {
        padding: 40px 20px;
    }

    .about-page-container .gallery-item {
        height: 180px;
    }

    .about-page-container .gallery-item i {
        font-size: 2.5rem;
    }
}