/**************************************
HEADER
**************************************/
header {
    font-family: var(--font-secondary);
    --menu-space:65px;
    width: 100%;
    padding: 4.8rem 5.4rem;
    background-color: var(--charcoal-gray);
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
}
body.user-logged-in header{
    top: 39px;
}
body.toolbar-horizontal.toolbar-tray-open header{
    top: 115px;
}
body.user-logged-in.toolbar-vertical.toolbar-tray-open header{
    width: calc(100% - 150px);
    left: unset;
    right: 0;
}
body.user-logged-in main{
    margin-top: 25px;
}
body.toolbar-horizontal.toolbar-tray-open main {
    margin-top: 95px;
}
.sticky-header header{
    padding: 2.5rem 5.4rem;
    transition: all 0.3s;
}
header .navbar{
    background-color: transparent !important;
    position: unset;
}
header .navbar .navbar-collapse{
    flex-grow: unset;
    max-width: 100%;
}
header .navbar ul.navbar-nav{
    display:flex;
    grid-gap:15px var(--menu-space);
}
header .navbar ul.navbar-nav > li{
    max-width: 100%;
}
header .navbar ul.navbar-nav > li > :is(a, span){
    padding:0 !important;
    font-size:max(18px, 2rem);
    font-weight:400;
    color:#fff;
    transition: all 0.3s;
}
header .navbar ul.navbar-nav > li > a:hover{
    color: var(--vivid-orange);
}
header .navbar ul.navbar-nav > li .dropdown-toggle{
    user-select: none;
}
header .navbar ul.navbar-nav > li .dropdown-toggle.show::after{
    transform: rotate(180deg);
}
/*submenu*/
.navbar-expand-lg .navbar-nav .dropdown-menu{
    width:100%;
    border-radius: 0;
    margin: 0;
    justify-content: center;
    flex-wrap: wrap;
    grid-gap: 10px;
    padding-block:20px;
    padding-inline: var(--container-spacing);
    background-color:var(--deep-teal);
    border: 0;
}
 .navbar-expand-lg .navbar-nav .dropdown-menu li a{
    font-size:max(16px, 2rem);
    color:#fff;
    background-color:transparent !important;
}
.navbar-expand-lg .navbar-nav .dropdown-menu li a:hover{
    color: var(--vivid-orange);
}
@media (min-width: 992px) {
    header .navbar ul.navbar-nav > li{
        position: unset;
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu{
        position: absolute;
        top:100%;
        left:0;
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu.show{
        display: flex;
    }
}
@media screen and (max-width:1800px) and (min-width: 1481px) {
    .navbar-expand-lg .navbar-nav .dropdown-menu li a{
        font-size: 16px;
    }
}
@media screen and (max-width:1480px) and (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .dropdown-menu li a{
        font-size: 14px;
    }
}
@media (max-width: 991px) {
    .navbar-expand-lg .navbar-nav .dropdown-menu{
        margin-top: 5px;
        padding: 10px;
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu li a{
        padding-block: 5px;
        white-space:unset;
    }
}
.menu-toggle{
    display: none;
    width: 76px;
    background-color: transparent;
    border: none;
    outline: none;
    box-shadow: unset;
    margin-left: 8.4rem;
}
.menu-toggle span{
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: all 0.3s;
}
.menu-toggle span:not(:first-child){
    margin-top: 17px;
}
.hide-desktop-menu .menu-toggle span:nth-child(1){
    transform: rotate(45deg) translateY(24px);
    top: -17px;
}
.hide-desktop-menu .menu-toggle span:nth-child(2){
    opacity: 0;
}
.hide-desktop-menu .menu-toggle span:nth-child(3){
    transform: rotate(-45deg) translateY(-24px);
}
.get-in-touch-section{
    margin-left:calc(var(--menu-space) / 2);
    padding-left:calc(var(--menu-space) / 2);
    padding-right: 25px;
    display:flex;
    grid-gap:8px;
    position: relative;
}
.get-in-touch-section .get-in-touch{
    margin-right:15px;
     font-size:13px;
    font-weight:bold;
    color:#fff;   
}
.get-in-touch-section a{
    display:flex;
    justify-content:center;
    align-items:center;
    background-color:#fff;
    width:21px;
    height:21px;
    border-radius:50%;
    font-size:10px;
    color:var(--primary);
    transition: all 0.3s;
}
.get-in-touch-section a:hover{
    background-color: var(--primary);
    color: #fff;
}
/*mobile toggle*/
.navbar-toggler{
    border: 0 !important;
    border-radius: 0;
    padding: 0;
    box-shadow: unset !important;
    outline: 0 !important;
    background-color: transparent !important;
}
.navbar-toggler-icon {
    width: 40px;
    height: 1px;
    background-color: rgb(255, 255, 255);
    background-image: unset !important;
    transition: 0.3s;
    position: relative;
    box-shadow: unset;
    outline: 0;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after{
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: rgb(255, 255, 255);
    transition: 0.3s;
    position: relative;
}
.navbar-toggler-icon::before{
    top: -11px;
    transform-origin: left;
}
.navbar-toggler-icon::after{
    top: 10px;
    transform-origin: left;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{
    background-color: transparent;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before{
    transform: rotate(45deg);
    top: -17px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after{
    transform: rotate(-45deg);
}

@media screen and (max-width:991px) {
    header{
        padding: 30px var(--container-spacing);
    }
    header img.logo-image{
        width: 190px;
    }
    .menu-toggle{
        display: none;
    }
    header .navbar ul.navbar-nav{
        margin-top: 5rem;
    }
}
/**************************************
HERO SECTION
**************************************/
.hero-banner .container-fluid,
.hero-banner .col-lg-12{
    padding: 0;
}
.hero-banner{
    position: relative;
}
.hero-banner .header-section{
    display: flex;
}
.hero-banner .hero-banner-img{
    flex:1;
    position: relative;
}
.hero-banner .hero-banner-img::after{
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--secondary);
    opacity: 0.44;
}
.hero-banner .hero-banner-img img{
    width:100%;
    height: 100%;
    min-height: calc(100vh - var(--header-height));
    object-fit: cover;
}
.hero-banner .hero-text-block{
    width: 52%;
    display:flex;
    padding-block: 6rem;
    padding-inline: 7rem;
    color: #fff;
    z-index: 1;
    background-color: var(--sage-green);
    border-left: 8.5rem solid var(--vivid-orange);
}
.hero-banner .hero-text-block > div{
    display: flex;
    align-items: baseline;
    flex-direction: column;
}
.hero-banner .hero-text-block p{
    margin-top: auto;
    max-width: 510px;
}
.hero-banner .hero-text-block .btn{
    margin-top: 5.5rem;
}
@media screen and (max-width:991px) {
    .hero-banner .header-section{
        flex-direction: column;
    }
    .hero-banner .hero-text-block{
        width: 100%;
        background-color: transparent;
        position: relative;
        border-width: 5rem;
    }
    .hero-banner .hero-text-block::after{
        content: '';
        background-color: var(--deep-teal);
        position: absolute;
        inset: 0;
        z-index: -1;
        opacity: 0.5;
    }
    .hero-banner .hero-banner-img{
        position: absolute;
        inset: 0;
        overflow: hidden;
    }
}
@media screen and (max-width:767px) {
    .hero-banner .hero-text-block{
        padding-inline: 3rem;
    }
}
/**************************************
INNER BANNER
**************************************/
.inner-banner{
    position: relative;
}
.inner-banner .inner-banner-row{
    display: flex;
}
.inner-banner .inner-banner-img{
    flex:1;
    position: relative;
}
.inner-banner .inner-banner-img::after{
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--secondary);
    opacity: 0.44;
}
.inner-banner .inner-banner-img img{
    width:100%;
    height: 100%;
    min-height: calc(100vh - var(--header-height));
    object-fit: cover;
}
.inner-banner .inner-text-block{
    width: 50%;
    display:flex;
    padding-block: 6rem;
    padding-inline: 7rem;
    color: #fff;
    z-index: 1;
    background-color: var(--sage-green);
    border-left: 8.5rem solid var(--vivid-orange);
}
.inner-banner .inner-text-block > div{
    display: flex;
    align-items: baseline;
    flex-direction: column;
}
.inner-banner .inner-text-block .inner-banner-description{
    margin-top: auto;
    max-width: 780px;
}
.inner-banner .inner-text-block .btn{
    margin-top: 5.5rem;
}
/*services*/
.services-inner-banner .inner-text-block{
    background-color: var(--deep-teal);
    border-left: 0;
    border-right: 17rem solid var(--mint-cream);
}
.services-inner-banner .inner-banner-img{
    border-right: 8.5rem solid var(--vivid-orange);
}
/*services listing*/
.blog-listing-inner-banner .inner-text-block{
    background-color: var(--rust-red);
    border-left: 0;
    border-right: 17rem solid var(--sandstone);
}
.blog-listing-inner-banner .inner-banner-img{
    border-left: 8.5rem solid var(--soft-ivory);
}
/*blog single*/
.blog-single-inner-banner .inner-text-block{
    background-color: var(--deep-teal);
    border-left: 0;
}
.blog-single-inner-banner .inner-banner-img{
    border-left: 8.5rem solid var(--mint-cream);
}
@media screen and (max-width:991px) {
    .inner-banner .inner-banner-row{
        flex-direction: column;
    }
    .inner-banner .inner-text-block{
        width: 100%;
        background-color: transparent;
        position: relative;
        border-width: 5rem;
    }
    .inner-banner .inner-text-block::after{
        content: '';
        background-color: var(--deep-teal);
        position: absolute;
        inset: 0;
        z-index: -1;
        opacity: 0.5;
    }
    .inner-banner .inner-banner-img{
        position: absolute;
        inset: 0;
        overflow: hidden;
        border-left: 0;
        border-width: 5rem;
    }
}
@media screen and (max-width:767px) {
    .inner-banner .inner-text-block{
        padding-inline: 3rem;
    }
}
/**************************************
BASIC INNER BANNER
**************************************/
.basic-inner-banner{
    padding-block: 11rem;
    text-align: center;
    /* background-color: var(--mint-cream); */
}
/**************************************
CONTENT AREA
**************************************/
.content-wrap{
    padding-block: 13rem;
}
body:has(.basic-inner-banner) .content-wrap{
    padding-top: 0;
}
.content-wrap .content-area{
    max-width: 993px;
    margin-inline: auto;
}
.content-wrap .content-area :where(h2,h3,h4,h5,h6){
    font-weight: 500;
}
@media screen and (max-width:1280px) {
    .content-wrap{
        padding-block: 7rem;
    }   
}
/**************************************
QUOTE SECTION
**************************************/
.quote-section{
    padding-block: 11rem;
    text-align: center;
}
.quote-section .col-lg-12{
    max-width: 1195px;
    margin-inline: auto;
}
.quote-section h5{
    margin-top: 8rem;
    font-weight: 500;
}
@media screen and (max-width:1280px) {
    .quote-section{
        padding-block: 5rem;
    }
}
/**************************************
PROMO SECTION
**************************************/
.call-out-promos-section .container-fluid,
.call-out-promos-section .row,
.call-out-promos-section .row > div{
    padding:0;
    margin:0;
}
.call-out-promos-section .row{
    grid-gap: 30px;
}
.call-out-promos-section .row > div{
    width: calc((100% / 3) - (30px * 2) / 3);
}
/*card*/
.promo-card{
    position: relative;
    height: 100%;
}
.promo-card-body{
    height: 100%;
    background-color:var(--sage-green);
    transition: all 0.3s;
}
.promo-card-body figure{
    aspect-ratio: 637 / 424;
    margin:0;
    border-bottom:20px solid var(--mint-cream);
    background-color: #fff;
    transition: all 0.3s;
}
.promo-card-body figure img{
    width:100%;
    height: 100%;
    object-fit:contain;
}
.promo-card-body .text-block{
    padding-block: 0 5rem;
    padding-inline: 7.5rem;
}
.promo-card-body h2{
    margin-bottom: 11rem;
}
.promo-card-body p{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* -webkit-line-clamp: 5; */
    white-space: normal;
}
.promo-card .promo-card-video{
    position:absolute;
    inset:0;
    z-index:-1;
    overflow: hidden;
}
.promo-card .promo-card-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* .promo-card .promo-card-video *{
    width:100%;
    height:100%;
} */
.promo-card .promo-card-video iframe{
    transform: scale(2.7);
}
.promo-card:hover figure{
    opacity: 0;
    visibility: hidden;
}
.promo-card:hover .promo-card-body{
    background-color: rgba(0,0,0,0.30) !important;
    color: #fff;
}
/*color*/
.call-out-promos-section .row > div:nth-child(2) .promo-card-body{
    background-color: var(--soft-ivory);
}
.call-out-promos-section .row > div:nth-child(3) .promo-card-body{
    background-color: var(--sandstone);   
}
.call-out-promos-section .row > div:nth-child(4) .promo-card-body{
    background-color: var(--mint-cream);
}
.call-out-promos-section .row > div:nth-child(2)  .promo-card-body figure{
    border-color: var(--vivid-orange);
}
.call-out-promos-section .row > div:nth-child(3)  .promo-card-body figure{
    border-color: var(--soft-ivory);
}
.call-out-promos-section .row > div:nth-child(4)  .promo-card-body figure{
    border-color: var(--deep-teal);
}
@media screen and (max-width:1280px) {
    .promo-card-body .text-block{
        padding-inline: 3rem;
    }
}
@media screen and (max-width:991px) {
    .call-out-promos-section .row > div {
        width: 100%;
    }
    .promo-card-body h2 {
        margin-bottom: 5rem;
    }
}
/**************************************
HOME: SERVICES SECTION
**************************************/
.service-section {
    padding-block:11rem;
}
.service-section h6{
    color:var(--primary);
    margin-bottom:3.5rem;
}
.service-section .swiper-pagination{
    margin-top: 7rem;
}
.service-section .swiper-slide{
    height: unset;
}
/**/
.service-card{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.service-card img{
    aspect-ratio: 638/425;
    object-fit: cover;
}
.service-card .text-block{
    flex-grow: 1;
    padding-block: 1rem 0;
    padding-inline: 3rem;
    display: flex;
    flex-direction: column;
}
.service-card .text-block h5{
    font-weight: 500;
}
.service-card .text-block .card-text{
    margin-block: auto 0;
}
.service-card .text-block p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    white-space: normal;
}
/**************************************
HOME: SERVICES SECTION
**************************************/
.cta-section .container-fluid, 
.cta-section .row,
.cta-section .row > div {
    padding: 0px;
    margin: 0px;
}
.cta-section .cta-section-panel{
    display: flex;
}
.cta-section .cta-section-panel::before{
    content: '';
    display: block;
    width: 300px;
    background-color: var(--sandstone);
    background-image: linear-gradient(90deg, #FF5E29 0% calc(100% / 3), #963B20 0% calc(100% / 3 * 2), #B8A893 0% 100%);
    background-position: 0 0;
}
.cta-section .cta-section-panel figure{
    width: 40%;
    max-width: 703px;
}
.cta-section .cta-section-panel figure img{
    width: 100%;
    height: 100%;
    aspect-ratio: 703 / 977;
    object-fit: cover;
}
.cta-section .cta-text{
    flex: 1;
    padding-block: 8rem;
    padding-inline: 9rem;
    background-color: var(--soft-ivory);
}
.cta-section .cta-text > div{
    height: 100%;
    display: flex;
    flex-direction: column;
}
.cta-section .cta-text .cta-text-body{
    margin-top: auto;
    max-width: 780px;
}
.cta-section .cta-text .button-group{
    margin-top: 5rem;
}
/*service page*/
.service-cta-section .cta-section-panel::before{
    display: none;
}
.cta-section .cta-section-panel .color-line{
    width: 10rem;
    background: var(--rust-red);
}
@media screen and (max-width:1280px) {
    .cta-section .cta-section-panel::before{
        width: 100px;
    }
    .cta-section .cta-text{
        padding-block: 5rem;
        padding-inline: 8rem;
    }
}
@media screen and (max-width:767px) {
    .cta-section .cta-section-panel{
        flex-wrap: wrap;
    }
    .cta-section .cta-section-panel figure{
        flex: 1;
        width: 100%;
        max-width: unset;
    }
    .cta-section .cta-section-panel figure img{
        aspect-ratio: 16/9;
    }
    .cta-section .cta-text {
        width: 100%;
        flex: unset;
        padding-inline: var(--container-spacing);
    }
    /**/
    .cta-section .cta-section-panel .cta-text{
        order: 1;
    }
}
/**************************************
HOME: EXPERT SECTION
**************************************/
.expert-section h6{
    margin-bottom:26px;
}
.expert-section {
    padding-block:11rem;
}

/**************************************
TESTIMONIAL
**************************************/
.testimonial-section{
    padding-top: 13rem;
}
.testimonial-section .swiper-slide{
    height: auto;
}
/*card*/
.testimonial-card {
    background-color:var(--sage-green);
    padding: 7rem;
    color: #fff;
    height: 100%;
}
.testimonial-header{
    display:flex;
    flex-direction: column;
    grid-gap: 7rem 0;
}
.testimonial-header .testimonial-avatar{
    flex-shrink:0;
    width:25rem;
    aspect-ratio:1;
    background-color:var(--primary);
    border-radius:100%;
    overflow:hidden;
    display:flex;
}
.testimonial-header .testimonial-avatar img{
    object-fit:cover;
}
.testimonial-body{
    margin-top: 5rem;
}
.testimonial-card .testimonial-info h5{
    font-weight: 500;
}
@media screen and (max-width:767px) {
    .testimonial-header{
        grid-gap: 3rem 0;
    }
    .testimonial-body {
        margin-top: 3rem;
    }
}
/**************************************
HOME: brochure
**************************************/
.brochure-section{
    color:#fff;
    position:relative;
}
.brochure-section-image{
    aspect-ratio: 1920/982;
    display: flex;
}
.brochure-section .brochure-section-text{
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.44);
    display: flex;
    align-items: flex-end;
    padding: 18rem 23px 6.7rem;
}
.brochure-section .brochure-section-text > div{
    max-width:1024px;
}
.brochure-section .brochure-section-text p{
    margin-top:22px;
}
.brochure-section .btn{
    margin-top:3.8rem;
}
/**************************************
HOME: BLOG
**************************************/
.blog-section{
    padding-block: 12rem;
}
.blog-section .blog-content-section{
    padding-right: 6rem;
}
.blog-section .blog-content-section h6{
    color: var(--primary);
}
.blog-section .blog-content-section h2{
    margin-bottom: 3rem;
}
.blog-section .blog-listing{
    grid-gap: 9rem 0;
}
.blog-section .pagination{
    display: none;
}
/* card */
.blog-card h3{
    color: var(--text-dark);
}
.blog-card .blog-card-body{
    margin-top: 30px;
    padding-inline: 3rem;
}
.blog-card h6{
    font-weight: 400;
    margin-bottom: 10px;
}
.blog-card h5{
    margin-top: 0;
    font-weight: 500;
}
.blog-card .blog-card-summary{
    margin-top: 30px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    white-space: normal;
}
.blog-card .blog-card-img img{
    aspect-ratio: 638 / 425;
    object-fit: cover;
}
/**************************************
NUMBER SECTION
**************************************/
.numbered-promos{
    padding-block: 9rem;
    background-color: var(--mint-cream);
}
.numbered-promos .row{
    margin-top: 13rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 5rem 4rem;
}
.numbered-promos .row > div{
    flex: unset;
    width: 100%;
}
/*card*/
.numbered-promos-item .step-number{
    width: 11.6rem;
    height: 11.6rem;
    font-family: var(--font-secondary);
    font-size: 9.6rem;
    color: var(--mint-cream);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: var(--vivid-orange);
    border-radius: 50%;
}
.numbered-promos-item h5{
    margin-top: 8.8rem;
    font-weight: 500;
}
.numbered-promos-body{
    margin-top: 3.1rem;
}
@media screen and (max-width:991px) {
    .numbered-promos .row{
        grid-template-columns: repeat(2, 1fr);
    }
    .numbered-promos-item h5 {
        margin-top: 5rem;
    }
}
@media screen and (max-width:525px) {
    .numbered-promos .row{
        grid-template-columns: repeat(1, 1fr);
    }
}
/**************************************
CONTACT CTA
**************************************/
.contact-cta-section {
    padding-block:11rem 0;
}
.contact-cta-section h6{
    margin-bottom:26px;
}
.contact-cta-section .btn-underline{
    margin-top: 4.6rem;
}
/**************************************
NEWSLETTER CTA
**************************************/
.newsletter-cta{
    border-top:1px solid var(--primary);
    padding-block:4rem;
    background-color: var(--deep-teal);
    color: #fff;
    position: relative;
    scroll-margin-top: var(--header-height);
}
.newsletter-cta .container {
    display: flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    grid-gap: 15px 13rem;
}
.newsletter-cta .newsletter-cta-left{
    text-align: right;
}
.newsletter-cta  h6{
    margin-block: 0;
}
/**/
button.close-newsletter {
    all: unset;
    display: block;
    color: #fff;
    position: absolute;
    top: 5px;
    right: 15px;
}
button.close-newsletter svg {
    width: 30px;
}
button.close-newsletter svg path {
    fill: #fff;
}
.newsletter-cta #newsletter-subscription {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--deep-teal);
    padding: 4rem var(--container-spacing);
    z-index: 9;
}
.newsletter-cta input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]).form-control{
    min-height: 60px;
}
.newsletter-cta .form-actions{
    margin-block: 0;
}
.newsletter-cta .captcha{
    width: 240px;
    height: 61px;
}
.newsletter-cta .captcha .captcha__element {
    transform: scale(0.79);
    transform-origin: top left;
}
.newsletter-cta .webform-flexbox {
    all: unset;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    grid-gap: 15px;
}
.newsletter-cta .webform-flex {
    all: unset;
}
.newsletter-cta .webform-flex--container{
    all: unset;
}
.newsletter-cta .webform-flex:has(.js-form-item-privacy-statement) {
    order: 1;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}
.newsletter-cta .js-form-item-privacy-statement{
    width: 100%;
}
.newsletter-cta .webform-flex--container .form-item{
    margin: 0;
}
@media screen and (max-width:1280px) {
    .newsletter-cta #newsletter-subscription{
        padding: 9rem 4rem 4rem;
    }
}
/**************************************
SERVICES CATEGORY
**************************************/
.service-category{
    padding-block: 10rem 14.6rem;
    background-color: var(--deep-teal);
    color: #fff;
}
.service-category .link-btn{
    color: #fff;
}
.service-category .link-btn:hover{
    color: var(--vivid-orange);
}
.service-category h6{
    margin-bottom: 26px;
    color: var(--primary);
}
.service-category-items{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 30px 10rem;
}
/*card*/
.service-category-item{
    min-height: 62.7rem;
    flex: 1;
    flex-basis: 350px;
    padding-block: 4.5rem;
    padding-inline: 4rem;
    background-color: var(--sage-green);
    display: flex;
    flex-direction: column;
}
.service-category-item h3{
    font-family: var(--font-secondary);
    font-weight: 500;
}
.service-category-item ul{
    margin-block: auto 0;
}
.service-category-item ul li,
.service-category-item ul li p{
    font-family: var(--font-secondary);
    font-size: max(14px, 1.9rem);
    font-weight: 500;
    color: #fff;
}
.service-category-item ul li p{
    margin: 0;
}
.service-category-item ul li a{
    color: inherit;
    transition: all 0.3s;
}
.service-category-item ul li::marker{
    color: var(--deep-teal);
}
.service-category-item ul li:not(:first-child){
    margin-top: 13px;
}
.service-category-item ul li a:hover{
    color: var(--vivid-orange);
}
@media screen and (max-width:1280px) {
    .service-category-items{
        grid-gap: 5rem;
    }
    .service-category-item{
        min-height: 50rem;
        padding-block: 2rem 3rem;
    }
}


/**************************************
PAGE: BLOG listing
**************************************/
.blog-listing-page{
    padding-top: 11rem;
}
.blog-listing-items{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 35px 5rem;
}
@media screen and (max-width:991px) {
    .blog-listing-items{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width:580px) {
    .blog-listing-items{
        grid-template-columns: repeat(1, 1fr);
    }
}
/**************************************
FOOTER
**************************************/
footer,
footer.bg-secondary{
    background-color: var(--secondary) !important;
    color: #fff;
    padding-top: 6rem;
}
footer h2{
    font-family: var(--font-secondary);
    font-size: max(19px, 2.2rem);
}
footer a{
    font-family: var(--font-secondary);
    font-size: 11px;
    color: var(--text-dark);
    font-weight: bold;
    padding: 0;
}
footer h6{
    color: var(--primary);
    margin-bottom: 30px;
}
footer p,
footer form .js-form-item-privacy-statement .description{
    font-family: var(--font-secondary);
}
footer a:hover{
    color: var(--vivid-orange);
}
footer .footer-top .region-footer{
    display: flex;
    flex-wrap: wrap;
}
footer .footer-top .region-footer .footer-left{
    width: 50%;
}
footer .footer-top .region-footer nav{
    margin-top: 26rem;
}
footer .footer-top .region-footer #block-narrative-wealth-webform{
    width: 50%;
}
footer .form-actions{
    display: flex;
    justify-content: flex-end;
}
footer .captcha{
    display: flex;
    justify-content: flex-end;
}
/*footer menu*/
footer .navbar-nav li:not(:first-child){
    margin-top: 5px;
}
footer .navbar-nav li a{
    padding: 0;
    font-size: max(18px, 2rem);
    padding-inline: 0 !important;
}
.copyright{
    margin-top: 9rem;
    padding-block: 4.7rem;
    background-color: #fff;
    color: #243132;
}
.copyright .regulatory-statement{
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 400;
    margin: 0;
}
.copyright .regulatory-statement a{
    font-size: inherit;
}
/**/
footer .footer-text-area{
    margin-top: 9rem;
}
footer .footer-text-area p{
    font-size: max(18px, 2rem);
}
footer .webform-flexbox{
    margin-top: 0;
}
@media screen and (max-width:991px) {
    footer .footer-top .region-footer .footer-left{
        width: 100%;
    }
    footer .footer-top .region-footer #block-narrative-wealth-webform{
        margin-top: 5rem;
        width: 100%;
    }
    footer .footer-top .region-footer nav{
        margin-top: 5rem;
    }
}
/**************************************
PAGE: INNER PAGE
**************************************/
body:is(.page-node-type-service-page, .path-blog) .newsletter-cta{
    margin-top: 11rem;
}
/**************************************
What we offer
**************************************/
.service-offer-items .swiper-wrapper{
    display: flex;
}
.service-offer-items .swiper-wrapper .swiper-slide{
    height: unset;
}
/*card*/
.service-offer-card{
    position: relative;
    height: 100%;
    display: flex;
}
.service-offer-card-body{
    width: 100%;
    background-color:var(--sage-green);
    transition: all 0.3s;
}
.service-offer-card-body figure{
    aspect-ratio: 637 / 424;
    margin:0;
    border-bottom:20px solid var(--mint-cream);
}
.service-offer-card-body figure img{
    width:100%;
    height: 100%;
    object-fit:cover;
}
.service-offer-card-body .text-block{
    padding-block: 0 5rem;
    padding-inline: 7.5rem;
}
.service-offer-card-body .text-block a{
    color: var(--text-dark);
}
.service-offer-card-body h2{
    margin-bottom: 11rem;
}
.service-offer-card-body p{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    white-space: normal;
}
/*color*/
.service-offer-card.card-17 .service-offer-card-body{
    background-color: var(--soft-ivory);
}
.service-offer-card.card-18 .service-offer-card-body{
    background-color: var(--sandstone);   
}
.service-offer-card.card-19 .service-offer-card-body{
    background-color: var(--mint-cream);
}
.service-offer-card.card-17 .service-offer-card-body figure{
    border-color: var(--vivid-orange);
}
.service-offer-card.card-18 .service-offer-card-body figure{
    border-color: var(--soft-ivory);
}
.service-offer-card.card-19 .service-offer-card-body figure{
    border-color: var(--deep-teal);
}
/**************************************
PAGE: SERVICES
**************************************/ 
.service-body-section{
    padding-block: 11rem;
    border-bottom: 1px solid #707070;
}
.service-body-section .container{
    max-width: 993px;
    margin-inline: auto;
}
.service-body-section h3{
    font-family: var(--primary-secondary);
    font-weight: 500;
}
.service-body-description :where(h2,h3,h4,h5,h6){
    font-family: var(--primary-secondary);
}
/**/
.service-offer-section{
    margin-top: 11rem;
    padding-block: 0 11rem;
}
.service-offer-section .swiper-pagination{
    margin-top: 4rem;
}
@media screen and (max-width:1280px) {
    .service-body-section{
        padding-block: 5rem;
    }
}
/**************************************
LOGIN
**************************************/ 
.nav-tabs .nav-link{
    font-size: 1.6rem;
}
:is(.user-login-form, .user-pass, .user-register-form){
    margin: 3rem;
    width: auto;
    max-width: 400px;
    padding: 3rem;
    border: 1px solid #ccc;
    margin-inline: auto;
}
:is(.user-login-form, .user-pass, .user-register-form) .form-item input{
    margin-bottom: 1rem;
}
:is(.user-login-form, .user-pass, .user-register-form) .form-item label{
    font-size: 1.6rem;
    margin-bottom: 1rem;
}
:is(.user-login-form, .user-pass, .user-register-form) :where(p, div){
    font-size: 1.6rem;
}
/**************************************
FORM
**************************************/ 
form .js-form-item-privacy-statement {
    width: calc(200% + 25px);
    display: flex;
    grid-gap: 15px;
    margin-left: calc(-100% - 25px);
    white-space: normal !important;
    font-size: max(18px, 2rem);
}
form .js-form-item-privacy-statement .description{
    margin: 0;
    font-size: inherit;
}
form .js-form-item-privacy-statement input[type="checkbox"]{
    flex-shrink: 0;
    appearance: none;
    margin: 0;
    accent-color: var(--vivid-orange) !important;
    border: 0;
    box-shadow: unset;
}
form .js-form-item-privacy-statement label{
    display: none;
}
form .js-form-item-privacy-statement input[type="checkbox"]:checked{
    background-color: var(--vivid-orange);
}
form .js-form-item-privacy-statement input[type="checkbox"]:checked::after {
  content: '✓';
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
}
form .js-form-item-privacy-statement a{
    font-size: inherit;
    color: inherit;
}
form .js-form-item-privacy-statement a:hover{
    color: var(--vivid-orange);
}
@media screen and (max-width:767px) {
    form .js-form-item-privacy-statement{
        width: 100%;
        margin-left: 0;
    }
}
/*hide*/
:where(.testimonial-section, .service-section, .service-category) .block-heading .link-btn{
    display: none;
}
/****************************
COOKIE
****************************/
.cookiesjsr-banner {
    background-color: var(--charcoal-gray);
    justify-content: space-between;
    box-shadow: 0 7px 15px rgba(0, 0, 0, 0.16);
}

.cookiesjsr-banner .cookiesjsr-banner--info {
    width: calc(100% - 530px);
    padding: 0;
    max-width: 1245px;
    padding-right: 15px;
    margin-bottom: 0;
}

.cookiesjsr-banner .cookiesjsr-banner--info .cookiesjsr-banner--text {
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    color: var(--grey);
}

.cookiesjsr-banner .cookiesjsr-banner--info .cookiesjsr-links {
    display: none;
}

.cookiesjsr-banner .cookiesjsr-banner--action {
    max-width: 530px;
    padding-right: 17px;
    grid-gap: 15px 24px;
    flex-direction: row;
    justify-content: flex-end;
}

.cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn {
    margin: 0;
    display: inline-block;
    font-family: var(--font-secondary);
    font-size: max(18px, 2.4rem);
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1;
    text-align: center;
    color: #000 !important;
    background-color: var(--mint-cream) !important;
    border: 1px solid var(--mint-cream);
    border-radius: 0;
    padding: 17px 5.5rem;
    cursor: pointer;
    box-shadow: unset;
    transition: all 0.3s;
}

.cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn:hover {
    background-color: var(--vivid-orange) !important;
    border-color: var(--vivid-orange);
    color: #fff !important;
    transform: unset;
}

.cookiesjsr-banner .cookiesjsr-banner--action .cookiesjsr-btn.cookiesjsr-settings {
    display: none;
}

@media screen and (max-width: 1280px) {
    .cookiesjsr-banner .cookiesjsr-banner--info {
        width: calc(100% - 380px);
    }

    .cookiesjsr-banner .cookiesjsr-banner--action {
        max-width: 380px;
    }
}

@media screen and (max-width: 991px) {
    .cookiesjsr-banner {
        flex-wrap: wrap;
    }

    .cookiesjsr-banner .cookiesjsr-banner--info {
        width: 100%;
        margin-bottom: 0;
        padding-right: 0;
    }

    .cookiesjsr-banner .cookiesjsr-banner--action {
        margin-top: 15px;
        width: 100%;
        max-width: unset;
        justify-content: flex-start;
        max-width: unset;
        grid-gap: 15px 15px;
    }

    .cookiesjsr-banner .cookiesjsr-banner--info .cookiesjsr-banner--text {
        font-size: 14px;
        line-height: 22px;
    }
}