* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", sans-serif;
}

html {
    scroll-behavior: smooth;
}

.stop-scrolling {
    overflow: hidden;
}

.hamburger_menu {
    display: none;
    z-index: 1001;
}

.main-header {
    height: 100vh;
    width: 100%;
    background-image: url("assets/hero-bg.png");
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.logo {
    display: flex;
    align-items: center;
    justify-content: center;

    & .logo-part-1 {
        width: 50px;
        height: 50px;
        border-radius: 50%;
    }

    /* & .logo-part-1{
        width: 90px;
        height: 90px;
        border-radius: 50%;
    } */
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 10%;
    backdrop-filter: blur(32px);
    z-index: 1001;

    & .navlinks {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        background: grey;
        border-radius: 100px;

        & .link {
            padding: 1rem;
            list-style: none;
            border-radius: 100px;
            text-decoration: none;
            color: #fff;
            font-weight: 600;

            &.active {
                background: linear-gradient(to bottom, #550808, #DE2113, #DD6413, #E07938);
            }
        }
    }
}

.hero-section {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    padding: 20px;

    & h1 {
        font-size: 60px;
        color: #fff;
        text-align: center;
    }

    & p {
        color: #fff;
        font-size: 1rem;
        text-align: center;
    }

    & a {
        padding: 16px;
        text-decoration: none;
        width: 218px;
        color: #fff;
        border-radius: 100px;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
        text-align: center;
        transition: all 19s ease-in-out;

        &:hover {
            background: linear-gradient(to left, #550808, #DE2113, #DD6413, #E07938);
        }
    }
}

.about-section {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    /* height: 100vh; */
    padding: 60px 10%;
    background: linear-gradient(#FFFFFF, #FFFFFF, #E7D7FC);

    & h2 {
        font-size: 48px;
        margin-bottom: 20px;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    & p {
        margin-bottom: 40px;
        text-align: center;
        font-size: 18px;
        line-height: 30px;
    }


    & .about-cards {
        display: flex;
        justify-content: space-between;
        width: 100%;
        height: 210px;
        align-items: last baseline;
        gap: 20px;
        margin-bottom: 40px;

        & .card {
            max-width: 434px;
            width: 100%;
            position: relative;
            border-radius: 20px;
            z-index: 1;

            & img {
                width: 100%;
                border-radius: 20px;
            }

            & p {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                color: #fff;
                font-size: 1.2rem;
                font-weight: 600;
                text-align: center;
                width: 100%;
            }
        }

        & .even-card {
            align-self: first baseline;
        }
    }

    & .about-text {
        text-align: center;
        font-size: 18px;
    }
}

.services-section {
    /* height: 100vh; */
    width: 100%;
    background-image: url("assets/hero-bg.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 60px 10%;

    & h3 {
        color: #fff;
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 20px;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    & .services-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: linear-gradient(#d9d9d93a, #73737334);
        border-radius: 100px;
        margin-bottom: 20px;
        padding: 2px;

        & button {
            padding: 1rem;
            border-radius: 100px;
            background: transparent;
            border: none;
            color: #fff;
            font-weight: 600;
            cursor: pointer;
            transition: all .5s ease-in-out;

            &.active {
                background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
            }
        }
    }

    & .services-container {
        & .service-content-box {
            display: none;
            align-items: center;
            justify-content: center;
            gap: 40px;

            /* transform: translateX(-20px); */
            /* transition: .5s ease; */
            /* opacity: 0; */
            & .service-img {
                max-width: 700px;
                width: 100%;
                border-radius: 20px;
                overflow: hidden;
                background: linear-gradient(#550808, #DE2113, #DD6413, #E07938);
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 3px;

                & img {
                    border-radius: 20px;
                    width: 100%;
                }
            }

            & .service-text {
                color: #fff;
                font-weight: 400;
                font-size: .9rem;
                line-height: 2;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 20px;
                flex-direction: column;
            }

            &.active {
                display: flex;
                /* opacity: 1; */
                /* transform: translateX(0); */
            }
        }
    }
}

.mission-section {
    width: 100%;
    padding: 60px 10%;
    background: linear-gradient(to top, #FFFFFF, #FFFFFF, #E7D7FC);


    & h3 {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        font-size: 48px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 15px;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;

        & img {
            width: 100px;
            height: 120px;
            border-radius: 50%;
        }
    }

    & .sub-title {
        margin-bottom: 15px;
        text-align: center;
        color: #511651;
    }

    & .mission-text,
    & .mission-text-2 {
        text-align: center;
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 500;
    }

    & .mission-card-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        width: 100%;
        margin-top: 25px;
        margin-bottom: 25px;

        & .mission-card {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            flex-direction: column;
            max-width: 500px;
            width: 100%;
            padding: 20px;
            border-radius: 25px;
            /* background: linear-gradient(to right, #55080836, #de211328, #dd641316, #e0783810); */
            box-shadow: 0px 0px 10px #00000027;

            & p {
                text-align: center;
                font-weight: 500;
            }
        }
    }

}

.team-section {
    width: 100%;
    padding: 60px 10%;
    /* background: linear-gradient(to top, #FFFFFF, #FFFFFF, #E7D7FC); */
    text-align: center;

    & h3 {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 15px;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    & .sub-title {
        font-size: 1rem;
        margin-bottom: 20px;
        text-align: center;
        color: #511651;
    }

    & .team-details-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;

        & .team-card {
            max-width: 400px;
            width: 100%;
            border-radius: 20px;
            /* background: rgba(128, 128, 128, 0.144); */

            & img {
                width: 100%;
                border-radius: 20px;
            }

            & .team_details {
                margin-top: 10px;

                & .name {
                    font-size: 1.5rem;
                    font-weight: 700;
                }
            }
        }
    }
}

.contact-section {
    width: 100%;
    padding: 60px 10%;
    background-image: url("assets/hero-bg.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    /* background: linear-gradient(to top, #FFFFFF, #FFFFFF, #E7D7FC); */

    & h3 {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 15px;
        text-align: center;
        color: #fff;
        background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);

        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    & .sub-title {
        font-size: 1rem;
        margin-bottom: 20px;
        text-align: center;
        color: #ab8eab;
    }

    & .contact-container {
        width: 100%;
        height: 500px;
        background: #ab8eab4f;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        border-radius: 20px;
        overflow: hidden;
        padding: 10px;

        & .left-container {
            width: 100%;
            padding: 20px;
            height: 100%;
            border-radius: 20px;
            background: white;
            display: flex;
            justify-content: space-between;
            flex-direction: column;

            & .card-title {
                font-size: 30px;
                font-weight: 700;
            }

            & ul {
                list-style: none;

                & li {
                    display: flex;
                    align-items: center;
                    gap: 15px;
                    margin-bottom: 15px;


                    & .icon {
                        background: #00000021;
                        padding: 5px;
                        border-radius: 5px;
                        display: flex;
                        align-items: center;
                        justify-content: center;

                        & img {
                            width: 30px;
                            height: 20px;
                            border-radius: 2px;
                        }
                    }

                    & span {
                        & .means {
                            font-size: 1rem;
                            color: #00000078;
                        }

                        & a {
                            font-size: .9rem;
                            color: #000;
                            text-decoration: none;
                        }

                        & p {
                            font-size: .9rem;
                        }
                    }
                }
            }

            & .socials {
                & .socials-heading {
                    font-size: 1.2rem;
                    font-weight: 600;
                    margin-bottom: 10px;
                }

                & .socials-text {
                    font-size: .9rem;
                    color: #00000078;
                }

                & .socials_icon {
                    margin-top: 10px;
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                    gap: 15px;
                    font-size: 1rem;
                    cursor: pointer;

                    & a {
                        color: #000000bb;
                        text-decoration: none;
                    }

                    & i:hover {
                        color: #000000;
                    }
                }
            }
        }

        & .right-container {
            width: 100%;
            /* padding: 20px; */
            height: 100%;
            border-top-right-radius: 20px;
            border-bottom-right-radius: 20px;

            & form {
                width: 100%;

                & label {
                    display: block;
                    font-size: 1rem;
                    color: #fff;
                    margin-bottom: 8px;
                }

                & textarea,
                & input {
                    width: 100%;
                    padding: 10px;
                    background: #fff;
                    border: none;
                    outline: none;
                    margin-bottom: 8px;
                    resize: none;
                    border-radius: 8px;
                }

                & button {
                    width: 100%;
                    background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
                    padding: 10px;
                    border-radius: 100px;
                    border: none;
                    color: #fff;
                    font-size: 16px;
                    font-weight: 600;
                }
            }
        }
    }
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    background: #D9D9D9;
    color: #00000099;
    text-align: center;
}

/* responsive design */

@media (max-width: 840px) {
    .hamburger_menu {
        width: 30px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
        gap: 3px;
        transition: all .3s ease-in-out;

        & .bar {
            background: linear-gradient(#FFFFFF, #FFFFFF, #E7D7FC);
            width: 100%;
            height: 3px;
            border-radius: 10px;

        }

        &.open .bar1 {
            transform: rotate(45deg) translate(6px, 6px);
        }

        &.open .bar2 {
            opacity: 0;
        }

        &.open .bar3 {
            transform: rotate(-45deg) translate(6px, -6px);
        }
    }

    .navbar {
        padding: 5px 2%;

        & .navlinks {
            display: none;
            border-radius: 0px;


            & li {
                padding: 1rem;
                list-style: none;
                border-radius: 100px;

                & a {
                    text-decoration: none;
                    color: #fff;
                    font-weight: 600;
                }

                &.active {
                    background: linear-gradient(to bottom, #550808, #DE2113, #DD6413, #E07938);
                }
            }
        }

        & .navlinks.open {
            display: flex;
            position: fixed;
            z-index: 100;
            top: 0;
            right: 0;
            height: 100vh;
            width: 100%;
            background: #000000db;
            backdrop-filter: blur(32px);
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 10px;
        }
    }

    .hero-section {
        padding: 10px;

        & h1 {
            font-size: 40px;

            & br {
                display: none;
            }
        }

        & p {
            font-size: 1rem;

            & br {
                display: none;
            }
        }
    }

    .about-section {
        padding: 60px 2%;

        & h2 {
            font-size: 40px;
        }

        & p {
            margin-bottom: 20px;
            font-size: 16px;
            line-height: 1.5;
        }


        & .about-cards {
            flex-direction: column;
            height: 100%;
        }

        & .about-text {
            font-size: 1rem;
        }
    }

    .services-section {
        padding: 60px 5%;

        & h3 {
            font-size: 36px;
        }

        & .services-nav {
            & button {
                padding: 10px;
                border-radius: 100px;
                font-weight: 500;
            }
        }

        & .services-container {
            & .service-content-box {
                flex-direction: column;
            }
        }
    }

    .mission-section {
        padding: 60px 5%;

        & h3 {
            flex-direction: column;
            gap: 10px;
            font-size: 40px;

            & img {
                width: 90px;
                height: 100px;
            }
        }

        & .sub-title {
            margin-bottom: 15px;
        }

        & .mission-text,
        & .mission-text-2 {
            & br {
                display: none;
            }
        }

        & .mission-card-container {
            flex-direction: column;
            gap: 20px;
        }

    }

    .team-section {
        padding: 60px 5%;
        /* background: linear-gradient(to top, #FFFFFF, #FFFFFF, #E7D7FC); */
        text-align: center;

        & h3 {
            font-size: 36px;
            font-weight: 700;
            margin-bottom: 15px;
        }

        & .sub-title {
            font-size: 1rem;

            & br {
                display: none;
            }
        }

        & .team-details-container {
            flex-direction: column;
            gap: 25px;
        }
    }

    .contact-section {
        padding: 60px 5%;
        background-image: url("assets/hero-bg.png");

        & .contact-container {
            height: 100%;
            flex-direction: column;
            gap: 30px;

            & .left-container {

                & .card-title {
                    font-size: 25px;
                }

                & ul {
                    list-style: none;

                    & li {

                        & .icon {
                            & img {
                                width: 30px;
                                height: 20px;
                                border-radius: 2px;
                            }
                        }

                        & span {
                            & .means {
                                font-size: .9rem;
                                color: #00000078;
                            }

                            & a {
                                font-size: .8rem;
                                color: #000;
                                text-decoration: none;
                            }

                            & p {
                                font-size: .8rem;
                            }
                        }
                    }
                }

                & .socials {
                    & .socials-heading {
                        font-size: 1.1rem;
                    }

                    & .socials-text {
                        font-size: .8rem;
                    }

                    & .socials_icon {
                        font-size: .9rem;

                        & a {
                            color: #000000bb;
                            text-decoration: none;
                        }

                        & i:hover {
                            color: #000000;
                        }
                    }
                }
            }
        }
    }
}

/* Success Popup Notification */
.success-popup {
    position: fixed;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
    pointer-events: none;
    /* display: none; */
}

@keyframes slideDown {
    0% {
        top: -100px;
        opacity: 0;
    }
    100% {
        top: 30px;
        opacity: 1;
    }
}

@keyframes slideUp {
    0% {
        top: 30px;
        opacity: 1;
    }
    100% {
        top: -100px;
        opacity: 0;
    }
}

.success-popup.hide {
    animation: slideUp 0.5s ease-in forwards !important;
    pointer-events: none !important;
}

.popup-content {
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(to right, #550808, #DE2113, #DD6413, #E07938);
    color: white;
    padding: 14px 24px;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(222, 33, 19, 0.4);
    max-width: 420px;
    width: 85vw;
    font-weight: 500;
}

.popup-content i {
    font-size: 24px;
    flex-shrink: 0;
}

.popup-content p {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
}

.popup-subtitle {
    display: block;
    font-size: 11px;
    opacity: 0.9;
    margin-top: 2px;
    font-weight: 400;
}

/* Responsive */
@media (max-width: 768px) {
    .popup-content {
        padding: 12px 18px;
        gap: 10px;
        width: 90vw;
        max-width: 350px;
    }

    .popup-content i {
        font-size: 20px;
    }

    .popup-content p {
        font-size: 13px;
    }

    .popup-subtitle {
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .popup-content {
        padding: 10px 16px;
        gap: 8px;
        width: 92vw;
        max-width: 300px;
    }

    .popup-content i {
        font-size: 18px;
    }

    .popup-content p {
        font-size: 12px;
    }

    .popup-subtitle {
        font-size: 9px;
    }
}