:target { scroll-margin-top: 80px; }
a,span,i{display:inline-block;}
img{max-width:100%;height:auto;}
body{
    font-family: 'General Sans';
    font-size:20px;
    line-height:1.2;
    color:#353535;
}

@font-face {
    font-family: 'Satoshi Bold';
    src: url('../fonts/Satoshi-Bold.woff2') format('woff2'),
        url('../fonts/Satoshi-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi Medium';
    src: url('../fonts/Satoshi-Medium.woff2') format('woff2'),
        url('../fonts/Satoshi-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi Regular';
    src: url('../fonts/Satoshi-Regular.woff2') format('woff2'),
        url('../fonts/Satoshi-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'General Sans Medium';
    src: url('../fonts/GeneralSans-Medium.woff2') format('woff2'),
        url('../fonts/GeneralSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'General Sans';
    src: url('../fonts/GeneralSans-Regular.woff2') format('woff2'),
        url('../fonts/GeneralSans-Regular.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/*-- Common --*/
h1,.h1{
    font-family: 'General Sans Medium';
    font-size:72px;
    line-height:1.25;
    margin: 0;
}
h2,.h2{
    font-family: 'General Sans Medium';
    font-size:40px;
    line-height:1.2;
    color:#333333;
    margin: 0;
}
p,.p{
    font-family: 'General Sans';
    font-size:20px;
    line-height:1.2;
    margin: 0;
}
.primary-bttn {
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    background-color: #ffffff;
    color: #000000;
    font-family: 'Satoshi Medium';
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 13px 34px;
    border-radius: 70px;
    transition:0.3s all ease-in-out;
}
.pt100{padding-top: 100px;}
.pb100{padding-bottom: 100px;}


/*-- Header --*/
header.headersection {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999;
    padding: 40px 0;
    transition:0.3s all ease-in-out;
}
.headersection.siteheader--stick {
    padding: 20px 0;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    transition:0.3s all ease-in-out;
}
.headerwrap ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap:24px;
}
.headerwrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.headerwrap ul li a {
    font-family: 'Satoshi Medium';
    font-size: 16px;
    line-height: 1.2;
    color: #ffffff;
    text-decoration: none;
}
.headerwrap .mobilemenuwrap ul li:nth-child(n + 5) { display: none; }
.headerwrap ul li .bgbttn {
    border: 2px solid #ffffff;
    padding: 10px 18px;
    min-width: 154px;
    min-height: 46px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    color: #000000;
    background-color: #ffffff;
    transition: 0.3s all ease-in-out;
}
.headerwrap ul li .bgbttn.trans,.headerwrap ul li .bgbttn:hover { background-color: transparent; color: #ffffff; }
.headerwrap ul li .bgbttn.trans:hover { background-color: #ffffff; color: #000000; }


/*-- Hero Banner --*/
.bannerSection{
    position: relative;
    padding: 196px 0 200px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.bannerSection::before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    right:0;
    background: linear-gradient(115.19deg, #003349 4.88%, #4E0011 98.9%);
    opacity:0.8;
}
.bannerSection > .container { position: relative; }
.bannerWrap{
    max-width:780px;
    text-align: center;
    margin:0 auto;
}
.bannerWrap h1 {
    text-align: center;
    color: #ffffff;
    margin: 0 auto;
}
.bannerWrap p {
    color: #ffffff;
    text-align: center;
    margin: 32px auto;
    font-size: 24px;
    line-height: 1.4;
    max-width:680px;
}
.bannerInner {
    padding: 196px 0 90px;
}

.bannerInner { background: transparent !important; }
.bannerInner.bannerSection::before { background: #000000; opacity: 1; }

/*-- What we offer --*/
.titlewrap { text-align: center; }
.titlewrap p { margin: 15px 0 0; color: #353535; }
.titlewrap .primary-bttn{margin-top: 15px;}
.primary-bttn.gradient { background: linear-gradient(90deg, #FECEDA 0%, #B4EDFF 100%); }
.titlewrap h2 span {
    background: linear-gradient(89.44deg, #FF98AC 19.58%, #77DFFD 32.72%, #FFE0A2 46.17%, #CA93FC 63.8%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.readyEmWrap {
    background: linear-gradient(90deg, #FFE3E8 0%, #C8EFFF 100%);
    padding: 52px 75px;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
}
.readyEmLeft { max-width: 350px; }
.readyEmLeft p {
    margin: 16px 0 24px;
    max-width: 306px;
    line-height: 1.6;
}
.readyEmLeft h2 { line-height: 1.4; }
.readyEmWrap .hand {
    position: absolute;
    right: 0;
    bottom: 0;
    height:100%;
}

/*-- Accordion --*/
.accordionWrap {
    margin-top: 42px;
}
.accordionrow.accordion .accordionCols .accordion-item{border:0;}

.accordionrow.accordion .accordion-item {
    border-radius: 120px;
    border-radius: 20px;
    box-shadow: 0px 0px 4px 0px #00000029 inset, 2px 4px 4px 0px #00000014;
}

.accordionrow.accordion .accordion-item .accordion-button {
    font-size: 16px;
    line-height: 1.2;
    padding: 17px 24px;

    box-shadow: none;
    border-radius: 0;
    background-color: transparent;
}

.accordionrow.accordion .accordion-body { padding-top: 0; }

.accordionrow.accordion .accordionCols:nth-child(odd) .accordion-item { background: linear-gradient(92.24deg, #FFFFFF 6.05%, #FFECF0 94.89%); }

.accordionrow.accordion .accordionCols:nth-child(even) .accordion-item { background: linear-gradient(92.24deg, #FFFFFF 6.05%, #D5F2FF 94.89%); }

.accordionCols + .accordionCols{margin-top: 20px;}
.startJorneywrap{padding-top: 48px;}



.whatOffrRows {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
}
.whatOffrwrap { margin-top: 32px; }
.whatOffrBox + .whatOffrBox { margin-top: 16px; }

.happyCustomer1 { background: #FFF6F8; border: 1px solid #FFAEC2; border-radius: 20px; }
.happyCustomerCols + .happyCustomerCols { margin-top: 24px; }
.happyCustomer1 h3 { text-align: center; }
.happyCustomerCols h3 {
    font-size: 24px;
    line-height: 1.2;
    text-align: center;
    margin: 0;
    color: #000000;
}
.happyCustomer1 h3 {
    max-width: 173px;
    margin: 0 auto;
    padding-top: 20px;
}
.customerwrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px 14px;
}
.customerwrap p { font-size: 18px; line-height: 1.2; }
.customerwrap p:last-child {
    font-size: 14px;
    line-height: 1.2;
    max-width: 60px;
    color: #000000;
}
.happyCustomer1 .customerwrap { margin-top: 62px; }
.happyCustomerrowswrap {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 22px;
    margin-top: 48px;
}
.happyCustomer7 {
    border-radius: 20px;
    overflow: hidden;
}
.happyCustomerCols.happyCustomer2,.happyCustomerCols.happyCustomer4 {
    background: #62CDFB;
    border-radius: 20px;
}
.happyCustomerCols.happyCustomer2 h3 {
    color: #ffffff;
    max-width: 173px;
    margin: 0px auto 60px;
    padding-top: 20px;
}
.happyCustomerCols { width: 100%; }
.happyCustomer2 .customerwrap p,.happyCustomerCols.happyCustomer4 h3,.happyCustomerCols.happyCustomer4 p{color:#ffffff;}
.happyCustomer2 .customerwrap img,.happyCustomerCols.happyCustomer4 .customerwrap img{filter:invert(1);}
.happyCustomerCols.happyCustomer3 {
    background: #FFF6F8;
    border: 1px solid #FFAEC2;
    border-radius: 20px;
}
.happyCustomerCols.happyCustomer3 .customerwrap { margin-top: 30px; }

.happyCustomerCols.happyCustomer3 h3 {
    max-width: 250px;
    margin: 0 auto;
    padding: 0 10px;
}
.happyCustomer3 > img { margin: 20px auto; display: block; }
.happyCustomerCols.happyCustomer4 .customerwrap { margin-top: 40px; }
.happyCustomerCols.happyCustomer4 h3 { max-width: 198px; margin: -40px auto 0; }
.happyCustomerCols.happyCustomer4 > img {
    display: block;
    margin: 0px auto 0;
    padding-top: 20px;
}
.headerwrap .mobilemenuwrap .mobilemenu { display: none; }
.happyCustomerrowswrap .happyCustomerrows:nth-child(2) { margin-top: 53px; }
.happyCustomerrowswrap .happyCustomerrows:nth-child(3) { margin-top: 72px; }
.happyCustomerrowswrap .happyCustomerrows:nth-child(4) { margin-top: 61px; }
.accordion-body p { font-size: 16px; line-height: 1.5; }

/*Inner Page*/
.page h2 { margin-bottom: 0.6em; }

.page h3,
.page h4,
.page h5,
.page h6 {
    margin-bottom: 0.8em;
}

.page ul,
.page ol {
    margin-bottom: 26px;
}

.page p { margin-bottom: 16px; }
.page p:last-child { margin-bottom: 0; }

.page li:not(:last-child) { margin-bottom: 10px; }

/*Form*/
.formstep { display: none; }

.formstep.active { display: block; }

.formrow {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.formcol {
    flex: 1 0 48%;
}

.formcol-full {
    flex: 1 0 100%;
    text-align: center;
}

.siteform .primary-bttn {
    color: #ffffff;
    border: 0;
    border-radius: 8px;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.08), inset 0px 0px 4px rgba(0, 0, 0, 0.08);
    background: linear-gradient(90deg, #FF7A98 0%, #69D2FF 100%);
}

.siteform .gray-bttn {
    gap: 8px;
    padding: 13px 16px; 
    border-radius: 8px;
    color: #646464;
    background: #F3F3F3;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.08), inset 0px 0px 4px rgba(0, 0, 0, 0.08);
}

.formcol label {
    font-family: 'General Sans Medium';
    font-size: 14px;
    margin-bottom: 8px;
}

.formcol label.error {
    font-family: 'General Sans';
    color: var(--bs-form-invalid-border-color);
}

.formwrap {
    position: relative;
    width: 885px;
    max-width: 100%;
    margin: 0 auto;
}

#other-occup { display: none; }

.form-control:focus,
.form-select:focus {
    box-shadow: none;
    border-color: #53aed5;
}

.siteform .bttngroup {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.formnav {
    margin: 16px 0 24px;
}

.form-select,
.form-control {
    line-height: 36px;
}

/* PHP Email Form Messages
------------------------------*/
.form-msg {
    font-size: 16px;
    line-height: 20px;
}

.php-email-form .error-message {
    display: none;
    background: #df1529;
    color: #ffffff;
    text-align: left;
    padding: 10px;
    margin-bottom: 24px;
  }
  
.php-email-form .sent-message {
    display: none;
    color: #ffffff;
    background: #059652;
    text-align: center;
    padding: 10px;
    margin-bottom: 24px;
}
  
.php-email-form .loading {
    display: none;
    background: var(--surface-color);
    text-align: center;
    padding: 10px;
    margin-bottom: 24px;
}
  
.php-email-form .loading:before {
    content: "";
    display: inline-block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    margin: 0 10px -6px 0;
    border: 3px solid var(--accent-color);
    border-top-color: var(--surface-color);
    animation: php-email-form-loading 1s linear infinite;
}

.loader {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .5);
    opacity: 0;
    visibility: hidden;
}

.loader.active {
    opacity: 1;
    visibility: visible;
}

.loader-inner {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
}

.loader-inner:before,
.loader-inner:after {
    content: "";
    position: absolute;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 10px solid transparent;
    border-top-color: #3498db;
}

.loader-inner:before {
    z-index: 100;
    animation: spin 1s infinite;
}

.loader-inner:after {
    border: 10px solid #ccc;
}

.formmsg {
    display: block;
    position: fixed;
    font-size: 16px;
    top: 130px;
    right: 0;
    width: 230px;
    padding: 13px 15px;
    margin: 0 auto;
    border-radius: 8px;
    color: #ffffff;
    background: #059652;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
    z-index: 999;
}

.formmsg.slideIn{
    visibility: visible;
    opacity: 1;
    transform: translateX(-20px);
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    } 100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@media screen and (min-width:1400px) {
    .container{max-width:1134px; max-width: calc(1134px + 24px);}
}

@media screen and (max-width:1199px) {
    h1, .h1 { font-size: 66px; }
    h2, .h2 { font-size: 36px; }
    .bannerWrap p { font-size: 22px; }
    .headerwrap ul { gap: 20px; }
    .bannerSection { padding: 170px 0 130px; }
    .bannerInner { padding: 120px 0 90px; }
    .readyEmWrap .hand { width:560px; object-fit: cover; object-position: center; }

    .formmsg { right: 0; left: 0; top: auto; bottom: 0; transform: translate(0, 100px); }

    .formmsg.slideIn { transform: translate(0, -20px); }
}

@media screen and (max-width:991px) {
    .headerwrap .mobilemenuwrap ul li:nth-child(n + 5) { display: block; }
    .headerwrap .mobilemenuwrap{ order: 1;display: block; }
    .headerwrap > ul:last-child {display:none;}
    .headerwrap .mobilemenuwrap ul {
        position: absolute;
        left: 0;
        top: 100%;
        right: 0;
        transform:translateY(20px);
        opacity:0;
        visibility: hidden;
        transition:0.3s all ease-in-out;
        max-height: calc(100vh - 100px);
        overflow: auto;
    }
    .headerwrap .mobilemenuwrap .mobilemenu {
        display: block;
        width: 40px;
        height: 22px;
        position: relative;
        margin-bottom: 0;
        margin-left: 10px;
        border: 0;
        background-color: transparent;
    }
    .headerwrap .mobilemenuwrap .mobilemenu span {
        display: block;
        width: 33px;
        height: 4px;
        margin-bottom: 5px;
        position: relative;
        background: #ffffff;
        border-radius: 3px;
        z-index: 1;
        transform-origin: 4px 0px;
        transition: transform .5s cubic-bezier(.77,.2,.05,1), background .5s cubic-bezier(.77,.2,.05,1), opacity .55s ease;
    }
    .toggle-menu-body .headerwrap .mobilemenuwrap .mobilemenu span:nth-child(1) { opacity: 0; transform: rotate(0deg) scale(.2, .2); }
    .toggle-menu-body .headerwrap .mobilemenuwrap .mobilemenu span:nth-child(2) { transform: rotate(-45deg) translate(-7px, 9px); }
    .toggle-menu-body .headerwrap .mobilemenuwrap .mobilemenu span:nth-child(3) { opacity: 1; transform: rotate(45deg) translate(-8px, -14px); }
    header.headersection { padding: 20px 0; }
    .toggle-menu-body .headersection,.toggle-menu-body .mobilemenuwrap ul {
        background-color: rgba(0, 0, 0, 0.6);
        -webkit-backdrop-filter: saturate(180%) blur(20px);
        backdrop-filter: saturate(180%) blur(20px);
        transition: 0.3s all ease-in-out;
    }
    .toggle-menu-body .mobilemenuwrap ul{background-color: rgba(0, 0, 0,0.8);}
    .toggle-menu-body .mobilemenuwrap ul{
        transform:translateY(0);
        opacity:1;
        visibility: visible;
    }
    .mobilemenuwrap ul{gap:0;}
    .mobilemenuwrap ul a { width: 100%; display: block; padding: 13px 20px; }
    .mobilemenuwrap ul li { border-top: 1px solid rgba(255, 255, 255, 0.4);width:100%;}
    .happyCustomerrowswrap .happyCustomerrows:nth-child(4){display:none;}
    .happyCustomerrowswrap { grid-template-columns: repeat(3, 1fr); }
    .happyCustomerCols h3 { font-size: 18px; }
    .customerwrap p { font-size: 15px; }
    .customerwrap p:last-child { font-size: 12px; }
    .startJorneywrap{padding-top: 30px;}


    body { font-size: 16px; line-height: 24px; }
    h1, .h1 { font-size: 48px; }
    h2, .h2 { font-size: 32px; }
    .bannerWrap p { font-size: 20px; }
    .bannerWrap { max-width: 494px; }
    .whatOffrRows { display: flex; flex-wrap: wrap; }
    .whatOffrCols.whatOffr1,.whatOffrCols.whatOffr2 { width: 100%; max-width: calc(50% - 8px); }
    .whatOffrCols.whatOffr3 { display: flex; flex-wrap: wrap; justify-content: space-between; }
    .whatOffrCols.whatOffr3 .whatOffrBox + .whatOffrBox { margin-top: 0; }
    .whatOffrCols.whatOffr3 .whatOffrBox { width: 100%; max-width: calc(33.33% - 8px); }
    .happyCustomerrowswrap .happyCustomerrows:nth-child(2){margin-top: 31px;}
    .happyCustomerrowswrap .happyCustomerrows:nth-child(3){margin-top: 0;}
    .happyCustomerCols.happyCustomer2, .happyCustomerCols.happyCustomer4,.happyCustomer1,.happyCustomerCols.happyCustomer3,.happyCustomer7{border-radius:16px;}
    .readyEmWrap .hand { width: 340px; }
    .readyEmWrap { padding: 37px 50px; border-radius: 18px; }
}

@media screen and (max-width:767px) {
    .happyCustomerrowswrap .happyCustomerrows:nth-child(3) { display: none; }
    .happyCustomerrowswrap { grid-template-columns: repeat(2, 1fr); }
    .accordionrow.row { gap: 20px; }
    .readyEmLeft { max-width: 100%; position: relative; z-index: 1; }
    .readyEmWrap { padding: 17px 30px; border-radius: 10px; }
    .readyEmWrap .hand {width: 100%;z-index: 0;opacity: 0.6;}

    .formrow { grid-template-columns: 1fr; }
    .formcol-full { width: 100%; }
}

@media screen and (max-width:575px) {
    h1, .h1 { font-size: 40px; }
    h2, .h2 { font-size: 28px; }
    .happyCustomerCols h3 { font-size: 16px; }
    .happyCustomer1 .customerwrap { margin-top: 40px; }
    .whatOffrCols.whatOffr1, .whatOffrCols.whatOffr2 { max-width: 100%; }
    .whatOffrCols.whatOffr3 .whatOffrBox { max-width: calc(50% - 8px); }
    .whatOffrCols.whatOffr3 .whatOffrBox:last-child { max-width: 100%; margin-top: 16px; }

    .whatOffrRows { max-width: 370px; margin: 0 auto; }
    .pt100{padding-top:80px;}
    .pb100{padding-bottom:80px;}

    .readyEmLeft { text-align: center; margin: 0 auto; }
    .readyEmWrap { padding: 30px 30px 190px; }
    .readyEmLeft p { margin-left: auto; margin-right: auto; }

    .readyEmWrap { padding: 30px 10px 170px; }
    .readyEmWrap .hand { height: 190px; bottom: 0;left: 0; right: 0; width: 100%; height: 200px;opacity:1;}
    .bannerSection { padding: 0; }
    .bannerWrap { min-height: 100vh; padding: 140px 0 80px; display: flex; flex-wrap: wrap; flex-direction: column;align-items: center;}
    .bannerWrap .primary-bttn { margin-top: auto; }
    .bannerInner .bannerWrap { min-height: 0; padding: 140px 0 80px; }
}

@media screen and (max-width:490px) {
    .siteform .bttngroup { flex-wrap: wrap; gap: 20px; }
    .siteform .bttngroup button { width: 100%; justify-content: center; }
}

@media screen and (max-width:421px) {
    .readyEmWrap { padding: 30px 10px 170px; }
    .readyEmWrap .hand { height: 170px; bottom: 0px; }
    .happyCustomerrowswrap .happyCustomerrows:nth-child(2) { display: none; }
    .happyCustomerrowswrap { grid-template-columns: repeat(1, 1fr); }
    .siteform .primary-bttn { padding: 13px; }
}