.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: 'Google 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: 'Lexend';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;
				}
			}
.contact-footer-link {
 margin-bottom:12px;
 line-height:1;
}
.contact-footer-link:not(.ct-section):not(.oxy-easy-posts),
.contact-footer-link.oxy-easy-posts .oxy-posts,
.contact-footer-link.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.footer-ico {
background-color: #f4f4f4;
border: 1px solid #f4f4f4;
padding: 7px;color: #ff7427;}.footer-ico 
>svg {width: 22px;height: 22px;}.footer-ico {
 margin-right:10px;
}
@media (max-width: 1600px) {
.footer-ico {
padding: ;}.footer-ico 
>svg {width: 18px;height: 18px;}.footer-ico {
}
}

@media (max-width: 479px) {
.footer-ico {
 height:35px;
 width:35px;
}
}

.footer-p {
 color:#ffffff;
 font-size:17px;
 text-align:left;
}
@media (max-width: 1600px) {
.footer-p {
 font-size:14px;
}
}

.footer-p-link:hover{
 color:#fdca7a;
 transition-duration:0.2s;
}
.footer-p-link {
 transition-duration:0.2s;
 color:#ffffff;
}
.footer-col {
 width:25%;
 padding-right:32px;
 text-align:justify;
}
.footer-col:not(.ct-section):not(.oxy-easy-posts),
.footer-col.oxy-easy-posts .oxy-posts,
.footer-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
@media (max-width: 1600px) {
.footer-col {
 padding-right:19px;
}
}

@media (max-width: 991px) {
.footer-col {
 width:50%;
 margin-bottom:21px;
}
}

@media (max-width: 767px) {
.footer-col {
 width:100%;
}
}

@media (max-width: 479px) {
.footer-col {
 padding-right:0px;
 padding-bottom:6px;
 text-align:center;
}
.footer-col:not(.ct-section):not(.oxy-easy-posts),
.footer-col.oxy-easy-posts .oxy-posts,
.footer-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
}

.footer-logo {
 margin-bottom:0px;
 max-width:90%;
}
.footer-h {
 color:#ffffff;
 line-height:1;
 font-weight:600;
 margin-bottom:20px;
 font-size:var(--step-3);px;
 position:relative;
 text-align:left;
}
@media (max-width: 1600px) {
.footer-h {
 font-size:26px;
}
}

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

.footer-card {
 width:100%;
 padding-top:0px;
 margin-bottom:12px;
}
.footer-card:not(.ct-section):not(.oxy-easy-posts),
.footer-card.oxy-easy-posts .oxy-posts,
.footer-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
.footer-card-wrap {
 font-weight:200;
 font-size:16px;
 color:rgba(255,255,255,0.5);
}
.footer-card-wrap:not(.ct-section):not(.oxy-easy-posts),
.footer-card-wrap.oxy-easy-posts .oxy-posts,
.footer-card-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.footer-contact-h {
 color:#ffffff;
 font-size:18px;
 font-weight:600;
 line-height:1;
 margin-bottom:0px;
}
@media (max-width: 479px) {
.footer-contact-h {
 font-size:15px;
}
}

.popup {
}
.button:hover{
transform:scale(1.05,1.05); transition-duration:0.2s;
}
.button {
 font-family:Google Sans;
 line-height:1;
 padding-top:20px;
 padding-bottom:20px;
 padding-left:30px;
 padding-right:30px;
 font-size:var(--step-1);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:100px;
 gap:10px;
 min-height:60px;
cursor:pointer;
}
.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;
 min-height:50px;
}
}

.white-outline-button {
 color:#ffffff;
 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:1.5px;
 border-right-width:1.5px;
 border-bottom-width:1.5px;
 border-left-width:1.5px;
}
.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:100%;
}
}

.h3 {
 color:#191919;
 font-size:40px;
 line-height:1;
 font-weight:600;
 text-transform:capitalize;
}
@media (max-width: 991px) {
.h3 {
 font-size:35px;
 line-height:1;
 margin-bottom:15px;
}
}

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

.button-wrap {
 margin-top:25px;
 gap:10px;
}
.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;
flex-wrap:wrap;
align-items:stretch;
justify-content:flex-start;
gap:10px;
}
@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%;
 text-align:center;
}
.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;
}
}

.black-button {
 background-color:#191919;
 color:#ffffff;
}
.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-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;
}
.overscroller {
}
@media (max-width: 767px) {
.overscroller {
}
}

.top-cta-col {
 width:25%;
 padding-left:20px;
 padding-right:20px;
 gap:10px;
 color:#002230;
 font-weight:500;
 font-size:var(--step-1);px;
 line-height:1;
 text-transform:capitalize;
}
.top-cta-col:not(.ct-section):not(.oxy-easy-posts),
.top-cta-col.oxy-easy-posts .oxy-posts,
.top-cta-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
gap:10px;
}
@media (max-width: 1600px) {
.top-cta-col {
 font-size:14px;
}
}

@media (max-width: 767px) {
.top-cta-col {
 width:60%;
 min-width:60%;
 padding-left:30px;
 padding-right:30px;
 font-size:12px;
 font-weight:600;
 gap:5px;
white-space: nowrap;
}
.top-cta-col:not(.ct-section):not(.oxy-easy-posts),
.top-cta-col.oxy-easy-posts .oxy-posts,
.top-cta-col.ct-section .ct-section-inner-wrap{
gap:5px;
}
}

.top-cta-col-img {
 width:30px;
 height:30px;
 object-fit:contain;
}
@media (max-width: 1600px) {
.top-cta-col-img {
 width:25px;
 height:25px;
}
}

@media (max-width: 767px) {
.top-cta-col-img {
 width:22px;
 height:22px;
}
}

.hero-center-row {
 width:98%;
 border-radius:50px;
 padding-top:100px;
 padding-bottom:100px;
 padding-left:50px;
 padding-right:50px;
 position:relative;
 overflow:hidden;
 background-color:#00151c;
background-position: center top;
}
.hero-center-row:not(.ct-section):not(.oxy-easy-posts),
.hero-center-row.oxy-easy-posts .oxy-posts,
.hero-center-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
@media (max-width: 1600px) {
.hero-center-row {
 width:100%;
 padding-left:30px;
 padding-right:30px;
 padding-top:50px;
 padding-bottom:50px;
}
}

@media (max-width: 991px) {
.hero-center-row {
 padding-bottom:60px;
 padding-top:60px;
}
}

@media (max-width: 767px) {
.hero-center-row {
 padding-left:30px;
 padding-right:30px;
 padding-bottom:60px;
 border-radius:40px;
background-position: center bottom;
}
}

@media (max-width: 479px) {
.hero-center-row {
background-size: cover; padding-top:50px;
 border-radius:40px;
background-position: center bottom;
}
}

.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 {
 padding-right:0px;
 padding-top:0px;
 padding-bottom:0px;
}
}

@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:Lexend;
 line-height:0.9;
 color:#231f20;
 font-weight:600;
 text-align:left;
 padding-right:60px;
 z-index:2;
 font-size:var(--step-8);px;
 letter-spacing:-0.70px;
 margin-right:-50px;
 text-transform:capitalize;
}
@media (max-width: 1600px) {
.main-title {
 max-width:700px;
 margin-right:0px;
 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;
}
}

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

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

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

.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:25px;
 height:25px;
 min-height:25px;
 min-width:25px;
 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:Lexend;
 color:#ffffff;
 font-weight:400;
 line-height:1;
 text-align:left;
 font-size:var(--step-1);px;
}
@media (max-width: 1600px) {
.ico-h {
 font-size:var(--step-0);px;
}
}

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

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

.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: 767px) {
.button-row {
 text-align:justify;
 width:100%;
}
.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;
}
}

@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;
}
}

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

.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:Lexend;
 width:100%;
 text-align:left;
font-family:inherit;
}
.ff-forms .fluentform .ff-el-input--label label{
font-family: Inherit;
}

.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;
}
}

.top-ico-row {
 width:100%;
 text-align:center;
 gap:15px;
 margin-top:30px;
}
.top-ico-row:not(.ct-section):not(.oxy-easy-posts),
.top-ico-row.oxy-easy-posts .oxy-posts,
.top-ico-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:stretch;
justify-content:flex-start;
gap:15px;
}
@media (max-width: 991px) {
.top-ico-row {
}
}

.top-ico-wrap {
 padding-left:15px;
 padding-right:30px;
 padding-top:10px;
 padding-bottom:10px;
 background-color:#38b6ff;
 font-size:17px;
 text-transform:capitalize;
 color:#ffffff;
 font-weight:500;
 border-radius:100px;
 box-shadow:5px 10px 50px rgba(0,0,0,0.16);
}
.top-ico-wrap:not(.ct-section):not(.oxy-easy-posts),
.top-ico-wrap.oxy-easy-posts .oxy-posts,
.top-ico-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 991px) {
.top-ico-wrap {
 text-align:left;
 font-size:16px;
}
}

@media (max-width: 767px) {
.top-ico-wrap {
 width:100%;
}
}

@media (max-width: 479px) {
.top-ico-wrap {
 font-size:15px;
 padding-left:10px;
 padding-right:20px;
 padding-top:10px;
 padding-bottom:10px;
 text-align:left;
 line-height:1;
}
}

.top-ico {
 height:50px;
 margin-right:10px;
 width:50px;
filter: brightness(0) invert(1);
}
@media (max-width: 479px) {
.top-ico {
 height:40px;
 width:40px;
}
}

.h2 {
 line-height:0.99;
 font-weight:600;
 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 {
 font-size:var(--step-6);px;
}
}

@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;
}
}

.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;
}
.ff-dark {
}
.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;
}
}

.cta-card:hover{
transform:scale(1.02,1.02); transition-duration:0.2s;
 background-color:#38b6ff;
 color:#ffffff;
}
.cta-card {
 padding-top:15px;
 padding-right:20px;
 padding-bottom:15px;
 padding-left:15px;
 transition-duration:0.2s;
 border-radius:20px;
 width:48%;
 background-color:#e5e5e5;
 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: #ffffff;
border: 1px solid #ffffff;
padding: 8px;color: #231f20;}.cta-card-icon 
>svg {width: 18px;height: 18px;}.cta-card-icon {
 margin-right:15px;
}
@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;
}
@media (max-width: 479px) {
.cta-link {
 font-size:14px;
 font-weight:300;
}
}

.extra-service-row {
 font-family:Google Sans;
 color:#231f20;
 font-size:18px;
 line-height:1;
 padding-right:20px;
 margin-bottom:10px;
 width:100%;
 font-weight:600;
 text-transform:capitalize;
}
.extra-service-row:not(.ct-section):not(.oxy-easy-posts),
.extra-service-row.oxy-easy-posts .oxy-posts,
.extra-service-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 1600px) {
.extra-service-row {
 padding-right:10px;
 font-size:16px;
}
}

@media (max-width: 991px) {
.extra-service-row {
 font-size:18px;
 width:50%;
}
}

@media (max-width: 767px) {
.extra-service-row {
 width:100%;
}
}

@media (max-width: 479px) {
.extra-service-row {
 width:100%;
 margin-bottom:9px;
 text-align:left;
 font-size:16px;
}
}

.extra-check-ico {
background-color: #ff7427;
border: 1px solid #ff7427;
padding: 7px;color: #ffffff;}.extra-check-ico 
>svg {width: 11px;height: 11px;}.extra-check-ico {
 margin-right:8px;
}
@media (max-width: 991px) {
.extra-check-ico {
padding: 7px;}.extra-check-ico 
>svg {width: 15px;height: 15px;}.extra-check-ico {
}
}

@media (max-width: 479px) {
.extra-check-ico {
padding: 3px;}.extra-check-ico 
>svg {width: 13px;height: 13px;}.extra-check-ico {
}
}

.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-left {
}
.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-50:not(.ct-section):not(.oxy-easy-posts),
.col-50.oxy-easy-posts .oxy-posts,
.col-50.ct-section .ct-section-inner-wrap{
display:flex;
}
}

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

.p {
 font-size:var(--step-1);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 {
}
.secondary-button {
 color:#ffffff;
 background-color:#ff7427;
}
.fancy-title {
 font-family:'Shantell Sans';
 color:#00adef;
 letter-spacing:-2px;
}
.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;
}
}

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

.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;
}
.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;
}
.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;
}
}

.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-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:#38b6ff;
 border-right-color:#38b6ff;
 border-bottom-color:#38b6ff;
 border-left-color:#38b6ff;
 color:#38b6ff;
}
.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;
}
.white-circle-scaler {
 overflow:hidden;
 width:22%;
 max-width:250px;
}
@media (max-width: 991px) {
.white-circle-scaler {
 width:48%;
}
}

@media (max-width: 767px) {
.white-circle-scaler {
 width:100%;
 margin-bottom:0px;
 max-width:100%;
}
}

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

.white-circle-p {
 width:100%;
 padding-bottom:100%;
 position:relative;
}
.white-circle-inner {
 position:absolute;
 top:0px;
 left:0px;
 bottom:0px;
 right:0px;
 padding-top:0px;
 padding-right:0px;
 padding-bottom:0px;
 padding-left:0px;
 text-align:center;
 line-height:1.2;
 font-weight:600;
 font-size:var(--step-2);px;
 color:#ffffff;
}
.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 {
 font-size:var(--step-1);px;
}
}

@media (max-width: 991px) {
.white-circle-inner {
}
}

@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:150px;
 margin-bottom:10px;
 height:150px;
 object-fit:contain;
 margin-top:0px;
filter: brightness(0) invert(1);
}
@media (max-width: 1600px) {
.white-circle-img {
 margin-bottom:5px;
 width:120px;
 height:120px;
}
}

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

@media (max-width: 767px) {
.white-circle-img {
 width:50px;
 height:50px;
 margin-right:20px;
 margin-bottom:0px;
}
}

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

.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;
}
}

.white-text {
color:white!important;
}
.ani01 {
}
.ani02 {
}
.ani03 {
}
.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:Google 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:400px;
}
@media (max-width: 1600px) {
.logo-top {
 width:300px;
}
}

@media (max-width: 991px) {
.logo-top {
 width:200px;
}
}

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

@media (max-width: 479px) {
.logo-top {
 width:250px;
 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;
}
}

.big-btn {
 font-size:var(--step-1);px;
 letter-spacing:-0.8px;
}
@media (max-width: 1600px) {
.big-btn {
 font-size:var(--step-0);px;
}
}

.white-button {
 background-color:#ffffff;
 color:#002230;
}
.promo-row {
 width:100%;
 text-align:left;
 margin-top:40px;
}
.promo-row:not(.ct-section):not(.oxy-easy-posts),
.promo-row.oxy-easy-posts .oxy-posts,
.promo-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:space-between;
}
.promotion-card {
 border-radius:20px;
 width:20%;
}
.promo-top:hover{
transform:scale(1.05,1.05); transition-duration:0.3s;
}
.promo-top {
 transition-duration:0.3s;
width:calc(25% - 15px);
}
@media (max-width: 767px) {
.promo-top {
width:calc(50% - 15px);
}
}

@media (max-width: 479px) {
.promo-top {
 width:100%;
}
}

.col-space {
 padding-top:70px;
 padding-bottom:70px;
}
.col-space:not(.ct-section):not(.oxy-easy-posts),
.col-space.oxy-easy-posts .oxy-posts,
.col-space.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:center;
}
@media (max-width: 767px) {
.col-space {
 padding-bottom:20px;
 padding-top:20px;
}
}

.h2-colour {
 color:#38b6ff;
}
.col-icon {
 width:25%;
 padding-right:30px;
 padding-left:30px;
 font-size:var(--step-2);px;
 color:#ffffff;
 font-weight:500;
 line-height:1;
 text-align:center;
}
.col-icon:not(.ct-section):not(.oxy-easy-posts),
.col-icon.oxy-easy-posts .oxy-posts,
.col-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
@media (max-width: 991px) {
.col-icon {
 font-size:var(--step-1);px;
}
}

@media (max-width: 767px) {
.col-icon {
 width:100%;
 text-align:center;
 padding-left:0px;
 padding-right:0px;
}
.col-icon:not(.ct-section):not(.oxy-easy-posts),
.col-icon.oxy-easy-posts .oxy-posts,
.col-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
}

.company-logos {
 width:25%;
 max-width:220px;
}
@media (max-width: 1600px) {
.company-logos {
 max-width:120px;
}
}

@media (max-width: 767px) {
.company-logos {
 max-width:150px;
 width:50%;
}
}

@media (max-width: 479px) {
.company-logos {
 max-width:120px;
}
}

/* =========================================================
   01. GLOBAL
========================================================= */


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

:root {
    --step--5: clamp(0.3317rem, 0.374rem - 0.0544cqi, 0.3617rem);
    --step--4: clamp(0.4147rem, 0.4419rem - 0.0351cqi, 0.4341rem);
    --step--3: clamp(0.5184rem, 0.5218rem - 0.0044cqi, 0.5208rem);
    --step--2: clamp(0.625rem, 0.6156rem + 0.0419cqi, 0.648rem);
    --step--1: clamp(0.75rem, 0.7255rem + 0.1091cqi, 0.81rem);

    --step-0: clamp(0.9rem, 0.854rem + 0.2046cqi, 1.0125rem);
    --step-1: clamp(1.08rem, 1.004rem + 0.3375cqi, 1.2657rem);
    --step-2: clamp(1.296rem, 1.179rem + 0.52cqi, 1.582rem);
    --step-3: clamp(1.5552rem, 1.3824rem + 0.7679cqi, 1.9776rem);
    --step-4: clamp(1.8662rem, 1.6185rem + 1.1012cqi, 2.4719rem);
    --step-5: clamp(2.2395rem, 1.8916rem + 1.5462cqi, 3.0899rem);
    --step-6: clamp(2.6874rem, 2.2067rem + 2.1363cqi, 3.8624rem);
    --step-7: clamp(3.2249rem, 2.5691rem + 2.9147cqi, 4.828rem);
    --step-8: clamp(3.8698rem, 2.9841rem + 3.9366cqi, 6.035rem);
    --step-9: clamp(4.6438rem, 3.4574rem + 5.2726cqi, 7.5437rem);
    --step-10: clamp(5.5725rem, 3.9947rem + 7.0129cqi, 9.4297rem);
}

.overscroller {
    -ms-overflow-style: none; /* for Internet Explorer, Edge */
    scrollbar-width: none; /* for Firefox */
  
}

.overscroller::-webkit-scrollbar {
    display: none; /* for Chrome, Safari, and Opera */
}


/* ---------------------------------------------------------
   DOCUMENT
--------------------------------------------------------- */

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


/* ---------------------------------------------------------
   OXYGEN HEADING SPANS
   Keep styled spans within normal heading flow.
--------------------------------------------------------- */

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


/* =========================================================
   02. GLOBAL UTILITIES + ANIMATIONS
========================================================= */


/* ---------------------------------------------------------
   FADE IN
--------------------------------------------------------- */

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


.ani01,
.ani02,
.ani03,
.ani04 {
    opacity: 0;
    animation: fadein 0.7s ease-in-out forwards;
}


.ani01 {
    animation-delay: 200ms;
}


.ani02 {
    animation-delay: 400ms;
}


.ani03 {
    animation-delay: 600ms;
}


.ani04 {
    animation-delay: 800ms;
}

.service-trust-bar {
	--trust-text: #062534;
	--trust-gap: 24px;
	--trust-slide-gap: 18px;

	width: 100%;
	background: #ffffff;
	overflow: hidden;
	font-family: inherit;
}

.service-trust-track {
	width: 100%;
}

.service-trust-set {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	gap: var(--trust-gap);

	width: 100%;

	box-sizing: border-box;
}

.service-trust-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;

	min-width: 0;
	color: var(--trust-text);

	font-size: clamp(17px, 1.3vw, 22px);
	font-weight: 600;
	line-height: 1.2;

	white-space: nowrap;
}

.service-trust-icon {
	display: block;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	object-fit: contain;
}


/* =========================================
   TABLET + MOBILE SLIDER
========================================= */

@media (max-width: 991px) {

  /* Show duplicated set only when slider is active */
	.service-trust-clone {
		display: flex;
	}

	.service-trust-bar {
		/*
		 * 1.5 items visible:
		 * 1.5 slides + gap = viewport width
		 */
		--trust-slide-width:
			calc((100vw - var(--trust-slide-gap)) / 1.5);
	}

	.service-trust-track {
		display: flex;
		width: max-content;

		animation:
			service-trust-scroll 18s linear infinite;

		will-change: transform;
	}

	.service-trust-set {
		display: flex;
		flex: none;
		align-items: center;

		width: max-content;

		gap: var(--trust-slide-gap);

		/*
		 * Right padding is important.
		 * It makes the duplicated sets loop perfectly
		 * without a visible jump.
		 */
		padding: 0px var(--trust-slide-gap) 0px 0;
	}

	.service-trust-item {
		flex: 0 0 var(--trust-slide-width);

		width: var(--trust-slide-width);

		justify-content: center;

		font-size: clamp(17px, 2.2vw, 20px);
	}

	.service-trust-icon {
		width: 29px;
		height: 29px;
		flex-basis: 29px;
	}
}


/* Seamless movement */
@keyframes service-trust-scroll {

	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}

}


/* Accessibility */
@media (prefers-reduced-motion: reduce) {

	.service-trust-track {
		animation: none !important;
		transform: none !important;
	}

	.service-trust-set[aria-hidden="true"] {
		display: none !important;
	}

}

/* Hide duplicated slider set on desktop */
.service-trust-clone {
	display: none;
}

/* =========================================================
   03. GOOGLE REVIEWS
========================================================= */


/* ---------------------------------------------------------
   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-heading: #ffffff;
    --pp-review-text: #f1f3f4;
    --pp-review-muted: #b8c0c4;

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

    --pp-review-accent: #ff7427;
    --pp-review-yellow: #ff3216;

    /* JS-controlled variables */
    --pp-review-gap: 14px;
    --pp-review-card-width: 66.6667%;
    --pp-review-card-height: 220px;
    --pp-review-card-radius: 18px;
    --pp-review-section-radius: 26px;
    --pp-review-card-padding: 23px;

    width: 100%;
    min-width: 0;

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

    overflow: hidden;

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

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

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


/* ---------------------------------------------------------
   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-heading);
    background: var(--pp-review-card);

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

    font-size: var(--step-1);
    line-height: 1;
    font-weight: 500;
}


/* ---------------------------------------------------------
   SOURCE + RATING
--------------------------------------------------------- */

.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-heading);

    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-accent);
}


.pp-google-reviews__total:hover svg {
    transform: translateX(3px);
}


/* ---------------------------------------------------------
   SLIDER + TRACK
--------------------------------------------------------- */

.pp-google-reviews__slider {
    width: 100%;
    min-width: 0;

    overflow: hidden;
}


.pp-google-reviews__track {
    display: flex;

    align-items: stretch;

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

    width: 100%;
    min-width: 0;

    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 {
    display: flex;

    flex: 0 0 var(--pp-review-card-width);
    flex-direction: column;

    min-width: 0;
    min-height: var(--pp-review-card-height);

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

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

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

    scroll-snap-align: start;

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


.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 TEXT
--------------------------------------------------------- */

.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: #171a1c;
    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-heading);

    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-heading);

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


.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-heading);
    background: var(--pp-review-card);

    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: #171a1c;

    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;
}


/* ---------------------------------------------------------
   OPTIONAL CONTROLS
--------------------------------------------------------- */

.pp-google-reviews__position[hidden],
.pp-google-reviews__buttons[hidden] {
    display: none !important;
}


.pp-google-reviews__controls:has(
    .pp-google-reviews__position[hidden]
):has(
    .pp-google-reviews__buttons[hidden]
) {
    display: none;
}


/* ---------------------------------------------------------
   LIGHT VARIANT
   Colour variables remain controlled elsewhere.
--------------------------------------------------------- */

.pp-google-reviews--light {
    box-shadow:
        0 10px 35px
        rgba(25, 39, 46, 0.05);
}


.pp-google-reviews--light .pp-google-reviews__google-mark {
    box-shadow:
        0 4px 14px
        rgba(25, 39, 46, 0.06);
}


.pp-google-reviews--light .pp-review-card {
    box-shadow:
        0 7px 24px
        rgba(25, 39, 46, 0.045);
}


.pp-google-reviews--light .pp-google-reviews__button {
    box-shadow:
        0 4px 12px
        rgba(25, 39, 46, 0.05);
}


/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

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

    .pp-google-reviews--hover .pp-review-card:hover {
        background: var(--pp-review-card-hover);

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

        transform: translateY(-2px);

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


    .pp-google-reviews__button:hover {
        transform: translateY(-2px);
    }

}


/* ---------------------------------------------------------
   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-accent);
    outline-offset: 3px;
}


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

@media (max-width: 600px) {

    .pp-google-reviews {
        padding: 18px 16px;
    }


    .pp-google-reviews__header {
        margin-bottom: 19px;
    }


    .pp-google-reviews__google-mark {
        width: 39px;
        height: 39px;
    }


    .pp-google-reviews__total {
        font-size: var(--step--2);
    }

}


@media (max-width: 370px) {

    .pp-google-reviews__header {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* ---------------------------------------------------------
   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;
    }

}


/* =========================================================
   04. 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;

    color: var(--ff-text);

    color-scheme: dark;
}


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


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


/* ---------------------------------------------------------
   LABELS + GROUPS
--------------------------------------------------------- */

.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);
}


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


/* ---------------------------------------------------------
   INPUTS
--------------------------------------------------------- */

.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;
}


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

    resize: vertical;
}


/* ---------------------------------------------------------
   HOVER + FOCUS
--------------------------------------------------------- */

@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;
    }


    .ff-dark .ff-el-form-check:hover {
        background: var(--ff-field-hover);
        border-color: var(--ff-accent);
    }


    .ff-dark .ff-btn-submit:hover {
        background: #ffda2f !important;

        transform: translateY(-2px);

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

}


.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;
}


/* ---------------------------------------------------------
   SELECTS
--------------------------------------------------------- */

.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;
}


.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;
}


.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;
}


/* ---------------------------------------------------------
   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;
}


.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;
}


/* ---------------------------------------------------------
   MULTI 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 + ERRORS
--------------------------------------------------------- */

.ff-dark .ff-el-help-message,
.ff-dark .ff-el-form-control + small {
    color: var(--ff-muted);

    font-weight: 500;
}


.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;
}


/* ---------------------------------------------------------
   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;
    }

}


/* =========================================================
   05. FLUENT FORMS — GENERAL
   Trigger class: .ff-forms
========================================================= */

.ff-forms .ff-el-form-control {
    height: 60px;

    padding: 8px 15px;

    background-color: #ffffff;

    border: 1px solid #c2942d;

    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: "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 {
    position: relative;

    display: flex;

    flex-direction: column;

    float: none !important;

    width: 50% !important;

    margin: 0 0 10px;
}


.ff-forms .fluentform label.ff-el-image-input-src {
    display: block;

    width: 100%;
    height: auto;

    padding-bottom: 100%;

    background-position: center;
    background-repeat: no-repeat;
    background-size: 70%;

    cursor: pointer;
}


.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;
}


@media (min-width: 768px) {

    .ff-forms .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check {
        width: 16.66% !important;
        min-width: 200px;
    }

}


/* =========================================================
   06. LIVE 24/7 STATUS — LIGHT BACKGROUND VERSION
========================================================= */

.tdg-live-status,
.tdg-live-status * {
    box-sizing: border-box;
}


.tdg-live-status {
    --tdg-live-dark: #022b39;
    --tdg-live-muted: #52636a;
    --tdg-live-green: #2bd576;
    --tdg-live-line: rgba(2, 43, 57, 0.22);

    display: inline-flex;

    align-items: center;

    gap: 12px;

    width: auto;
    max-width: 100%;

    padding: 0;

    color: var(--tdg-live-dark);
    background: transparent;

    border: 0;

    box-shadow: none;

    font-size: calc(var(--step--2, 12px) * 1.15);
    line-height: 1;
    font-weight: 500;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   AVAILABILITY
--------------------------------------------------------- */

.tdg-live-status__availability {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--tdg-live-dark);

    font-weight: 600;
}


/* ---------------------------------------------------------
   PULSE
--------------------------------------------------------- */

.tdg-live-status__pulse {
    position: relative;

    display: block;

    width: 8px;
    height: 8px;

    flex: 0 0 8px;

    background: var(--tdg-live-green);

    border-radius: 50%;
}


.tdg-live-status__pulse::after {
    content: "";

    position: absolute;

    inset: -5px;

    border: 1px solid var(--tdg-live-green);
    border-radius: 50%;

    animation:
        tdgLivePulse
        1.8s
        ease-out
        infinite;
}


@keyframes tdgLivePulse {

    0% {
        transform: scale(0.65);
        opacity: 0.75;
    }

    70%,
    100% {
        transform: scale(1.55);
        opacity: 0;
    }

}


/* ---------------------------------------------------------
   DIVIDER + TIME
--------------------------------------------------------- */

.tdg-live-status__divider {
    width: 1px;
    height: 15px;

    flex: 0 0 1px;

    background: var(--tdg-live-line);
}


.tdg-live-status__clock {
    display: inline-block;

    width: 7.8ch;

    color: var(--tdg-live-dark);

    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";

    font-weight: 600;

    text-align: center;
}


/* ---------------------------------------------------------
   RESPONSE
--------------------------------------------------------- */

.tdg-live-status__response {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    color: var(--tdg-live-muted);

    font-weight: 600;
}


.tdg-live-status__response svg {
    width: 14px;
    height: 14px;

    flex: 0 0 auto;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


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

@media (max-width: 600px) {

    .tdg-live-status {
        gap: 9px;

        font-size: 12.5px;
    }


    .tdg-live-status__availability {
        gap: 7px;
    }


    .tdg-live-status__divider {
        height: 14px;
    }


    .tdg-live-status__clock {
        width: 7.5ch;
    }


    .tdg-live-status__response svg {
        width: 13px;
        height: 13px;
    }

}


@media (max-width: 390px) {

    .tdg-live-status {
        gap: 8px;

        font-size: 11.5px;
    }


    .tdg-live-status__response svg {
        width: 12px;
        height: 12px;
    }

}


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

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

    .tdg-live-status__pulse::after {
        animation: none;
        opacity: 0;
    }

}


/* =========================================================
   07. MONTHLY PROMOTION
========================================================= */

.tdg-promo,
.tdg-promo * {
    box-sizing: border-box;
}


.tdg-promo {
    --tdg-promo-navy: #022b39;
    --tdg-promo-blue: #3bb4ec;
    --tdg-promo-orange: #ff7029;
    --tdg-promo-muted: #6c767b;

    position: relative;

    width: 100%;

    padding: 16px 18px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid rgba(2, 43, 57, 0.12);
    border-radius: 14px;

    box-shadow:
        0 7px 22px
        rgba(2, 43, 57, 0.045);
}


.tdg-promo::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: var(--tdg-promo-orange);
}


/* ---------------------------------------------------------
   MAIN ROW
--------------------------------------------------------- */

.tdg-promo__main {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 14px;

    min-width: 0;
}


/* ---------------------------------------------------------
   OFFER
--------------------------------------------------------- */

.tdg-promo__offer {
    display: flex;

    align-items: baseline;

    gap: 7px;

    min-width: 0;
}


.tdg-promo__offer strong {
    color: var(--tdg-promo-orange);

    font-size: clamp(25px, 2.2vw, 34px);
    line-height: 1;
    font-weight: 600;

    white-space: nowrap;
}


.tdg-promo__offer span {
    color: var(--tdg-promo-navy);

    font-size: clamp(12px, 1vw, 15px);
    line-height: 1.15;
    font-weight: 600;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   CODE
--------------------------------------------------------- */

.tdg-promo__code {
    display: inline-flex;

    align-items: center;

    flex: 0 0 auto;

    overflow: hidden;

    background: #f3f7f8;

    border: 1px dashed rgba(2, 43, 57, 0.22);
    border-radius: 9px;
}


.tdg-promo__code-value {
    padding: 9px 10px;

    color: var(--tdg-promo-navy);

    font-size: 11px;
    line-height: 1;
    font-weight: 600;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   COPY BUTTON
--------------------------------------------------------- */

.tdg-promo__copy {
    appearance: none;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 5px;

    min-height: 32px;

    margin: 3px;
    padding: 0 9px;

    color: #ffffff;
    background: var(--tdg-promo-navy);

    border: 0;
    border-radius: 6px;

    font: inherit;

    font-size: 10px;
    line-height: 1;
    font-weight: 500;

    cursor: pointer;

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


.tdg-promo__copy svg {
    width: 13px;
    height: 13px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.tdg-promo__copy:hover {
    background: var(--tdg-promo-blue);
}


.tdg-promo__copy.is-copied {
    background: var(--tdg-promo-orange);
}


/* ---------------------------------------------------------
   META
--------------------------------------------------------- */

.tdg-promo__meta {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-top: 9px;

    color: var(--tdg-promo-muted);

    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
}


.tdg-promo__divider {
    width: 1px;
    height: 11px;

    background: rgba(2, 43, 57, 0.17);
}


.tdg-promo__month {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    white-space: nowrap;
}


.tdg-promo__month i {
    width: 6px;
    height: 6px;

    flex: 0 0 auto;

    background: var(--tdg-promo-blue);

    border-radius: 50%;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1100px) {

    .tdg-promo__main {
        align-items: flex-start;
        flex-direction: column;

        gap: 10px;
    }


    .tdg-promo__code {
        width: 100%;

        justify-content: space-between;
    }

}


@media (max-width: 600px) {

    .tdg-promo {
        padding: 14px 15px;
    }


    .tdg-promo__main {
        gap: 9px;
    }


    .tdg-promo__offer strong {
        font-size: 28px;
    }


    .tdg-promo__offer span {
        font-size: 12px;
    }


    .tdg-promo__code-value {
        font-size: 11px;
    }


    .tdg-promo__meta {
        flex-wrap: wrap;

        gap: 7px;
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITY + MOTION
--------------------------------------------------------- */

.tdg-promo__copy:focus-visible {
    outline: 3px solid var(--tdg-promo-blue);
    outline-offset: 2px;
}


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

    .tdg-promo__copy {
        transition: none;
    }

}


/* =========================================================
   08. COUPONS
========================================================= */

.tdg-coupons,
.tdg-coupons * {
    box-sizing: border-box;
}


.tdg-coupons {
    display: grid;

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

    gap: clamp(12px, 1.4vw, 20px);

    width: 100%;
}


/* ---------------------------------------------------------
   CARD
--------------------------------------------------------- */

.tdg-coupon {
    --coupon-bg: #022b39;
    --coupon-text: #ffffff;
    --coupon-soft: rgba(255, 255, 255, 0.72);
    --coupon-line: rgba(255, 255, 255, 0.25);

    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;
    min-height: 245px;

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

    overflow: hidden;

    color: var(--coupon-text);
    background: var(--coupon-bg);

    border-radius: 20px;

    isolation: isolate;

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


/* ---------------------------------------------------------
   CUTOUTS
--------------------------------------------------------- */

.tdg-coupon::before,
.tdg-coupon::after {
    content: "";

    position: absolute;

    top: 50%;

    width: 24px;
    height: 24px;

    background: #002230;

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 4;
}


.tdg-coupon::before {
    left: -12px;
}


.tdg-coupon::after {
    right: -12px;
}


/* ---------------------------------------------------------
   CONTENT OFFSET + DETAIL
--------------------------------------------------------- */

.tdg-coupon > * {
    margin-left: 32px;
}


.tdg-coupon__top {
    position: relative;

    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 9px;
}


.tdg-coupon__top::after {
    content: "";

    position: absolute;

    top: 18px;
    bottom: 18px;
    left: 44px;

    width: 1px;

    border-left: 2px dashed var(--coupon-line);

    opacity: 0.8;
}


.tdg-coupon__top::before {
    content: "";

    position: absolute;

    top: -70px;
    right: -50px;

    width: 130px;
    height: 130px;

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

    border-radius: 50%;

    pointer-events: none;
}


/* ---------------------------------------------------------
   LABEL + PRICE
--------------------------------------------------------- */

.tdg-coupon__label {
    display: inline-flex;

    align-items: center;

    min-height: 24px;

    padding: 5px 8px;

    color: var(--coupon-text);
    background: rgba(255, 255, 255, 0.12);

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;

    font-size: 10px;
    line-height: 1;
    font-weight: 600;

    text-transform: uppercase;
}


.tdg-coupon__price {
    color: var(--coupon-text);

    font-size: clamp(30px, 2.5vw, 43px);
    line-height: 0.9;
    font-weight: 600;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   TITLE + TEXT
--------------------------------------------------------- */

.tdg-coupon__title {
    margin:
        4px
        0
        9px
        32px;

    color: var(--coupon-text);

    font-size: clamp(17px, 1.3vw, 21px);
    line-height: 1.15;
    font-weight: 600;
}


.tdg-coupon__text {
    margin:
        0
        0
        20px
        32px;

    color: var(--coupon-soft);

    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.45;
    font-weight: 400;
}


/* ---------------------------------------------------------
   BUTTON
--------------------------------------------------------- */

.tdg-coupon__button {
    display: inline-flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    width: fit-content;
    min-height: 40px;

    margin:
        auto
        0
        0
        32px;

    padding: 0 14px;

    color: var(--coupon-text);
    background: rgba(255, 255, 255, 0.10);

    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 9px;

    font-size: 13px;
    line-height: 1;
    font-weight: 500;

    text-decoration: none;

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


.tdg-coupon__button svg {
    width: 15px;
    height: 15px;

    fill: none;
    stroke: currentColor;

    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 180ms ease;
}


/* ---------------------------------------------------------
   COLOUR VARIANTS
--------------------------------------------------------- */

.tdg-coupon--orange {
    --coupon-bg: #ff7029;
}


.tdg-coupon--blue {
    --coupon-bg: #1da8e0;
}


.tdg-coupon--navy {
    --coupon-bg: #3b4658;
}


/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

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

    .tdg-coupon:hover {
        transform: translateY(-4px);

        box-shadow:
            0 16px 35px
            rgba(2, 43, 57, 0.12);
    }


    .tdg-coupon__button:hover {
        background: rgba(255, 255, 255, 0.18);

        transform: translateY(-1px);
    }


    .tdg-coupon__button:hover svg {
        transform: translateX(3px);
    }

}


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

@media (max-width: 1000px) {

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


    .tdg-coupon {
        min-height: 225px;
    }

}


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

@media (max-width: 600px) {

    .tdg-coupons {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .tdg-coupon {
        min-height: 0;

        padding: 19px 18px;

        border-radius: 16px;
    }


    .tdg-coupon > * {
        margin-left: 27px;
    }


    .tdg-coupon__top::after {
        top: 13px;
        bottom: 13px;
        left: 37px;
    }


    .tdg-coupon__price {
        font-size: 34px;
    }


    .tdg-coupon__title {
        margin:
            2px
            0
            8px
            27px;
    }


    .tdg-coupon__text {
        margin:
            0
            0
            17px
            27px;
    }


    .tdg-coupon__button {
        margin:
            0
            0
            0
            27px;
    }


    .tdg-coupon::before,
    .tdg-coupon::after {
        width: 20px;
        height: 20px;
    }


    .tdg-coupon::before {
        left: -10px;
    }


    .tdg-coupon::after {
        right: -10px;
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITY + MOTION
--------------------------------------------------------- */

.tdg-coupon__button:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
}


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

    .tdg-coupon,
    .tdg-coupon__button,
    .tdg-coupon__button svg {
        transition: none;
    }

}


/* =========================================================
   09. SERVICES
========================================================= */

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


.pp-services {
    --pp-blue: #3cb4e5;

    --pp-dark: #202124;
    --pp-muted: #687177;

    --pp-light: #f4f6f7;

    --pp-yellow: #ff7427;

    width: 100%;
}


/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */

.pp-services__grid {
    display: grid;

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

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

    width: 100%;
}


/* ---------------------------------------------------------
   CARD
--------------------------------------------------------- */

.pp-service-card {
    min-width: 0;

    margin: 0;
    padding: 0;

    background: transparent;
}


/* ---------------------------------------------------------
   MEDIA
--------------------------------------------------------- */

.pp-service-card__media {
    position: relative;

    isolation: isolate;

    width: 100%;

    aspect-ratio: 4 / 2.2;

    overflow: hidden;

    background: var(--pp-light);

    border-radius: 18px;
}


.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;

    z-index: 2;

    inset: 0;

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


.pp-service-card__media-link {
    position: absolute;

    z-index: 4;

    inset: 0;
}


/* ---------------------------------------------------------
   IMAGE HOVER OVERLAY
--------------------------------------------------------- */

.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;
}


/* ---------------------------------------------------------
   IMAGE CTA
--------------------------------------------------------- */

.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: #ffffff;
    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;
}


/* ---------------------------------------------------------
   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);
}


/* ---------------------------------------------------------
   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);
    }

}


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

@media (max-width: 1100px) {

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

}


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

@media (max-width: 767px) {

    .pp-services__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pp-service-card__media {
        aspect-ratio: 16 / 9;
        border-radius: 15px;
    }

    .pp-service-card__quote,
    .pp-service-card__media::after {
        display: none;
    }

    .pp-service-card__content {
        padding-top: 14px;
    }

    .pp-service-card__heading {
        align-items: center;
    }

    .pp-service-card__title {
        font-size: 1.05rem;
    }

    .pp-service-card__toggle {
        display: inline-flex;
    }

    .pp-service-card__details {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;

        transition:
            grid-template-rows 240ms ease,
            opacity 200ms ease;
    }

    .pp-service-card__details > * {
        min-height: 0;
    }

    .pp-service-card__text {
        overflow: hidden;
        margin-top: 0;
    }

    .pp-service-card__link {
        display: none;
    }

    .pp-service-card.is-open .pp-service-card__details {
        display: block;
        opacity: 1;
    }

    .pp-service-card.is-open .pp-service-card__text {
        margin-top: 12px;
    }

    .pp-service-card.is-open .pp-service-card__link {
        display: inline-flex;
    }

}


/* ---------------------------------------------------------
   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 ANIMATION
--------------------------------------------------------- */

@keyframes pp-service-skeleton {

    to {
        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;
    }

}

/*end*/

/* =========================================================
   10. SMALL CTA
========================================================= */

.tdg-small-cta,
.tdg-small-cta * {
    box-sizing: border-box;
}


.tdg-small-cta {
    --tdg-cta-blue: #3bb4ec;
    --tdg-cta-orange: #ff7029;

    --tdg-cta-navy: #022b39;

    --tdg-cta-text: #667078;
    --tdg-cta-white: #ffffff;

    --tdg-cta-border: rgba(2, 43, 57, 0.10);

    width: 100%;
}


/* ---------------------------------------------------------
   INNER
--------------------------------------------------------- */

.tdg-small-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(32px, 4vw, 62px);

    background:
        linear-gradient(
            125deg,
            #f7fafb 0%,
            #ffffff 52%,
            #edf9fd 100%
        );

    border: 1px solid var(--tdg-cta-border);
    border-radius: clamp(22px, 2.5vw, 32px);
}


/* ---------------------------------------------------------
   BACKGROUND DETAILS
--------------------------------------------------------- */

.tdg-small-cta__inner::before {
    content: "";

    position: absolute;

    top: -140px;
    right: -100px;

    width: 340px;
    height: 340px;

    background:
        radial-gradient(
            circle,
            rgba(59, 180, 236, 0.16),
            transparent 68%
        );

    pointer-events: none;
}


.tdg-small-cta__inner::after {
    content: "";

    position: absolute;

    right: 18%;
    bottom: -150px;

    width: 280px;
    height: 280px;

    border: 46px solid rgba(255, 112, 41, 0.035);
    border-radius: 50%;

    pointer-events: none;
}


/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.tdg-small-cta__content {
    position: relative;

    z-index: 2;

    max-width: 760px;
}


.tdg-small-cta__eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    min-height: 31px;

    margin-bottom: 14px;
    padding: 7px 12px;

    color: var(--tdg-cta-navy);
    background: rgba(59, 180, 236, 0.12);

    border: 1px solid rgba(59, 180, 236, 0.20);
    border-radius: 100px;

    font-size: var(--step--1);
    line-height: 1;
    font-weight: 500;
}


.tdg-small-cta__eyebrow::before {
    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 auto;

    background: var(--tdg-cta-orange);

    border-radius: 50%;
}


.tdg-small-cta__title {
    max-width: 720px;

    margin: 0;

    color: var(--tdg-cta-navy);

    font-size: var(--step-4);
    line-height: 1.03;
    font-weight: 500;
}


.tdg-small-cta__title span {
    display: inline;

    color: var(--tdg-cta-blue);
}


.tdg-small-cta__text {
    max-width: 680px;

    margin: 18px 0 0;

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

    font-size: var(--step-0);
    line-height: 1.65;
    font-weight: 500;
}


/* ---------------------------------------------------------
   ACTIONS
--------------------------------------------------------- */

.tdg-small-cta__actions {
    position: relative;

    z-index: 2;

    display: grid;

    gap: 12px;
}


.tdg-small-cta__book,
.tdg-small-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: 17px;

    text-decoration: none;

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


.tdg-small-cta__book {
    color: var(--tdg-cta-white);
    background: var(--tdg-cta-orange);

    box-shadow:
        0 10px 30px
        rgba(255, 112, 41, 0.16);
}


.tdg-small-cta__call {
    color: var(--tdg-cta-white);
    background: var(--tdg-cta-navy);

    box-shadow:
        0 10px 30px
        rgba(2, 43, 57, 0.13);
}


/* ---------------------------------------------------------
   BUTTON ICON
--------------------------------------------------------- */

.tdg-small-cta__button-icon {
    display: grid;

    width: 48px;
    height: 48px;

    place-items: center;

    border-radius: 50%;
}


.tdg-small-cta__book .tdg-small-cta__button-icon {
    background: rgba(255, 255, 255, 0.17);
}


.tdg-small-cta__call .tdg-small-cta__button-icon {
    color: var(--tdg-cta-blue);
    background: rgba(255, 255, 255, 0.08);
}


.tdg-small-cta__button-icon svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ---------------------------------------------------------
   BUTTON COPY
--------------------------------------------------------- */

.tdg-small-cta__button-copy {
    min-width: 0;
}


.tdg-small-cta__button-copy small,
.tdg-small-cta__button-copy strong {
    display: block;
}


.tdg-small-cta__button-copy small {
    margin-bottom: 4px;

    font-size: var(--step--2);
    line-height: 1.1;
    font-weight: 500;
}


.tdg-small-cta__book .tdg-small-cta__button-copy small {
    color: rgba(255, 255, 255, 0.72);
}


.tdg-small-cta__call .tdg-small-cta__button-copy small {
    color: rgba(255, 255, 255, 0.58);
}


.tdg-small-cta__button-copy strong {
    overflow: hidden;

    color: inherit;

    font-size: var(--step-0);
    line-height: 1.2;
    font-weight: 500;

    text-overflow: ellipsis;
    white-space: nowrap;
}


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

.tdg-small-cta__arrow {
    display: grid;

    width: 36px;
    height: 36px;

    place-items: center;

    border-radius: 50%;

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


.tdg-small-cta__book .tdg-small-cta__arrow {
    background: rgba(255, 255, 255, 0.16);
}


.tdg-small-cta__call .tdg-small-cta__arrow {
    background: rgba(255, 255, 255, 0.08);
}


.tdg-small-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) {

    .tdg-small-cta__book:hover,
    .tdg-small-cta__call:hover {
        transform: translateY(-3px);
    }


    .tdg-small-cta__book:hover {
        background: #f8651f;

        box-shadow:
            0 17px 38px
            rgba(255, 112, 41, 0.23);
    }


    .tdg-small-cta__call:hover {
        background: #063747;

        box-shadow:
            0 17px 38px
            rgba(2, 43, 57, 0.20);
    }


    .tdg-small-cta__book:hover .tdg-small-cta__arrow,
    .tdg-small-cta__call:hover .tdg-small-cta__arrow {
        transform: translateX(3px);
    }

}


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

.tdg-small-cta__book:focus-visible,
.tdg-small-cta__call:focus-visible {
    outline: 3px solid var(--tdg-cta-blue);
    outline-offset: 4px;
}


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

@media (max-width: 950px) {

    .tdg-small-cta__inner {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .tdg-small-cta__actions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


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

@media (max-width: 650px) {

    .tdg-small-cta__inner {
        gap: 25px;

        padding: 26px 18px;

        border-radius: 20px;
    }


    .tdg-small-cta__title {
        font-size: var(--step-3);
        line-height: 1.07;
    }


    .tdg-small-cta__text {
        margin-top: 14px;

        line-height: 1.55;
    }


    .tdg-small-cta__actions {
        grid-template-columns: 1fr;

        gap: 10px;
    }


    .tdg-small-cta__book,
    .tdg-small-cta__call {
        grid-template-columns:
            44px
            minmax(0, 1fr)
            34px;

        min-height: 70px;

        gap: 11px;

        padding: 11px 12px;

        border-radius: 14px;
    }


    .tdg-small-cta__button-icon {
        width: 44px;
        height: 44px;
    }


    .tdg-small-cta__arrow {
        width: 34px;
        height: 34px;
    }

}


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

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

    .tdg-small-cta__book,
    .tdg-small-cta__call,
    .tdg-small-cta__arrow {
        transition: none;
    }

}


/* =========================================================
   11. RECENT JOBS
========================================================= */

.tdg-jobs,
.tdg-jobs * {
    box-sizing: border-box;
}


.tdg-jobs {
    --tdg-blue: #3bb4ec;
    --tdg-orange: #ff7029;
    --tdg-navy: #022b39;

    --tdg-text: #1c1d1f;
    --tdg-muted: #667078;

    --tdg-background: #f1f1f1;
    --tdg-card: #ffffff;
    --tdg-border: #e2e5e7;

    width: 100%;

    color: var(--tdg-text);
    background: var(--tdg-background);

    overflow: hidden;
}


.tdg-jobs__inner {
    width: 100%;
    max-width: 1540px;

    margin: 0 auto;
}


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

.tdg-jobs__header {
    max-width: 900px;

    margin:
        0
        auto
        clamp(45px, 6vw, 75px);

    text-align: center;
}


.tdg-jobs__eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 16px;
    padding: 8px 13px;

    color: var(--tdg-navy);
    background: rgba(59, 180, 236, 0.12);

    border: 1px solid rgba(59, 180, 236, 0.24);
    border-radius: 999px;

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1;
    font-weight: 600;

    text-transform: uppercase;
}


.tdg-jobs__eyebrow::before {
    content: "";

    width: 7px;
    height: 7px;

    background: var(--tdg-blue);

    border-radius: 50%;
}


.tdg-jobs__header h2 {
    max-width: 850px;

    margin:
        0
        auto
        20px;

    color: var(--tdg-text);

    font-size: clamp(42px, 5.2vw, 76px);
    line-height: 0.98;
    font-weight: 600;
}


.tdg-jobs__header h2 span {
    color: var(--tdg-blue);
}


.tdg-jobs__header p {
    max-width: 760px;

    margin: 0 auto;

    color: var(--tdg-muted);

    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.65;
}


/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */

.tdg-jobs__grid {
    display: grid;

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

    gap: clamp(16px, 1.8vw, 26px);
}


/* ---------------------------------------------------------
   CARD
--------------------------------------------------------- */

.tdg-job-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: var(--tdg-card);

    border: 1px solid var(--tdg-border);
    border-radius: clamp(20px, 2vw, 28px);

    box-shadow:
        0 12px 35px
        rgba(1, 42, 55, 0.045);

    isolation: isolate;

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


.tdg-job-card::after {
    content: "";

    position: absolute;

    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    height: 4px;

    background: var(--tdg-orange);

    transform: scaleX(0);
    transform-origin: left center;

    transition: transform 260ms ease;
}


/* ---------------------------------------------------------
   IMAGE
--------------------------------------------------------- */

.tdg-job-card__image-wrap {
    position: relative;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #e7e9ea;
}


.tdg-job-card__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 500ms
        cubic-bezier(.2, .7, .2, 1);
}


/* ---------------------------------------------------------
   STATUS
--------------------------------------------------------- */

.tdg-job-card__status {
    position: absolute;

    z-index: 2;

    top: 15px;
    left: 15px;

    display: inline-flex;

    align-items: center;

    gap: 7px;

    padding: 8px 11px;

    color: #ffffff;
    background: rgba(2, 43, 57, 0.88);

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-size: 11px;
    line-height: 1;
    font-weight: 600;

    text-transform: uppercase;
}


.tdg-job-card__status span {
    width: 7px;
    height: 7px;

    background: var(--tdg-orange);

    border-radius: 50%;

    box-shadow:
        0 0 0 4px
        rgba(255, 112, 41, 0.18);
}


/* ---------------------------------------------------------
   NUMBER
--------------------------------------------------------- */

.tdg-job-card__number {
    position: absolute;

    z-index: 2;

    right: 15px;
    bottom: 11px;

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

    font-size: clamp(35px, 3vw, 50px);
    line-height: 1;
    font-weight: 600;

    text-shadow:
        0 2px 15px
        rgba(0, 0, 0, 0.3);
}


/* ---------------------------------------------------------
   BODY
--------------------------------------------------------- */

.tdg-job-card__body {
    display: flex;

    flex: 1;
    flex-direction: column;

    padding: clamp(19px, 1.8vw, 26px);
}


/* ---------------------------------------------------------
   META
--------------------------------------------------------- */

.tdg-job-card__meta {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 8px 14px;

    margin-bottom: 17px;
}


.tdg-job-card__location,
.tdg-job-card__time {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    margin: 0;

    color: var(--tdg-muted);

    font-size: clamp(11px, 0.9vw, 13px);
    line-height: 1.3;
    font-style: normal;
    font-weight: 500;
}


.tdg-job-card__location svg,
.tdg-job-card__time svg {
    width: 15px;
    height: 15px;

    flex: 0 0 auto;

    fill: none;
    stroke: var(--tdg-blue);

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.tdg-job-card__time time {
    color: var(--tdg-text);

    font-weight: 600;
}


/* ---------------------------------------------------------
   TITLE + DESCRIPTION
--------------------------------------------------------- */

.tdg-job-card h3 {
    margin: 0 0 11px;

    color: var(--tdg-text);

    font-size: clamp(21px, 1.7vw, 27px);
    line-height: 1.15;
    font-weight: 600;
}


.tdg-job-card p {
    margin: 0 0 24px;

    color: var(--tdg-muted);

    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.6;
}


/* ---------------------------------------------------------
   CARD BOTTOM
--------------------------------------------------------- */

.tdg-job-card__bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-top: auto;
    padding-top: 17px;

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


.tdg-job-card__bottom > span:first-child {
    color: var(--tdg-navy);

    font-size: 13px;
    line-height: 1;
    font-weight: 600;
}


.tdg-job-card__tick {
    display: grid;

    width: 30px;
    height: 30px;

    place-items: center;

    color: #ffffff;
    background: var(--tdg-blue);

    border-radius: 50%;

    font-size: 13px;
    line-height: 1;

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


/* ---------------------------------------------------------
   CARD HOVER
--------------------------------------------------------- */

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

    .tdg-job-card:hover {
        transform: translateY(-7px);

        border-color: rgba(59, 180, 236, 0.45);

        box-shadow:
            0 22px 50px
            rgba(1, 42, 55, 0.10);
    }


    .tdg-job-card:hover::after {
        transform: scaleX(1);
    }


    .tdg-job-card:hover .tdg-job-card__image {
        transform: scale(1.055);
    }


    .tdg-job-card:hover .tdg-job-card__tick {
        background: var(--tdg-orange);

        transform:
            rotate(-8deg)
            scale(1.08);
    }

}


/* ---------------------------------------------------------
   CTA
--------------------------------------------------------- */

.tdg-jobs__cta {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: clamp(30px, 4vw, 50px);

    padding:
        clamp(24px, 3vw, 36px)
        clamp(24px, 4vw, 48px);

    overflow: hidden;

    color: #ffffff;
    background: var(--tdg-navy);

    border-radius: clamp(20px, 2vw, 28px);
}


.tdg-jobs__cta::after {
    content: "";

    position: absolute;

    right: 18%;

    width: 190px;
    height: 190px;

    border: 42px solid rgba(59, 180, 236, 0.08);
    border-radius: 50%;

    pointer-events: none;
}


.tdg-jobs__cta > * {
    position: relative;

    z-index: 2;
}


.tdg-jobs__cta-label {
    display: block;

    margin-bottom: 5px;

    color: var(--tdg-blue);

    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;

    text-transform: uppercase;
}


.tdg-jobs__cta strong {
    display: block;

    color: #ffffff;

    font-size: clamp(22px, 2.5vw, 34px);
    line-height: 1.15;
    font-weight: 600;
}


.tdg-jobs__button {
    display: inline-flex;

    flex: 0 0 auto;

    align-items: center;
    justify-content: center;

    gap: 14px;

    min-height: 52px;

    padding: 0 22px;

    color: #ffffff;
    background: var(--tdg-orange);

    border-radius: 999px;

    font-size: 14px;
    line-height: 1;
    font-weight: 600;

    text-decoration: none;

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


.tdg-jobs__button svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 180ms ease;
}


.tdg-jobs__button:hover {
    transform: translateY(-2px);
}


.tdg-jobs__button:hover svg {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1100px) {

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

}


@media (max-width: 650px) {

    .tdg-jobs__header h2 {
        font-size: clamp(39px, 12vw, 54px);
    }


    .tdg-jobs__grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .tdg-job-card__image-wrap {
        aspect-ratio: 16 / 11;
    }


    .tdg-job-card__body {
        padding: 20px;
    }


    .tdg-jobs__cta {
        align-items: flex-start;
        flex-direction: column;
    }


    .tdg-jobs__button {
        width: 100%;
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITY + MOTION
--------------------------------------------------------- */

.tdg-jobs__button:focus-visible {
    outline: 3px solid var(--tdg-blue);
    outline-offset: 4px;
}


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

    .tdg-job-card,
    .tdg-job-card::after,
    .tdg-job-card__image,
    .tdg-job-card__tick,
    .tdg-jobs__button,
    .tdg-jobs__button svg {
        transition: none;
    }


    .tdg-job-card:hover {
        transform: none;
    }

}


/* =========================================================
   12. FAQ / COMMON QUESTIONS
========================================================= */

.plumbing-faq {
    --faq-text: #20232c;
    --faq-heading: #022b39;

    --faq-muted: rgba(2, 43, 57, 0.38);
    --faq-line: rgba(2, 43, 57, 0.14);

    --faq-blue: #3bb4ec;
    --faq-orange: #ff7029;

    --faq-hover: rgba(59, 180, 236, 0.035);

    --faq-row-y: clamp(26px, 3vw, 42px);

    width: 100%;

    font-family: inherit;
}


.plumbing-faq *,
.plumbing-faq *::before,
.plumbing-faq *::after {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   LIST
--------------------------------------------------------- */

.plumbing-faq__items {
    list-style: none;

    margin: 0;
    padding: 0;

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


/* ---------------------------------------------------------
   ITEM
--------------------------------------------------------- */

.plumbing-faq__item {
    position: relative;

    color: var(--faq-text);

    border-bottom: 1px solid var(--faq-line);

    transition: background-color 220ms ease;
}


.plumbing-faq__item::before {
    content: "";

    position: absolute;

    top: -1px;
    left: 0;

    width: 0;
    height: 2px;

    background: var(--faq-orange);

    transition: width 260ms ease;
}


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

.plumbing-faq__question {
    min-width: 0;
}


.plumbing-faq__number {
    color: var(--faq-muted);

    font-size:
        clamp(
            12px,
            0.9vw,
            15px
        );

    line-height: 1;
    font-weight: 500;

    white-space: nowrap;

    transition:
        color 220ms ease,
        transform 220ms ease;
}


.plumbing-faq__question .h3 {
    margin: 0;

    color: var(--faq-heading);

    font-size:
        clamp(
            17px,
            1.25vw,
            21px
        ) !important;

    line-height: 1.25;
}


.plumbing-faq__trigger {
    display: inline;

    width: auto;

    margin: 0;
    padding: 0;

    color: inherit;
    background: transparent;

    border: 0;

    font: inherit;

    text-align: left;

    cursor: default;
}


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

.plumbing-faq__answer {
    min-width: 0;

    color: var(--faq-text);
}


.plumbing-faq__answer .p {
    max-width: 86ch;

    margin: 0;

    color: var(--faq-text);

    font-size:
        clamp(
            13px,
            0.95vw,
            15px
        ) !important;

    line-height: 1.55;
}


/* ---------------------------------------------------------
   DESKTOP TWO-COLUMN LAYOUT
--------------------------------------------------------- */

@media (min-width: 768px) {

    .plumbing-faq .plumbing-faq__item {
        display: grid !important;

        grid-template-columns:
            minmax(340px, 42%)
            minmax(0, 58%) !important;

        column-gap:
            clamp(48px, 7vw, 140px) !important;

        align-items: start !important;

        padding:
            clamp(20px, 2.3vw, 30px)
            0 !important;
    }


    .plumbing-faq .plumbing-faq__question {
        grid-column: 1 !important;
        grid-row: 1 !important;

        display: grid !important;

        grid-template-columns:
            clamp(40px, 3.5vw, 58px)
            minmax(0, 1fr) !important;

        column-gap:
            clamp(14px, 1.5vw, 22px) !important;

        align-items: baseline !important;

        min-width: 0;
    }


    .plumbing-faq .plumbing-faq__answer {
        grid-column: 2 !important;
        grid-row: 1 !important;

        display: block !important;

        min-width: 0;
        max-height: none !important;

        overflow: visible !important;

        opacity: 1 !important;

        margin-top: 0 !important;
    }


    .plumbing-faq .plumbing-faq__answer .p {
        max-width: 76ch;

        margin: 0 !important;

        font-size:
            clamp(
                13px,
                0.95vw,
                15px
            ) !important;

        line-height: 1.55;
    }


    .plumbing-faq .plumbing-faq__trigger {
        pointer-events: none;

        cursor: default;
    }

}


/* ---------------------------------------------------------
   DESKTOP HOVER
--------------------------------------------------------- */

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {

    .plumbing-faq__item:hover {
        background: var(--faq-hover);
    }


    .plumbing-faq__item:hover::before {
        width: 72px;
    }


    .plumbing-faq__item:hover .plumbing-faq__number {
        color: var(--faq-blue);

        transform: translateX(3px);
    }

}


/* ---------------------------------------------------------
   ENTRANCE ANIMATION
--------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {

    .plumbing-faq__item {
        animation:
            plumbingFaqRowIn
            520ms
            ease
            both;
    }


    .plumbing-faq__item:nth-child(2) {
        animation-delay: 70ms;
    }


    .plumbing-faq__item:nth-child(3) {
        animation-delay: 140ms;
    }


    .plumbing-faq__item:nth-child(4) {
        animation-delay: 210ms;
    }


    .plumbing-faq__item:nth-child(5) {
        animation-delay: 280ms;
    }


    .plumbing-faq__item:nth-child(6) {
        animation-delay: 350ms;
    }

}


@keyframes plumbingFaqRowIn {

    from {
        opacity: 0;

        transform: translateY(14px);
    }


    to {
        opacity: 1;

        transform: translateY(0);
    }

}


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

@media (max-width: 767px) {

    .plumbing-faq {
        --faq-row-y: 19px;
    }


    .plumbing-faq__item {
        display: block;

        padding:
            var(--faq-row-y)
            0;
    }


    .plumbing-faq__item:hover {
        background: transparent;
    }


    .plumbing-faq__item:hover::before {
        width: 0;
    }


    .plumbing-faq__question {
        display: block;
    }


    .plumbing-faq__number {
        display: block;

        margin-bottom: 7px;

        font-size: 12px;
    }


    .plumbing-faq__question .h3 {
        position: relative;

        padding-right: 38px;

        font-size: 17px !important;

        line-height: 1.25;
    }


    .plumbing-faq__trigger {
        display: block;

        width: 100%;

        cursor: pointer;
    }


    /* Plus / minus */

    .plumbing-faq__question .h3::before,
    .plumbing-faq__question .h3::after {
        content: "";

        position: absolute;

        top: 0.65em;
        right: 0;

        width: 16px;
        height: 2px;

        background: var(--faq-blue);

        transform-origin: center;

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


    .plumbing-faq__question .h3::after {
        transform: rotate(90deg);
    }


    .plumbing-faq__item.is-open
    .plumbing-faq__question
    .h3::before {
        background: var(--faq-orange);
    }


    .plumbing-faq__item.is-open
    .plumbing-faq__question
    .h3::after {
        opacity: 0;

        transform: rotate(0deg);

        background: var(--faq-orange);
    }


    /* Answer */

    .plumbing-faq__answer {
        max-height: 0;

        overflow: hidden;

        opacity: 0;

        margin-top: 0;

        transition:
            max-height 320ms ease,
            opacity 240ms ease,
            margin-top 240ms ease;
    }


    .plumbing-faq__answer .p {
        font-size: 14px !important;

        line-height: 1.55;
    }


    .plumbing-faq__item.is-open
    .plumbing-faq__answer {
        opacity: 1;

        margin-top: 12px;
    }


    .plumbing-faq__item.is-open
    .plumbing-faq__number {
        color: var(--faq-orange);
    }

}


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

@media (max-width: 420px) {

    .plumbing-faq__question .h3 {
        padding-right: 30px;

        font-size: 16px !important;
    }


    .plumbing-faq__question .h3::before,
    .plumbing-faq__question .h3::after {
        width: 15px;
    }


    .plumbing-faq__answer .p {
        font-size: 13px !important;
    }

}


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

.plumbing-faq__trigger:focus-visible {
    outline: 3px solid var(--faq-blue);
    outline-offset: 5px;

    border-radius: 2px;
}


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

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

    .plumbing-faq__item,
    .plumbing-faq__item::before,
    .plumbing-faq__number,
    .plumbing-faq__answer,
    .plumbing-faq__question .h3::before,
    .plumbing-faq__question .h3::after {
        animation: none;
        transition: none;
    }

}