.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1600px;
}
body {font-family: 'Plus Jakarta Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Outfit';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 30px;
padding-bottom: 75px;
padding-left: 30px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 30px;
padding-left: 30px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.copyright-p {
 color:#ffffff;
 font-size:14px;
 text-align:left;
}
@media (max-width: 767px) {
.copyright-p {
 line-height:1.1;
}
}

@media (max-width: 479px) {
.copyright-p {
 text-align:center;
}
}

.side-cols {
 width:20%;
}
.side-cols:not(.ct-section):not(.oxy-easy-posts),
.side-cols.oxy-easy-posts .oxy-posts,
.side-cols.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-end;
}
@media (max-width: 991px) {
.side-cols {
 width:100%;
}
}

@media (max-width: 767px) {
.side-cols {
 width:100%;
}
.side-cols:not(.ct-section):not(.oxy-easy-posts),
.side-cols.oxy-easy-posts .oxy-posts,
.side-cols.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-end;
}
}

@media (max-width: 479px) {
.side-cols {
}
}

.side-col-img {
 width:120%;
 max-width:120%;
 margin-top:-50px;
}
@media (max-width: 991px) {
.side-col-img {
 max-width:100%;
 margin-top:0px;
}
}

@media (max-width: 479px) {
.side-col-img {
 width:120%;
 max-width:120%;
}
}

.h2 {
 line-height:0.99;
 font-weight:500;
 z-index:2;
 font-size:var(--step-6);px;
 color:#191919;
 text-transform:capitalize;
}
.h2 .ct-section-inner-wrap {
padding-bottom: 26px;
}
@media (max-width: 1600px) {
.h2 {
}
}

@media (max-width: 991px) {
.h2 {
}
}

@media (max-width: 767px) {
.h2 {
 line-height:1;
 font-size:var(--step-5);px;
}
}

@media (max-width: 479px) {
.h2 {
 font-size:var(--step-4);px;
}
}

.fancy-title {
 font-family:'Shantell Sans';
 color:#ffb607;
 letter-spacing:-2px;
}
.p {
 font-size:var(--step-0);px;
 line-height:1.9;
 text-align:left;
 color:#191919;
 font-weight:400;
 margin-bottom:0px;
}
@media (max-width: 1600px) {
.p {
}
}

@media (max-width: 991px) {
.p {
}
}

@media (max-width: 479px) {
.p {
}
}

.fadeup2 {
}
.white-text {
color:white!important;
}
.button-wrap {
 margin-top:25px;
}
.button-wrap:not(.ct-section):not(.oxy-easy-posts),
.button-wrap.oxy-easy-posts .oxy-posts,
.button-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:flex-start;
}
@media (max-width: 1600px) {
.button-wrap {
 width:100%;
}
.button-wrap:not(.ct-section):not(.oxy-easy-posts),
.button-wrap.oxy-easy-posts .oxy-posts,
.button-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width: 991px) {
.button-wrap {
 text-align:left;
}
.button-wrap:not(.ct-section):not(.oxy-easy-posts),
.button-wrap.oxy-easy-posts .oxy-posts,
.button-wrap.ct-section .ct-section-inner-wrap{
display:flex;
}
}

@media (max-width: 767px) {
.button-wrap {
}
.button-wrap:not(.ct-section):not(.oxy-easy-posts),
.button-wrap.oxy-easy-posts .oxy-posts,
.button-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
}

@media (max-width: 479px) {
.button-wrap {
 width:100%;
}
.button-wrap:not(.ct-section):not(.oxy-easy-posts),
.button-wrap.oxy-easy-posts .oxy-posts,
.button-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:stretch;
}
}

.button:hover{
transform:scale(1.05,1.05); transition-duration:0.2s;
}
.button {
 font-family:Plus Jakarta Sans;
 line-height:1;
 padding-top:20px;
 padding-bottom:20px;
 padding-left:30px;
 padding-right:30px;
 font-size:var(--step-0);px;
 font-weight:600;
 text-align:center;
 transition-duration:0.2s;
 position:relative;
 overflow:hidden;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 border-radius:15px;
 gap:10px;
 min-height:60px;
}
.button:not(.ct-section):not(.oxy-easy-posts),
.button.oxy-easy-posts .oxy-posts,
.button.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
gap:10px;
}
@media (max-width: 1600px) {
.button {
 padding-left:25px;
 padding-right:25px;
 gap:5px;
}
.button:not(.ct-section):not(.oxy-easy-posts),
.button.oxy-easy-posts .oxy-posts,
.button.ct-section .ct-section-inner-wrap{
gap:5px;
}
}

@media (max-width: 991px) {
.button {
 font-size:15px;
 padding-top:17px;
 padding-bottom:17px;
}
}

@media (max-width: 479px) {
.button {
 padding-top:17px;
 padding-bottom:17px;
 padding-left:25px;
 padding-right:25px;
 font-size:15px;
}
}

.popup {
}
.white-button {
 background-color:#ffffff;
 color:#3cb4e5;
 transition-duration:0.3s;
}
.ico-button {
color: #333333;}.ico-button 
>svg {width: 20px;height: 20px;}.ico-button {
}
@media (max-width: 1600px) {
.ico-button {
}.ico-button 
>svg {width: 20px;height: 20px;}.ico-button {
}
}

@media (max-width: 767px) {
.ico-button {
}.ico-button 
>svg {width: 18px;height: 18px;}.ico-button {
}
}

@media (max-width: 479px) {
.ico-button {
}
}

.outline-button-white {
 background-color:rgba(255,255,255,0);
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 color:#ffffff;
}
.oxy-lightbox-wrap {
 width:100%;
}
.oxy-lightbox-wrap:not(.ct-section):not(.oxy-easy-posts),
.oxy-lightbox-wrap.oxy-easy-posts .oxy-posts,
.oxy-lightbox-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.h3 {
 color:#191919;
 font-size:40px;
 line-height:1;
 font-weight:600;
 text-transform:capitalize;
}
@media (max-width: 991px) {
.h3 {
 font-size:25px;
 line-height:1;
 margin-bottom:15px;
}
}

@media (max-width: 479px) {
.h3 {
 font-size:25px;
}
}

.h2-sub {
 font-size:var(--step-1);px;
 color:#231f20;
 font-weight:500;
}
@media (max-width: 1600px) {
.h2-sub {
 font-size:18px;
}
}

@media (max-width: 767px) {
.h2-sub {
 font-size:19px;
}
}

@media (max-width: 479px) {
.h2-sub {
 font-size:16px;
}
}

.ff-forms {
 font-family:Outfit;
 width:100%;
 text-align:left;
font-family:inherit;
}
.ff-forms .fluentform .ff-el-input--label label{
font-family: Inherit;
}

.mobile-menu {
 position:fixed;
 bottom:0px;
 z-index:999999;
 height:75px;
 width:100%;
}
.mobile-menu:not(.ct-section):not(.oxy-easy-posts),
.mobile-menu.oxy-easy-posts .oxy-posts,
.mobile-menu.ct-section .ct-section-inner-wrap{
display:none;
align-items:stretch;
justify-content:flex-start;
}
@media (max-width: 767px) {
.mobile-menu {
 max-width:100%;
 z-index:100;
 box-shadow:0px -20px 80px rgba(0,0,0,0.26);
}
.mobile-menu:not(.ct-section):not(.oxy-easy-posts),
.mobile-menu.oxy-easy-posts .oxy-posts,
.mobile-menu.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:stretch;
}
}

@media (max-width: 479px) {
.mobile-menu {
 height:60px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
}
}

.mb-col {
 width:50%;
 gap:10px;
 color:#ffffff;
 background-color:#000000;
}
.mb-col:not(.ct-section):not(.oxy-easy-posts),
.mb-col.oxy-easy-posts .oxy-posts,
.mb-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
gap:10px;
}
@media (max-width: 767px) {
.mb-col {
 font-size:17px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0px;
 height:100%;
}
}

@media (max-width: 479px) {
.mb-col {
 gap:9px;
 font-size:18px;
 font-weight:700;
 line-height:1;
}
.mb-col:not(.ct-section):not(.oxy-easy-posts),
.mb-col.oxy-easy-posts .oxy-posts,
.mb-col.ct-section .ct-section-inner-wrap{
gap:9px;
}
}

.button-row {
 gap:20px;
 text-align:left;
}
.button-row:not(.ct-section):not(.oxy-easy-posts),
.button-row.oxy-easy-posts .oxy-posts,
.button-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:stretch;
justify-content:center;
gap:20px;
}
@media (max-width: 479px) {
.button-row {
 text-align:justify;
 width:100%;
 gap:15px;
}
.button-row:not(.ct-section):not(.oxy-easy-posts),
.button-row.oxy-easy-posts .oxy-posts,
.button-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:stretch;
gap:15px;
}
}

.big-button {
 font-size:22px;
 min-height:70px;
}
@media (max-width: 1600px) {
.big-button {
 font-size:20px;
}
}

@media (max-width: 479px) {
.big-button {
 font-size:18px;
 padding-top:20px;
 padding-bottom:20px;
}
}

.button-icon {
color: #333333;}.button-icon 
>svg {width: 16px;height: 16px;}.button-icon {
}
.button-icon-left {
}
.h2-margin {
 margin-bottom:25px;
}
@media (max-width: 479px) {
.h2-margin {
 margin-bottom:20px;
}
}

.white-circle-scaler {
 overflow:hidden;
 border-radius:100%;
 width:22%;
 max-width:250px;
 box-shadow:0px 20px 50px rgba(0,0,0,0.1);
}
@media (max-width: 991px) {
.white-circle-scaler {
 width:48%;
}
}

@media (max-width: 767px) {
.white-circle-scaler {
 width:47%;
}
}

@media (max-width: 479px) {
.white-circle-scaler {
 width:45%;
}
}

.white-circle-p {
 width:100%;
 background-color:#ffffff;
 padding-bottom:100%;
 position:relative;
}
.white-circle-inner {
 position:absolute;
 top:0px;
 left:0px;
 bottom:0px;
 right:0px;
 padding-top:50px;
 padding-right:50px;
 padding-bottom:50px;
 padding-left:50px;
 text-align:center;
 line-height:1.2;
 font-weight:600;
 font-size:var(--step-1);px;
 color:#191919;
}
.white-circle-inner:not(.ct-section):not(.oxy-easy-posts),
.white-circle-inner.oxy-easy-posts .oxy-posts,
.white-circle-inner.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
@media (max-width: 1600px) {
.white-circle-inner {
 padding-left:35px;
 padding-top:35px;
 padding-right:35px;
 padding-bottom:35px;
 font-size:var(--step-0);px;
}
}

@media (max-width: 991px) {
.white-circle-inner {
 padding-top:45px;
 padding-right:45px;
 padding-bottom:45px;
 padding-left:45px;
}
}

@media (max-width: 479px) {
.white-circle-inner {
 padding-left:25px;
 padding-top:25px;
 padding-right:25px;
 padding-bottom:25px;
 font-size:var(--step--1);px;
}
}

.white-circle-img {
 width:80px;
 margin-bottom:10px;
 height:80px;
 object-fit:contain;
}
@media (max-width: 1600px) {
.white-circle-img {
 margin-bottom:5px;
}
}

@media (max-width: 991px) {
.white-circle-img {
 height:70px;
 width:70px;
}
}

@media (max-width: 767px) {
.white-circle-img {
 width:60px;
 height:60px;
}
}

@media (max-width: 479px) {
.white-circle-img {
 width:50px;
 height:50px;
}
}

.button-margin-top {
 margin-top:20px;
}
@media (max-width: 479px) {
.button-margin-top {
}
.button-margin-top:not(.ct-section):not(.oxy-easy-posts),
.button-margin-top.oxy-easy-posts .oxy-posts,
.button-margin-top.ct-section .ct-section-inner-wrap{
display:flex;
}
}

.outline-dark-button {
 border-top-color:#1e1d2c;
 border-right-color:#1e1d2c;
 border-bottom-color:#1e1d2c;
 border-left-color:#1e1d2c;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:1.5px;
 border-right-width:1.5px;
 border-bottom-width:1.5px;
 border-left-width:1.5px;
 color:#1e1d2c;
}
.card-row {
 width:100%;
 gap:30px;
 text-align:center;
}
.card-row:not(.ct-section):not(.oxy-easy-posts),
.card-row.oxy-easy-posts .oxy-posts,
.card-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:space-between;
gap:30px;
}
@media (max-width: 991px) {
.card-row {
 text-align:center;
 margin-right:-30px;
 padding-top:70px;
 padding-bottom:20px;
overflow-x:scroll; width:calc(100% + 30px);
}
.card-row:not(.ct-section):not(.oxy-easy-posts),
.card-row.oxy-easy-posts .oxy-posts,
.card-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
}

.col-3card {
 width:30%;
 background-color:#ffffff;
 padding-left:30px;
 padding-top:30px;
 padding-right:30px;
 padding-bottom:30px;
 text-align:center;
 border-radius:30px;
 color:#282828;
 font-size:18px;
}
.col-3card:not(.ct-section):not(.oxy-easy-posts),
.col-3card.oxy-easy-posts .oxy-posts,
.col-3card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
@media (max-width: 1600px) {
.col-3card {
 padding-left:30px;
 padding-right:30px;
 font-size:15px;
}
}

@media (max-width: 991px) {
.col-3card {
 width:50%;
 margin-bottom:0px;
 min-width:300px;
 padding-top:20px;
 padding-right:20px;
 padding-bottom:20px;
 padding-left:20px;
}
}

@media (max-width: 479px) {
.col-3card {
 padding-left:20px;
 padding-right:20px;
 padding-bottom:20px;
 min-width:250px;
 font-size:13px;
}
}

.circle-wrap-crd {
 width:80%;
 border-radius:100%;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:10px;
 border-right-width:10px;
 border-bottom-width:10px;
 border-left-width:10px;
 margin-top:-90px;
 max-width:150px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
}
@media (max-width: 479px) {
.circle-wrap-crd {
 max-width:100px;
 margin-top:-70px;
}
}

.circle-img-lo {
 width:100%;
 padding-bottom:100%;
 border-radius:100%;
 background-color:#3cb4e5;
 position:relative;
}
.bg0ico {
 position:absolute;
 top:0px;
 left:0px;
 right:0px;
 bottom:0px;
 max-width:60%;
margin:auto;
}
@media (max-width: 479px) {
.bg0ico {
 max-width:50px;
 width:100%;
}
}

.fancy-t-top {
 font-family:'Caveat';
 line-height:0.9;
 margin-top:10px;
 font-size:30px;
 margin-bottom:-5px;
 color:#3cb4e5;
}
.price-top {
 font-family:Outfit;
 font-size:60px;
 line-height:1;
 font-weight:900;
 margin-bottom:0px;
 color:#3cb4e5;
 margin-top:19px;
}
@media (max-width: 991px) {
.price-top {
 font-size:50px;
}
}

@media (max-width: 479px) {
.price-top {
 font-size:40px;
}
}

.card-title {
 font-size:34px;
 line-height:1;
 margin-top:10px;
 margin-bottom:10px;
 text-align:center;
 color:#231f20;
 font-weight:600;
 text-transform:capitalize;
}
.card-title:not(.ct-section):not(.oxy-easy-posts),
.card-title.oxy-easy-posts .oxy-posts,
.card-title.ct-section .ct-section-inner-wrap{
align-items:center;
}
@media (max-width: 1600px) {
.card-title {
 font-size:30px;
}
}

@media (max-width: 991px) {
.card-title {
 font-size:25px;
}
}

@media (max-width: 479px) {
.card-title {
 font-size:20px;
}
}

.card-text {
 text-align:center;
 margin-bottom:10px;
 font-weight:500;
}
.secondary-outline {
 border-top-color:#231f20;
 border-right-color:#231f20;
 border-bottom-color:#231f20;
 border-left-color:#231f20;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:1.8px;
 border-right-width:1.8px;
 border-bottom-width:1.8px;
 border-left-width:1.8px;
 color:#231f20;
}
.button-text {
 font-size:18px;
 text-transform:uppercase;
}
.row {
 width:100%;
 z-index:1;
}
.row:not(.ct-section):not(.oxy-easy-posts),
.row.oxy-easy-posts .oxy-posts,
.row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:stretch;
justify-content:flex-start;
}
.col-50 {
 width:50%;
}
@media (max-width: 991px) {
.col-50 {
 width:100%;
}
}

@media (max-width: 767px) {
.col-50 {
}
}

.col-content-left {
 padding-right:60px;
}
@media (max-width: 991px) {
.col-content-left {
 padding-right:0px;
}
}

.col-center {
}
.col-center:not(.ct-section):not(.oxy-easy-posts),
.col-center.oxy-easy-posts .oxy-posts,
.col-center.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:center;
}
.h2-topper {
 font-size:var(--step-2);px;
 font-weight:500;
 line-height:1;
 margin-bottom:15px;
}
@media (max-width: 479px) {
.h2-topper {
 font-size:var(--step-1);px;
}
}

.form-box {
 width:100%;
 background-color:#ffffff;
 border-radius:40px;
 padding-top:25px;
 padding-right:25px;
 padding-bottom:25px;
 padding-left:25px;
 overflow:hidden;
}
.form-box:not(.ct-section):not(.oxy-easy-posts),
.form-box.oxy-easy-posts .oxy-posts,
.form-box.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
@media (max-width: 767px) {
.form-box {
 padding-top:25px;
 padding-right:25px;
 padding-bottom:25px;
 padding-left:25px;
}
}

.secure-info {
 width:100%;
 font-size:14px;
 color:#231f20;
 font-weight:500;
 margin-top:5px;
}
.secure-info:not(.ct-section):not(.oxy-easy-posts),
.secure-info.oxy-easy-posts .oxy-posts,
.secure-info.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 479px) {
.secure-info {
 font-size:11px;
}
}

.secure-icon {
color: #51b500;}.secure-icon 
>svg {width: 19px;height: 19px;}.secure-icon {
 margin-right:10px;
}
@media (max-width: 479px) {
.secure-icon {
}.secure-icon 
>svg {width: 17px;height: 17px;}.secure-icon {
 margin-right:5px;
}
}

.col-content-right {
 padding-left:60px;
}
@media (max-width: 991px) {
.col-content-right {
 padding-left:0px;
}
}

.fadeup1 {
}
.cta-card:hover{
transform:scale(1.02,1.02); transition-duration:0.2s;
 background-color:#ffb607;
 color:#000000;
}
.cta-card {
 padding-top:30px;
 padding-right:20px;
 padding-bottom:30px;
 padding-left:20px;
 transition-duration:0.2s;
 border-radius:20px;
 width:48%;
 background-color:#ffffff;
 color:#282828;
 flex-grow:1;
 box-shadow:10px 20px 50px rgba(0,0,0,0.07);
}
.cta-card:not(.ct-section):not(.oxy-easy-posts),
.cta-card.oxy-easy-posts .oxy-posts,
.cta-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 1600px) {
.cta-card {
 width:100%;
}
}

@media (max-width: 991px) {
.cta-card {
 width:auto;
}
}

@media (max-width: 767px) {
.cta-card {
 width:100%;
 min-width:100%;
}
}

@media (max-width: 479px) {
.cta-card {
 padding-top:10px;
 padding-left:10px;
 padding-bottom:10px;
}
}

.cta-card-icon {
background-color: #000000;
border: 1px solid #000000;
padding: 8px;color: #ffffff;}.cta-card-icon 
>svg {width: 23px;height: 23px;}.cta-card-icon {
 margin-right:10px;
}
@media (max-width: 479px) {
.cta-card-icon {
padding: 10px;}.cta-card-icon 
>svg {width: 18px;height: 18px;}.cta-card-icon {
 margin-right:10px;
}
}

.cta-card-stack {
}
.cta-card-stack:not(.ct-section):not(.oxy-easy-posts),
.cta-card-stack.oxy-easy-posts .oxy-posts,
.cta-card-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.cta-main-t {
 font-size:18px;
 line-height:1;
 margin-bottom:3px;
 font-weight:600;
 text-transform:none;
 text-align:left;
}
@media (max-width: 479px) {
.cta-main-t {
 margin-bottom:3px;
 font-size:14px;
}
}

.cta-link {
 font-size:16px;
 font-weight:400;
 line-height:1.2;
 text-align:left;
}
@media (max-width: 479px) {
.cta-link {
 font-size:14px;
 font-weight:300;
}
}

.secondary-button {
 background-color:#ffb607;
 color:#000000;
}
.outline-blue-button {
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:1.5px;
 border-right-width:1.5px;
 border-bottom-width:1.5px;
 border-left-width:1.5px;
 border-top-color:#3cb4e5;
 border-right-color:#3cb4e5;
 border-bottom-color:#3cb4e5;
 border-left-color:#3cb4e5;
 color:#3cb4e5;
}
.maprow {
 width:40%;
 padding-right:20px;
}
@media (max-width: 767px) {
.maprow {
 width:100%;
 padding-right:0px;
}
}

.mapcontent {
 width:60%;
 text-align:center;
 line-height:=;
 gap:10px;
}
.mapcontent:not(.ct-section):not(.oxy-easy-posts),
.mapcontent.oxy-easy-posts .oxy-posts,
.mapcontent.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center;
gap:10px;
}
@media (max-width: 767px) {
.mapcontent {
 width:100%;
 padding-top:30px;
}
}

.round-img {
 border-radius:30px;
}
@media (max-width: 479px) {
.round-img {
 border-radius:25px;
}
}

.img-row-stack {
 width:50%;
 padding-top:10px;
 padding-bottom:10px;
 padding-right:20px;
}
.img-row-stack:not(.ct-section):not(.oxy-easy-posts),
.img-row-stack.oxy-easy-posts .oxy-posts,
.img-row-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 479px) {
.img-row-stack {
 text-align:left;
 width:100%;
 padding-right:0px;
 padding-bottom:0px;
 padding-top:0px;
}
.img-row-stack:not(.ct-section):not(.oxy-easy-posts),
.img-row-stack.oxy-easy-posts .oxy-posts,
.img-row-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
}

.check-icon-left {
 width:60px;
 height:60px;
}
@media (max-width: 767px) {
.check-icon-left {
 height:60px;
 width:60px;
}
}

@media (max-width: 479px) {
.check-icon-left {
 width:40px;
 height:40px;
}
}

.text-stack-img-r {
 padding-top:10px;
 padding-bottom:10px;
 font-size:var(--step--2);px;
 width:85%;
 padding-left:20px;
 color:#1e1f28;
 line-height:1;
}
.text-stack-img-r:not(.ct-section):not(.oxy-easy-posts),
.text-stack-img-r.oxy-easy-posts .oxy-posts,
.text-stack-img-r.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
@media (max-width: 1600px) {
.text-stack-img-r {
 padding-left:20px;
}
}

@media (max-width: 767px) {
.text-stack-img-r {
 padding-left:15px;
}
}

@media (max-width: 479px) {
.text-stack-img-r {
 padding-left:10px;
 text-align:left;
 width:100%;
 font-size:13px;
 padding-top:10px;
}
.text-stack-img-r:not(.ct-section):not(.oxy-easy-posts),
.text-stack-img-r.oxy-easy-posts .oxy-posts,
.text-stack-img-r.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
}

.img-row-t {
 font-size:var(--step-0);px;
 color:#1e1f28;
 font-weight:500;
 line-height:1;
 text-transform:capitalize;
 letter-spacing:-0.6px;
 margin-bottom:5px;
}
@media (max-width: 767px) {
.img-row-t {
 font-size:20px;
}
}

@media (max-width: 479px) {
.img-row-t {
 font-size:18px;
}
}

.primary-button {
 color:#ffffff;
 background-color:#3cb4e5;
}
.promotion-row {
 width:100%;
 text-align:justify;
 z-index:3;
 margin-top:30px;
}
.promotion-row:not(.ct-section):not(.oxy-easy-posts),
.promotion-row.oxy-easy-posts .oxy-posts,
.promotion-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:space-between;
}
@media (max-width: 991px) {
.promotion-row {
 gap:20px;
}
.promotion-row:not(.ct-section):not(.oxy-easy-posts),
.promotion-row.oxy-easy-posts .oxy-posts,
.promotion-row.ct-section .ct-section-inner-wrap{
gap:20px;
}
}

@media (max-width: 767px) {
.promotion-row {
}
.promotion-row:not(.ct-section):not(.oxy-easy-posts),
.promotion-row.oxy-easy-posts .oxy-posts,
.promotion-row.ct-section .ct-section-inner-wrap{
flex-wrap:wrap;
}
}

@media (max-width: 479px) {
.promotion-row {
 gap:10px;
 margin-top:16px;
}
.promotion-row:not(.ct-section):not(.oxy-easy-posts),
.promotion-row.oxy-easy-posts .oxy-posts,
.promotion-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
gap:10px;
}
}

.promotion-card {
width:calc(25% - 10px);
}
@media (max-width: 991px) {
.promotion-card {
width:calc(50% - 10px);
}
}

@media (max-width: 479px) {
.promotion-card {
 width:100%;
width:calc(100% - 0);
}
}

.ani-icon-row-alt {
 margin-bottom:10px;
 text-transform:capitalize;
 width:50%;
}
.ani-icon-row-alt:not(.ct-section):not(.oxy-easy-posts),
.ani-icon-row-alt.oxy-easy-posts .oxy-posts,
.ani-icon-row-alt.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 991px) {
.ani-icon-row-alt {
 text-align:left;
 width:100%;
}
.ani-icon-row-alt:not(.ct-section):not(.oxy-easy-posts),
.ani-icon-row-alt.oxy-easy-posts .oxy-posts,
.ani-icon-row-alt.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
}

@media (max-width: 767px) {
.ani-icon-row-alt {
 width:100%;
}
}

@media (max-width: 479px) {
.ani-icon-row-alt {
 margin-bottom:0px;
 padding-right:0px;
}
}

.ani-icon {
 width:30px;
 height:30px;
 margin-right:10px;
 min-width:30px;
 min-height:30px;
 overflow:hidden;
}
.ani-icon:not(.ct-section):not(.oxy-easy-posts),
.ani-icon.oxy-easy-posts .oxy-posts,
.ani-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
@media (max-width: 1600px) {
.ani-icon {
}
}

@media (max-width: 767px) {
.ani-icon {
 width:30px;
 min-width:30px;
 min-height:30px;
 height:30px;
 margin-right:10px;
}
}

@media (max-width: 479px) {
.ani-icon {
 width:30px;
 height:30px;
 min-height:30px;
 min-width:30px;
 margin-right:10px;
 box-shadow:20px rgba(0,0,0,0.12);
}
}

.ico-col-t {
 font-size:17px;
 color:#ffffff;
 line-height:1;
}
.ico-col-t:not(.ct-section):not(.oxy-easy-posts),
.ico-col-t.oxy-easy-posts .oxy-posts,
.ico-col-t.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center;
}
@media (max-width: 1600px) {
.ico-col-t {
 font-size:15px;
}
}

@media (max-width: 767px) {
.ico-col-t {
 font-size:15px;
}
}

@media (max-width: 479px) {
.ico-col-t {
 font-size:13px;
 line-height:1.4;
}
}

.ico-h {
 font-family:Outfit;
 color:#ffffff;
 font-weight:500;
 line-height:1;
 text-align:left;
 font-size:var(--step-2);px;
}
@media (max-width: 1600px) {
.ico-h {
 font-size:var(--step-1);px;
}
}

@media (max-width: 767px) {
.ico-h {
 font-size:var(--step-1);px;
}
}

@media (max-width: 479px) {
.ico-h {
 margin-bottom:0px;
 font-size:17px;
}
}

.hero-col-1 {
 width:60%;
 z-index:3;
 padding-right:60px;
}
.hero-col-1:not(.ct-section):not(.oxy-easy-posts),
.hero-col-1.oxy-easy-posts .oxy-posts,
.hero-col-1.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:center;
}
@media (max-width: 1600px) {
.hero-col-1 {
 width:65%;
}
}

@media (max-width: 991px) {
.hero-col-1 {
 width:100%;
 padding-left:0px;
 padding-right:0px;
 padding-top:0px;
 padding-bottom:0px;
 margin-bottom:0px;
}
.hero-col-1:not(.ct-section):not(.oxy-easy-posts),
.hero-col-1.oxy-easy-posts .oxy-posts,
.hero-col-1.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
}

@media (max-width: 767px) {
.hero-col-1 {
 text-align:center;
 margin-bottom:0px;
}
.hero-col-1:not(.ct-section):not(.oxy-easy-posts),
.hero-col-1.oxy-easy-posts .oxy-posts,
.hero-col-1.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
}

@media (max-width: 479px) {
.hero-col-1 {
 padding-bottom:0px;
 margin-bottom:0px;
}
}

.title-box {
 width:100%;
}
@media (max-width: 991px) {
.title-box {
 text-align:center;
}
.title-box:not(.ct-section):not(.oxy-easy-posts),
.title-box.oxy-easy-posts .oxy-posts,
.title-box.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
}

.main-title {
 font-family:Outfit;
 line-height:0.9;
 color:#231f20;
 font-weight:600;
 text-align:left;
 padding-right:60px;
 z-index:2;
 font-size:var(--step-9);px;
 letter-spacing:-0.70px;
}
@media (max-width: 1600px) {
.main-title {
 max-width:700px;
 margin-right:-100px;
 font-size:var(--step-7);px;
}
}

@media (max-width: 991px) {
.main-title {
 text-align:left;
 padding-right:0px;
 margin-right:0px;
}
}

@media (max-width: 767px) {
.main-title {
 padding-right:0px;
 max-width:500px;
 text-align:center;
 font-size:var(--step-6);px;
}
}

@media (max-width: 479px) {
.main-title {
 line-height:1;
 font-size:var(--step-5);px;
 text-align:left;
}
}

.ani01 {
}
.hero-subtext {
 color:#ffffff;
 font-size:var(--step-2);px;
 margin-top:20px;
 margin-bottom:0px;
}
@media (max-width: 1600px) {
.hero-subtext {
 max-width:700px;
}
}

@media (max-width: 767px) {
.hero-subtext {
 margin-top:20px;
 font-size:var(--step-0);px;
}
}

@media (max-width: 479px) {
.hero-subtext {
 margin-top:15px;
}
}

.ani02 {
}
.ani03 {
}
.curve-top {
 z-index:1;
 height:150px;
}
@media (max-width: 1600px) {
.curve-top {
 height:100px;
}
}

@media (max-width: 991px) {
.curve-top {
 height:90px;
}
}

@media (max-width: 767px) {
.curve-top {
 height:70px;
}
}

@media (max-width: 479px) {
.curve-top {
 height:55px;
}
}

.hero-banner {
pointer-events:none;
}
.animated-scroller {
}
.time-box {
 margin-left:20px;
 margin-right:20px;
 border-radius:10px;
}
.time-box:not(.ct-section):not(.oxy-easy-posts),
.time-box.oxy-easy-posts .oxy-posts,
.time-box.ct-section .ct-section-inner-wrap{
flex-direction:unset;
align-items:center;
}
.av--title {
 font-family:Plus Jakarta Sans;
 color:#ffffff;
 font-weight:500;
 font-size:17px;
}
@media (max-width: 767px) {
.av--title {
 font-size:15px;
}
}

@media (max-width: 479px) {
.av--title {
 font-size:12.5px;
}
}

.pulse-base {
}
.pulse-circle {
}
.header-row {
 width:100%;
 text-align:justify;
}
.header-row:not(.ct-section):not(.oxy-easy-posts),
.header-row.oxy-easy-posts .oxy-posts,
.header-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
.logo-top {
 width:220px;
}
@media (max-width: 1600px) {
.logo-top {
}
}

@media (max-width: 767px) {
.logo-top {
}
}

@media (max-width: 479px) {
.logo-top {
 width:200px;
 margin-right:-50px;
}
}

.icon-row-stack:hover{
transform:scale(1.05,1.05); transition-duration:0.2s;
}
.icon-row-stack {
 padding-top:0px;
 padding-left:25px;
 padding-right:25px;
 height:80px;
}
.icon-row-stack:not(.ct-section):not(.oxy-easy-posts),
.icon-row-stack.oxy-easy-posts .oxy-posts,
.icon-row-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:center;
}
@media (max-width: 1600px) {
.icon-row-stack {
 padding-left:15px;
 padding-right:15px;
 height:70px;
}
}

.menu-top-ico {
 height:40px;
 margin-right:15px;
}
@media (max-width: 1600px) {
.menu-top-ico {
 height:35px;
}
}

.icon-col-stack {
 font-family:Inherit;
 text-align:left;
 font-weight:400;
 gap:2px;
}
.icon-col-stack:not(.ct-section):not(.oxy-easy-posts),
.icon-col-stack.oxy-easy-posts .oxy-posts,
.icon-col-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:2px;
}
.icon-stack-txt {
 font-family:Inherit;
 font-size:14px;
 color:#000000;
 line-height:1;
 font-weight:500;
 text-transform:capitalize;
}
@media (max-width: 1600px) {
.icon-stack-txt {
}
}

@media (max-width: 991px) {
.icon-stack-txt {
 font-size:13px;
}
}

@media (max-width: 767px) {
.icon-stack-txt {
 color:#ffffff;
 font-weight:400;
 font-size:15px;
}
}

@media (max-width: 479px) {
.icon-stack-txt {
 font-size:12px;
}
}

.icon-stack-main {
 font-size:22px;
 font-weight:600;
 line-height:1;
 color:#000000;
}
@media (max-width: 1600px) {
.icon-stack-main {
 font-size:20px;
}
}

@media (max-width: 991px) {
.icon-stack-main {
 font-size:20px;
}
}

@media (max-width: 767px) {
.icon-stack-main {
 color:#ffffff;
 font-size:25px;
}
}

@media (max-width: 479px) {
.icon-stack-main {
 font-size:23px;
}
}

.small-curve {
 width:40px;
}
@media (max-width: 1600px) {
.small-curve {
 width:30px;
}
}

@media (max-width: 991px) {
.small-curve {
 width:20px;
}
}

.black-button {
 background-color:#191919;
 color:#ffffff;
}
.ff-dark {
}
.bottom-promo {
 width:100%;
}
.overscroller {
}
:root {
  /* Step -5: 5.787px → 5.3084px */
  --step--5: clamp(0.3317rem, 0.374rem - 0.0544cqi, 0.3617rem);

  /* Step -4: 6.9444px → 6.6355px */
  --step--4: clamp(0.4147rem, 0.4419rem - 0.0351cqi, 0.4341rem);

  /* Step -3: 8.3334px → 8.2944px */
  --step--3: clamp(0.5184rem, 0.5218rem - 0.0044cqi, 0.5208rem);

  /* Step -2: 10px → 10.368px */
  --step--2: clamp(0.625rem, 0.6156rem + 0.0419cqi, 0.648rem);

  /* Step -1: 12px → 12.96px */
  --step--1: clamp(0.75rem, 0.7255rem + 0.1091cqi, 0.81rem);

  /* Step 0: 14.4px → 16.2px */
  --step-0: clamp(0.9rem, 0.854rem + 0.2046cqi, 1.0125rem);

  /* Step 1: 17.28px → 20.25px */
  --step-1: clamp(1.08rem, 1.004rem + 0.3375cqi, 1.2657rem);

  /* Step 2: 20.736px → 25.3125px */
  --step-2: clamp(1.296rem, 1.179rem + 0.52cqi, 1.582rem);

  /* Step 3: 24.8832px → 31.6407px */
  --step-3: clamp(1.5552rem, 1.3824rem + 0.7679cqi, 1.9776rem);

  /* Step 4: 29.8598px → 39.5508px */
  --step-4: clamp(1.8662rem, 1.6185rem + 1.1012cqi, 2.4719rem);

  /* Step 5: 35.8318px → 49.4384px */
  --step-5: clamp(2.2395rem, 1.8916rem + 1.5462cqi, 3.0899rem);

  /* Step 6: 42.9981px → 61.7981px */
  --step-6: clamp(2.6874rem, 2.2067rem + 2.1363cqi, 3.8624rem);

  /* Step 7: 51.5978px → 77.2476px */
  --step-7: clamp(3.2249rem, 2.5691rem + 2.9147cqi, 4.828rem);

  /* Step 8: 61.9174px → 96.5596px */
  --step-8: clamp(3.8698rem, 2.9841rem + 3.9366cqi, 6.035rem);

  /* Step 9: 74.3009px → 120.6995px */
  --step-9: clamp(4.6438rem, 3.4574rem + 5.2726cqi, 7.5437rem);

  /* Step 10: 89.161px → 150.8743px */
  --step-10: clamp(5.5725rem, 3.9947rem + 7.0129cqi, 9.4297rem);
}


html, body {
    position: relative;
    margin: 0;
  background:#efefef;
    overflow-x: hidden;
}

.overscoller {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;

    /* Smooth horizontal scrolling on touch devices */
    -webkit-overflow-scrolling: touch;

    /* Hide scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;

    /* Prevent vertical overscroll behaviour */
    overscroll-behavior-x: contain;
}

.overscoller::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.overscoller > * {
    flex-shrink: 0;
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) span {
  display: contents !important;
  white-space: normal !important;
}

#sfm-overlay {
    background: #000000;
}

.pulse-base {
  border-radius: 50%;
  margin: 0 auto;
}

 .pulse-base:before {
      content:"";
      border: 15px solid rgba(82,184,0,0.5);
      border-radius: 50%;
      height: 150%;
      width: 150%;
      position: absolute;
      animation: pulsate 1.6s ease-out;
      animation-iteration-count: infinite; 
      opacity: 0.0;
      z-index: 1;
 }

@keyframes pulsate {
    0% {transform: scale(0.5, 0.5); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {transform: scale(1.1, 1.1); opacity: 0.0;}
}


.hero-banner {
animation: delayin 0.5s ease-in-out forwards;
opacity:0;
}

@keyframes delayin {
  0%   {opacity:0;}
  100% {opacity:1;}
}

@keyframes fadein {
  0%   {opacity:0;}
  100% {opacity:1;}
}

.white-button:hover .button-icon {
  color:white!important;
  transition:0.2s;
}

.white-button: .button-icon {
  transition:0.2s;
}

.ani01 {
animation: fadein 0.7s ease-in-out forwards;
animation-delay: 200ms;
opacity:0;
}

.ani02 {
animation: fadein 0.7s ease-in-out forwards;
animation-delay: 400ms;
opacity:0;
}

.ani03 {
animation: fadein 0.7s ease-in-out forwards;
animation-delay: 600ms;
opacity:0;
}

.ani04 {
animation: fadein 0.7s ease-in-out forwards;
animation-delay: 800ms;
opacity:0;
}

/*==================== Fluent Forms ===============*/

.ff-forms .ff-el-form-control{
    padding: 8px 15px;  /*change padding*/
    background-color: white; /*change background color*/
    border: 1px solid #c2942d; /*change border width and color*/
	height: 60px;
	font-family:inherit;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.ff-forms .fluentform .ff-el-group {
  margin-bottom: 10px;
}

.ff-forms .ff-el-input--content select, .ff-forms .ff-btn-submit  {
	height: 60px !important;
	font-family:inherit;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.ff-forms .fluentform .ff_el_checkable_photo_holders {
  display: flex;
 flex-wrap: wrap;
}


.ff-forms .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check {
  display: flex;
	flex-direction: column;
  float: none !important;
  margin: 0 0 10px;
  position: relative;
  width: 50% !important;
	
}

@media screen and (min-width: 768px) {
    .ff-forms .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check {
  width: 16.66% !important;
		min-width:200px;
}
}

.ff-forms .fluentform label.ff-el-image-input-src {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 70%;
  cursor: pointer;
  display: block;
  height: auto;
  width: 100%;
  background-position: center;
  padding-bottom: 100%;
}


.ff-forms .ff-el-form-control:focus {
	border-color: rgba(101, 191, 63, 1) !important;
}


.ff-forms .ff_conv_app_frame .vff, .ff-forms .ff_conv_section_wrapper.ff_conv_layout_default {
	padding:0!important;
}

.ff-forms .ff-default textarea {
  min-height:60px!important;
}

.ff-forms .ff_conv_app_frame .vff.vff_layout_default .f-container {
	max-width:100%;
	padding:0;
}

.ff-forms .ff-soft {
	background-color: rgba(255,255,255,0.8)!important;
	border: none!important;
	border-radius:100px!important;
}

.ff-forms .ff-soft:focus {
	background-color: rgba(255,255,255,0.8)!important; /*change background color*/
}

/*------------ Footer --------------*/

/*===================================== FAQ Section =================================*/


/* -------------------------------------------------------
   FLUID TYPE SCALE
------------------------------------------------------- */

:root {

/* -------------------------------------------------------
   BASE
------------------------------------------------------- */

.proplus-faq-flow,
.proplus-faq-flow * {
    box-sizing: border-box;
}


.proplus-faq-flow {

    /*
     * You supplied the same HEX for Blue + Yellow,
     * so both variables intentionally use #3cb4e5.
     */

    --proplus-blue: #3cb4e5;
    --proplus-yellow: #3cb4e5;

    --proplus-dark: #171717;
    --proplus-charcoal: #282828;
    --proplus-white: #ffffff;

    --proplus-light: #f5f8fa;
    --proplus-light-blue: #eef9fd;

    --proplus-border: #dbe7ec;
    --proplus-muted: #65727a;

    width: 100%;

    color: var(--proplus-charcoal);

    container-type: inline-size;
}


/* -------------------------------------------------------
   HEADER
------------------------------------------------------- */

.proplus-faq-flow__header {

    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, 0.75fr);

    gap: clamp(30px, 6vw, 90px);

    align-items: end;

    margin-bottom: clamp(38px, 6vw, 75px);
}


.proplus-faq-flow__eyebrow {

    margin: 0 0 12px;

    color: var(--proplus-blue);

    font-size: var(--step-0);

    line-height: 1.3;

    font-weight: 500;
}



.proplus-faq-flow__header-copy {
    padding-bottom: 7px;
}


.proplus-faq-flow__header-copy > p {

    margin: 0;

    color: var(--proplus-muted);

    font-size: var(--step-0);

    line-height: 1.65;

    font-weight: 500;
}


.proplus-faq-flow__status {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-top: 20px;

    color: var(--proplus-charcoal);

    font-size: var(--step--1);

    line-height: 1.3;

    font-weight: 500;
}


.proplus-faq-flow__status > span {

    position: relative;

    width: 10px;

    height: 10px;

    flex: 0 0 auto;

    background: var(--proplus-blue);

    border-radius: 50%;
}


.proplus-faq-flow__status > span::after {

    content: "";

    position: absolute;

    inset: -5px;

    border: 1px solid rgba(60, 180, 229, 0.45);

    border-radius: inherit;

    animation:
        proplus-faq-pulse
        2s
        ease-out
        infinite;
}


/* -------------------------------------------------------
   MAIN LAYOUT
------------------------------------------------------- */

.proplus-faq-flow__layout {

    display: grid;

    grid-template-columns:
        minmax(330px, 0.78fr)
        minmax(0, 1.22fr);

    gap: clamp(25px, 5vw, 70px);

    align-items: start;
}


/* -------------------------------------------------------
   QUESTIONS
------------------------------------------------------- */

.proplus-faq-flow__questions {

    position: relative;

    display: grid;

    gap: 12px;
}


.proplus-faq-flow__pipe {

    position: absolute;

    z-index: 0;

    top: 35px;

    bottom: 35px;

    left: 31px;

    width: 4px;

    background:
        linear-gradient(
            to bottom,
            var(--proplus-blue),
            rgba(60, 180, 229, 0.12)
        );

    border-radius: 10px;
}


.proplus-faq-flow__question {

    appearance: none;

    position: relative;

    z-index: 1;

    display: grid;

    grid-template-columns:
        63px
        minmax(0, 1fr)
        36px;

    align-items: center;

    gap: 16px;

    width: 100%;

    min-height: 102px;

    padding:
        14px
        17px
        14px
        0;

    color: var(--proplus-charcoal);

    text-align: left;

    background: transparent;

    border: 1px solid transparent;

    border-radius: 20px;

    font: inherit;

    font-weight: 500;

    cursor: pointer;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}


.proplus-faq-flow__question:hover {

    background: var(--proplus-white);

    border-color: var(--proplus-border);

    transform: translateX(4px);

    box-shadow:
        0 12px 35px
        rgba(26, 47, 57, 0.07);
}


.proplus-faq-flow__question.is-active {

    background: var(--proplus-white);

    border-color:
        rgba(60, 180, 229, 0.35);

    box-shadow:
        0 15px 45px
        rgba(26, 47, 57, 0.09);
}


/* -------------------------------------------------------
   QUESTION NODE
------------------------------------------------------- */

.proplus-faq-flow__node {

    display: grid;

    width: 63px;

    height: 63px;

    place-items: center;

    color: var(--proplus-blue);

    background: var(--proplus-white);

    border:
        2px solid
        var(--proplus-blue);

    border-radius: 50%;

    font-size: var(--step--1);

    line-height: 1;

    font-weight: 500;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}


.proplus-faq-flow__question.is-active
.proplus-faq-flow__node {

    color: var(--proplus-white);

    background: var(--proplus-blue);

    border-color: var(--proplus-blue);

    transform: scale(1.04);
}


/* -------------------------------------------------------
   QUESTION COPY
------------------------------------------------------- */

.proplus-faq-flow__question-copy {
    min-width: 0;
}


.proplus-faq-flow__question-copy small,
.proplus-faq-flow__question-copy strong {
    display: block;
}


.proplus-faq-flow__question-copy small {

    margin-bottom: 6px;

    color: var(--proplus-blue);

    font-size: var(--step--1);

    line-height: 1.3;

    font-weight: 500;
}


.proplus-faq-flow__question-copy strong {

    color: var(--proplus-charcoal);

    font-size: var(--step-0);

    line-height: 1.35;

    font-weight: 500;
}


/* -------------------------------------------------------
   QUESTION ARROW
------------------------------------------------------- */

.proplus-faq-flow__question-icon {

    display: grid;

    width: 36px;

    height: 36px;

    place-items: center;

    color: #839097;

    background: var(--proplus-light);

    border-radius: 50%;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}


.proplus-faq-flow__question.is-active
.proplus-faq-flow__question-icon {

    color: var(--proplus-white);

    background: var(--proplus-blue);

    transform: rotate(90deg);
}


.proplus-faq-flow__question-icon svg {

    width: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* -------------------------------------------------------
   ANSWER
------------------------------------------------------- */

.proplus-faq-flow__answer-home {
    min-width: 0;
}


.proplus-faq-flow__stage {

    position: sticky;

    top: 28px;

    overflow: hidden;

    padding:
        clamp(
            27px,
            4vw,
            50px
        );

    background:

        radial-gradient(
            circle at 100% 0%,
            rgba(60, 180, 229, 0.13),
            transparent 39%
        ),

        var(--proplus-white);

    border:
        1px solid
        var(--proplus-border);

    border-radius: 30px;

    box-shadow:
        0 24px 70px
        rgba(26, 47, 57, 0.10);
}


.proplus-faq-flow__stage.is-changing {

    animation:
        proplus-faq-answer
        240ms
        ease
        both;
}


/* -------------------------------------------------------
   ANSWER TOP
------------------------------------------------------- */

.proplus-faq-flow__stage-top {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 34px;
}


.proplus-faq-flow__answer-label {

    display: inline-flex;

    align-items: center;

    min-height: 32px;

    padding:
        7px
        12px;

    color: var(--proplus-white);

    background: var(--proplus-blue);

    border-radius: 100px;

    font-size: var(--step--1);

    line-height: 1;

    font-weight: 500;
}


.proplus-faq-flow__counter {

    display: flex;

    align-items: baseline;

    gap: 5px;

    color: #89959b;

    font-size: var(--step--1);

    line-height: 1;

    font-weight: 500;
}


.proplus-faq-flow__counter strong {

    color: var(--proplus-blue);

    font-size: var(--step-2);

    font-weight: 500;
}


/* -------------------------------------------------------
   PANELS
------------------------------------------------------- */

.proplus-faq-flow__panel {

    position: relative;

    z-index: 1;
}


.proplus-faq-flow__panel[hidden] {
    display: none;
}


.proplus-faq-flow__watermark {

    position: absolute;

    z-index: -1;

    top: -15px;

    right: -6px;

    color:
        rgba(
            60,
            180,
            229,
            0.07
        );

    font-size: var(--step-10);

    line-height: 0.8;

    font-weight: 500;

    pointer-events: none;
}


.proplus-faq-flow__panel-category {

    margin: 0 0 10px;

    color: var(--proplus-blue);

    font-size: var(--step--1);

    line-height: 1.3;

    font-weight: 500;
}


.proplus-faq-flow__panel h3 {

    max-width: 700px;

    margin: 0;

    color: var(--proplus-charcoal);

    font-size: var(--step-4);

    line-height: 1.05;

    font-weight: 500;
}


.proplus-faq-flow__answer {

    max-width: 760px;

    margin: 22px 0 0;

    color: var(--proplus-muted);

    font-size: var(--step-0);

    line-height: 1.7;

    font-weight: 500;
}


/* -------------------------------------------------------
   INFO POINTS
------------------------------------------------------- */

.proplus-faq-flow__steps {

    margin-top: 29px;

    padding: 22px;

    background:
        var(--proplus-light-blue);

    border-radius: 19px;
}


.proplus-faq-flow__steps > p {

    margin: 0 0 15px;

    color: var(--proplus-charcoal);

    font-size: var(--step--1);

    line-height: 1.3;

    font-weight: 500;
}


.proplus-faq-flow__steps ul {

    display: grid;

    gap: 12px;

    margin: 0;

    padding: 0;

    list-style: none;
}


.proplus-faq-flow__steps li {

    display: grid;

    grid-template-columns:
        25px
        minmax(0, 1fr);

    align-items: start;

    gap: 10px;

    color: #536067;

    font-size: var(--step--1);

    line-height: 1.5;

    font-weight: 500;
}


.proplus-faq-flow__steps li > span {

    display: grid;

    width: 25px;

    height: 25px;

    place-items: center;

    color: var(--proplus-white);

    background: var(--proplus-blue);

    border-radius: 50%;
}


.proplus-faq-flow__steps li svg {

    width: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2.5;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* -------------------------------------------------------
   ACTION AREA
------------------------------------------------------- */

.proplus-faq-flow__actions {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 22px;

    margin-top: 30px;

    padding-top: 25px;

    border-top:
        1px solid
        var(--proplus-border);
}


.proplus-faq-flow__actions > div:first-child {
    max-width: 300px;
}


.proplus-faq-flow__actions
> div:first-child
strong,

.proplus-faq-flow__actions
> div:first-child
span {

    display: block;
}


.proplus-faq-flow__actions
> div:first-child
strong {

    color: var(--proplus-charcoal);

    font-size: var(--step-0);

    line-height: 1.3;

    font-weight: 500;
}


.proplus-faq-flow__actions
> div:first-child
span {

    margin-top: 4px;

    color: var(--proplus-muted);

    font-size: var(--step--1);

    line-height: 1.45;

    font-weight: 500;
}


.proplus-faq-flow__buttons {

    display: flex;

    flex: 0 0 auto;

    gap: 9px;
}


/* -------------------------------------------------------
   BUTTONS
------------------------------------------------------- */

.proplus-faq-flow__call,
.proplus-faq-flow__enquire {

    min-height: 51px;

    border-radius: 13px;

    text-decoration: none;

    font-weight: 500;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease;
}


/* CALL */

.proplus-faq-flow__call {

    display: flex;

    align-items: center;

    gap: 9px;

    padding:
        9px
        14px;

    color: var(--proplus-white);

    background: var(--proplus-dark);
}


.proplus-faq-flow__call svg {

    width: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.9;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.proplus-faq-flow__call span {

    color: var(--proplus-white);

    font-size: var(--step--1);

    line-height: 1.15;

    font-weight: 500;
}


.proplus-faq-flow__call small {

    display: block;

    margin-bottom: 2px;

    color:
        rgba(
            255,
            255,
            255,
            0.65
        );

    font-size: var(--step--2);

    line-height: 1.1;

    font-weight: 500;
}


/* ENQUIRE */

.proplus-faq-flow__enquire {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding:
        13px
        17px;

    color: var(--proplus-white);

    background: var(--proplus-blue);

    font-size: var(--step--1);

    line-height: 1.2;

    font-weight: 500;
}


.proplus-faq-flow__enquire svg {

    width: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.proplus-faq-flow__call:hover,
.proplus-faq-flow__enquire:hover {

    transform: translateY(-2px);
}


.proplus-faq-flow__call:hover {

    background: var(--proplus-blue);

    box-shadow:
        0 10px 28px
        rgba(60, 180, 229, 0.24);
}


.proplus-faq-flow__enquire:hover {

    color: var(--proplus-white);

    background: #229dcc;

    box-shadow:
        0 10px 28px
        rgba(60, 180, 229, 0.24);
}


/* -------------------------------------------------------
   DISCLAIMER
------------------------------------------------------- */

.proplus-faq-flow__disclaimer {

    margin: 17px 0 0;

    color: #8a9499;

    font-size: var(--step--2);

    line-height: 1.5;

    font-weight: 500;
}


/* -------------------------------------------------------
   ACCESSIBILITY
------------------------------------------------------- */

.proplus-faq-flow button:focus-visible,
.proplus-faq-flow a:focus-visible {

    outline:
        3px solid
        var(--proplus-blue);

    outline-offset: 4px;
}


/* -------------------------------------------------------
   ANIMATIONS
------------------------------------------------------- */

@keyframes proplus-faq-answer {

    from {

        opacity: 0.65;

        transform:
            translateY(8px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }

}


@keyframes proplus-faq-pulse {

    from {

        opacity: 1;

        transform:
            scale(0.7);
    }

    to {

        opacity: 0;

        transform:
            scale(1.5);
    }

}


/* -------------------------------------------------------
   TABLET
------------------------------------------------------- */

@media (max-width: 1050px) {

    .proplus-faq-flow__layout {

        grid-template-columns:
            minmax(290px, 0.7fr)
            minmax(0, 1.3fr);

        gap: 28px;
    }


    .proplus-faq-flow__actions {

        align-items: stretch;

        flex-direction: column;
    }


    .proplus-faq-flow__actions
    > div:first-child {

        max-width: none;
    }


    .proplus-faq-flow__buttons {

        width: 100%;
    }


    .proplus-faq-flow__call,
    .proplus-faq-flow__enquire {

        flex: 1 1 0;
    }

}


/* -------------------------------------------------------
   MOBILE
------------------------------------------------------- */

@media (max-width: 780px) {

    .proplus-faq-flow__header {

        grid-template-columns: 1fr;

        gap: 20px;

        margin-bottom: 35px;
    }



    .proplus-faq-flow__layout {

        display: block;
    }


    .proplus-faq-flow__questions {

        gap: 9px;
    }


    .proplus-faq-flow__pipe {

        left: 26px;
    }


    .proplus-faq-flow__question {

        grid-template-columns:
            53px
            minmax(0, 1fr)
            34px;

        min-height: 86px;

        gap: 12px;

        padding-right: 12px;

        border-radius: 16px;
    }


    .proplus-faq-flow__node {

        width: 53px;

        height: 53px;
    }


    .proplus-faq-flow__question-copy strong {

        font-size: var(--step-0);
    }


    /*
     * Stage gets dynamically moved directly underneath
     * the active question via JS.
     */

    .proplus-faq-flow__answer-home {

        display: none;
    }


    .proplus-faq-flow__stage {

        position: relative;

        top: auto;

        margin:
            3px
            0
            12px;

        padding:
            24px
            18px;

        border-radius: 20px;

        box-shadow:
            0 15px 45px
            rgba(26, 47, 57, 0.09);
    }


    .proplus-faq-flow__stage-top {

        margin-bottom: 25px;
    }


    .proplus-faq-flow__panel h3 {

        font-size: var(--step-3);

        line-height: 1.08;
    }


    .proplus-faq-flow__answer {

        margin-top: 16px;

        font-size: var(--step-0);
    }


    .proplus-faq-flow__steps {

        margin-top: 21px;

        padding: 17px;
    }


    .proplus-faq-flow__actions {

        margin-top: 23px;

        padding-top: 20px;
    }


    .proplus-faq-flow__buttons {

        flex-direction: column;
    }


    .proplus-faq-flow__call,
    .proplus-faq-flow__enquire {

        width: 100%;

        min-height: 54px;
    }


    .proplus-faq-flow__call {

        justify-content: center;
    }

}


/* -------------------------------------------------------
   SMALL MOBILE
------------------------------------------------------- */

@media (max-width: 410px) {

    .proplus-faq-flow__question {

        grid-template-columns:
            49px
            minmax(0, 1fr)
            30px;

        min-height: 80px;

        gap: 10px;
    }


    .proplus-faq-flow__node {

        width: 49px;

        height: 49px;
    }


    .proplus-faq-flow__question-icon {

        width: 30px;

        height: 30px;
    }


    .proplus-faq-flow__stage {

        padding-inline: 15px;
    }

}


/* -------------------------------------------------------
   REDUCED MOTION
------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .proplus-faq-flow__status > span::after,

    .proplus-faq-flow__stage,

    .proplus-faq-flow__question,

    .proplus-faq-flow__question-icon,

    .proplus-faq-flow__call,

    .proplus-faq-flow__enquire {

        animation: none;

        transition: none;
    }

}
/* =========================================================
   FLUENT FORMS — DARK THEME
   Trigger class: .ff-dark
========================================================= */

.ff-dark {
    --ff-bg: #151719;
    --ff-field: #202326;
    --ff-field-hover: #25292d;
    --ff-field-focus: #292d31;

    --ff-text: #f5f7f8;
    --ff-muted: #aeb7bc;
    --ff-placeholder: #7f898f;

    --ff-border: #373d41;
    --ff-border-hover: #515a60;

    --ff-accent: #3cb4e5;
    --ff-yellow: #ffd100;

    --ff-error: #ff6262;
    --ff-success: #31c48d;

    color: var(--ff-text);

    /*
     * Helps Windows / Chrome / Edge render
     * native controls in a dark theme.
     */
    color-scheme: dark;
}


/* =========================================================
   RESET
========================================================= */

.ff-dark,
.ff-dark * {
    box-sizing: border-box;
}


.ff-dark input,
.ff-dark textarea,
.ff-dark select,
.ff-dark button {
    font-family: inherit;
}


/* =========================================================
   LABELS
========================================================= */

.ff-dark .ff-el-input--label {
    margin-bottom: 8px;
}


.ff-dark .ff-el-input--label label {
    display: inline-block;

    margin: 0;

    color: var(--ff-text);

    font-size: 14px;

    line-height: 1.35;

    font-weight: 500;
}


.ff-dark .ff-el-input--label.ff-el-is-required label::after,
.ff-dark .ff-el-is-required > .ff-el-input--label label::after {
    color: var(--ff-yellow);
}


/* =========================================================
   GROUPS
========================================================= */

.ff-dark .ff-el-group {
    margin-bottom: 18px;
}


/* =========================================================
   INPUTS / TEXTAREA / SELECT
========================================================= */

.ff-dark .ff-el-form-control,
.ff-dark input[type="text"],
.ff-dark input[type="email"],
.ff-dark input[type="tel"],
.ff-dark input[type="number"],
.ff-dark input[type="url"],
.ff-dark input[type="password"],
.ff-dark input[type="search"],
.ff-dark input[type="date"],
.ff-dark input[type="time"],
.ff-dark input[type="datetime-local"],
.ff-dark textarea,
.ff-dark select {

    display: block;

    width: 100%;

    min-height: 50px;

    margin: 0;

    padding: 13px 15px;

    color: var(--ff-text) !important;

    background-color: var(--ff-field) !important;

    border:
        1px solid
        var(--ff-border) !important;

    border-radius: 10px;

    outline: none;

    font-size: 16px;

    line-height: 1.4;

    font-weight: 500;

    box-shadow: none;

    caret-color: var(--ff-accent);

    color-scheme: dark;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}


/* =========================================================
   TEXTAREA
========================================================= */

.ff-dark textarea,
.ff-dark textarea.ff-el-form-control {
    min-height: 130px;

    resize: vertical;
}


/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) and (pointer: fine) {

    .ff-dark .ff-el-form-control:hover,
    .ff-dark input:hover,
    .ff-dark textarea:hover,
    .ff-dark select:hover {

        background-color:
            var(--ff-field-hover) !important;

        border-color:
            var(--ff-border-hover) !important;
    }

}


/* =========================================================
   FOCUS
========================================================= */

.ff-dark .ff-el-form-control:focus,
.ff-dark input:focus,
.ff-dark textarea:focus,
.ff-dark select:focus {

    color:
        var(--ff-text) !important;

    background-color:
        var(--ff-field-focus) !important;

    border-color:
        var(--ff-accent) !important;

    outline: none !important;

    box-shadow:
        0 0 0 3px
        rgba(60, 180, 229, 0.16) !important;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.ff-dark input::placeholder,
.ff-dark textarea::placeholder,
.ff-dark .ff-el-form-control::placeholder {

    color:
        var(--ff-placeholder) !important;

    opacity: 1;

    font-weight: 500;
}


/* =========================================================
   SELECT / DROPDOWNS
========================================================= */

.ff-dark select,
.ff-dark select.ff-el-form-control {

    color:
        var(--ff-text) !important;

    background-color:
        var(--ff-field) !important;

    color-scheme: dark;

    cursor: pointer;
}


/*
 * Important for Windows Chrome / Edge.
 */

.ff-dark select option {

    color: #ffffff !important;

    background-color: #202326 !important;

    font-weight: 500;
}


.ff-dark select option:checked {

    color: #ffffff !important;

    background-color: #30363a !important;
}


.ff-dark select option:disabled {

    color: #8d979c !important;

    background-color: #202326 !important;
}


.ff-dark select optgroup {

    color: #ffffff !important;

    background-color: #191c1e !important;

    font-weight: 500;
}


/* Legacy Windows select arrow */

.ff-dark select::-ms-expand {

    color: #ffffff;

    background-color: #202326;
}


/* =========================================================
   DATE / TIME
========================================================= */

.ff-dark input[type="date"],
.ff-dark input[type="time"],
.ff-dark input[type="datetime-local"] {
    color-scheme: dark;
}


.ff-dark input[type="date"]::-webkit-calendar-picker-indicator,
.ff-dark input[type="time"]::-webkit-calendar-picker-indicator,
.ff-dark input[type="datetime-local"]::-webkit-calendar-picker-indicator {

    opacity: 0.85;

    cursor: pointer;
}


/* =========================================================
   CHROME / EDGE AUTOFILL
========================================================= */

.ff-dark input:-webkit-autofill,
.ff-dark input:-webkit-autofill:hover,
.ff-dark input:-webkit-autofill:focus,
.ff-dark textarea:-webkit-autofill,
.ff-dark textarea:-webkit-autofill:hover,
.ff-dark textarea:-webkit-autofill:focus,
.ff-dark select:-webkit-autofill {

    -webkit-text-fill-color:
        var(--ff-text) !important;

    caret-color:
        var(--ff-text);

    -webkit-box-shadow:
        0 0 0 1000px
        var(--ff-field-focus)
        inset !important;

    box-shadow:
        0 0 0 1000px
        var(--ff-field-focus)
        inset !important;

    border-color:
        var(--ff-border) !important;
}


/* =========================================================
   CHECKBOX / RADIO
========================================================= */

.ff-dark .ff-el-form-check {

    display: flex;

    align-items: flex-start;

    min-height: 46px;

    margin-bottom: 8px;

    padding: 11px 13px;

    color:
        var(--ff-text);

    background:
        var(--ff-field);

    border:
        1px solid
        var(--ff-border);

    border-radius: 9px;

    transition:
        background-color 180ms ease,
        border-color 180ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .ff-dark .ff-el-form-check:hover {

        background:
            var(--ff-field-hover);

        border-color:
            var(--ff-accent);
    }

}


.ff-dark .ff-el-form-check-label {

    color:
        var(--ff-text);

    font-size: 14px;

    line-height: 1.45;

    font-weight: 500;

    cursor: pointer;
}


.ff-dark .ff-el-form-check-input {

    width: 17px;

    height: 17px;

    flex: 0 0 auto;

    margin:
        2px
        9px
        0
        0;

    accent-color:
        var(--ff-accent);

    cursor: pointer;
}


/* =========================================================
   MULTIPLE SELECT
========================================================= */

.ff-dark select[multiple] {

    min-height: 140px;

    padding: 8px;
}


.ff-dark select[multiple] option {

    margin-bottom: 2px;

    padding: 9px 10px;
}


/* =========================================================
   FILE UPLOAD
========================================================= */

.ff-dark input[type="file"] {

    min-height: 50px;

    padding: 8px;

    color:
        var(--ff-muted);

    background:
        var(--ff-field);

    border:
        1px solid
        var(--ff-border);

    border-radius: 10px;
}


.ff-dark input[type="file"]::file-selector-button {

    min-height: 34px;

    margin-right: 12px;

    padding: 8px 13px;

    color:
        var(--ff-text);

    background:
        #30363a;

    border: 0;

    border-radius: 7px;

    font-weight: 500;

    cursor: pointer;
}


/* =========================================================
   HELP TEXT
========================================================= */

.ff-dark .ff-el-help-message,
.ff-dark .ff-el-form-control + small {

    color:
        var(--ff-muted);

    font-weight: 500;
}


/* =========================================================
   ERROR STATES
========================================================= */

.ff-dark .error.text-danger,
.ff-dark .ff-el-is-error .text-danger,
.ff-dark .ff-el-is-error .error {

    margin-top: 6px;

    color: #ff8a8a;

    font-size: 13px;

    line-height: 1.4;

    font-weight: 500;
}


.ff-dark .ff-el-is-error .ff-el-form-control {

    border-color:
        var(--ff-error) !important;

    box-shadow:
        0 0 0 2px
        rgba(255, 98, 98, 0.10) !important;
}


/* =========================================================
   DISABLED
========================================================= */

.ff-dark input:disabled,
.ff-dark textarea:disabled,
.ff-dark select:disabled,
.ff-dark .ff-el-form-control:disabled {

    color: #8c969b !important;

    background:
        #191c1e !important;

    border-color:
        #2d3235 !important;

    opacity: 1;

    cursor: not-allowed;
}


/* =========================================================
   RANGE
========================================================= */

.ff-dark .rangeslider {

    height: 8px;

    background:
        #353b3f;

    border-radius: 100px;
}


.ff-dark .rangeslider__fill {

    background:
        var(--ff-accent);
}


.ff-dark .rangeslider__handle {

    background:
        var(--ff-yellow);

    border:
        3px solid
        var(--ff-bg);

    box-shadow:
        0 3px 10px
        rgba(0, 0, 0, 0.25);
}


/* =========================================================
   SUBMIT
========================================================= */

.ff-dark .ff-btn-submit {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    min-height: 52px;

    padding: 14px 20px;

    color: #111315 !important;

    background:
        var(--ff-yellow) !important;

    border: 0 !important;

    border-radius: 10px;

    font-size: 16px;

    line-height: 1.2;

    font-weight: 500;

    cursor: pointer;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .ff-dark .ff-btn-submit:hover {

        background:
            #ffda2f !important;

        transform:
            translateY(-2px);

        box-shadow:
            0 10px 24px
            rgba(255, 209, 0, 0.14);
    }

}


/* =========================================================
   SUCCESS
========================================================= */

.ff-dark .ff-message-success {

    padding: 15px;

    color: #ffffff;

    background:
        rgba(49, 196, 141, 0.12);

    border:
        1px solid
        rgba(49, 196, 141, 0.45);

    border-radius: 10px;

    font-weight: 500;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .ff-dark .ff-el-group {

        margin-bottom: 15px;
    }


    .ff-dark .ff-el-form-control,
    .ff-dark input,
    .ff-dark textarea,
    .ff-dark select {

        font-size: 16px;
    }

}

  /*================ Reviews Light / Dark ============*/



/* =========================================================
   BASE
========================================================= */

.pp-google-reviews,
.pp-google-reviews * {
    box-sizing: border-box;
}


.pp-google-reviews {

    --pp-review-bg: #17191b;
    --pp-review-card: #202326;
    --pp-review-card-hover: #25292c;

    --pp-review-white: #ffffff;
    --pp-review-text: #f1f3f4;
--pp-review-muted: #b8c0c4;

    --pp-review-border: rgba(255,255,255,0.08);

    --pp-review-blue: #3cb4e5;
    --pp-review-yellow: #ffd100;

    width: 100%;

    min-width: 0;

    padding:
        clamp(
            20px,
            2.5vw,
            30px
        );

    overflow: hidden;

    color:
        var(--pp-review-white);

    background:
        var(--pp-review-bg);

    border:
        1px solid
        var(--pp-review-border);

    border-radius:
        clamp(
            18px,
            2vw,
            26px
        );
}


/* =========================================================
   HEADER
========================================================= */

.pp-google-reviews__header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    margin-bottom:
        clamp(
            20px,
            2.5vw,
            28px
        );
}


.pp-google-reviews__score {

    display: flex;

    align-items: center;

    min-width: 0;

    gap: 12px;
}


/* =========================================================
   GOOGLE MARK
========================================================= */

.pp-google-reviews__google-mark {

    display: grid;

    width: 43px;

    height: 43px;

    flex: 0 0 auto;

    place-items: center;

    color: var(--pp-review-white);

    background: #272b2e;

    border:
        1px solid
        rgba(255,255,255,0.08);

    border-radius: 50%;

    font-size: var(--step-1);

    line-height: 1;

    font-weight: 500;
}


/* =========================================================
   SCORE
========================================================= */

.pp-google-reviews__source {

    display: block;

    margin-bottom: 4px;

    color:
        var(--pp-review-muted);

    font-size:
        var(--step--1);

    line-height: 1.2;

    font-weight: 500;
}


.pp-google-reviews__rating-row {

    display: flex;

    align-items: center;

    gap: 8px;
}


.pp-google-reviews__rating-row strong {

    color:
        var(--pp-review-white);

    font-size:
        var(--step-1);

    line-height: 1;

    font-weight: 500;
}


.pp-google-reviews__stars,
.pp-review-card__stars {

    color:
        var(--pp-review-yellow);

    line-height: 1;

    letter-spacing: 1px;
}


.pp-google-reviews__stars {

    font-size:
        var(--step--1);
}


/* =========================================================
   REVIEW TOTAL
========================================================= */

.pp-google-reviews__total {

    display: inline-flex;

    flex: 0 0 auto;

    align-items: center;

    gap: 6px;

    color:
        var(--pp-review-text);

    font-size:
        var(--step--1);

    line-height: 1.2;

    font-weight: 500;

    text-decoration: none;

    transition:
        color 180ms ease;
}


.pp-google-reviews__total svg {

    width: 16px;

    height: 16px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform 180ms ease;
}


.pp-google-reviews__total:hover {

    color:
        var(--pp-review-yellow);
}


.pp-google-reviews__total:hover svg {

    transform:
        translateX(3px);
}


/* =========================================================
   SLIDER
========================================================= */

.pp-google-reviews__slider {

    /*
     * Keeps the slider from ever causing horizontal
     * page overflow.
     */

    width: 100%;

    min-width: 0;

    overflow: hidden;
}


.pp-google-reviews__track {

    display: flex;

    align-items: stretch;

    gap: 14px;

    width: 100%;

    overflow-x: auto;

    overflow-y: hidden;

    padding:
        1px
        0
        5px;

    scroll-behavior: smooth;

    scroll-snap-type:
        x mandatory;

    overscroll-behavior-x:
        contain;

    scrollbar-width: none;

    -ms-overflow-style: none;

    touch-action: pan-y;

    cursor: grab;

    -webkit-overflow-scrolling: touch;
}


.pp-google-reviews__track::-webkit-scrollbar {

    display: none;
}


.pp-google-reviews__track.is-dragging {

    cursor: grabbing;

    scroll-behavior: auto;

    scroll-snap-type: none;

    user-select: none;
}


/* =========================================================
   REVIEW CARD
========================================================= */

.pp-review-card {

    /*
     * 66.666% card width means:
     *
     * 1 full card = 66.6%
     * remaining viewport = ~33.3%
     *
     * therefore roughly HALF of the next card is visible.
     */

    flex:
        0 0
        calc(
            66.6667% - 5px
        );

    scroll-snap-align: start;

    display: flex;

    flex-direction: column;

    min-width: 0;

    /*
     * Fixed minimum height prevents uneven jumping
     * as the carousel moves between short reviews.
     */

    min-height:
        clamp(
            215px,
            18vw,
            255px
        );

    padding:
        clamp(
            18px,
            2vw,
            23px
        );

    background:
        var(--pp-review-card);

    border:
        1px solid
        var(--pp-review-border);

    border-radius: 18px;

    transition:
        background-color 200ms ease,
        border-color 200ms ease,
        transform 200ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .pp-review-card:hover {

        background:
            var(--pp-review-card-hover);

        border-color:
            rgba(60,180,229,0.24);

        transform:
            translateY(-2px);
    }

}


/* =========================================================
   CARD TOP
========================================================= */

.pp-review-card__top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;
}


.pp-review-card__stars {

    font-size:
        var(--step--1);
}


.pp-review-card__verified {

    color:
        var(--pp-review-muted);

    font-size:
        var(--step--2);

    line-height: 1;

    font-weight: 500;
}


/* =========================================================
   REVIEW
========================================================= */

.pp-review-card__quote {

    display:
        -webkit-box;

    flex: 1 1 auto;

    overflow: hidden;

    margin:
        clamp(
            17px,
            2vw,
            22px
        )
        0
        20px;

    color:
        var(--pp-review-text);

    font-size:
        var(--step-0);

    line-height: 1.6;

    font-weight: 500;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 5;
}


/* =========================================================
   REVIEWER
========================================================= */

.pp-review-card__footer {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: auto;

    padding-top: 15px;

    border-top:
        1px solid
        var(--pp-review-border);
}


.pp-review-card__avatar {

    display: grid;

    width: 36px;

    height: 36px;

    flex: 0 0 auto;

    place-items: center;

    color:
        var(--pp-review-bg);

    background:
        var(--pp-review-yellow);

    border-radius: 50%;

    font-size:
        var(--step--1);

    line-height: 1;

    font-weight: 500;
}


.pp-review-card__person {

    min-width: 0;
}


.pp-review-card__person strong,
.pp-review-card__person span {

    display: block;
}


.pp-review-card__person strong {

    overflow: hidden;

    color:
        var(--pp-review-white);

    font-size:
        var(--step--1);

    line-height: 1.25;

    font-weight: 500;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.pp-review-card__person span {

    margin-top: 3px;

    color:
        var(--pp-review-muted);

    font-size:
        var(--step--2);

    line-height: 1.2;

    font-weight: 500;
}


/* =========================================================
   CONTROLS
========================================================= */

.pp-google-reviews__controls {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    margin-top: 18px;
}


.pp-google-reviews__position {

    display: flex;

    align-items: baseline;

    gap: 5px;

    color:
        var(--pp-review-muted);

    font-size:
        var(--step--1);

    line-height: 1;

    font-weight: 500;
}


.pp-google-reviews__position strong {

    color:
        var(--pp-review-white);

    font-size:
        var(--step-0);

    font-weight: 500;
}


/* =========================================================
   ARROWS
========================================================= */

.pp-google-reviews__buttons {

    display: flex;

    gap: 8px;
}


.pp-google-reviews__button {

    appearance: none;

    display: grid;

    width: 42px;

    height: 42px;

    padding: 0;

    place-items: center;

    color:
        var(--pp-review-white);

    background:
        #25292c;

    border:
        1px solid
        var(--pp-review-border);

    border-radius: 50%;

    cursor: pointer;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}


.pp-google-reviews__button--next {

    color:
        var(--pp-review-bg);

    background:
        var(--pp-review-yellow);

    border-color:
        var(--pp-review-yellow);
}


.pp-google-reviews__button svg {

    width: 18px;

    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


@media (hover: hover) and (pointer: fine) {

    .pp-google-reviews__button:hover {

        transform:
            translateY(-2px);
    }


    .pp-google-reviews__button:not(
        .pp-google-reviews__button--next
    ):hover {

        border-color:
            rgba(60,180,229,0.35);
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.pp-google-reviews__track:focus-visible,
.pp-google-reviews__button:focus-visible,
.pp-google-reviews__total:focus-visible {

    outline:
        3px solid
        var(--pp-review-blue);

    outline-offset: 3px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .pp-google-reviews {

        padding:
            18px
            16px;

        border-radius: 18px;
    }


    .pp-google-reviews__header {

        margin-bottom: 19px;
    }


    .pp-google-reviews__google-mark {

        width: 39px;

        height: 39px;
    }


    /*
     * Still retains roughly 1.5 visible cards
     * rather than becoming a single-card carousel.
     */

    .pp-review-card {

        flex-basis:
            calc(
                68% - 5px
            );

        min-height: 220px;

        padding: 17px;
    }


    .pp-google-reviews__total {

        font-size:
            var(--step--2);
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 370px) {

    .pp-google-reviews__header {

        align-items: flex-start;

        flex-direction: column;
    }


    .pp-review-card {

        flex-basis: 72%;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pp-google-reviews__track {

        scroll-behavior: auto;
    }


    .pp-review-card,
    .pp-google-reviews__button,
    .pp-google-reviews__total svg {

        transition: none;
    }

}

  /* =========================================================
   GOOGLE REVIEWS — LIGHT / WIDE VARIANT
   Reuses existing .pp-google-reviews system
========================================================= */

.pp-google-reviews--light {

    --pp-review-bg: #f6f8f9;
    --pp-review-card: #ffffff;
    --pp-review-card-hover: #fbfcfd;

    /*
     * Existing CSS uses --pp-review-white
     * as the primary foreground colour.
     */
    --pp-review-white: #171a1c;

    --pp-review-text: #353b3f;
    --pp-review-muted: #687278;

    --pp-review-border: #dfe5e8;

    --pp-review-blue: #3cb4e5;
    --pp-review-yellow: #ffd100;

    --pp-review-gap: 14px;

    color: var(--pp-review-white);

    background: var(--pp-review-bg);

    box-shadow:
        0 10px 35px
        rgba(25, 39, 46, 0.05);
}


/* =========================================================
   GOOGLE MARK
========================================================= */

.pp-google-reviews--light
.pp-google-reviews__google-mark {

    color: #171a1c;

    background: #ffffff;

    border-color: #dfe5e8;

    box-shadow:
        0 4px 14px
        rgba(25, 39, 46, 0.06);
}


/* =========================================================
   TRACK
========================================================= */

.pp-google-reviews--light
.pp-google-reviews__track {

    gap: var(--pp-review-gap);

    /*
     * Important when showing several cards:
     * prevents flex children forcing overflow.
     */

    min-width: 0;
}


/* =========================================================
   CARD
========================================================= */

.pp-google-reviews--light
.pp-review-card {

    /*
     * DESKTOP
     *
     * 4.5 cards visible.
     */

    flex:
        0 0
        calc(
            (
                100% -
                (
                    var(--pp-review-gap) * 4
                )
            )
            / 4.5
        );

    min-height:
        clamp(
            210px,
            15vw,
            245px
        );

    color:
        var(--pp-review-white);

    background:
        var(--pp-review-card);

    border-color:
        var(--pp-review-border);

    box-shadow:
        0 7px 24px
        rgba(25, 39, 46, 0.045);
}


/* =========================================================
   CARD HOVER
========================================================= */

@media (hover: hover) and (pointer: fine) {

    .pp-google-reviews--light
    .pp-review-card:hover {

        background:
            var(--pp-review-card-hover);

        border-color:
            rgba(
                60,
                180,
                229,
                0.35
            );

        box-shadow:
            0 12px 30px
            rgba(25, 39, 46, 0.08);
    }

}


/* =========================================================
   REVIEW TEXT
========================================================= */

.pp-google-reviews--light
.pp-review-card__quote {

    color:
        var(--pp-review-text);
}


/* =========================================================
   REVIEWER
========================================================= */

.pp-google-reviews--light
.pp-review-card__person strong {

    color:
        #171a1c;
}


.pp-google-reviews--light
.pp-review-card__person span,

.pp-google-reviews--light
.pp-review-card__verified,

.pp-google-reviews--light
.pp-google-reviews__source,

.pp-google-reviews--light
.pp-google-reviews__position {

    color:
        var(--pp-review-muted);
}


/* =========================================================
   AVATAR
========================================================= */

.pp-google-reviews--light
.pp-review-card__avatar {

    color: #171a1c;

    background:
        var(--pp-review-yellow);
}


/* =========================================================
   REVIEW TOTAL
========================================================= */

.pp-google-reviews--light
.pp-google-reviews__total {

    color:
        var(--pp-review-text);
}


.pp-google-reviews--light
.pp-google-reviews__total:hover {

    color:
        var(--pp-review-blue);
}


/* =========================================================
   NAVIGATION BUTTONS
========================================================= */

.pp-google-reviews--light
.pp-google-reviews__button {

    color: #30363a;

    background: #ffffff;

    border-color:
        var(--pp-review-border);

    box-shadow:
        0 4px 12px
        rgba(25, 39, 46, 0.05);
}


.pp-google-reviews--light
.pp-google-reviews__button--next {

    color: #171a1c;

    background:
        var(--pp-review-yellow);

    border-color:
        var(--pp-review-yellow);
}


/* =========================================================
   COUNTER
========================================================= */

.pp-google-reviews--light
.pp-google-reviews__position strong {

    color: #171a1c;
}


/* =========================================================
   BREAKPOINT 1
   3.5 cards
========================================================= */

@media (max-width: 1200px) {

    .pp-google-reviews--light
    .pp-review-card {

        flex-basis:
            calc(
                (
                    100% -
                    (
                        var(--pp-review-gap) * 3
                    )
                )
                / 3.5
            );
    }

}


/* =========================================================
   BREAKPOINT 2
   2.5 cards
========================================================= */

@media (max-width: 900px) {

    .pp-google-reviews--light
    .pp-review-card {

        flex-basis:
            calc(
                (
                    100% -
                    (
                        var(--pp-review-gap) * 2
                    )
                )
                / 2.5
            );

        min-height: 220px;
    }

}


/* =========================================================
   MOBILE
   1.5 cards
========================================================= */

@media (max-width: 600px) {

    /*
     * Override the existing mobile card rule.
     */

    .pp-google-reviews--light
    .pp-review-card {

        flex-basis:
            calc(
                (
                    100% -
                    var(--pp-review-gap)
                )
                / 1.5
            );

        min-height: 220px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 370px) {

    .pp-google-reviews--light
    .pp-review-card {

        /*
         * Still retain the 1.5 card visual cue.
         */

        flex-basis:
            calc(
                (
                    100% -
                    var(--pp-review-gap)
                )
                / 1.5
            );
    }

}

  /*============================ small cta ======================*/

  
/* =========================================================
   BASE
========================================================= */

.pp-project-cta,
.pp-project-cta * {
    box-sizing: border-box;
}


.pp-project-cta {

    --pp-cta-blue: #3cb4e5;
    --pp-cta-yellow: #ffb607;

    --pp-cta-dark: #202124;
    --pp-cta-text: #687177;

    --pp-cta-white: #ffffff;
    --pp-cta-border: #e3e7e9;

    width: 100%;
}


/* =========================================================
   INNER
========================================================= */

.pp-project-cta__inner {

    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(380px, 0.85fr);

    align-items: center;

    gap:
        clamp(
            35px,
            6vw,
            95px
        );

    overflow: hidden;

    padding:
        clamp(
            30px,
            4vw,
            60px
        );

    background:
        linear-gradient(
            120deg,
            #f7fafb 0%,
            #ffffff 58%,
            #eef9fd 100%
        );

    border:
        1px solid
        var(--pp-cta-border);

    border-radius:
        clamp(
            20px,
            2.5vw,
            32px
        );
}


/* subtle background detail */

.pp-project-cta__inner::before {

    content: "";

    position: absolute;

    top: -120px;

    right: -100px;

    width: 320px;

    height: 320px;

    background:
        radial-gradient(
            circle,
            rgba(60, 180, 229, 0.14),
            transparent 68%
        );

    pointer-events: none;
}


/* =========================================================
   CONTENT
========================================================= */

.pp-project-cta__content {

    position: relative;

    z-index: 2;

    max-width: 760px;
}


.pp-project-cta__eyebrow {

    display: inline-flex;

    align-items: center;

    min-height: 31px;

    margin-bottom: 14px;

    padding:
        7px
        12px;

    color:
        var(--pp-cta-blue);

    background:
        rgba(
            60,
            180,
            229,
            0.10
        );

    border-radius: 100px;

    font-size:
        var(--step--1);

    line-height: 1;

    font-weight: 500;
}


.pp-project-cta__title {

    max-width: 720px;

    margin: 0;

    color:
        var(--pp-cta-dark);

    font-size:
        var(--step-4);

    line-height: 1.03;

    font-weight: 500;
}


.pp-project-cta__text {

    max-width: 680px;

    margin:
        18px
        0
        0;

    color:
        var(--pp-cta-text);

    font-size:
        var(--step-0);

    line-height: 1.65;

    font-weight: 500;
}


/* =========================================================
   ACTIONS
========================================================= */

.pp-project-cta__actions {

    position: relative;

    z-index: 2;

    display: grid;

    gap: 12px;
}


/* =========================================================
   BUTTONS
========================================================= */

.pp-project-cta__book,
.pp-project-cta__call {

    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr)
        36px;

    align-items: center;

    gap: 13px;

    width: 100%;

    min-height: 78px;

    padding:
        13px
        15px;

    border-radius: 16px;

    text-decoration: none;

    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        background-color 220ms ease;
}


/* =========================================================
   BOOK
========================================================= */

.pp-project-cta__book {

    color:
        var(--pp-cta-dark);

    background:
        var(--pp-cta-yellow);

    box-shadow:
        0 10px 30px
        rgba(255, 209, 0, 0.15);
}


/* =========================================================
   CALL
========================================================= */

.pp-project-cta__call {

    color:
        var(--pp-cta-white);

    background:
        var(--pp-cta-dark);

    box-shadow:
        0 10px 30px
        rgba(32, 33, 36, 0.10);
}


/* =========================================================
   BUTTON ICON
========================================================= */

.pp-project-cta__button-icon {

    display: grid;

    width: 48px;

    height: 48px;

    place-items: center;

    border-radius: 50%;
}


.pp-project-cta__book
.pp-project-cta__button-icon {

    background:
        rgba(
            255,
            255,
            255,
            0.55
        );
}


.pp-project-cta__call
.pp-project-cta__button-icon {

    background:
        rgba(
            255,
            255,
            255,
            0.10
        );
}


.pp-project-cta__button-icon svg {

    width: 21px;

    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.9;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================================
   BUTTON COPY
========================================================= */

.pp-project-cta__button-copy {

    min-width: 0;
}


.pp-project-cta__button-copy small,
.pp-project-cta__button-copy strong {

    display: block;
}


.pp-project-cta__button-copy small {

    margin-bottom: 4px;

    font-size:
        var(--step--2);

    line-height: 1.1;

    font-weight: 500;
}


.pp-project-cta__book
.pp-project-cta__button-copy small {

    color:
        rgba(
            32,
            33,
            36,
            0.65
        );
}


.pp-project-cta__call
.pp-project-cta__button-copy small {

    color:
        rgba(
            255,
            255,
            255,
            0.60
        );
}


.pp-project-cta__button-copy strong {

    overflow: hidden;

    font-size:
        var(--step-0);

    line-height: 1.2;

    font-weight: 500;

    text-overflow: ellipsis;

    white-space: nowrap;
}


/* =========================================================
   ARROW
========================================================= */

.pp-project-cta__arrow {

    display: grid;

    width: 36px;

    height: 36px;

    place-items: center;

    border-radius: 50%;

    transition:
        transform 220ms ease;
}


.pp-project-cta__book
.pp-project-cta__arrow {

    background:
        rgba(
            32,
            33,
            36,
            0.08
        );
}


.pp-project-cta__call
.pp-project-cta__arrow {

    background:
        rgba(
            255,
            255,
            255,
            0.09
        );
}


.pp-project-cta__arrow svg {

    width: 18px;

    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) and (pointer: fine) {

    .pp-project-cta__book:hover,
    .pp-project-cta__call:hover {

        transform:
            translateY(-3px);
    }


    .pp-project-cta__book:hover {

        box-shadow:
            0 17px 38px
            rgba(255, 209, 0, 0.22);
    }


    .pp-project-cta__call:hover {

        background: #292b2e;

        box-shadow:
            0 17px 38px
            rgba(32, 33, 36, 0.16);
    }


    .pp-project-cta__book:hover
    .pp-project-cta__arrow,

    .pp-project-cta__call:hover
    .pp-project-cta__arrow {

        transform:
            translateX(3px);
    }

}


/* =========================================================
   FOCUS
========================================================= */

.pp-project-cta__book:focus-visible,
.pp-project-cta__call:focus-visible {

    outline:
        3px solid
        var(--pp-cta-blue);

    outline-offset: 4px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .pp-project-cta__inner {

        grid-template-columns: 1fr;

        gap: 30px;
    }


    .pp-project-cta__actions {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .pp-project-cta__inner {

        gap: 25px;

        padding:
            25px
            18px;

        border-radius: 20px;
    }


    .pp-project-cta__title {

        font-size:
            var(--step-3);

        line-height: 1.07;
    }


    .pp-project-cta__text {

        margin-top: 14px;

        line-height: 1.55;
    }


    .pp-project-cta__actions {

        grid-template-columns: 1fr;

        gap: 10px;
    }


    .pp-project-cta__book,
    .pp-project-cta__call {

        grid-template-columns:
            44px
            minmax(0, 1fr)
            34px;

        min-height: 70px;

        gap: 11px;

        padding:
            11px
            12px;

        border-radius: 14px;
    }


    .pp-project-cta__button-icon {

        width: 44px;

        height: 44px;
    }


    .pp-project-cta__arrow {

        width: 34px;

        height: 34px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pp-project-cta__book,
    .pp-project-cta__call,
    .pp-project-cta__arrow {

        transition: none;
    }

}


/* =========================================================
   BASE
========================================================= */

/* =========================================================
   SERVICES
========================================================= */

.pp-services,
.pp-services * {
    box-sizing: border-box;
}


.pp-services {

    --pp-blue: #3cb4e5;

    --pp-dark: #202124;

    --pp-muted: #687177;

    --pp-light: #f4f6f7;

    --pp-border: #e2e6e8;

    --pp-white: #ffffff;

    --pp-yellow: #ffd200;

    width: 100%;
}


/* =========================================================
   GRID
========================================================= */

.pp-services__grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        clamp(
            18px,
            2vw,
            30px
        );

    width: 100%;
}


/* =========================================================
   CARD
========================================================= */

.pp-service-card {

    min-width: 0;

    margin: 0;

    padding: 0;

    background: transparent;
}


/* =========================================================
   IMAGE
========================================================= */

.pp-service-card__media {

    position: relative;

    isolation: isolate;

    width: 100%;

    /*
     * Fixed aspect ratio prevents cumulative
     * layout shift before the image loads.
     */

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: var(--pp-light);

    border-radius: 18px;
}


/* Skeleton is positioned absolutely, so it creates
   zero extra layout height. */

.pp-service-card__skeleton {

    position: absolute;

    z-index: 1;

    inset: 0;

    overflow: hidden;

    background: #edf0f1;

    pointer-events: none;

    opacity: 1;

    transition:
        opacity 260ms ease,
        visibility 260ms ease;
}


.pp-service-card__skeleton::after {

    content: "";

    position: absolute;

    inset: 0;

    transform: translateX(-100%);

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.65) 50%,
            transparent 100%
        );

    animation:
        pp-service-skeleton
        1.35s
        linear
        infinite;
}


.pp-service-card.is-image-loaded
.pp-service-card__skeleton {

    opacity: 0;

    visibility: hidden;
}


.pp-service-card__image {

    position: absolute;

    z-index: 2;

    inset: 0;

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    opacity: 0;

    transform: scale(1.015);

    transition:
        opacity 350ms ease,
        transform 600ms cubic-bezier(.2,.7,.2,1);
}


.pp-service-card.is-image-loaded
.pp-service-card__image {

    opacity: 1;
}


.pp-service-card:hover
.pp-service-card__image {

    transform: scale(1.045);
}


.pp-service-card__placeholder {

    position: absolute;

    inset: 0;

    z-index: 2;

    background: var(--pp-light);
}


.pp-service-card__media-link {

    position: absolute;

    z-index: 3;

    inset: 0;
}


/* =========================================================
   CARD HOVER CTA
========================================================= */

.pp-service-card__media::after {

    content: "";

    position: absolute;

    z-index: 3;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(20, 25, 28, 0.05) 0%,
            rgba(20, 25, 28, 0.58) 100%
        );

    opacity: 0;

    pointer-events: none;

    transition:
        opacity 320ms ease;
}


.pp-service-card__media-link {
    z-index: 4;
}


.pp-service-card__quote {

    position: absolute;

    z-index: 5;

    left: 50%;

    bottom: 26px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    min-height: 48px;

    padding:
        13px
        19px;

    color: #202124;

    background: var(--pp-yellow);

    border-radius: 100px;

    font-size: 0.88rem;

    line-height: 1;

    font-weight: 500;

    text-decoration: none;

    white-space: nowrap;

    opacity: 0;

    visibility: hidden;

    transform:
        translate(
            -50%,
            16px
        )
        scale(0.94);

    box-shadow:
        0 12px 30px
        rgba(0, 0, 0, 0.18);

    transition:
        opacity 280ms ease,
        visibility 280ms ease,
        transform 350ms cubic-bezier(.2,.8,.2,1),
        background-color 180ms ease;
}


.pp-service-card__quote svg {

    width: 17px;

    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform 180ms ease;
}


/* DESKTOP HOVER */

@media (hover: hover) and (pointer: fine) {

    .pp-service-card:hover
    .pp-service-card__media::after {

        opacity: 1;
    }


    .pp-service-card:hover
    .pp-service-card__quote {

        opacity: 1;

        visibility: visible;

        transform:
            translate(
                -50%,
                0
            )
            scale(1);
    }


    .pp-service-card:hover
    .pp-service-card__image {

        transform: scale(1.065);
    }


    .pp-service-card__quote:hover {

        transform:
            translate(
                -50%,
                -3px
            )
            scale(1.03);
    }


    .pp-service-card__quote:hover svg {

        transform: translateX(3px);
    }

}


/* DON'T SHOW HOVER CTA ON MOBILE */

@media (max-width: 767px) {

    .pp-service-card__quote {

        display: none;
    }


    .pp-service-card__media::after {

        display: none;
    }

}


/* =========================================================
   CONTENT
========================================================= */

.pp-service-card__content {

    padding-top: 18px;
}


.pp-service-card__heading {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 15px;
}


.pp-service-card__title {

    display: block;

    margin: 0;

    padding: 0;

    color: var(--pp-dark);

    font-size:
        clamp(
            1.05rem,
            0.98rem + 0.3vw,
            1.35rem
        );

    line-height: 1.2;

    font-weight: 500;

    text-decoration: none;
}


a.pp-service-card__title {

    transition:
        color 180ms ease;
}


a.pp-service-card__title:hover {

    color: var(--pp-blue);
}


/* =========================================================
   DETAILS
========================================================= */

.pp-service-card__details {

    display: block;
}


.pp-service-card__text {

    margin:
        11px
        0
        0;

    color: var(--pp-muted);

    font-size:
        clamp(
            0.9rem,
            0.86rem + 0.14vw,
            1rem
        );

    line-height: 1.65;

    font-weight: 500;
}


.pp-service-card__link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 16px;

    color: var(--pp-blue);

    font-size: 0.88rem;

    line-height: 1.2;

    font-weight: 500;

    text-decoration: none;
}


.pp-service-card__link svg {

    width: 17px;

    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform 180ms ease;
}


.pp-service-card__link:hover svg {

    transform: translateX(4px);
}


/* =========================================================
   MOBILE TOGGLE
========================================================= */

.pp-service-card__toggle {

    display: none;

    flex: 0 0 auto;

    align-items: center;

    gap: 7px;

    margin: 0;

    padding: 0;

    color: var(--pp-blue);

    background: transparent;

    border: 0;

    font: inherit;

    font-size: 0.8rem;

    line-height: 1;

    font-weight: 500;

    cursor: pointer;
}


.pp-service-card__toggle-icon {

    display: grid;

    width: 29px;

    height: 29px;

    place-items: center;

    color: var(--pp-blue);

    background:
        rgba(
            60,
            180,
            229,
            0.10
        );

    border-radius: 50%;
}


.pp-service-card__toggle-icon svg {

    width: 15px;

    height: 15px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform 220ms ease;
}


.pp-service-card.is-open
.pp-service-card__toggle-icon svg {

    transform: rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .pp-services__grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    /*
     * Keep two columns on mobile.
     */

    .pp-services__grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 22px 12px;
    }


    /*
     * Original mobile ratio was 16 / 10.
     *
     * 32 / 15 makes the image approximately
     * 25% shorter while retaining full width.
     */

    .pp-service-card__media {

        aspect-ratio: 32 / 15;

        border-radius: 12px;
    }


    .pp-service-card__content {

        padding-top: 10px;
    }


    .pp-service-card__heading {

        align-items: flex-start;

        gap: 8px;
    }


    .pp-service-card__title {

        font-size: 0.95rem;

        line-height: 1.2;
    }


    /*
     * Hide all additional information on mobile.
     *
     * Mobile now shows only:
     * - Image
     * - Service title
     *
     * The title and image remain clickable.
     */

    .pp-service-card__toggle,
    .pp-service-card__details {

        display: none !important;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.pp-service-card__toggle:focus-visible,
.pp-service-card__title:focus-visible,
.pp-service-card__link:focus-visible,
.pp-service-card__media-link:focus-visible {

    outline:
        3px solid
        var(--pp-blue);

    outline-offset: 4px;
}


/* =========================================================
   SKELETON
========================================================= */

@keyframes pp-service-skeleton {

    100% {

        transform: translateX(100%);
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pp-service-card__image,

    .pp-service-card__skeleton,

    .pp-service-card__toggle-icon svg,

    .pp-service-card__link svg,

    .pp-service-card__details {

        animation: none;

        transition: none;
    }

}

/* =========================================================
   Recently Completed Work
========================================================= */


.pp-ba,
.pp-ba * {
    box-sizing: border-box;
}


.pp-ba {

    --pp-blue: #3cb4e5;
    --pp-yellow: #ffd100;

    --pp-dark: #202124;
    --pp-text: #646f76;

    --pp-white: #ffffff;
    --pp-light: #f5f6f7;

    --pp-border: #e3e7e9;

    display: block;

    width: 100%;

    max-width: 100%;

    margin-left: 0;
    margin-right: auto;

    text-align: left;
}


/* =========================================================
   GRID
========================================================= */

.pp-ba__grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    justify-content: start;

    justify-items: stretch;

    gap:
        clamp(
            20px,
            2.2vw,
            34px
        );

    width: 100%;

    max-width: 100%;

    margin: 0;
}


/* =========================================================
   CARD
========================================================= */

.pp-ba-card {

    min-width: 0;

    margin: 0;

    overflow: hidden;

    background:
        var(--pp-white);

    border:
        1px solid
        var(--pp-border);

    border-radius: 22px;

    box-shadow:
        0 12px 40px
        rgba(25, 39, 46, 0.06);

    transition:
        transform 280ms ease,
        box-shadow 280ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .pp-ba-card:hover {

        transform:
            translateY(-4px);

        box-shadow:
            0 22px 55px
            rgba(25, 39, 46, 0.10);
    }

}


/* =========================================================
   COMPARISON
========================================================= */

.pp-ba-card__compare {

    position: relative;

    isolation: isolate;

    width: 100%;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #e8ecee;

    touch-action: pan-y;

    cursor: ew-resize;

    -webkit-tap-highlight-color: transparent;
}


/* =========================================================
   IMAGES
========================================================= */

.pp-ba-card__image-layer {

    position: absolute;

    inset: 0;

    overflow: hidden;
}


.pp-ba-card__image-layer img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    user-select: none;

    -webkit-user-select: none;

    -webkit-user-drag: none;

    pointer-events: none;
}


.pp-ba-card__after {

    z-index: 1;
}


.pp-ba-card__before {

    z-index: 2;

    clip-path:
        inset(
            0
            calc(100% - var(--pp-ba-position))
            0
            0
        );

    will-change: clip-path;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.pp-ba-card__placeholder {

    display: grid;

    width: 100%;

    height: 100%;

    place-items: center;

    color: #8b969c;

    background:
        linear-gradient(
            135deg,
            #e8ecee,
            #d9dfe2
        );

    font-size: var(--step-0);

    font-weight: 500;
}


.pp-ba-card__before
.pp-ba-card__placeholder {

    background:
        linear-gradient(
            135deg,
            #d5dadd,
            #c5ccd0
        );
}


/* =========================================================
   BEFORE / AFTER LABELS
========================================================= */

.pp-ba-card__label {

    position: absolute;

    z-index: 6;

    top: 16px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 31px;

    padding:
        7px
        12px;

    color: var(--pp-dark);

    background:
        rgba(
            255,
            255,
            255,
            0.93
        );

    border-radius: 100px;

    font-size: var(--step--1);

    line-height: 1;

    font-weight: 500;

    pointer-events: none;

    box-shadow:
        0 5px 15px
        rgba(0, 0, 0, 0.08);
}


.pp-ba-card__label--before {

    left: 16px;
}


.pp-ba-card__label--after {

    right: 16px;
}


/* =========================================================
   DIVIDER
========================================================= */

.pp-ba-card__divider {

    position: absolute;

    z-index: 7;

    top: 0;

    bottom: 0;

    left: var(--pp-ba-position);

    width: 3px;

    transform:
        translateX(-50%);

    background:
        var(--pp-white);

    box-shadow:
        0 0 0 1px
        rgba(0, 0, 0, 0.07);

    pointer-events: none;

    will-change: left;
}


/* =========================================================
   HANDLE
========================================================= */

.pp-ba-card__handle {

    position: absolute;

    top: 50%;

    left: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 54px;

    height: 54px;

    transform:
        translate(
            -50%,
            -50%
        );

    color: var(--pp-dark);

    background:
        var(--pp-yellow);

    border:
        4px solid
        var(--pp-white);

    border-radius: 50%;

    box-shadow:
        0 8px 24px
        rgba(0, 0, 0, 0.18);

    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}


.pp-ba-card__handle svg {

    width: 18px;

    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2.3;

    stroke-linecap: round;

    stroke-linejoin: round;
}


@media (hover: hover) and (pointer: fine) {

    .pp-ba-card__compare:hover
    .pp-ba-card__handle {

        transform:
            translate(
                -50%,
                -50%
            )
            scale(1.055);

        box-shadow:
            0 10px 29px
            rgba(0, 0, 0, 0.22);
    }

}


/* =========================================================
   AUTOMATIC DEMONSTRATION STATE
========================================================= */

.pp-ba-card__compare.is-hinting
.pp-ba-card__handle {

    box-shadow:
        0 8px 26px
        rgba(0, 0, 0, 0.22),
        0 0 0 5px
        rgba(255, 209, 0, 0.14);
}


.pp-ba-card__compare.is-hinting
.pp-ba-card__handle-left {

    animation:
        pp-ba-arrow-left
        1.5s
        ease-in-out
        infinite;
}


.pp-ba-card__compare.is-hinting
.pp-ba-card__handle-right {

    animation:
        pp-ba-arrow-right
        1.5s
        ease-in-out
        infinite;
}


@keyframes pp-ba-arrow-left {

    0%,
    100% {

        transform: translateX(0);
    }

    50% {

        transform: translateX(-1.5px);
    }

}


@keyframes pp-ba-arrow-right {

    0%,
    100% {

        transform: translateX(0);
    }

    50% {

        transform: translateX(1.5px);
    }

}


/* =========================================================
   RANGE
========================================================= */

.pp-ba-card__range {

    position: absolute;

    z-index: 10;

    inset: 0;

    width: 100%;

    height: 100%;

    margin: 0;

    opacity: 0;

    cursor: ew-resize;

    appearance: none;

    -webkit-appearance: none;

    touch-action: pan-y;
}


.pp-ba-card__range:focus-visible {

    opacity: 0;
}


.pp-ba-card__compare:has(
    .pp-ba-card__range:focus-visible
) {

    outline:
        3px solid
        var(--pp-blue);

    outline-offset: -3px;
}


/* =========================================================
   CONTENT
========================================================= */

.pp-ba-card__content {

    padding:
        clamp(
            20px,
            2vw,
            27px
        );

    text-align: left;
}


/* =========================================================
   TOP ROW
========================================================= */

.pp-ba-card__top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    margin-bottom: 15px;
}


.pp-ba-card__eyebrow {

    color:
        var(--pp-blue);

    font-size:
        var(--step--1);

    line-height: 1.2;

    font-weight: 500;
}


.pp-ba-card__drag-hint {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    color: #879198;

    font-size:
        var(--step--1);

    line-height: 1.2;

    font-weight: 500;

    white-space: nowrap;
}


.pp-ba-card__drag-hint svg {

    width: 16px;

    height: 16px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================================
   TITLE
========================================================= */

.pp-ba-card__title {

    margin: 0;

    color:
        var(--pp-dark);

    font-size:
        var(--step-2);

    line-height: 1.15;

    font-weight: 500;

    text-align: left;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.pp-ba-card__description {

    margin:
        12px
        0
        0;

    color:
        var(--pp-text);

    font-size:
        var(--step-0);

    line-height: 1.6;

    font-weight: 500;

    text-align: left;
}


/* =========================================================
   META
========================================================= */

.pp-ba-card__meta {

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-start;

    gap:
        10px
        18px;

    margin-top: 21px;

    padding-top: 18px;

    border-top:
        1px solid
        var(--pp-border);
}


.pp-ba-card__meta-item {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #657178;

    font-size:
        var(--step--1);

    line-height: 1.3;

    font-weight: 500;
}


.pp-ba-card__meta-icon {

    display: grid;

    width: 30px;

    height: 30px;

    flex: 0 0 auto;

    place-items: center;

    color:
        var(--pp-blue);

    background:
        rgba(
            60,
            180,
            229,
            0.10
        );

    border-radius: 50%;
}


.pp-ba-card__meta-icon svg {

    width: 16px;

    height: 16px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.9;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) and (min-width: 768px) {

    /*
     * Keep all three cards on one row.
     * Do not send the final card to another line.
     */

    .pp-ba__grid {

        display: grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        justify-content: start;

        gap: 20px;

        width: 100%;

        margin: 0;
    }


    .pp-ba-card {

        min-width: 0;

        grid-column: auto !important;
    }


    .pp-ba-card:last-child {

        grid-column: auto !important;
    }


    .pp-ba-card:last-child
    .pp-ba-card__compare {

        aspect-ratio: 4 / 3;
    }

}


/* =========================================================
   MOBILE HORIZONTAL SCROLLER
========================================================= */

@media (max-width: 767px) {

    /*
     * Force the entire section to begin at
     * the left edge of the parent.
     */

    .pp-ba {

        display: block !important;

        position: relative !important;

        left: 0 !important;

        right: auto !important;

        width: 100% !important;

        max-width: 100% !important;

        margin:
            0
            auto
            0
            0 !important;

        padding: 0 !important;

        transform: none !important;

        translate: none !important;

        align-self: stretch !important;

        justify-self: start !important;

        text-align: left !important;
    }


    /*
     * Horizontal scrolling track.
     *
     * CSS Grid is used instead of centred flex
     * so the first card always originates at x = 0.
     */

    .pp-ba__grid {

        display: grid !important;

        position: relative !important;

        left: 0 !important;

        right: auto !important;

        grid-template-columns: none !important;

        grid-auto-flow: column !important;

        /*
         * Around 1.8 cards visible.
         */

        grid-auto-columns:
            calc(
                (100% - 14px) / 1.2
            ) !important;

        justify-content: start !important;

        justify-items: stretch !important;

        align-content: start !important;

        align-items: stretch !important;

        place-content: start !important;

        gap: 14px !important;

        width: 100% !important;

        min-width: 0 !important;

        max-width: 100% !important;

        margin:
            0
            auto
            0
            0 !important;

        padding:
            0
            0
            0
            0 !important;

        transform: none !important;

        translate: none !important;

        overflow-x: auto !important;

        overflow-y: hidden !important;

        /*
         * Explicitly use standard left-to-right
         * horizontal scrolling.
         */

        direction: ltr !important;

        /*
         * Smooth native scrolling for iPhone,
         * iPad and Android.
         */

        -webkit-overflow-scrolling: touch;

        overscroll-behavior-x: contain;

        /*
         * Snap each card against the LEFT edge.
         */

        scroll-snap-type: x mandatory;

        scroll-padding-left: 0;

        scroll-behavior: auto;

        /*
         * Firefox scrollbar.
         */

        scrollbar-width: none;

        /*
         * Older Edge / IE scrollbar.
         */

        -ms-overflow-style: none;

        /*
         * Horizontal touch scrolling.
         */

        touch-action: pan-x pan-y;
    }


    /*
     * Hide scrollbar:
     * Chrome
     * Safari
     * iOS
     * Android
     * Samsung Internet
     */

    .pp-ba__grid::-webkit-scrollbar {

        display: none !important;

        width: 0 !important;

        height: 0 !important;

        background: transparent !important;
    }


    /*
     * Each project takes one generated
     * horizontal grid column.
     */

    .pp-ba-card {

        display: block;

        position: relative;

        left: 0 !important;

        width: 100% !important;

        min-width: 0 !important;

        max-width: none !important;

        margin: 0 !important;

        padding: 0;

        flex: none !important;

        grid-column: auto !important;

        justify-self: stretch !important;

        scroll-snap-align: start;

        scroll-snap-stop: normal;

        transform-origin: center center;

        border-radius: 18px;
    }


    /*
     * Absolutely force the first project
     * against the beginning of the track.
     */

    .pp-ba-card:first-child {

        margin-left: 0 !important;

        padding-left: 0 !important;

        justify-self: start !important;

        scroll-snap-align: start !important;
    }


    /*
     * Remove the old special last-card
     * responsive behaviour.
     */

    .pp-ba-card:last-child {

        width: 100% !important;

        min-width: 0 !important;

        max-width: none !important;

        margin: 0 !important;

        flex: none !important;

        grid-column: auto !important;
    }


    /*
     * Add trailing scroll room after the last
     * project so the final card can be swiped
     * completely into view.
     */

    .pp-ba__grid::after {

        content: "";

        display: block;

        width: 1px;

        height: 1px;

        margin-right:
            calc(
                (100vw - 14px) / 2.25
            );

        pointer-events: none;
    }


    .pp-ba-card__compare,
    .pp-ba-card:last-child
    .pp-ba-card__compare {

        aspect-ratio: 4 / 3;
    }


    .pp-ba-card__content {

        padding:
            19px
            17px
            20px;

        text-align: left;
    }


    .pp-ba-card__handle {

        width: 48px;

        height: 48px;

        border-width: 3px;
    }


    .pp-ba-card__handle svg {

        width: 16px;

        height: 16px;
    }


    .pp-ba-card__label {

        top: 12px;

        min-height: 28px;

        padding:
            6px
            10px;
    }


    .pp-ba-card__label--before {

        left: 12px;
    }


    .pp-ba-card__label--after {

        right: 12px;
    }


    .pp-ba-card__top {

        align-items: flex-start;

        justify-content: space-between;

        text-align: left;
    }


    .pp-ba-card__eyebrow {

        text-align: left;
    }


    .pp-ba-card__drag-hint {

        font-size:
            var(--step--2);
    }


    .pp-ba-card__title {

        text-align: left;
    }


    .pp-ba-card__description {

        line-height: 1.55;

        text-align: left;
    }


    .pp-ba-card__meta {

        justify-content: flex-start;

        margin-top: 17px;

        padding-top: 15px;

        text-align: left;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    /*
     * Keep the exact same horizontal grid.
     * Do not resize or recentre the cards.
     */

    .pp-ba {

        margin-left: 0 !important;

        margin-right: auto !important;
    }


    .pp-ba__grid {

        justify-content: start !important;

        justify-items: stretch !important;

        margin-left: 0 !important;

        margin-right: 0 !important;

        padding-left: 0 !important;

        scroll-padding-left: 0 !important;
    }


    .pp-ba-card,
    .pp-ba-card:last-child {

        width: 100% !important;

        min-width: 0 !important;

        margin-left: 0 !important;

        margin-right: 0 !important;
    }


    .pp-ba-card__top {

        display: block;

        text-align: left;
    }


    .pp-ba-card__drag-hint {

        margin-top: 7px;
    }


    .pp-ba-card__meta {

        display: grid;

        justify-content: start;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pp-ba-card,
    .pp-ba-card__handle {

        transition: none;
    }


    .pp-ba-card__compare.is-hinting
    .pp-ba-card__handle-left,

    .pp-ba-card__compare.is-hinting
    .pp-ba-card__handle-right {

        animation: none;
    }

}