@import url('https://fonts.googleapis.com/css2?family=Ramaraja&family=Roboto:wght@400;500;700&display=swap');

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style-type: none;
}

body {
    font-family: "Roboto", sans-serif;
    overflow-x: hidden;
}

p {
    font-size: 16px;
}

:root {
    --primary: #094a99;
    --logo: #0A1B32;
    --text-dark: #1B0A42;
    --text-light: #9A9A9A;
    --white: #ffffff;
    --container: 122rem;
    --nav-height: 7rem;
}

html {
    font-size: 62.5%;
    font-family: 'Roboto', sans-serif;
}

body {
    font-size: 1.6rem;
}


/* scrollbar code */

::-webkit-scrollbar {
    width: 1.2rem;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 1.2rem;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 1rem;
}

.navigation {
    height: var(--nav-height);
    background: var(--white);
    display: flex;
    align-items: center;
    gap: 2rem;
}

.logo {
    font-size: 3rem;
    color: var(--logo);
    font-weight: 700;
}

.nav_menu {
    width: 100%;
    display: flex;
    justify-content: right;
    background: var(--white);
}

.nav_list {
    display: inline-block;
    margin: 0 0.3rem;
}

.nav_list .nav_link {
    padding: 0.7rem 2rem;
    color: var(--text-dark);
    font-weight: 500;
    border-radius: 0.6rem;
    transition: all 0.5s ease-in-out;
    text-decoration: none;
    font-size: medium;
}

.nav_links .nav_link:active,
.nav_links .nav_link:focus,
.nav_link.active {
    transition: all 0.5s ease-in-out;
    background: var(--primary);
    color: var(--white);
    font-weight: 700;
}

.hero_container {
    padding: 5rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
    gap: 2rem;
    align-items: center;
}

.hero_content {
    width: 100%;
}

.section-heading {
    font-size: 7.2rem;
    line-height: 7.6rem;
    font-family: 'Ramaraja', serif;
    color: var(--text-dark);
}

.text-word-light {
    font-size: 2rem;
    color: var(--text-light);
}

.cta_btn {
    display: inline-block;
    background: var(--primary);
    color: var(--white);
    padding: 1rem 2.5rem;
    font-weight: 700;
    margin-top: 1rem;
    border-radius: 0.6rem;
    font-size: medium;
    text-decoration: none;
}

.hero_image {
    width: 100%;
}

.hero-img {
    width: 100%;
}

.right-img {
    position: relative;
}

.right-img::after {
    position: absolute;
    content: " ";
    width: 180px;
    height: 180px;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    animation: b-shadow 2s linear infinite;
}

@keyframes b-shadow {
    0% {
        box-shadow: 0px 0px 0px 20px rgba(145, 147, 251, 0.1), 0px 0px 0px 40px rgba(145, 147, 251, 0.1), 0px 0px 0px 60px rgba(145, 147, 251, 0.1), 0px 0px 0px 80px rgba(145, 147, 251, 0.1), 0px 0px 0px 100px rgba(145, 147, 251, 0.1);
    }

    50% {
        box-shadow: 0px 0px 0px 50px rgba(145, 147, 251, 0.1), 0px 0px 0px 75px rgba(145, 147, 251, 0.1), 0px 0px 0px 100px rgba(145, 147, 251, 0.1), 0px 0px 0px 125px rgba(145, 147, 251, 0.1), 0px 0px 0px 150px rgba(145, 147, 251, 0.1);
    }

    100% {
        box-shadow: 0px 0px 0px 20px rgba(145, 147, 251, 0.1), 0px 0px 0px 40px rgba(145, 147, 251, 0.1), 0px 0px 0px 60px rgba(145, 147, 251, 0.1), 0px 0px 0px 80px rgba(145, 147, 251, 0.1), 0px 0px 0px 100px rgba(145, 147, 251, 0.1);
    }
}

.section-title {
    text-align: center;
    margin-bottom: 56px;
}

.section-title.extra .title {
    margin-bottom: 24px;
}

.section-title.white .subtitle {
    color: #fff;
}

.section-title.white .title {
    color: #fff;
}

.section-title.white p {
    color: rgba(255, 255, 255, 0.7);
}

.section-title .title {
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 13px;
    color: #242424;
    font-weight: 700;
    text-transform: capitalize;
}

.section-title .title span {
    background-image: linear-gradient(55deg, #0250c5 0%, #d43f8d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-title p {
    max-width: 650px;
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin: 0 auto;
}

.section-title.darkbg .title {
    color: #fff;
}

.section-title.darkbg .title span {
    color: #fff;
}

.section-title.darkbg p {
    color: rgba(255, 255, 255, 0.95);
}

/*---------------------------
** About Area Start
---------------------------*/
.about {
    padding: 110px 0px 120px;
    position: relative;
}

.about .left-shape2 {
    position: absolute;
    bottom: 0px;
    left: -20px;
    top: 200px;
    z-index: -9;
}

.about .box {
    text-align: center;
    background: #F7F9FF;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease-in;
    margin: 5px;
    margin-bottom: 30px;
    box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.1);
    border-radius: 30px 0px 30px 0px;
}

.moreBox {
    margin-top: 100px !important;
}

.about .box::after {
    position: absolute;
    content: "";
    bottom: 0px;
    left: 0px;
    height: 4px;
    width: 0%;
    background-image: linear-gradient(55deg, #0250c5 0%, #d43f8d 100%);
    transition: all 0.3s ease-in;
}

.about .box .inner-box {
    width: 100%;
    position: relative;
    z-index: 99;
    padding: 27px 25px 35px;
    transition: 0.3s ease-in;
}

.about .box .inner-box .icon {
    font-size: 55px;
}

.about .box .inner-box .icon i {
    background-image: linear-gradient(55deg, #0250c5 0%, #d43f8d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: all 0.3s ease-in;
}

.about .box .inner-box .title {
    font-size: 24px;
    line-height: 34px;
    font-weight: 600;
    color: #242424;
    margin: 9px 0px 22px;
    transition: all 0.3s ease-in;
}

.about .box .inner-box .text {
    margin-bottom: 0px;
    transition: all 0.3s ease-in;
}

.about .box:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0px 20px 20px 2px rgba(0, 0, 0, 0.1);
}

.about .box:hover::after {
    width: 100%;
}

@media (max-width:939px) {
    .section-heading {
        font-size: 6rem;
        line-height: 6rem;
    }
}

@media (max-width:768px) {
    .section-heading {
        font-size: 4rem;
        line-height: 4rem;
    }

    .navigation {
        justify-content: space-between;
    }

    .mobile_menu_icon {
        width: 3.5rem;
        height: 3rem;
        display: flex;
        align-items: center;
        cursor: pointer;
    }

    .mobile_menu_toggle {
        background: #094a99;
        width: 100%;
        height: 0.35rem;
        position: relative;
        border-radius: 0.35rem;
        transition: all 0.5s ease-in-out;
    }

    .mobile_menu_toggle::before,
    .mobile_menu_toggle::after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.35rem;
        border-radius: inherit;
        background: #094a99;
        transition: all 0.5s ease-in-out;
    }

    .mobile_menu_toggle.active {
        background: transparent;
    }

    .mobile_menu_toggle::before {
        transform: translateY(-0.9rem);
    }

    .mobile_menu_toggle.active::before {
        transform: rotate(45deg);
    }

    .mobile_menu_toggle::after {
        transform: translateY(0.9rem);
    }

    .mobile_menu_toggle.active::after {
        transform: rotate(-45deg);
    }

    .nav_menu {
        position: absolute;
        top: var(--nav-height);
        left: 0;
        width: 100%;
        background: var(--white);
        padding: 2rem 0 4rem 0;
        flex-direction: column;
        visibility: hidden;
        pointer-events: none;
        clip-path: circle(0% at 100% 0);
        transition: all 0.5s ease-in-out;
    }

    .nav_list {
        display: block;
        text-align: center;
        margin: 1.5rem 0;
    }

    .nav_menu.active {
        background: var(--white);
        display: flex;
        visibility: visible;
        pointer-events: auto;
        clip-path: circle(100% at 50% 0);
        transition: all 0.5s ease-in-out;
    }

    .hero_image {
        grid-row: 1;
        order: -1;
    }
}

@media (max-width:577px) {
    .hero_image {
        grid-row: 1;
        order: -1;
    }

    .hero_content {
        grid-row: 2;
    }
}