.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: 1300px;
}
body {font-family: 'Lexend';}body {line-height: ;font-size: px;font-weight: ;color: ;}.oxy-nav-menu-hamburger-line {background-color: ;}h1, h2, h3, h4, h5, h6 {font-family: 'Lexend';}a {color: #00a0e3;font-weight: 300;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: none;}.ct-link-text:hover {text-decoration: none;}.ct-link {text-decoration: none;}.ct-link:hover {text-decoration: none;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 90px;
padding-right: 20px;
padding-bottom: 90px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@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;
				}
			}
.mobile-accordion-container {
}
.box1 {
}
@media (max-width: 991px) {
.box1 {
}
}

@media (max-width: 767px) {
.box1 {
 position:relative;
 height:100px;
 width:100%;
 text-align:center;
}
.box1:hover{
 width:100%;
 height:400px;
}
}

.box1-is-expanded {
}
.box-text {
 font-family:Lexend;
 font-size:20px;
 font-weight:300;
 line-height:1.3;
 text-align:left;
}
@media (max-width: 991px) {
.box-text {
 font-size:16px;
}
}

.box-heading {
transform:rotate(-90deg);}
.box-heading:not(.ct-section):not(.oxy-easy-posts),
.box-heading.oxy-easy-posts .oxy-posts,
.box-heading.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 767px) {
.box-heading {
transform:rotate(0deg); margin-bottom:0px;
 width:100%;
 position:relative;
}
.box-heading:hover{
transform:;}
}

.box-title {
 font-family:Lexend;
 font-size:26px;
 font-weight:700;
 text-transform:capitalize;
}
.box2 {
}
@media (max-width: 767px) {
.box2 {
 position:relative;
 height:100px;
 width:100%;
 text-align:center;
}
.box2:hover{
 width:100%;
 height:400px;
}
}

.box2-is-expanded {
}
.box3 {
}
@media (max-width: 767px) {
.box3 {
 position:relative;
 height:100px;
 width:100%;
 text-align:center;
}
.box3:hover{
 width:100%;
 height:400px;
}
}

.box3-is-expanded {
}
.oxel-breadcrumb-wrapper {
 width:100%;
}
.oxel-breadcrumb-code {
 width:100%;
}
.oxel_accordion {
 border-top-color:#adb4b9;
 border-right-color:#adb4b9;
 border-bottom-color:#adb4b9;
 border-left-color:#adb4b9;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
}
.oxel_accordion__row {
 font-family:Lexend;
 width:100%;
 padding-top:12px;
 padding-left:8px;
 padding-right:8px;
 padding-bottom:12px;
 text-align:justify;
 border-bottom-color:#eceeef;
 border-bottom-width:1px;
 border-bottom-style:solid;
 border-top-style:none;
 background-color:#f9f9fa;
 border-right-style:none;
 border-left-style:none;
 font-weight:600;
cursor: pointer;
}
.oxel_accordion__row:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row.oxy-easy-posts .oxy-posts,
.oxel_accordion__row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
justify-content:space-between;
}
.oxel_accordion__icon {
color: #374047;}.oxel_accordion__icon 
>svg {width: 18px;height: 18px;}.oxel_accordion__icon {
 margin-right:8px;
 transition-duration:0.3s;
}
.oxel_accordion__row_left {
}
.oxel_accordion__row_left:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row_left.oxy-easy-posts .oxy-posts,
.oxel_accordion__row_left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_accordion__content {
 width:100%;
 padding-top:8px;
 padding-left:8px;
 padding-right:8px;
 padding-bottom:8px;
 border-bottom-color:#98a1a8;
 border-bottom-width:2px;
 border-bottom-style:none;
 overflow:hidden;
 opacity:1;
 transition-duration:3s;
 border-top-style:none;
 border-right-style:none;
 border-left-style:none;
 transition-property:max-height;
 text-align:left;
 max-height:3000px;
 margin-top:0px;
}
.oxel_accordion__content:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content.oxy-easy-posts .oxy-posts,
.oxel_accordion__content.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.oxel_accordion__content__hidden {
 max-height:0px;
 padding-left:8px;
 padding-right:8px;
 padding-top:0px;
 z-index:-1;
 padding-bottom:0px;
 transition-duration:0s;
}
.oxel_accordion__content__hidden:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content__hidden.oxy-easy-posts .oxy-posts,
.oxel_accordion__content__hidden.ct-section .ct-section-inner-wrap{
display:flex;
}
.oxel_accordion__row__label {
}
.oxel_icon_button__container:hover{
}
.oxel_icon_button__container {
 background-color:color(1);
 padding-top:8px;
 padding-left:16px;
 padding-right:16px;
 padding-bottom:8px;
 transition-duration:0.3s;
}
.oxel_icon_button__container:not(.ct-section):not(.oxy-easy-posts),
.oxel_icon_button__container.oxy-easy-posts .oxy-posts,
.oxel_icon_button__container.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_icon_button_text {
 font-family:Lexend;
 color:#231815;
 font-size:22px;
 font-weight:300;
}
.oxel_icon_button_icon {
color: color(3);}.oxel_icon_button_icon 
>svg {width: 18px;height: 18px;}.oxel_icon_button_icon {
 margin-right:8px;
}
.text-link-icon:hover{
 gap:1.5rem;
}
.text-link-icon:not(.ct-section):not(.oxy-easy-posts):hover,
.text-link-icon.oxy-easy-posts:hover .oxy-posts,
.text-link-icon.ct-section:hover .ct-section-inner-wrap{
gap:1.5rem;
}
.text-link-icon {
 transition-duration:.4s;
 gap:.5rem;
}
.text-link-icon:not(.ct-section):not(.oxy-easy-posts),
.text-link-icon.oxy-easy-posts .oxy-posts,
.text-link-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
gap:.5rem;
}
.text {
 font-family:Lexend;
 font-size:18px;
 font-weight:300;
 line-height:1.4;
 text-align:left;
}
@media (max-width: 767px) {
.text {
 font-size:16px;
}
}

.content-wrapper {
 gap:1rem;
 width:100%;
 padding-top:1rem;
 padding-left:1rem;
 padding-right:1rem;
 padding-bottom:1rem;
 text-align:justify;
}
.content-wrapper:not(.ct-section):not(.oxy-easy-posts),
.content-wrapper.oxy-easy-posts .oxy-posts,
.content-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
align-items:center;
justify-content:center;
gap:1rem;
}
.btn-primary-icon:hover{
}
.btn-primary-icon {
 gap:.5rem;
 background-color:#eceeef;
 padding-top:1rem;
 padding-bottom:1rem;
 padding-left:1rem;
 padding-right:1rem;
}
.btn-primary-icon:not(.ct-section):not(.oxy-easy-posts),
.btn-primary-icon.oxy-easy-posts .oxy-posts,
.btn-primary-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
gap:.5rem;
}
.btn-icon-arrow {
}
.section-container {
 gap:1rem;
 width:100%;
}
.section-container:not(.ct-section):not(.oxy-easy-posts),
.section-container.oxy-easy-posts .oxy-posts,
.section-container.ct-section .ct-section-inner-wrap{
display:flex;
gap:1rem;
}
.ifc-h3 {
 font-family:Lexend;
 font-weight:800;
 font-size:40px;
 width:100%;
 text-align:left;
font-variation-settings: "opsz" 48, "wght" 800;
}
@media (max-width: 991px) {
.ifc-h3 {
 font-size:34px;
}
}

@media (max-width: 767px) {
.ifc-h3 {
 font-size:30px;
}
}

.search-page-results {
background-size: auto; background-repeat:repeat;
 background-attachment:scroll;
}
.h2 {
 font-family:Lexend;
 font-size:40px;
 font-weight:400;
}
@media (max-width: 767px) {
.h2 {
 font-size:34px;
}
}

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

.cell {
}
.h3 {
 font-family:Lexend;
 font-size:20px;
 font-weight:500;
}
.prev-btn {
-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0);
}
.next-btn {
-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0);
}
.x-timeline-1 {
 padding-bottom:2rem;
 --timeline-metacontent-width:20%;
 --timeline-list-type:decimal;
 --timeline-marker-background:transparent;
 --timeline-marker-color:#000000;
 --timeline-marker-scale:1;
 --timeline-marker-scalea:1.5;
}
.x-timeline-1 {
--timeline-content-width:100%;
}

.x-timeline-1 .oxy-content-timeline_content-inner{
padding-left:1rem;
padding-right:1rem;
margin-left:2rem;
margin-right:2rem;
border_radius_border-radius:10px;
border-radius:10px;
}

.x-timeline-1 {
--timeline-icon-size:30px;
}

.x-timeline-1_heading {
 margin-bottom:10px;
}
.nav-column {
 padding-bottom:2rem;
 gap:2rem;
}
.nav-column:not(.ct-section):not(.oxy-easy-posts),
.nav-column.oxy-easy-posts .oxy-posts,
.nav-column.ct-section .ct-section-inner-wrap{
gap:2rem;
}
@media (max-width: 767px) {
.nav-column {
 padding-bottom:0rem;
 gap:0.5rem;
}
.nav-column:not(.ct-section):not(.oxy-easy-posts),
.nav-column.oxy-easy-posts .oxy-posts,
.nav-column.ct-section .ct-section-inner-wrap{
gap:0.5rem;
}
}

.ifc-menu-heading:hover{
 color:color(45);
}
.ifc-menu-heading {
 font-family:Lexend;
 font-size:28px;
 font-weight:800;
 margin-bottom:8px;
 color:color(39);
 transition-duration:0.2s;
 text-align:left;
}
@media (max-width: 991px) {
.ifc-menu-heading {
 font-size:20px;
}
}

@media (max-width: 767px) {
.ifc-menu-heading {
 color:color(45);
}
.ifc-menu-heading:hover{
 color:color(39);
}
}

.bold {
font-variation-settings: "opsz" 48, "wght" 800;
}
.ifc-menu-item:hover{
 color:color(39);
}
.ifc-menu-item {
 margin-bottom:4px;
 color:color(45);
 font-size:18px;
 font-weight:700;
 letter-spacing:.2px;
 text-align:left;
 transition-duration:0.2s;
}
@media (max-width: 991px) {
.ifc-menu-item {
 font-size:16px;
 margin-bottom:0px;
}
}

@media (max-width: 767px) {
.ifc-menu-item {
}
.ifc-menu-item:not(.ct-section):not(.oxy-easy-posts),
.ifc-menu-item.oxy-easy-posts .oxy-posts,
.ifc-menu-item.ct-section .ct-section-inner-wrap{
display:none;
}
}

.ifc-content-wrapper {
 width:100%;
 z-index:1;
 text-align:justify;
 padding-top:0px;
}
.ifc-content-wrapper .ct-section-inner-wrap {
padding-right: 150px;
padding-left: 150px;
}
.ifc-content-wrapper:not(.ct-section):not(.oxy-easy-posts),
.ifc-content-wrapper.oxy-easy-posts .oxy-posts,
.ifc-content-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
}
.ifc-caption {
 font-family:Lexend;
 font-weight:700;
 text-transform:uppercase;
 line-height:91.667%;
 letter-spacing:.3px;
 font-size:20px;
}
@media (max-width: 991px) {
.ifc-caption {
}
}

.ifc-action-button {
 color:color(43);
 font-weight:900;
 padding-left:1.3rem;
 padding-right:1.3rem;
 padding-top:1rem;
 padding-bottom:0.8rem;
 text-align:center;
 border-radius:10px;
 margin-top:.25rem;
 margin-bottom:.25rem;
 transition-duration:0.3s;
}
.ifc-action-button:not(.ct-section):not(.oxy-easy-posts),
.ifc-action-button.oxy-easy-posts .oxy-posts,
.ifc-action-button.ct-section .ct-section-inner-wrap{
display:flex;
}
.green-button:hover{
 background-color:color(41);
 border-top-color:color(41);
 border-right-color:color(41);
 border-bottom-color:color(41);
 border-left-color:color(41);
}
.green-button {
 background-color:color(39);
}
.ifc-h5 {
 font-family:Lexend;
 font-size:22px;
 font-weight:900;
 line-height:1.2;
 text-align:left;
font-variation-settings: "opsz" 48, "wght" 800;
}
@media (max-width: 991px) {
.ifc-h5 {
 font-size:20px;
font-variation-settings: "opsz" 48, "wght" 800;
}
}

@media (max-width: 767px) {
.ifc-h5 {
 font-size:18px;
}
}

.blue-button:hover{
 background-color:color(42);
 border-top-color:color(41);
 border-right-color:color(41);
 border-bottom-color:color(41);
 border-left-color:color(41);
}
.blue-button {
 background-color:color(44);
}
.light-blue-button:hover{
 background-color:color(38);
 border-top-color:color(41);
 border-right-color:color(41);
 border-bottom-color:color(41);
 border-left-color:color(41);
}
.light-blue-button {
 background-color:color(40);
}
.dark-green-button:hover{
 background-color:#4b6026;
 border-top-color:color(41);
 border-right-color:color(41);
 border-bottom-color:color(41);
 border-left-color:color(41);
}
.dark-green-button {
 background-color:color(41);
}
.oxel_dropdown_buttonv2 {
 position:relative;
 width:min-content ;
}
.oxel_dropdown_buttonv2:not(.ct-section):not(.oxy-easy-posts),
.oxel_dropdown_buttonv2.oxy-easy-posts .oxy-posts,
.oxel_dropdown_buttonv2.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_dropdown_buttonv2__trigger {
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 position:relative;
cursor: pointer;
}
.oxel_dropdown_buttonv2__trigger:not(.ct-section):not(.oxy-easy-posts),
.oxel_dropdown_buttonv2__trigger.oxy-easy-posts .oxy-posts,
.oxel_dropdown_buttonv2__trigger.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.ifc-h4 {
 font-family:Lexend;
 font-weight:800;
 font-size:32px;
 color:color(45);
 text-align:left;
font-variation-settings: "opsz" 48, "wght" 800;
}
@media (max-width: 991px) {
.ifc-h4 {
 font-size:28px;
}
}

@media (max-width: 767px) {
.ifc-h4 {
 font-size:22px;
}
}

.oxel_dropdown_buttonv2__submenu {
 position:absolute;
 left:0px;
 min-width:100%;
 padding-top:4px;
 width:200px;
 z-index:10;
 top:100%;
 transition-duration:.3s;
 transition-timing-function:ease-in-out;
padding-inline-start: 0; margin-block-start: 0; margin-block-end: 0;
}
.oxel_dropdown_buttonv2__submenu:not(.ct-section):not(.oxy-easy-posts),
.oxel_dropdown_buttonv2__submenu.oxy-easy-posts .oxy-posts,
.oxel_dropdown_buttonv2__submenu.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
}
.oxel_dropdown_buttonv2__submenu--hidden {
 opacity:0;
 transition-timing-function:ease-in-out;
 transition-duration:.3s;
pointer-events: none;
}
.oxel_dropdown_buttonv2__submenu--hidden:not(.ct-section):not(.oxy-easy-posts),
.oxel_dropdown_buttonv2__submenu--hidden.oxy-easy-posts .oxy-posts,
.oxel_dropdown_buttonv2__submenu--hidden.ct-section .ct-section-inner-wrap{
display:none;
}
.ifc-submenu {
 background-color:color(43);
 border-radius:5px;
 z-index:1000;
}
.ifc-submenu:not(.ct-section):not(.oxy-easy-posts),
.ifc-submenu.oxy-easy-posts .oxy-posts,
.ifc-submenu.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.oxel_dropdown_buttonv2__submenubutton:hover{
}
.oxel_dropdown_buttonv2__submenubutton {
 text-align:right;
 min-width:100%;
 transition-duration:1s;
 transition-timing-function:ease-in-out;
 gap:1rem;
 padding-top:0rem;
}
.oxel_dropdown_buttonv2__submenubutton:not(.ct-section):not(.oxy-easy-posts),
.oxel_dropdown_buttonv2__submenubutton.oxy-easy-posts .oxy-posts,
.oxel_dropdown_buttonv2__submenubutton.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
gap:1rem;
}
.login-icon {
color: color(44);}.login-icon 
>svg {width: 55px;height: 55px;}.login-icon {
 margin-right:3px;
}
.login-icon:not(.ct-section):not(.oxy-easy-posts),
.login-icon.oxy-easy-posts .oxy-posts,
.login-icon.ct-section .ct-section-inner-wrap{
display:inline-flex;
}
.login-button:hover{
 color:color(39);
}
.login-button {
 font-size:18px;
 font-weight:700;
 color:color(45);
 transition-duration:0.2s;
}
.login-text {
 text-align:left;
}
.header {
}
.shrink-header {
 height:100px;
 background-color:#eceeef;
}
.header-logo {
background-image:url(https://locatesmarter.mystagingwebsite.com/wp-content/uploads/2026/10/White_Orange_Horizontal_RGB_cropped.svg);background-size: contain; background-repeat:no-repeat;
 background-position:50% 50%;
}
.oxel_dropdown_buttonv2__label {
white-space: nowrap;
}
.main-nav-trigger {
 margin-top:0px;
}
.break-line {
display: block; /* Forces the line break */ /* Add spacing if needed to match design */ margin-top: 0px;
}
@media (max-width: 991px) {
.break-line {
}
.break-line:not(.ct-section):not(.oxy-easy-posts),
.break-line.oxy-easy-posts .oxy-posts,
.break-line.ct-section .ct-section-inner-wrap{
display:none;
}
}

.hero-section {
}
@media (max-width: 1300px) {
.hero-section {
}
.hero-section .ct-section-inner-wrap {
padding-top: 250px;
padding-bottom: 100px;
}
}

.h1 {
 font-family:Lexend;
 font-size:60px;
 font-weight:700;
 line-height:1.2;
}
@media (max-width: 991px) {
.h1 {
 font-size:50px;
}
}

@media (max-width: 767px) {
.h1 {
 font-size:40px;
}
}

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

.footer-logo {
background-size: contain; background-repeat:no-repeat;
 width:100px;
 height:50px;
 background-position:50% 50%;
}
.btn-contact:hover{
}
.btn-contact {
 transition-duration:.4s;
}
.toggle-7907 {
}
@media (max-width: 991px) {
.toggle-7907 {
}
}

.toggle-7907-expanded {
}
.btn-primary:hover{
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
background: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
}
.btn-primary {
background-color :transparent;
border: 1px solid transparent;
color: #ffffff;
}.btn-primary {
 font-family:Lexend;
 border-radius:13px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.btn-primary {
 font-size:14px;
}
.btn-primary:hover{
}
}

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

.btn-secondary:hover{
background-color :#ffffff;
border: 1px solid #ffffff;
color: #005489;
}.btn-secondary:hover{
 transition-duration:.3s;
}
.btn-secondary {
background-color :#f5851f;
border: 1px solid #f5851f;
color: #ffffff;
}.btn-secondary {
 font-family:Lexend;
 border-radius:13px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.btn-secondary {
 font-size:14px;
}
}

.text-link:hover{
 text-decoration:underline;
}
.text-link {
 transition-duration:.4s;
 text-decoration:none;
 color:#000000;
}
.hover-underline {
}
.hvr-sweep-to-right {
}
.hvr-curl-top-right {
}
.half-width {
 width:50%;
 padding-top:1rem;
 padding-left:1rem;
 padding-right:1rem;
 padding-bottom:1rem;
}
.d-flex-wrap-row {
 width:100%;
 gap:1rem;
 text-align:left;
}
.d-flex-wrap-row:not(.ct-section):not(.oxy-easy-posts),
.d-flex-wrap-row.oxy-easy-posts .oxy-posts,
.d-flex-wrap-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:wrap;
gap:1rem;
}
.sticky-header {
 z-index:999999999;
 gap:0rem;
position: -webkit-sticky; position: sticky; top:0;
}
.sticky-header:not(.ct-section):not(.oxy-easy-posts),
.sticky-header.oxy-easy-posts .oxy-posts,
.sticky-header.ct-section .ct-section-inner-wrap{
gap:0rem;
}
.drop-shadow {
 background-color:color(14);
 box-shadow:0px 5px 5px 0px rgba(0,0,0,0.1);
}
.drop-shadow .ct-section-inner-wrap {
padding-top: 0;
padding-bottom: 0;
}
@media (max-width: 991px) {
.drop-shadow {
}
.drop-shadow .ct-section-inner-wrap {
padding-right: 10px;
padding-left: 10px;
}
}

.site-header {
 height:80px;
}
.mobile-menu-trigger {
}
.mobile-menu-trigger .hamburger-inner, .mobile-menu-trigger .hamburger-inner:after, .mobile-menu-trigger .hamburger-inner:before{
background-color:#000000;
}

.mobile-menu-trigger .hamburger:hover .hamburger-inner, .mobile-menu-trigger .hamburger:hover .hamburger-inner:after, .mobile-menu-trigger .hamburger:hover .hamburger-inner:before{
background-color:#ff0707;
}

@media (max-width: 991px) {
.mobile-menu-trigger {
}
.mobile-menu-trigger .hamburger:hover .hamburger-inner, .mobile-menu-trigger .hamburger:hover .hamburger-inner:after, .mobile-menu-trigger .hamburger:hover .hamburger-inner:before{
background-color:color(3);
}

}

.ifc-50-50-columns {
 gap:3rem;
 width:100%;
}
.ifc-50-50-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-50-50-columns.oxy-easy-posts .oxy-posts,
.ifc-50-50-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
gap:3rem;
}
@media (max-width: 991px) {
.ifc-50-50-columns {
 gap:2rem;
}
.ifc-50-50-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-50-50-columns.oxy-easy-posts .oxy-posts,
.ifc-50-50-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
gap:2rem;
}
}

.newsletter-modal {
}
.ifc-40-60-columns {
 width:100%;
 gap:3rem;
}
.ifc-40-60-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-40-60-columns.oxy-easy-posts .oxy-posts,
.ifc-40-60-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:stretch;
gap:3rem;
}
@media (max-width: 991px) {
.ifc-40-60-columns {
}
.ifc-40-60-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-40-60-columns.oxy-easy-posts .oxy-posts,
.ifc-40-60-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
}
}

.transparent-button:hover{
 background-color:color(8);
 color:color(9);
}
.transparent-button {
 background-color:tranparent;
}
.table-row {
 width:100%;
}
.table-row:not(.ct-section):not(.oxy-easy-posts),
.table-row.oxy-easy-posts .oxy-posts,
.table-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.table-cell {
 padding-left:.75rem;
 padding-right:.75rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-align:left;
}
.table-cell:not(.ct-section):not(.oxy-easy-posts),
.table-cell.oxy-easy-posts .oxy-posts,
.table-cell.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
}
@media (max-width: 991px) {
.table-cell {
}
}

@media (max-width: 767px) {
.table-cell {
 padding-left:.25rem;
 padding-right:.25rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
}
}

@media (max-width: 479px) {
.table-cell {
 font-size:13px;
 padding-left:.2rem;
 padding-right:.2rem;
}
}

.table-col-1 {
 width:40%;
}
@media (max-width: 991px) {
.table-col-1 {
 width:25%;
}
}

.table-col-2 {
 width:15%;
}
@media (max-width: 991px) {
.table-col-2 {
 width:18.75%;
}
}

.table-col-3 {
 width:15%;
}
@media (max-width: 991px) {
.table-col-3 {
 width:18.75%;
}
}

.table-col-4 {
 width:15%;
}
@media (max-width: 991px) {
.table-col-4 {
 width:18.75%;
}
}

.table-col-5 {
 width:15%;
}
@media (max-width: 991px) {
.table-col-5 {
 width:18.75%;
}
}

.smaller {
 font-size:16px;
}
@media (max-width: 991px) {
.smaller {
 font-size:12px;
}
}

@media (max-width: 767px) {
.smaller {
 font-size:11px;
}
}

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

.bolder {
 font-size:24px;
}
@media (max-width: 991px) {
.bolder {
 font-size:16px;
}
}

@media (max-width: 767px) {
.bolder {
 font-size:14px;
}
}

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

.section {
}
.ifc-30-30-30-columns {
 width:100%;
}
.ifc-30-30-30-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-30-30-30-columns.oxy-easy-posts .oxy-posts,
.ifc-30-30-30-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:space-between;
}
@media (max-width: 991px) {
.ifc-30-30-30-columns {
 gap:2rem;
}
.ifc-30-30-30-columns:not(.ct-section):not(.oxy-easy-posts),
.ifc-30-30-30-columns.oxy-easy-posts .oxy-posts,
.ifc-30-30-30-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
gap:2rem;
}
}

.ifc-30-col-left {
 width:32%;
 padding-top:1.5rem;
 padding-bottom:1.5rem;
 padding-right:2rem;
}
.ifc-30-col-left:not(.ct-section):not(.oxy-easy-posts),
.ifc-30-col-left.oxy-easy-posts .oxy-posts,
.ifc-30-col-left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:space-between;
}
@media (max-width: 991px) {
.ifc-30-col-left {
 padding-top:0rem;
 padding-right:0rem;
 padding-bottom:3rem;
 width:100%;
}
}

.black-transparent-button:hover{
 color:color(8);
 background-color:color(9);
}
.black-transparent-button {
 color:color(9);
}
.ifc-30-col-middle {
 width:36%;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:1.5rem;
 padding-bottom:1.5rem;
}
.ifc-30-col-middle:not(.ct-section):not(.oxy-easy-posts),
.ifc-30-col-middle.oxy-easy-posts .oxy-posts,
.ifc-30-col-middle.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:space-between;
}
@media (max-width: 991px) {
.ifc-30-col-middle {
 padding-top:3rem;
 padding-bottom:3rem;
 padding-left:0rem;
 padding-right:0rem;
 width:100%;
 border-top-style:solid;
 border-bottom-style:solid;
 border-left-style:none;
 border-left-width:0px;
 border-right-width:0px;
}
}

.ifc-30-col-right {
 width:32%;
 padding-top:1.5rem;
 padding-bottom:1.5rem;
 padding-left:2rem;
}
.ifc-30-col-right:not(.ct-section):not(.oxy-easy-posts),
.ifc-30-col-right.oxy-easy-posts .oxy-posts,
.ifc-30-col-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:space-between;
}
@media (max-width: 991px) {
.ifc-30-col-right {
 width:100%;
 padding-top:3rem;
 padding-bottom:0rem;
 padding-left:0rem;
}
}

.oxy-stock-content-styles {
}
.quarter-width {
 width:25%;
 padding-top:1rem;
 padding-left:1rem;
 padding-bottom:1rem;
 padding-right:1rem;
 gap:0rem;
}
.quarter-width:not(.ct-section):not(.oxy-easy-posts),
.quarter-width.oxy-easy-posts .oxy-posts,
.quarter-width.ct-section .ct-section-inner-wrap{
gap:0rem;
}
.footer-page-link:hover{
 color:#cfd3d7;
 text-decoration:underline;
}
.footer-page-link {
 color:#000000;
 transition-duration:.4s;
 text-decoration:none;
}
.footer-nav-link:hover{
 color:#cfd3d7;
 text-decoration:underline;
}
.footer-nav-link {
 color:#000000;
 transition-duration:.4s;
 text-decoration:none;
}
.dynamic-spacer {
 padding-top:80px;
}
.mobile-menu-link:hover{
 color:color(3);
}
.mobile-menu-link {
 color:#000000;
 transition-duration:.4s;
 text-decoration:underline;
 font-weight:700;
}
@media (max-width: 991px) {
.mobile-menu-link {
}
.mobile-menu-link:hover{
}
}

.main-nav-link:hover{
 color:#ff0000;
}
.main-nav-link {
 color:#000000;
 transition-duration:.4s;
}
.top-bar-link:hover{
 color:#cfd3d7;
 text-decoration:underline;
}
.top-bar-link {
 color:#000000;
 transition-duration:.4s;
 text-decoration:none;
}
.h4 {
 font-family:Lexend;
 font-size:24px;
 font-weight:700;
}
.h-italic {
 font-style:italic;
}
.t-italic {
 font-style:italic;
}
.full-width {
 width:100%;
 padding-top:1rem;
 padding-left:1rem;
 padding-right:1rem;
 padding-bottom:1rem;
}
.third-width {
 width:33.3%;
 padding-top:1rem;
 padding-left:1rem;
 padding-right:1rem;
 padding-bottom:1rem;
 gap:1rem;
}
.third-width:not(.ct-section):not(.oxy-easy-posts),
.third-width.oxy-easy-posts .oxy-posts,
.third-width.ct-section .ct-section-inner-wrap{
display:flex;
gap:1rem;
}
@media (max-width: 991px) {
.third-width {
 width:100%;
}
}

.horizontal-divider {
 height:1px;
 width:100%;
 background-color:#000000;
min-height: 0px !important;
}
.vertical-divider {
 height:100%;
 width:2px;
 margin-right:16px;
 background-color:#000000;
min-width: 0px !important;
}
.btn-icon:hover{
background-color :#eaeaea;
border: 1px solid #eaeaea;
}.btn-icon:hover{
}
.btn-icon {
background-color :#ffffff;
border: 1px solid #ffffff;
color: #000000;
}.btn-icon {
 font-family:Lexend;
 min-width:10rem;
 max-width:15rem;
 font-weight:400;
 font-size:1.5rem;
 button-hover_color:#eaeaea;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-color:#000000;
 border-right-color:#000000;
 border-bottom-color:#000000;
 border-left-color:#000000;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 transition-duration:.4s;
 text-align:center;
 gap:.5rem;
}
.btn-icon:not(.ct-section):not(.oxy-easy-posts),
.btn-icon.oxy-easy-posts .oxy-posts,
.btn-icon.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
gap:.5rem;
}
.text-caption {
 font-family:Lexend;
 font-weight:700;
 text-transform:uppercase;
 font-size:20px;
 letter-spacing:1.25px;
}
@media (max-width: 991px) {
.text-caption {
}
}

.t-bold {
 font-weight:700;
}
.t-strikethrough {
text-decoration: line-through; text-decoration-color: red;
}
.mobile-menu-link-subpage:hover{
 color:color(3);
}
.mobile-menu-link-subpage {
 color:#000000;
 transition-duration:.4s;
}
@media (max-width: 991px) {
.mobile-menu-link-subpage {
}
.mobile-menu-link-subpage:hover{
}
}

.text-lg {
 font-family:Lexend;
 font-size:22px;
 font-weight:300;
 line-height:1.3;
 text-align:left;
}
@media (max-width: 767px) {
.text-lg {
 font-size:15px;
}
}

.img-radius {
 border-radius:20px;
}
@media (max-width: 991px) {
.img-radius {
 width:50%;
}
}

@media (max-width: 767px) {
.img-radius {
 width:70%;
}
}

@media (max-width: 479px) {
.img-radius {
 width:70%;
}
}

.black-bullet {
}
.image-card {
 gap:0rem;
 background-color:#eceeef;
 width:300px;
 height:250px;
 padding-left:1rem;
 transition-duration:.4s;
}
.image-card:not(.ct-section):not(.oxy-easy-posts),
.image-card.oxy-easy-posts .oxy-posts,
.image-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
justify-content:flex-end;
gap:0rem;
}
.list-card {
 padding-top:0px;
 gap:1rem;
 text-align:left;
}
.list-card:not(.ct-section):not(.oxy-easy-posts),
.list-card.oxy-easy-posts .oxy-posts,
.list-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
gap:1rem;
}
.border-radius {
 border-radius:25px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
}
.hover-card:hover{
 transition-duration:1.5s;
}
.hover-card {
}
.text-wrap-balance {
text-wrap: balance;
}
.mega-menu-trigger {
}
.heading-effect {
background: linear-gradient(90deg, #FFF 0%, #F5851F 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.btn-gradient:hover{
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
background: linear-gradient(100deg, #005489);
}
.btn-gradient {
background-color :#1e73be;
border: 1px solid #1e73be;
color: #ffffff;
}.btn-gradient {
 font-family:Lexend;
 border-radius:13px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 padding-left:2.05rem;
 padding-right:2.05rem;
 padding-top:.55rem;
 padding-bottom:.55rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
background: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
}
@media (max-width: 767px) {
.btn-gradient {
 font-size:14px;
}
}

.border-gradient {
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
border: 3px solid transparent; border-radius: 25px; background: linear-gradient(#ffffff, #ffffff) padding-box, /* Inner card background */ linear-gradient(to bottom, #37C0FF, #005489) border-box; /* Gradient border */ background-clip: padding-box, border-box;
}
.border-gradient:not(.ct-section):not(.oxy-easy-posts),
.border-gradient.oxy-easy-posts .oxy-posts,
.border-gradient.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.card-horizontal:hover{
}
.card-horizontal {
transform:; padding-left:2rem;
 margin-bottom:1rem;
 transition-duration:.3s;
 padding-top:1rem;
 padding-right:1rem;
 padding-bottom:1rem;
 gap:1rem;
 width:85%;
}
.card-horizontal:not(.ct-section):not(.oxy-easy-posts),
.card-horizontal.oxy-easy-posts .oxy-posts,
.card-horizontal.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
gap:1rem;
}
@media (max-width: 1300px) {
.card-horizontal {
 width:100%;
}
}

@media (max-width: 991px) {
.card-horizontal {
 text-align:justify;
 padding-top:1.5rem;
 gap:0.5rem;
}
.card-horizontal:not(.ct-section):not(.oxy-easy-posts),
.card-horizontal.oxy-easy-posts .oxy-posts,
.card-horizontal.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:0.5rem;
}
}

@media (max-width: 767px) {
.card-horizontal {
 padding-left:1.5rem;
}
}

.text-sm {
 font-family:Lexend;
 font-size:16px;
 font-weight:300;
 line-height:1.3;
 text-align:left;
}
@media (max-width: 767px) {
.text-sm {
 font-size:12px;
}
}

.card-vertical:hover{
}
.card-vertical {
 text-align:justify;
 width:33%;
 padding-top:1.5rem;
 padding-bottom:3rem;
 padding-right:2.5rem;
 padding-left:2.5rem;
 transition-duration:.3s;
}
.card-vertical:not(.ct-section):not(.oxy-easy-posts),
.card-vertical.oxy-easy-posts .oxy-posts,
.card-vertical.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:space-between;
}
@media (max-width: 1300px) {
.card-vertical {
 padding-left:2rem;
 padding-right:2rem;
}
}

@media (max-width: 991px) {
.card-vertical {
 width:100%;
 padding-left:1.5rem;
 padding-right:1.5rem;
 padding-bottom:2rem;
 padding-top:1rem;
}
}

@media (max-width: 767px) {
.card-vertical {
 padding-left:1rem;
 padding-right:1rem;
 padding-bottom:1.5rem;
 padding-top:0.5rem;
}
}

@media (max-width: 479px) {
.card-vertical {
 padding-left:0.75rem;
 padding-right:0.75rem;
}
}

.leading-loose {
 line-height:1.7;
}
.products-flyout {
}
.menu-wrapper:hover{
 color:#ffffff;
 border-radius:10px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
cursor:pointer;
}
.menu-wrapper:ct_depth{
}
.menu-wrapper {
 useCustomTag:true;
 text-align:left;
 background-color:transparent;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 color:#ffffff;
 transition-duration:0.3s;
 border-top-color:transparent;
 border-right-color:transparent;
 border-bottom-color:transparent;
 border-left-color:transparent;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-radius:10px;
 padding-top:0.33rem;
 padding-left:1.5rem;
 padding-right:1.5rem;
 padding-bottom:0.33rem;
 font-size:16px;
}
.menu-wrapper:not(.ct-section):not(.oxy-easy-posts),
.menu-wrapper.oxy-easy-posts .oxy-posts,
.menu-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 1300px) {
.menu-wrapper {
 padding-left:1rem;
 padding-right:1rem;
}
}

.flyout-link {
 font-family:Lexend;
 font-size:22px;
 font-weight:300;
 line-height:1.3;
 text-align:left;
 transition-duration:.3s;
 padding-bottom:1rem;
 padding-top:1rem;
}
@media (max-width: 767px) {
.flyout-link {
 font-size:15px;
}
}

.bottom-border {
 text-align:left;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:solid;
 border-left-style:none;
 border-top-color:#b7c2db;
 border-right-color:#b7c2db;
 border-bottom-color:#b7c2db;
 border-left-color:#b7c2db;
 border-top-width:1.5px;
 border-right-width:1.5px;
 border-bottom-width:1.5px;
 border-left-width:1.5px;
 min-width:25rem;
}
.bottom-border:not(.ct-section):not(.oxy-easy-posts),
.bottom-border.oxy-easy-posts .oxy-posts,
.bottom-border.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.btn-nav:hover{
background: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
}
.btn-nav {
background-color :transparent;
border: 1px solid transparent;
color: #ffffff;
}.btn-nav {
 font-family:Lexend;
 border-radius:19px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:2px;
 border-right-width:2px;
 border-bottom-width:2px;
 border-left-width:2px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.btn-nav {
 font-size:12px;
}
.btn-nav:hover{
}
}

@media (max-width: 479px) {
.btn-nav {
 font-size:11px;
}
}

.btn-flyout:hover{
background-color :#ffffff;
border: 1px solid #ffffff;
color: #005489;
}.btn-flyout:hover{
 transition-duration:.3s;
 border-top-color:#00a0e3;
 border-right-color:#00a0e3;
 border-bottom-color:#00a0e3;
 border-left-color:#00a0e3;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:2px;
 border-right-width:2px;
 border-bottom-width:2px;
 border-left-width:2px;
}
.btn-flyout {
background-color :#ffffff;
border: 1px solid #ffffff;
color: #005489;
}.btn-flyout {
 font-family:Lexend;
 border-radius:19px;
 border-top-width:2px;
 border-right-width:2px;
 border-bottom-width:2px;
 border-left-width:2px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
 max-width:10rem;
 border-top-color:#00a0e3;
 border-right-color:#00a0e3;
 border-bottom-color:#00a0e3;
 border-left-color:#00a0e3;
 margin-bottom:0px;
}
@media (max-width: 767px) {
.btn-flyout {
 font-size:12px;
}
}

.footer-link:hover{
 color:#00a0e3;
 transition-duration:.3s;
}
.footer-link {
 font-family:Lexend;
 font-size:18px;
 font-weight:300;
 text-align:left;
 line-height:1.3;
 color:#000000;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.footer-link {
}
}

.copyright-link:hover{
 color:#00a0e3;
 transition-duration:.3s;
}
.copyright-link {
 font-family:Lexend;
 font-size:16px;
 font-weight:300;
 line-height:1.3;
 text-align:left;
 color:#ffffff;
 transition-duration:.3s;
 border-right-style:none;
}
@media (max-width: 991px) {
.copyright-link {
 font-size:12px;
}
}

@media (max-width: 767px) {
.copyright-link {
}
}

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

.solutions-flyout {
}
.tabs-1216-tab {
}
.tabs-1216-tab-active {
}
.tabs-contents-1216-tab {
}
.flyout-tab:active{
}
.flyout-tab {
 padding-top:0px;
 padding-bottom:0px;
 padding-left:0px;
}
.flyout-tab:not(.ct-section):not(.oxy-easy-posts),
.flyout-tab.oxy-easy-posts .oxy-posts,
.flyout-tab.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
.tab-card {
 gap:1rem;
 height:70px;
}
.tab-card:not(.ct-section):not(.oxy-easy-posts),
.tab-card.oxy-easy-posts .oxy-posts,
.tab-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
gap:1rem;
}
.flyout-icon {
 width:50px;
 height:40px;
}
.hero-image {
}
.product-tag-wrapper {
}
.product-tag-wrapper:not(.ct-section):not(.oxy-easy-posts),
.product-tag-wrapper.oxy-easy-posts .oxy-posts,
.product-tag-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
@media (max-width: 991px) {
.product-tag-wrapper {
 text-align:left;
}
.product-tag-wrapper:not(.ct-section):not(.oxy-easy-posts),
.product-tag-wrapper.oxy-easy-posts .oxy-posts,
.product-tag-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width: 479px) {
.product-tag-wrapper {
 text-align:left;
}
}

.product-solutions {
 font-family:Lexend;
 color:#ffffff;
 font-size:16px;
 font-weight:300;
}
.product-delivery-method {
 font-family:Lexend;
 color:#ffffff;
 margin-top:-1px;
}
.product-industry {
 font-family:Lexend;
 color:#ffffff;
 font-size:16px;
 font-weight:300;
 margin-top:-1px;
}
.step-number {
}
.step-number-text {
 color:#00a0e3;
 font-weight:500;
 font-size:30px;
}
.product-hero-description {
}
.card-subbrand {
}
.rounded-img {
 border-radius:25px;
}
.btn-gradient-product:hover{
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
background: linear-gradient(100deg, #005489);
}
.btn-gradient-product {
background-color :#1e73be;
border: 1px solid #1e73be;
color: #ffffff;
}.btn-gradient-product {
 font-family:Lexend;
 border-radius:10px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 padding-left:3rem;
 padding-right:3rem;
 padding-top:0.4rem;
 padding-bottom:0.4rem;
 text-transform:uppercase;
 font-size:14px;
 font-weight:400;
 transition-duration:.3s;
background: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
}
@media (max-width: 767px) {
.btn-gradient-product {
 font-size:12px;
}
}

.section-fade-blue {
}
.btn-blue:hover{
background-color :#ffffff;
border: 1px solid #ffffff;
color: #005489;
}.btn-blue:hover{
 transition-duration:.3s;
}
.btn-blue {
background-color :#005489;
border: 1px solid #005489;
color: #ffffff;
}.btn-blue {
 font-family:Lexend;
 border-radius:13px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.btn-blue {
 font-size:12px;
}
}

.executive-img {
background-size: cover; border-radius:20px;
 background-repeat:no-repeat;
 width:100%;
 height:450px;
 background-position:50% 25%;
}
@media (max-width: 1300px) {
.executive-img {
 height:450px;
}
}

@media (max-width: 991px) {
.executive-img {
 width:100%;
}
}

@media (max-width: 767px) {
.executive-img {
 width:75%;
 height:400px;
}
}

@media (max-width: 479px) {
.executive-img {
 width:100%;
 height:400px;
}
}

.box5 {
}
.box4 {
}
.box4-is-expanded {
}
.box5-is-expanded {
}
.data-list {
 font-family:Lexend;
 font-size:20px;
 font-weight:500;
 color:#ffffff;
 width:20%;
}
@media (max-width: 991px) {
.data-list {
 width:100%;
}
}

.btn-secondary-alt:hover{
background-color :#ffffff;
border: 1px solid #ffffff;
color: #005489;
}.btn-secondary-alt:hover{
 transition-duration:.3s;
}
.btn-secondary-alt {
background-color :#f5851f;
border: 1px solid #f5851f;
color: #ffffff;
}.btn-secondary-alt {
 font-family:Lexend;
 border-radius:13px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 padding-left:2rem;
 padding-right:2rem;
 padding-top:.5rem;
 padding-bottom:.5rem;
 text-transform:uppercase;
 font-size:16px;
 font-weight:400;
 transition-duration:.3s;
}
@media (max-width: 767px) {
.btn-secondary-alt {
 font-size:14px;
}
}

.bg-blue-texture {
}
.testimonial-headshot {
background-size: cover; width:85px;
 height:85px;
 border-radius:100%;
 background-repeat:no-repeat;
 background-position:50% 50%;
}
@media (max-width: 991px) {
.testimonial-headshot {
 width:60px;
 height:60px;
}
}

@media (max-width: 479px) {
.testimonial-headshot {
 width:45px;
 height:45px;
}
}

.facet-container {
 width:100%;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:solid;
 border-left-style:none;
 border-bottom-width:2px;
 border-bottom-color:#004d80;
 padding-bottom:1.2rem;
 padding-top:1.25rem;
}
.toggle-4906:hover{
 color:#f5851f;
}
.toggle-4906 {
 color:#004d80;
 transition-duration:0.3s;
}

                .toggle-4906 .oxy-expand-collapse-icon {
            font-size: 16px;        }
        
                .toggle-4906 .oxy-expand-collapse-icon::before,
        .toggle-4906 .oxy-expand-collapse-icon::after {
            background-color: #004d80;        }
        
        .toggle-4906-expanded {
}
.facet-title {
 font-size:20px;
}
.sticky-sidebar {
}
.search-facet {
}
.toggle-1223 {
}
.toggle-1223-expanded {
}
.dropdown-menu-link-wrapper {
}
.dropdown-menu-link-wrapper:not(.ct-section):not(.oxy-easy-posts),
.dropdown-menu-link-wrapper.oxy-easy-posts .oxy-posts,
.dropdown-menu-link-wrapper.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.mobile-menu-nav {
}
.mobile-flyout {
}
.post-img {
}
.post-categories {
}
.home-blog-feed {
}
/* GLOBAL TYPOGRAPHY VARIABLES */

html {
	font-size: 100%;
}

:root {
  --h1-fallback: 2.8rem;
  --h1: clamp(2.03rem, 1.61rem - -2.07vw, 3.42rem);

  --h2-fallback: 2.3rem;
  --h2: clamp(1.80rem, 1.49rem - -1.56vw, 2.85rem);

  --h3-fallback: 2rem;
  --h3: clamp(1.60rem, 1.37rem - -1.15vw, 2.38rem);
	
  --h4-fallback: 1.6rem;
  --h4: clamp(1.42rem, 1.26rem - -0.82vw, 1.98rem);
	
  --h5-fallback: 1.35rem;
  --h5: clamp(1.27rem, 1.15rem - -0.57vw, 1.65rem);
	
  --h6-fallback: 1.2rem;
  --h6: clamp(1.13rem, 1.05rem - -0.37vw, 1.38rem);
	
	
  --s-text-fallback: 0.85rem;
  --s-text: 0.85rem;
  
  --m-text-fallback: 1rem;
  --m-text: 1rem;
  
  --l-text-fallback: 1rem;
  --l-text: clamp(1rem, 0.82rem - -0.40vw, 1.2rem);
  
  --xl-text-fallback: 1.2rem;
  --xl-text: clamp(1.1rem, 0.98rem - -0.48vw, 1.40rem);
}/* GLOBAL SPACING VARIABLES */

:root {
  --xs-space-fallback: 1vmin;
  --xs-space: clamp(4px, 1vmin, 10px);
  
  --s-space-fallback: 2vmin;
  --s-space: clamp(8px, 2vmin, 20px);
  
  --m-space-fallback: 3.5vmin;
  --m-space: clamp(12px,3.5vmin,30px);
  
  --l-space-fallback: 5vmin;
  --l-space: clamp(20px, 5vmin, 50px);
  
  --xl-space-fallback: 7vmin;
  --xl-space: clamp(32px, 7vmin, 80px);
  
  --xxl-space-fallback: 12vmin;
  --xxl-space: clamp(52px, 12vmin, 130px);
}/* Submit Spinner for Gravity Forms ---------------------------------------------------------------------------- */ 

/* Resize and fade in the custom Gravity Forms AJAX spinner */
.gform_wrapper .gform_ajax_spinner {
width: 35px !important;
height: 35px !important;
margin-left:10px !important;
margin-top:4px !important;
    
/* Fade-in configuration */
opacity: 0; /* Starts invisible */
animation: fadeInSpinner 0.5s ease-in-out forwards;
}

/* The fade-in animation keyframes */
@keyframes fadeInSpinner {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Global Styles for Gravity Forms ----------------------------------------------------------------------------- */

body .gform_wrapper input[type=radio]:checked + label,
body .gform_wrapper input[type=checkbox]:checked + label{
font-weight: 400;
}
.gform_wrapper.gravity-theme {
text-align: left;
}
.gform_title {
display: none;
}
.gfield_description {
display: none;
padding-bottom:5px !important;
}
.gform_wrapper.gravity-theme .gfield_label{
padding-top:5px !important;
font-family:inherit;
font-size:18px !important;
color: #005489;
text-transform: uppercase;
}
.gform-field-label--type-sub{
font-family:inherit;
font-size:16px !important;
color: #00a0e3;
}
.gform-field-label--type-inline{
color: #00a0e3;
}
.gfield--type-html{
font-family:inherit;
font-size:16px !important;
color: #00a0e3;
}
.gform_legacy_markup_wrapper table.gsurvey-likert td.gsurvey-likert-choice,
.gravity-theme table.gsurvey-likert td.gsurvey-likert-choice{
background-size:20px 20px !important;
height: 3rem !important;
}
.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .gfield textarea{
font-family: inherit;
border:1.5px solid #00a0e3;
/*border-radius: px;*/
/*-webkit-border-radius: 5px;*/
}
.gfield_select {
color: #00a0e3;
}
input[type="checkbox"],
input[type="radio"]{
  accent-color: #00a0e3 !important;
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
}
.gform_wrapper.gravity-theme input[type="submit"] {
font-family: inherit;
font-size: 16px;
font-weight: 500;
line-height: 1;
color: #005489;
text-transform: uppercase;
background-color: transparent;
border:2px solid #005489;
transition: 0.3s;
padding-top: 0.9rem;
padding-bottom: 0.8rem;
padding-left: 1.4rem;
padding-right: 1.4rem;
}
.gform_wrapper.gravity-theme input[type="submit"]:hover{
cursor:pointer;
background-color: #005489;
color:#fff;
}
.gform_confirmation_wrapper {
font-weight: 400;
useCustomTag: false;
letter-spacing: 0.3px;
font-size: 22px;
line-height: 150%;
width: 100%;
color: black;
font-family: inherit;
}
.gform_confirmation_wrapper a{
color: black;
}/* Layout */

.d-none {
  display: none;
}

.invisible {
  visibility: hidden;
}

/* Border Utilities */

.border {
  border: 1px solid #ddd;
}

.border-none {
  border: none;
}

.rounded {
  border-radius: 5px;
}

.rounded-full {
  border-radius: 50%;
}

/* Buttons */

.btn {
  display: inline-block;
  padding: 10px 20px;
  border: none;
  background-color: #007bff;
  color: white;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

/* Z-Index */

.z-0 { z-index: 0; }
.z-1 { z-index: 1; }
.z-10 { z-index: 10; }
.z-100 { z-index: 100; }

/* Positioning Utilities */

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.sticky {
  position: sticky;
}

/* BUTTON HOVER EFFECTS -------------------------------------------------------*/

/* hover-underline */
/* the line enters from left and exits right */

.hover-underline {
  display: inline-block;
  position: relative;
}

.hover-underline::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #000000; /* Color of the underline */
  transform-origin: bottom right;
  transition: transform 0.4s ease-out;
}

.hover-underline:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}


.hover-underline:active {
	color: #000000; /* Color of the underline */
	
}

/* hvr-sweep-to-right */
/* Sweep "button" to fill color from left to right */

.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: black!important; /* Color of the fill */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
  color: white!important; /* Color of the text */
}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}


/* hvr-curl-top-right */
/*Top right corner of "button" curls down*/

.hvr-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-curl-top-right:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  right: 0;
  background: white;
  background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hvr-curl-top-right:hover:before, .hvr-curl-top-right:focus:before, .hvr-curl-top-right:active:before {
  width: 25px;
  height: 25px;
}

/* Expanding Icon Button */
/* icon enters from behind text on hover and slides right*/

.btn-primary-icon p{
  margin:0 !important;
  padding:0 !important;
  color:black !important;
  /*font-family: !important;*/
  font-size:24px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;  
}

.btn-primary-icon.btn-primary-icon {
    display: inline-flex !important;
    flex-direction: row !important; 
    flex-wrap: nowrap !important;   
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 2rem 1rem 2rem !important; 
    border-radius: 100px !important;
    border: none !important;
    background-color: #b5c334 !important;
    background: #b5c334 !important;
    background-image: none !important;
    overflow: hidden !important;
    transition: background-color 0.3s ease, padding-right 0.3s ease !important;
    text-decoration: none !important;
    cursor: pointer !important;
    position: relative !important;
    width: fit-content !important;
    min-height: 60px !important;
    text-align: center !important;
}

.btn-primary-icon.btn-primary-icon:hover {
    background-color: #D8E36F !important;
    background: #D8E36F !important;
    padding-right: 2.25rem !important; 
}

/* Arrow Container */
.btn-primary-icon .btn-icon-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    max-width: 0 !important; 
    margin-left: 0 !important; 
    transform: translateX(-15px) !important;
    transition: max-width 0.3s ease, opacity 0.2s ease, transform 0.3s ease, margin-left 0.3s ease !important;
    pointer-events: none !important;
}

.btn-primary-icon .btn-icon-arrow svg {
    width: 45px !important; 
    height: auto !important;
    min-width: 45px !important;
    flex-shrink: 0 !important;
}

.btn-primary-icon .btn-icon-arrow svg path {
    fill: #0F4849 !important;
}

.btn-primary-icon:hover .btn-icon-arrow {
    opacity: 1 !important;
    max-width: 55px !important; 
    margin-left: 0.8rem !important; 
    transform: translateX(0) !important;
}

/* Tablet (768px and below) */
@media only screen and (max-width: 768px) {
    .btn-primary-icon.btn-primary-icon {
        padding: 0.6rem 1.2rem !important; 
        min-height: 48px !important;
        max-width: 85% !important; 
        justify-content: center !important;
    }
    
    .btn-primary-icon.btn-primary-icon:hover {
        padding-right: 1.5rem !important;
    }

    .btn-primary-icon.btn-primary-icon p {
        font-size: 16px !important; 
        white-space: normal !important; 
        line-height: 1.1 !important;
        text-align: center !important; 
        max-width: 200px !important; 
    }

    .btn-primary-icon .btn-icon-arrow svg {
        width: 28px !important;
        min-width: 28px !important;
    }
}

/* Mobile (480px and below) */
@media only screen and (max-width: 480px) {
    .btn-primary-icon.btn-primary-icon {
        padding: 0.5rem 1rem !important;
        min-height: 44px !important;
        max-width: 95vw !important;
    }
    
    .btn-primary-icon.btn-primary-icon:hover {
        padding-right: 1.25rem !important;
    }

    .btn-primary-icon p {
        font-size: 14px !important; 
        max-width: 160px !important; 
        text-align: center !important;
    }

    .btn-primary-icon .btn-icon-arrow svg {
        width: 24px !important;
        min-width: 24px !important;
    }
}


.home-blog-feed .oxy-repeater-pages-wrap{
display:none;  
}

/* ==========================================================
   LocateSmarter — page content styles
   Legal pages (.ls-legal) and the Client Login cards (.ls-login-*)
   ========================================================== */

/* ---------- Legal pages: Privacy Policy, Terms & Conditions ---------- */
.ls-legal {
  max-width: 860px;
  margin: 0 auto;
  padding: var(--l-space, 40px) 0 var(--xxl-space, 100px);
  color: #404040;
  font-size: 1rem;
  line-height: 1.7;
}
.ls-legal.wp-block-group > * { max-width: none; }
.ls-legal > * + * { margin-top: 1em; }
.ls-legal h2,
.ls-legal h3,
.ls-legal h4 {
  color: #005489;
  font-weight: 500;
  line-height: 1.25;
}
.ls-legal h2 {
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem);
  margin-top: 2.4em;
  padding-top: 1.2em;
  border-top: 1px solid #C5CDE3;
}
.ls-legal h3 { font-size: 1.2rem; margin-top: 1.8em; }
.ls-legal h4 { font-size: 1.05rem; color: #1E1E1E; margin-top: 1.4em; }
.ls-legal h2 + *, .ls-legal h3 + *, .ls-legal h4 + * { margin-top: 0.6em; }
.ls-legal .ls-legal-updated + h2,
.ls-legal > h2:first-child,
.ls-legal .ls-legal-updated + * { border-top: 0; padding-top: 0; margin-top: 1em; }
.ls-legal ul, .ls-legal ol { padding-left: 1.4em; }
.ls-legal li + li { margin-top: 0.4em; }
.ls-legal li::marker { color: #00A0E3; }
.ls-legal a {
  color: #005489;
  text-decoration: underline;
  text-decoration-color: rgba(0, 160, 227, 0.5);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.ls-legal a:hover { color: #00A0E3; text-decoration-color: currentColor; }
.ls-legal .ls-legal-updated { color: #6B7280; font-size: 0.9rem; }
.ls-legal .ls-legal-address {
  padding: 1.25rem 1.5rem;
  background: #F4F7FB;
  border-left: 4px solid #00A0E3;
  border-radius: 0 13px 13px 0;
}
.ls-legal .ls-legal-callout {
  margin-top: 3em;
  padding: 1rem 1.5rem;
  color: #FFFFFF;
  text-align: center;
  letter-spacing: 0.04em;
  border-radius: 13px;
  background: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
}
.ls-legal .ls-legal-callout + h2 { border-top: 0; padding-top: 0; margin-top: 1.4em; }
.ls-legal .ls-legal-end { text-align: center; color: #6B7280; margin-top: 3em; }

/* ---------- Client Login cards ---------- */
.ls-login-intro {
  margin: var(--xl-space, 64px) auto 0;
  color: #404040;
  font-size: var(--l-text, 1.1rem);
}
.ls-login-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1300px;
  margin: 32px auto var(--xxl-space, 100px);
}
.ls-login-card {
  /* Border, radius and white fill come from the Oxygen .border-gradient class */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 28px 32px;
}
.ls-login-icon {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin-bottom: 24px;
  border-radius: 50%;
  color: #005489;
  background: #EEF4FA;
}
.ls-login-icon svg { width: 52px; height: 52px; }
.ls-login-card h3 {
  margin: 0 0 28px;
  color: #005489;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.3;
}
.ls-login-card .ls-login-btn {
  margin-top: auto;   /* lines the buttons up across the row; the look comes from .btn-secondary-alt */
}
@media (max-width: 1100px) {
  .ls-login-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ls-login-grid { grid-template-columns: 1fr; }
  .ls-login-card { padding: 32px 24px 28px; }
}

/* ---------- Solutions pages with a sub-brand logo ----------
   The logo already shows the page name, so the text H1 stays in the
   page for search engines and screen readers but is hidden visually. */
.hero-section:has(#image-28-136) #headline-22-136 {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


/* ==========================================================
   LocateSmarter — page content styles
   Legal pages (.ls-legal) and the Client Login cards (.ls-login-*)
   ========================================================== */

/* ---------- Legal pages: Privacy Policy, Terms & Conditions ---------- */
.ls-legal {
  max-width: 100%;
  margin: 0 auto;
  padding: var(--l-space, 40px) 0 var(--xxl-space, 100px);
  color: #404040;
  font-size: 1rem;
  line-height: 1.7;
}
.ls-legal.wp-block-group > * { max-width: none; }
.ls-legal > * + * { margin-top: 1em; }
.ls-legal h2,
.ls-legal h3,
.ls-legal h4 {
  color: #005489;
  font-weight: 500;
  line-height: 1.25;
}
.ls-legal h2 {
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem);
  margin-top: 2.4em;
  padding-top: 1.2em;
  border-top: 1px solid #C5CDE3;
}
.ls-legal h3 { font-size: 1.2rem; margin-top: 1.8em; }
.ls-legal h4 { font-size: 1.05rem; color: #1E1E1E; margin-top: 1.4em; }
.ls-legal h2 + *, .ls-legal h3 + *, .ls-legal h4 + * { margin-top: 0.6em; }
.ls-legal .ls-legal-updated + h2,
.ls-legal > h2:first-child,
.ls-legal .ls-legal-updated + * { border-top: 0; padding-top: 0; margin-top: 1em; }
.ls-legal ul, .ls-legal ol { padding-left: 1.4em; }
.ls-legal li + li { margin-top: 0.4em; }
.ls-legal li::marker { color: #00A0E3; }
.ls-legal a {
  color: #005489;
  text-decoration: underline;
  text-decoration-color: rgba(0, 160, 227, 0.5);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.ls-legal a:hover { color: #00A0E3; text-decoration-color: currentColor; }
.ls-legal .ls-legal-updated { color: #6B7280; font-size: 0.9rem; }
.ls-legal .ls-legal-address {
  padding: 1.25rem 1.5rem;
  background: #F4F7FB;
  border-left: 4px solid #00A0E3;
  border-radius: 0 13px 13px 0;
}
.ls-legal .ls-legal-callout {
  margin-top: 3em;
  padding: 1.25rem 1.5rem;
  color: #005489;
  letter-spacing: 0.02em;
  background: #F4F7FB;
  border-left: 4px solid #00A0E3;
  border-radius: 0 13px 13px 0;
}
.ls-legal .ls-legal-callout + h2 { border-top: 0; padding-top: 0; margin-top: 1.4em; }
.ls-legal .ls-legal-end { text-align: center; color: #6B7280; margin-top: 3em; }

/* ---------- Client Login cards ---------- */
.ls-login-intro {
  margin: var(--xl-space, 64px) auto 0;
  color: #404040;
  font-size: var(--l-text, 1.1rem);
}
.ls-login-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1300px;
  margin: 32px auto var(--xxl-space, 100px);
}
.ls-login-card {
  /* Border, radius and white fill come from the Oxygen .border-gradient class */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 28px 32px;
}
.ls-login-icon {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin-bottom: 24px;
  border-radius: 50%;
  color: #005489;
  background: #EEF4FA;
}
.ls-login-icon svg { width: 52px; height: 52px; }
.ls-login-card h3 {
  margin: 0 0 28px;
  color: #005489;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.3;
}
.ls-login-card .ls-login-btn {
  margin-top: auto;   /* lines the buttons up across the row; the look comes from .btn-secondary-alt */
}
@media (max-width: 1100px) {
  .ls-login-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ls-login-grid { grid-template-columns: 1fr; }
  .ls-login-card { padding: 32px 24px 28px; }
}

/* ---------- Solutions pages with a sub-brand logo ----------
   The logo already shows the page name, so the text H1 stays in the
   page for search engines and screen readers but is hidden visually. */
.hero-section:has(#image-28-136) #headline-22-136 {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================
   MOBILE MENU — off-canvas (#-off-canvas-468-28)
   ========================================================== */

/* Sit above the sticky header. The header uses z-index 99999999 at
   the top of the page, and once you scroll Oxygen's sticky mode raises
   it to 2147483640, so the menu has to sit just above that (the
   highest allowed value is 2147483647). */
#-off-canvas-468-28 .oxy-offcanvas_backdrop {
  z-index: 2147483645;
}

#-off-canvas-468-28 .offcanvas-inner {
  z-index: 2147483646;
}

/* Menu logo: it had a width but no height, so it collapsed to 0px.
   Same size as the header logo. */
#div_block-1952-28 {
  height: 80px;
  flex-shrink: 0;
  background-position: left center;
}

/* ==========================================================
   POSTS FEED — brand gradient wipe on hover
   Same motion as the buttons and nav: on hover the brand
   gradient sweeps across the photo from the left (tinting it,
   like the hero), while the photo eases in a touch closer.
   On mouse-out the tint keeps going and exits to the right.

   The photo moves onto a layer inside .post-img (::before) so it
   can zoom while the rounded frame stays put; the tint is ::after.
   Triggers on the image or anywhere on the post card.
   ========================================================== */

.post-img {
  --post-tint: 0.75;            /* tint strength, 0–1 */
  --post-zoom: 1.06;            /* photo scale on hover */
  --post-feather: 25%;          /* edge softness: 0% = hard edge, 25% = softest */

  position: relative;
  overflow: hidden;             /* keeps everything inside the rounded corners */
  isolation: isolate;
  background-size: 0 0 !important;   /* hide the original; ::before shows it */
}

/* Photo */
.post-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: inherit;    /* same image Oxygen sets on .post-img */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

/* Brand gradient tint — a soft-edged band that slides across.
   The band is twice the card's width with feathered ends, so the
   leading edge is a fade rather than a hard line. Transform only,
   so the graphics card does the work and it stays smooth.
     at rest:  parked off to the right  (translateX 50%)
     hover:    slides in from the left  (-100% → -25%)
     leave:    keeps going, exits right (-25% → 50%) */
.post-img::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 200%;
  pointer-events: none;
  /* brand gradient mapped onto the middle half (the part over the photo) */
  background: linear-gradient(90deg,
    #005489 25%,
    #00A0E3 51.2%,
    #F5851F 73.8%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 var(--post-feather), #000 calc(100% - var(--post-feather)), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 var(--post-feather), #000 calc(100% - var(--post-feather)), transparent 100%);
  mix-blend-mode: multiply;
  opacity: var(--post-tint);
  transform: translateX(50%);
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

/* Hover: the card, the image, or keyboard focus */
:is(.post-img:hover, .post-img:focus-visible, :has(> .post-img):hover > .post-img)::before {
  transform: scale(var(--post-zoom));
}

:is(.post-img:hover, .post-img:focus-visible, :has(> .post-img):hover > .post-img)::after {
  transform: translateX(-25%);
  animation: post-tint-in 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes post-tint-in {
  from { transform: translateX(-100%); }   /* starts off the left side */
  to   { transform: translateX(-25%); }
}

@media (prefers-reduced-motion: reduce) {
  .post-img::before { transition: none; }
  .post-img::after {
    transform: translateX(-25%);
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  :is(.post-img:hover, .post-img:focus-visible, :has(> .post-img):hover > .post-img)::after {
    opacity: var(--post-tint);
    animation: none;
  }
}

/* ==========================================================
   PRODUCTS BY INDUSTRY — mega menu  [industry_menu]
   and the plain mobile-nav list    [industry_links]
   Left: industry tabs with SVG icons. Right: that industry's
   products in two columns + a View All button.

   Icons are SVG masks: the background color IS the icon color,
   so hover/active colors apply to the icon and text together.
   ========================================================== */

.industry-menu,
.industry-links {
  --ind-text: #1E1E1E;         /* resting text */
  --ind-icon: #005489;         /* resting icon */
  --ind-accent: #00A0E3;       /* hover + active text and icon */
  --ind-heading: #005489;      /* column headings */
  --ind-divider: #C5CDE3;      /* row lines + center divider */
  --ind-icon-size: 34px;
  --ind-row: 52px;             /* row height, shared by both sides so lines align */
  --ind-font: 18px;
}

/* Compact list for the mobile nav: [industry_links size="compact"] */
.industry-links--compact {
  --ind-icon-size: 28px;
  --ind-row: 44px;
  --ind-font: 16px;
}

.industry-links--compact .industry-link {
  gap: 20px;
}

.industry-menu {
  display: grid;
  grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

/* ---------- Headings (both sides) ---------- */

.industry-menu__heading,
.industry-menu__panel-title {
  margin: 0;
  color: var(--ind-heading);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
}

.industry-menu__heading {
  margin-bottom: 6px;
  min-height: 42px;            /* same height as the panel head, so the rows line up */
  display: flex;
  align-items: center;
}

/* ---------- Left: industry tabs ---------- */

.industry-menu__nav {
  padding-right: 36px;
}

.industry-links {
  display: flex;
  flex-direction: column;
}

.industry-link {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: var(--ind-row);
  padding: 2px 0;
  box-sizing: border-box;
  border-bottom: 1px solid var(--ind-divider);
  color: var(--ind-text);
  font-size: var(--ind-font);
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.25s ease;
}

.industry-link:last-child {
  border-bottom: 0;
}

.industry-link__icon {
  flex-shrink: 0;
  width: var(--ind-icon-size);
  height: var(--ind-icon-size);
  background-color: var(--ind-icon);
  -webkit-mask: var(--icon) center / contain no-repeat;
          mask: var(--icon) center / contain no-repeat;
  transition: background-color 0.25s ease;
}

/* Hover, keyboard focus and the selected tab */
.industry-link:hover,
.industry-link:focus-visible,
.industry-link.is-active {
  color: var(--ind-accent);
}

.industry-link:hover .industry-link__icon,
.industry-link:focus-visible .industry-link__icon,
.industry-link.is-active .industry-link__icon {
  background-color: var(--ind-accent);
}

.industry-link:focus-visible {
  outline: none;
}

/* ---------- Right: product panels ---------- */

.industry-menu__panels {
  padding-left: 40px;
  border-left: 1px solid var(--ind-divider);
  align-self: stretch;
}

.industry-menu__panel[hidden] {
  display: none !important;
}

.industry-menu__panel.is-active {
  animation: industry-panel-in 0.3s ease;
}

@keyframes industry-panel-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

.industry-menu__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 42px;
  margin-bottom: 6px;
}

/* Two columns, filled top-to-bottom (A–Z down the left column first).
   --rows is set by the shortcode (half the products, rounded up),
   so with an odd count the extra product lands in the left column. */
.industry-menu__products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--rows, 1), auto);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  align-content: start;
}

.industry-menu__products li {
  margin: 0;
}

/* No line under the last product in each column */
.industry-menu__products li.is-col-end a,
.industry-menu__products li:last-child a {
  border-bottom: 0;
}

.industry-menu__products a {
  display: flex;
  align-items: center;
  min-height: var(--ind-row);
  padding: 2px 4px;
  box-sizing: border-box;          /* line counted inside the row height, same as the left */
  border-bottom: 1px solid var(--ind-divider);
  color: var(--ind-text);
  font-size: var(--ind-font);
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.25s ease;
}

.industry-menu__products a:hover,
.industry-menu__products a:focus-visible {
  color: var(--ind-accent);
}

.industry-menu__empty {
  margin: 0;
  padding: 24px 4px;
  color: var(--ind-text);
  font-size: var(--ind-font);
}

/* ---------- View All button ---------- */

.industry-menu__view-all {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.33rem 1.5rem;     /* matches the header buttons */
  border: 2px solid var(--ind-accent);
  border-radius: 13px;
  background: #FFFFFF;
  color: var(--ind-heading);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.industry-menu__view-all:hover,
.industry-menu__view-all:focus-visible {
  background: var(--ind-accent);
  color: #FFFFFF;
}

/* ---------- Tablet / mobile: stack ---------- */

@media (max-width: 991px) {
  .industry-menu {
    grid-template-columns: 1fr;
  }
  .industry-menu__nav {
    padding-right: 0;
  }
  .industry-menu__panels {
    padding: 24px 0 0;
    margin-top: 24px;
    border-left: 0;
    border-top: 1px solid var(--ind-divider);
  }
  .industry-menu__products {
    grid-auto-flow: row;
    grid-template-rows: none;
    grid-template-columns: 1fr;
  }
  .industry-menu__products li.is-col-end a {
    border-bottom: 1px solid var(--ind-divider);
  }
  .industry-menu__products li:last-child a {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .industry-menu__panel.is-active { animation: none; }
}

/* ==========================================================
   FOOTER — industry list  [industry_footer_links]
   ========================================================== */

.footer-industry-links {
  --fil-text: #1E1E1E;       /* industry links */
  --fil-accent: #005489;     /* View All Products */
  --fil-hover: #00A0E3;      /* hover, all links */

  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.footer-industry-links li {
  margin: 0;
}

.footer-industry-links a {
  color: var(--fil-text);
  font-size: 18px;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-industry-links__all a {
  color: var(--fil-accent);
}

.footer-industry-links a:hover,
.footer-industry-links a:focus-visible {
  color: var(--fil-hover);
}

#locatesmarter-header .oxy-header-container{
  padding-left:0;
  padding-right:0;
}

/* ==========================================================
   HEADER — scrolled state
   The header script adds .scrolled to #locatesmarter-header
   once you scroll past 48px (and removes it at the top).
   Top of page:  white logo, white nav, white outline buttons
   Scrolled:     white header bar, color logo, dark blue nav,
                 light blue outlines on hover and on the buttons

   The same scrolled look also kicks in while the Solutions or
   Products flyout is open, even at the top of the page:
     #locatesmarter-header.scrolled      scrolled past 48px
     #locatesmarter-header.flyout-open   a flyout is open
   (both set by the LocateSmarter site scripts snippet)
   ========================================================== */

#locatesmarter-header {
  --hdr-dark: #005489;     /* nav text + button text when scrolled */
  --hdr-light: #00A0E3;    /* hover outline + button outline when scrolled */
}

/* ---------- Smooth color changes in both directions ---------- */

#locatesmarter-header .menu-wrapper,
#locatesmarter-header .oxy-header-right .btn-primary,
#locatesmarter-header .mobile-menu-nav svg {
  transition: color 0.3s ease, border-color 0.3s ease, fill 0.3s ease;
}

/* ---------- Logo: white → full color ---------- */

#locatesmarter-header:is(.scrolled, .flyout-open) .header-logo {
  background-image: url("/wp-content/uploads/2026/10/Blue_Orange_Horizontal_RGB_cropped.svg");
}

/* ---------- Main nav: white → dark blue ---------- */

#locatesmarter-header:is(.scrolled, .flyout-open) .menu-wrapper {
  color: var(--hdr-dark);
}

/* Outline color: white at the top, light blue when scrolled / flyout open */
#locatesmarter-header:is(.scrolled, .flyout-open) .menu-wrapper {
  --nav-outline: var(--hdr-light);
}

/* ---------- Nav outline: slides in from the left on hover ----------
   Same motion as the buttons: the outline draws in from the left,
   and on mouse-out it keeps going and exits to the right.
   The real border stays transparent (it just holds the spacing);
   the outline is drawn by ::before so it can be clipped and animated. */

#locatesmarter-header .menu-wrapper {
  --nav-outline: #FFFFFF;
  position: relative;
}

#locatesmarter-header .menu-wrapper,
#locatesmarter-header .menu-wrapper:hover {
  border-color: transparent !important;
}

#locatesmarter-header .menu-wrapper::before {
  content: "";
  position: absolute;
  inset: -2px;                       /* sits exactly on the 2px border */
  border: 2px solid var(--nav-outline);
  border-radius: 10px;
  pointer-events: none;
  clip-path: inset(0 0 0 100%);      /* hidden off the right edge */
  transition:
    clip-path 0.45s cubic-bezier(0.65, 0, 0.35, 1),
    border-color 0.3s ease;
}

/* Hover, keyboard focus, and the nav item whose flyout is open */
#locatesmarter-header .menu-wrapper:hover::before,
#locatesmarter-header :focus-visible > .menu-wrapper::before,
#locatesmarter-header [aria-expanded="true"] > .menu-wrapper::before {
  clip-path: inset(0);
  animation: nav-outline-in 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes nav-outline-in {
  from { clip-path: inset(0 100% 0 0); }   /* starts from the left edge */
  to   { clip-path: inset(0); }
}

@media (prefers-reduced-motion: reduce) {
  #locatesmarter-header .menu-wrapper::before {
    clip-path: none;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  #locatesmarter-header .menu-wrapper:hover::before,
  #locatesmarter-header :focus-visible > .menu-wrapper::before,
  #locatesmarter-header [aria-expanded="true"] > .menu-wrapper::before {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}

/* ---------- Contact + Client Login buttons ----------
   Scrolled: light blue outline, dark blue text. On hover the
   gradient wipes in and each letter turns white exactly as the
   gradient passes behind it. The text and the gradient are drawn
   as layers of one background, sized together (same technique
   as .btn-secondary), so they always stay in sync.
   ---------------------------------------------------------- */

#locatesmarter-header:is(.scrolled, .flyout-open) .oxy-header-right .btn-primary {
  --hdr-btn-gradient: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);

  border-color: var(--hdr-light);
  color: var(--hdr-dark);

  /* Layers, top to bottom: hover text (white), resting text (dark blue), gradient fill */
  background-image:
    linear-gradient(#FFFFFF, #FFFFFF),
    linear-gradient(var(--hdr-dark), var(--hdr-dark)),
    var(--hdr-btn-gradient) !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: 0% 100%, 100% 100%, 0% 100% !important;
  background-position: 100% 0, 0 0, 100% 0 !important;   /* mouse-out: exits to the right */
  -webkit-background-clip: text, text, padding-box !important;
          background-clip: text, text, padding-box !important;
  -webkit-text-fill-color: transparent;
  transition:
    background-size var(--btn-speed, 0.55s) cubic-bezier(0.65, 0, 0.35, 1),
    border-color 0.3s ease !important;
}

#locatesmarter-header:is(.scrolled, .flyout-open) .oxy-header-right .btn-primary:hover,
#locatesmarter-header:is(.scrolled, .flyout-open) .oxy-header-right .btn-primary:focus-visible {
  background-size: 100% 100%, 100% 100%, 100% 100% !important;
  background-position: 0 0, 0 0, 0 0 !important;          /* mouse-in: grows from the left */
  transition:
    background-size var(--btn-speed, 0.55s) var(--btn-ease, cubic-bezier(0.34, 1.4, 0.64, 1)),
    border-color 0.3s ease !important;
}

/* The fill is handled by the layers above, so hide the button's usual gradient layer here */
#locatesmarter-header:is(.scrolled, .flyout-open) .oxy-header-right .btn-primary::before {
  display: none;
}

/* ---------- Soft shadow under the header bar ----------
   Separates the header from the page when scrolled, and from the
   Solutions / Products flyout when one is open. */

#locatesmarter-header:is(.scrolled, .flyout-open) .shrink-header {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* ---------- Flyouts: click outside to close ----------
   The flyout's see-through layer covers the whole screen, so it was
   catching the clicks meant for the backdrop behind it. Let clicks
   pass through everywhere except the flyout content itself. */

:is(#-off-canvas-1286-28, #-off-canvas-1460-28) .offcanvas-inner {
  pointer-events: none;
}

:is(#-off-canvas-1286-28, #-off-canvas-1460-28) .offcanvas-inner > * {
  pointer-events: auto;
}

/* ---------- Mobile menu icon: white at top, dark blue when scrolled ---------- */

#locatesmarter-header .mobile-menu-nav svg {
  fill: #FFFFFF;
  color: #FFFFFF;
}

#locatesmarter-header:is(.scrolled, .flyout-open) .mobile-menu-nav svg {
  fill: var(--hdr-dark);
  color: var(--hdr-dark);
}

/* ---------- Flyout open at the top of the page: white fill ----------
   The header bar fills with white from the top down, moving with the
   flyout as it slides in, then pulls back up when the flyout closes.
   (Once scrolled, the header script already makes the bar white.)
   ------------------------------------------------------------------- */

/* The header row is already position: absolute in Oxygen (it overlays
   the hero), so the white layer below sizes itself to the row. */
#locatesmarter-header .shrink-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #FFFFFF;
  transform: scaleY(0);
  transform-origin: top center;
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

#locatesmarter-header.flyout-open .shrink-header::before {
  transform: scaleY(1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Let the nav and buttons change color as the white passes behind them */
#locatesmarter-header.flyout-open :is(.menu-wrapper, .mobile-menu-nav svg) {
  transition-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  #locatesmarter-header .shrink-header::before {
    transform: none;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  #locatesmarter-header.flyout-open .shrink-header::before {
    opacity: 1;
  }
}

/* ==========================================================
   Testimonials Carousel Dots Alignment Fix
   ========================================================== */

#-carousel-builder-710-196 .flickity-page-dots{
  justify-content:flex-start;
}

@media (max-width:992px)  {
  #-carousel-builder-710-196 .flickity-page-dots{
    justify-content:center;
  }
}

/* ==========================================================
   PRODUCT LISTINGS — sticky filter sidebar + filter toggle
   Works on any page or template where the filters live in an
   element with the class .sticky-sidebar:
     /products/ and the product category archives
     (/solution/…, /industry/…, /delivery-method/…)

   Desktop only (992px and up). At 991px and below the layout
   stacks and the "Filter Products" toggle takes over, so set
   that toggle to "collapsed" by default in Oxygen.
   ========================================================== */

@media (min-width: 992px) {

  /* The column that holds the sidebar: stretch it to the full
     height of the product grid so the sidebar has room to slide,
     and keep it visible on desktop even when the filter toggle
     is collapsed. */
  div:has(> .sticky-sidebar) {
    display: flex !important;
    align-self: stretch;
  }

  .sticky-sidebar {
    --sticky-top: 91px;   /* scrolled header height (67px) + 24px breathing room */
    position: sticky;
    top: var(--sticky-top);
  }
}

/* ==========================================================
   HERO SECTION — layered background
   Apply .hero-section to any Oxygen Section.

   Layer stack (bottom → top):
     1. Gradient 2 — vertical blue → orange
     2. Gradient 1 — horizontal dark blue → 50% blue → orange
     3. Texture    — 55% opacity, overlay blend
     4. Section content (images, text) — added in Oxygen
        .hero-image = absolute image with overlay blend
   ========================================================== */

:root {
  --hero-blue-dark: #005489;
  --hero-blue: #00A0E3;
  --hero-blue-50: rgba(0, 160, 227, 0.5);
  --hero-orange: #F5851F;

  /* Upload the texture to the Media Library and paste its URL here */
  --hero-texture: url("/wp-content/uploads/2026/10/hero-texture.webp");
  --hero-texture-opacity: 0.55;
}

/* ---------- Section + gradients (layers 1 & 2) ---------- */
.hero-section {
  position: relative;
  isolation: isolate;          /* keeps the overlay blend contained to the section */
  overflow: hidden;
  background:
    linear-gradient(90deg,
      var(--hero-blue-dark) 27.49%,
      var(--hero-blue-50) 61.36%,
      var(--hero-orange) 100%),
    linear-gradient(180deg,
      var(--hero-blue) 5.77%,
      var(--hero-orange) 100%);
}

/* ---------- Texture (layer 3) ---------- */
.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;                   /* behind all section content */
  pointer-events: none;
  background-image: var(--hero-texture);
  background-size: 423px auto;   /* tile shown at 2x density for crisp dots on all screens */
  background-position: top left;
  background-repeat: repeat;
  opacity: var(--hero-texture-opacity);
  mix-blend-mode: overlay;
}

/* ---------- Content ----------
   The inner wrap is left unpositioned on purpose, so that:
   - absolutely positioned images line up to the full section,
     not the content container
   - blended elements mix with the gradients + texture behind
     them (a z-index or position here would block that) */
.hero-section > .ct-section-inner-wrap {
  position: static;
}

/* ---------- Hero image (Figma: Blend > Overlay) ----------
   Add to an Oxygen Image element inside a .hero-section.
   Defaults fill the section; override top/right/bottom/left,
   width and height in Oxygen to place it. */
.hero-image {
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}

/* Keep text, buttons, etc. above the hero image */
.hero-section > .ct-section-inner-wrap > *:not(.hero-image) {
  position: relative;
  z-index: 1;
}

/* Same blend for any non-image element */
.blend-overlay {
  mix-blend-mode: overlay;
}

/* ==========================================================
   SECTION — white to blue fade with texture
   Apply .section-fade-blue to any Oxygen Section.

   Layer stack (bottom → top):
     1. White base
     2. Gradient — white (22%) → #00A0E3 at the bottom
     3. Texture — same file, size and blend as the hero.
        Overlay blending leaves white untouched, so the texture
        only appears as the section turns blue.
     4. Section content
   ========================================================== */

.section-fade-blue {
  --fade-blue: #00A0E3;
  --fade-start: 50%;     /* where the white starts turning blue (0% = top, 100% = bottom) */
  --fade-texture: url("/wp-content/uploads/2026/10/hero-texture.webp");   /* same file as the hero */
  --fade-texture-opacity: 0.55;

  position: relative;
  isolation: isolate;          /* keeps the texture blend inside the section */

  /* Gradient over a solid white base. Set together (and !important) so a
     background added on the section in Oxygen can't wipe out the white. */
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.22) var(--fade-start),
      var(--fade-blue) 100%),
    #FFFFFF !important;
}

/* Texture */
.section-fade-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;                 /* behind all section content */
  pointer-events: none;
  background-image: var(--fade-texture);
  background-size: 423px auto; /* same tile size as the hero */
  background-repeat: repeat;
  opacity: var(--fade-texture-opacity);
  mix-blend-mode: overlay;
}

/* ==========================================================
   BLUE TEXTURE PANEL — dark blue → light blue with texture
   Apply .bg-blue-texture to any div or section.
   Border radius is handled in Oxygen; the texture follows it.
   ========================================================== */

.bg-blue-texture {
  --panel-dark: #005489;
  --panel-light: #00A0E3;
  --panel-blend-end: 45%;     /* where the dark blue has fully turned light blue */
  --panel-texture: url("/wp-content/uploads/2026/10/hero-texture.webp");
  --panel-texture-opacity: 0.55;

  position: relative;
  isolation: isolate;          /* keeps the texture blend and layers inside the panel */
  overflow: hidden;            /* clips the texture to your Oxygen border radius */
  background: linear-gradient(180deg,
    var(--panel-dark) 0%,
    var(--panel-light) var(--panel-blend-end)) !important;
}

/* Texture */
.bg-blue-texture::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;                 /* behind anything placed inside the panel */
  pointer-events: none;
  background-image: var(--panel-texture);
  background-size: 423px auto; /* same tile size as the hero */
  background-repeat: repeat;
  opacity: var(--panel-texture-opacity);
  mix-blend-mode: overlay;
}

/* ==========================================================
   BUTTONS — all animated button styles
   .btn-primary, .btn-secondary, .btn-secondary-alt,
   .btn-gradient, .btn-gradient-product, .btn-blue
   ========================================================== */

/* ==========================================================
   PRIMARY BUTTON — gradient wipe on hover
   The gradient sweeps in from the left with a little springy
   overshoot, a light glint follows it across, and on mouse-out
   the gradient keeps going and exits to the right.

   Hover + animation only — the button's resting white-outline
   styles stay in Oxygen. The !important on the hover background
   stops Oxygen's own :hover gradient from snapping on instantly
   and covering the animation.
   ========================================================== */

.btn-primary{
  --btn-gradient: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
  --btn-speed: 0.55s;
  --btn-ease: cubic-bezier(0.34, 1.4, 0.64, 1);   /* slight overshoot = the "fun" part */

  position: relative;
  isolation: isolate;    /* keeps the layers below behind the text */
  overflow: hidden;      /* clips the wipe inside the white border */
}

/* Gradient fill — sits inside the white border */
.btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-gradient);
  transform: scaleX(0);
  transform-origin: right center;    /* mouse-out: shrinks toward the right */
  transition: transform var(--btn-speed) cubic-bezier(0.65, 0, 0.35, 1);
}

.btn-primary:hover::before,
.btn-primary:focus-visible::before {
  transform: scaleX(1);
  transform-origin: left center;     /* mouse-in: grows from the left */
  transition: transform var(--btn-speed) var(--btn-ease);
}

/* Glint that chases the gradient across */
.btn-primary::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  z-index: -1;
  background: linear-gradient(100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.45) 50%,
    transparent 100%);
  transform: skewX(-20deg);
  opacity: 0;
  pointer-events: none;
}

.btn-primary:hover::after,
.btn-primary:focus-visible::after {
  animation: btn-glint 0.8s ease-out 0.2s forwards;
}

@keyframes btn-glint {
  0%   { left: -60%;  opacity: 1; }
  100% { left: 130%;  opacity: 1; }
}

/* Hover state */
.btn-primary:hover,
.btn-primary:focus-visible {
  background: transparent !important;   /* the gradient layer does the work */
}

/* Respect reduced-motion settings: simple fade instead */
@media (prefers-reduced-motion: reduce) {
  .btn-primary::before {
    transform: none;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .btn-primary:hover::before,
  .btn-primary:focus-visible::before {
    transform: none;
    opacity: 1;
    transition: opacity 0.2s ease;
  }
  .btn-primary:hover::after,
  .btn-primary:focus-visible::after {
    animation: none;
  }
}

/* ==========================================================
   SECONDARY, GRADIENT + BLUE BUTTONS — slide-in fill on hover
   Same motion as .btn-primary: the hover color wipes in from
   the left with a slight springy overshoot, a sheen follows it
   across, and on mouse-out the fill exits to the right.

   Resting styles stay in Oxygen. The colors below must match
   each button's resting and hover colors in Oxygen.
   ========================================================== */

/* ==========================================================
   .btn-secondary — orange → white, text "fills" white → blue
   The text and the fill are drawn as layers of one background,
   sized together, so each letter changes color exactly as the
   white fill passes behind it.
   ========================================================== */

.btn-secondary,
.btn-secondary-alt {
  --btn-rest: #F5851F;                      /* resting background (matches Oxygen) */
  --btn-rest-text: #FFFFFF;                 /* resting text color */
  --btn-fill: #FFFFFF;                      /* hover color that wipes in */
  --btn-hover-text: #005489;                /* text color as the fill passes */
  --btn-sheen: rgba(0, 160, 227, 0.22);     /* soft blue sheen so it shows on white */
  --btn-speed: 0.55s;
  --btn-ease: cubic-bezier(0.34, 1.4, 0.64, 1);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  /* Layers, top to bottom: hover text color, resting text color, hover fill, resting background */
  background-image:
    linear-gradient(var(--btn-hover-text), var(--btn-hover-text)),
    linear-gradient(var(--btn-rest-text), var(--btn-rest-text)),
    linear-gradient(var(--btn-fill), var(--btn-fill)),
    linear-gradient(var(--btn-rest), var(--btn-rest)) !important;
  background-repeat: no-repeat !important;
  background-size: 0% 100%, 100% 100%, 0% 100%, 100% 100% !important;
  background-position: 100% 0, 0 0, 100% 0, 0 0 !important;   /* mouse-out: exits to the right */
  -webkit-background-clip: text, text, padding-box, padding-box !important;
          background-clip: text, text, padding-box, padding-box !important;
  -webkit-text-fill-color: transparent;
  transition: background-size var(--btn-speed) cubic-bezier(0.65, 0, 0.35, 1) !important;
}

.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-secondary-alt:hover,
.btn-secondary-alt:focus-visible {
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100% !important;
  background-position: 0 0, 0 0, 0 0, 0 0 !important;        /* mouse-in: grows from the left */
  transition: background-size var(--btn-speed) var(--btn-ease) !important;
}

/* ==========================================================
   .btn-secondary-alt — orange → dark blue, text stays white
   Same build as .btn-secondary; only the hover colors change.
   ========================================================== */

.btn-secondary-alt {
  --btn-fill: #005489;                      /* dark blue wipes in */
  --btn-hover-text: #FFFFFF;                /* text stays white */
  --btn-sheen: rgba(255, 255, 255, 0.35);   /* white sheen shows on dark blue */
}

/* ==========================================================
   FILL-WIPE BUTTONS — .btn-gradient, .btn-gradient-product, .btn-blue
   One shared build. Each class sets its own colors:
     --btn-rest   resting background, kept underneath while the fill wipes over it
     --btn-fill   the color/gradient that wipes in on hover
     --btn-sheen  sheen color that follows the fill
   Text stays white on all three.
   ========================================================== */

/* .btn-gradient + .btn-gradient-product — gradient → solid dark blue */
.btn-gradient,
.btn-gradient-product {
  --btn-rest: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
  --btn-fill: #005489;
  --btn-sheen: rgba(255, 255, 255, 0.4);
}

/* .btn-blue — solid dark blue → gradient */
.btn-blue {
  --btn-rest: #005489;
  --btn-fill: linear-gradient(90deg, #005489 0%, #00A0E3 52.4%, #F5851F 97.6%);
  --btn-sheen: rgba(255, 255, 255, 0.4);
}

.btn-gradient,
.btn-gradient-product,
.btn-blue {
  --btn-speed: 0.55s;
  --btn-ease: cubic-bezier(0.34, 1.4, 0.64, 1);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: border-color 0.3s ease;
}

/* Hover fill */
.btn-gradient::before,
.btn-gradient-product::before,
.btn-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-fill);
  transform: scaleX(0);
  transform-origin: right center;    /* mouse-out: exits to the right */
  transition: transform var(--btn-speed) cubic-bezier(0.65, 0, 0.35, 1);
}

.btn-gradient:hover::before,
.btn-gradient:focus-visible::before,
.btn-gradient-product:hover::before,
.btn-gradient-product:focus-visible::before,
.btn-blue:hover::before,
.btn-blue:focus-visible::before {
  transform: scaleX(1);
  transform-origin: left center;     /* mouse-in: grows from the left */
  transition: transform var(--btn-speed) var(--btn-ease);
}

/* Keep the resting color underneath while the fill wipes over it */
.btn-gradient:hover,
.btn-gradient:focus-visible,
.btn-gradient-product:hover,
.btn-gradient-product:focus-visible,
.btn-blue:hover,
.btn-blue:focus-visible {
  background: var(--btn-rest) !important;
}

/* .btn-blue: text stays white on hover, whatever the Oxygen hover state says */
.btn-blue,
.btn-blue:hover,
.btn-blue:focus-visible {
  color: #FFFFFF !important;
}

/* ==========================================================
   Sheen — shared by all buttons in this file
   ========================================================== */

.btn-secondary::after,
.btn-secondary-alt::after,
.btn-gradient::after,
.btn-gradient-product::after,
.btn-blue::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  z-index: -1;
  background: linear-gradient(100deg,
    transparent 0%,
    var(--btn-sheen) 50%,
    transparent 100%);
  transform: skewX(-20deg);
  opacity: 0;
  pointer-events: none;
}

.btn-secondary:hover::after,
.btn-secondary:focus-visible::after,
.btn-secondary-alt:hover::after,
.btn-secondary-alt:focus-visible::after,
.btn-gradient:hover::after,
.btn-gradient:focus-visible::after,
.btn-gradient-product:hover::after,
.btn-gradient-product:focus-visible::after,
.btn-blue:hover::after,
.btn-blue:focus-visible::after {
  animation: btn-sheen 0.8s ease-out 0.2s forwards;
}

@keyframes btn-sheen {
  0%   { left: -60%;  opacity: 1; }
  100% { left: 130%;  opacity: 1; }
}

/* ==========================================================
   Reduced motion: simple fade instead of the wipe
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .btn-secondary,
  .btn-secondary:hover,
  .btn-secondary:focus-visible,
  .btn-secondary-alt,
  .btn-secondary-alt:hover,
  .btn-secondary-alt:focus-visible {
    transition: none !important;
  }
  .btn-gradient::before,
  .btn-gradient-product::before,
  .btn-blue::before {
    transform: none;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .btn-gradient:hover::before,
  .btn-gradient:focus-visible::before,
  .btn-gradient-product:hover::before,
  .btn-gradient-product:focus-visible::before,
  .btn-blue:hover::before,
  .btn-blue:focus-visible::before {
    transform: none;
    opacity: 1;
    transition: opacity 0.2s ease;
  }
  .btn-secondary:hover::after,
  .btn-secondary:focus-visible::after,
  .btn-secondary-alt:hover::after,
  .btn-secondary-alt:focus-visible::after,
  .btn-gradient:hover::after,
  .btn-gradient:focus-visible::after,
  .btn-gradient-product:hover::after,
  .btn-gradient-product:focus-visible::after,
  .btn-blue:hover::after,
  .btn-blue:focus-visible::after {
    animation: none;
  }
}

/* Header Main Nav Flyout Icons */

.tab-card {
  color: #005489; /* Sets color for both text and SVG icon */
  transition: color 0.3s ease;
  cursor: pointer;
}

.tab-card:hover {
  color: #00a0e3; /* Replace with your desired hover color */
}

.tab-card .tab-icon path {
  stroke: currentColor;
  transition: stroke 0.3s ease;
}

/* ==========================================================
   PRODUCT TAXONOMY PILLS
   Inline, wrapping row of .btn-primary pills.
   ========================================================== */

/* First paragraph */
.product-hero-description p:first-of-type {
  margin-top: 0;
}

/* Last paragraph */
.product-hero-description p:last-of-type {
  margin-bottom: 0;
}

.tax-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Smaller pill sizing so they read as tags, not full CTAs.
   Remove this block if you'd rather they match the full button. */
.tax-pills .btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  font-size: 14px;
  line-height: 1.2;
  font-weight:300;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 999px;
  border:1px solid #fff;
}

@media (max-width:768px)  {
  .tax-pills {
    gap: 8px;
  }
  .tax-pills .btn-primary {
    padding: 5px 12px;
    font-size: 11px;
  }  
}

/* ==========================================================
   STEP NUMBER — gradient-outline rounded square
   Apply .step-number to the div wrapping the number.
   The border is see-through inside, so it works on white,
   textured, or gradient backgrounds alike.
   ========================================================== */

.step-number {
  --step-size: 64px;          /* overall box size */
  --step-border: 3px;          /* outline thickness */
  --step-radius: 30%;          /* corner roundness */
  --step-gradient: linear-gradient(180deg, #00A0E3 0%, #005489 100%);

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--step-size);
  height: var(--step-size);    /* explicit so flex parents can't stretch it */
  flex-shrink: 0;
  border-radius: var(--step-radius);
}

/* Gradient outline: the full gradient, with the middle masked out */
.step-number::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--step-border);
  background: var(--step-gradient);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* Subbrand Cards */
.card-vertical:hover .card-subbrand{
  transform:scale(1.05, 1.05);
}
/* Smooth scale on the subbrand logos */
#div_block-307-12,
#div_block-309-12,
#div_block-311-12 {
  transition: transform 0.3s ease;
}

/* Swap to the GIF when anywhere on the card is hovered */
.card-vertical:hover #div_block-307-12 {
  background-image: url("/wp-content/uploads/2026/10/CollectSmarter-Animated.webp");
}
.card-vertical:hover #div_block-309-12 {
  background-image: url("/wp-content/uploads/2026/10/ScreenSmarter-Animated.webp");
}
.card-vertical:hover #div_block-311-12 {
  background-image: url("/wp-content/uploads/2026/10/InvestigateSmarter-Animated.webp");
}

/* Accordion Content */
.oxy-pro-accordion_item{
  padding-bottom:1.5rem  
}
.oxy-pro-accordion_content{
  padding:0.5rem 0 0 4px;
}

/* Mobile Nav Work */
.mobile-flyout .oxy-pro-accordion_item{
  padding-bottom:0;
}

/* Posts */
.post-categories a{
  color:#fff;
  transition:0.3s;
}
.post-categories a:hover{
  color:#f5851f;
}/* ==========================================================================
   1. SCOPED OXYGEN BUILDER OVERRIDES
   ========================================================================== */
/* Fix section wrapper ONLY where the mobile accordion container lives */
.ct-section:has(.mobile-accordion-container) .ct-section-inner-wrap {
    max-width: 100% !important;
}

/* Force Oxygen container to layout boxes horizontally on desktop */
.mobile-accordion-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 3rem !important;
    box-sizing: border-box !important;
}

@media (min-width: 992px) {
    .mobile-accordion-container {
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        height: 440px !important;
    }
}

/* ==========================================================================
   2. BOX CONTAINERS & GRADIENT BORDERS
   ========================================================================== */
.mobile-accordion-container .box1,
.mobile-accordion-container .box2,
.mobile-accordion-container .box3,
.mobile-accordion-container .box4,
.mobile-accordion-container .box5 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; 
    align-items: center !important;    
    box-sizing: border-box !important;
    overflow: hidden !important; 
    padding: 30px 25px !important; 
    position: relative !important;
    
    /* Gradient Border Styling */
    border: 3px solid transparent !important;
    border-radius: 25px !important;
    background: linear-gradient(#ffffff, #ffffff) padding-box, 
                linear-gradient(to top, #37C0FF, #005489) border-box !important;
    background-clip: padding-box, border-box !important;
}

/* ==========================================================================
   3. TYPOGRAPHY (28px H3)
   ========================================================================== */
.mobile-accordion-container .box1 h3,
.mobile-accordion-container .box2 h3,
.mobile-accordion-container .box3 h3,
.mobile-accordion-container .box4 h3,
.mobile-accordion-container .box5 h3 {
    display: flex !important;
    margin: 0 !important; 
    padding: 0 !important;
    overflow: visible !important; 
    color: #005489 !important;
    text-align: center !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 28px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
}

/* ==========================================================================
   4. DESKTOP ACCORDION STATES (992px AND WIDER)
   ========================================================================== */
@media (min-width: 992px) {

    /* COLLAPSED BASELINE (100px) */
    .mobile-accordion-container .box1,
    .mobile-accordion-container .box2,
    .mobile-accordion-container .box3,
    .mobile-accordion-container .box4,
    .mobile-accordion-container .box5 {
        width: 100px !important; 
        min-width: 100px !important;
        max-width: 100px !important;
        height: 420px !important; 
        margin: 0 !important;
        flex: 0 0 100px !important;
        will-change: width, flex;
        backface-visibility: hidden;
        transform: translateZ(0);
        transition: all 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
    }

    /* ROTATED HEADING (-90 DEG) */
    .mobile-accordion-container .box1 h3,
    .mobile-accordion-container .box2 h3,
    .mobile-accordion-container .box3 h3,
    .mobile-accordion-container .box4 h3,
    .mobile-accordion-container .box5 h3 {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: 360px !important; 
        height: auto !important; 
        transform: translate(-50%, -50%) rotate(-90deg) !important;
        transform-origin: center center !important;
        z-index: 2 !important; 
        justify-content: center !important;
        align-items: center !important;
        white-space: nowrap !important;
        transition: transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
    }

    /* EXPANDED HOVER STATES (510px) */
    .mobile-accordion-container .box1:hover, .mobile-accordion-container .box1.box1-is-expanded,
    .mobile-accordion-container .box2:hover, .mobile-accordion-container .box2.box2-is-expanded,
    .mobile-accordion-container .box3:hover, .mobile-accordion-container .box3.box3-is-expanded,
    .mobile-accordion-container .box4:hover, .mobile-accordion-container .box4.box4-is-expanded,
    .mobile-accordion-container .box5:hover, .mobile-accordion-container .box5.box5-is-expanded {
        width: 510px !important;
        min-width: 510px !important;
        max-width: 510px !important;
        flex: 0 0 510px !important;
    }

    /* UNWIND HEADING ON EXPAND */
    .mobile-accordion-container .box1:hover h3, .mobile-accordion-container .box1.box1-is-expanded h3,
    .mobile-accordion-container .box2:hover h3, .mobile-accordion-container .box2.box2-is-expanded h3,
    .mobile-accordion-container .box3:hover h3, .mobile-accordion-container .box3.box3-is-expanded h3,
    .mobile-accordion-container .box4:hover h3, .mobile-accordion-container .box4.box4-is-expanded h3,
    .mobile-accordion-container .box5:hover h3, .mobile-accordion-container .box5.box5-is-expanded h3 {
        transform: translate(-50%, -50%) rotate(0deg) !important; 
        width: 100% !important;
        white-space: normal !important;
    }
}

/* ==========================================================================
   5. MOBILE LAYOUT & CENTERED TYPOGRAPHY (991px AND BELOW)
   ========================================================================== */
@media (max-width: 991px) {
    .mobile-accordion-container {
        align-items: stretch !important;
        gap:20px !important;
    }

    .mobile-accordion-container .box1,
    .mobile-accordion-container .box2,
    .mobile-accordion-container .box3,
    .mobile-accordion-container .box4,
    .mobile-accordion-container .box5 {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: auto !important; 
        min-height: 100% !important;
        flex: 1 1 auto !important;
        justify-content: center !important;
        align-items: center !important;
        transition: none !important;
    }

    .mobile-accordion-container .box1 h3,
    .mobile-accordion-container .box2 h3,
    .mobile-accordion-container .box3 h3,
    .mobile-accordion-container .box4 h3,
    .mobile-accordion-container .box5 h3 {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
        height: auto !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        white-space: normal !important;
        line-height: 1.2 !important;
        transition: none !important;
    }
}

/* ==========================================================================
   6. HOVER COPY (.box-text)
   Add a Text element with the class "box-text" inside each box, right
   after the H3. Desktop: hidden until the box expands, then the heading
   slides up and the copy fades in. Mobile: always shown under the heading.
   Keep each one to roughly 40–50 words so it fits the 420px box.
   ========================================================================== */
.mobile-accordion-container .box-text {
    margin: 16px 0 0 !important;
    color: #404040;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
}

@media (min-width: 992px) {
    .mobile-accordion-container .box-text {
        position: absolute !important;
        left: 50%;
        top: 50%;
        width: 430px;                 /* expanded width (510) minus the padding */
        margin: 0 !important;
        transform: translateX(-50%);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease, visibility 0s linear 0.2s;
    }

    /* Let the heading slide up smoothly as well as unrotate */
    .mobile-accordion-container > :is(.box1, .box2, .box3, .box4, .box5) h3 {
        transition: transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1),
                    top 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
    }

    /* Expanded + has copy: heading moves up to make room */
    .mobile-accordion-container > :is(.box1, .box2, .box3, .box4, .box5):has(.box-text):hover h3,
    .mobile-accordion-container > :is(.box1-is-expanded, .box2-is-expanded, .box3-is-expanded, .box4-is-expanded, .box5-is-expanded):has(.box-text) h3 {
        top: 34% !important;
    }

    /* Copy fades in once the box has mostly opened */
    .mobile-accordion-container > :is(.box1, .box2, .box3, .box4, .box5):hover .box-text,
    .mobile-accordion-container > :is(.box1-is-expanded, .box2-is-expanded, .box3-is-expanded, .box4-is-expanded, .box5-is-expanded) .box-text {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.4s ease 0.3s, visibility 0s;
    }
}/* ==========================================================
   FIREFOX FIX — .btn-secondary + .btn-secondary-alt
   Firefox clips every background layer to the text once any
   layer uses background-clip: text, which hides the orange fill
   and leaves the button white. Firefox gets the same wipe built
   a simpler way: solid fill + a ::before layer that slides in.
   Paste after the .btn-secondary rules.
   ========================================================== */
@supports (-moz-appearance: none) {
  .btn-secondary,
  .btn-secondary-alt {
    background: var(--btn-rest) !important;
    -webkit-background-clip: border-box !important;
            background-clip: border-box !important;
    -webkit-text-fill-color: currentColor;
    color: var(--btn-rest-text) !important;
    transition: color 0.3s ease 0.1s !important;
  }

  .btn-secondary::before,
  .btn-secondary-alt::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--btn-fill);
    transform: scaleX(0);
    transform-origin: right center;    /* mouse-out: exits to the right */
    transition: transform var(--btn-speed) cubic-bezier(0.65, 0, 0.35, 1);
  }

  .btn-secondary:hover::before,
  .btn-secondary:focus-visible::before,
  .btn-secondary-alt:hover::before,
  .btn-secondary-alt:focus-visible::before {
    transform: scaleX(1);
    transform-origin: left center;     /* mouse-in: grows from the left */
    transition: transform var(--btn-speed) var(--btn-ease);
  }

  .btn-secondary:hover,
  .btn-secondary:focus-visible,
  .btn-secondary-alt:hover,
  .btn-secondary-alt:focus-visible {
    background: var(--btn-rest) !important;
    color: var(--btn-hover-text) !important;
  }
}/* Main Heading inside RichText: <p> containing <span> */
.hbspt-form .hs-richtext p:first-child,
.hbspt-form .hs-richtext p:first-child span {
  color: #005489;
  font-family: 'Lexend', sans-serif;
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 10px;
  display: block; /* Ensures proper block margins */
}

/* Description inside RichText: subsequent <p> elements */
.hbspt-form .hs-richtext p:nth-child(2),
.hbspt-form .hs-richtext p:nth-child(2) span {
  color: #005489;
  font-family: 'Lexend', sans-serif;
  font-size: 18px;
  font-weight: 300;
  margin-bottom: 20px;
}