.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;
alignment: center;
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-pro-menu {
menu_dropdown_animation:fade-up;
}
.oxy-pro-menu .oxy-pro-menu-list .menu-item a{
padding-top:px;
padding-left:px;
padding-right:px;
padding-bottom:px;
}

.oxy-pro-menu .oxy-pro-menu-list > .menu-item{
margin-top:px;
margin-left:px;
margin-right:px;
margin-bottom:px;
}

.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{
margin-top:px;
margin-left:px;
margin-right:px;
margin-bottom:px;
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-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu .menu-item a{
padding-top:px;
padding-left:px;
padding-right:px;
padding-bottom:px;
}

.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-off-canvas-container > div:first-child, .oxy-pro-menu .oxy-pro-menu-open-container > div:first-child{
oxy-pro-menu_slug_oxypromenuoffcanvascontaineroxypromenulistmenuitemoxypromenuopencontaineroxypromenulistmenuitem_min_width:px;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container{
oxy-pro-menu_slug_oxypromenuoffcanvascontainer_width:px;
}

.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-container.oxy-pro-menu-open-container .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item a{
padding-top:px;
padding-left:px;
padding-right:px;
padding-bottom:px;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container{
padding-top:px;
padding-left:px;
padding-right:px;
padding-bottom:px;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-color:;
background-image:url();
overlay-color:;
background-size:;
background-repeat:;
background-attachment:;
background-blend-mode:;
background-size-width:px;
background-size-height:px;
background-position:px px;
}

.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-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            
      .oxy-oxyninja-slider {
        width: 100%;
        position: relative;
      }
      .oxy-oxyninja-slider img {
        object-fit: cover;
      }
      #glightbox-body {
        z-index: 9999999999 !important;
      }
      .oxy-oxyninja-slider:focus,
      .oxy-oxyninja-slider *:focus {
        outline: 0;
      }
      .splide__list {
        margin: 0 !important;
        padding: 0 !important;
        height: 100%;
        display: flex;
        width: -webkit-max-content;
        width: max-content;
        will-change: transform;
      }
      .splide__track > .splide__list {
        width: 100%;
      }
      .splide__track > .splide__list > .splide__slide {
        transform: translate3d(0px, 0, 0);
        -webkit-transform: translate3d(0px, 0, 0);
        -moz-transform: translate3d(0px, 0, 0);
        -ms-transform: translate3d(0px, 0, 0);
        -o-transform: translate3d(0px, 0, 0);
        will-change: inherit;
      }
      .splide__list > .splide__slide:first-child {
        z-index: 2;
      }
      .splide--fade > .splide__track>.splide__list {
        display: flex !important;
      }
      .on-product-badges {
        position: absolute;
        z-index: 9;
      }
      .on-product-badges span:not(:first-of-type) {
        margin-left: 5px;
      }
      .on-product-badges span.on-new,
      .on-product-badges span.on-custom-badge,
      .on-product-badges span.on-sale {
        display: inline-block;
        background-color: white;
        color: black;
        font-size: 12px;
        padding: 6px 12px;
        line-height: 1.2;
        font-weight: 700;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 1px;
        opacity: 0.8;
      }
      .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'RedHatDisplay';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'RedHatDisplay';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;font-weight: 700;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 0px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
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;
				}
			}
.bg--base {
}
.text--secondary {
}
@media (max-width: 991px) {
.text--secondary {
}
}

.text--m {
}
.bg--accent {
}
.text--s {
}
.pad-section--l {
}
.pad-section--s {
}
.text--xs {
}
.text--accent {
 line-height:1.2;
}
@media (max-width: 991px) {
.text--accent {
}
}

.btn--accent {
}
.margin--bottom-l {
}
.margin-bottom--l {
 font-family:'RedHatDisplay';
}
.bg--secondary-trans-80 {
 width:60rem;
}
.margin-bottom--xl {
 position:relative;
}
.margin-bottom--xl:not(.ct-section):not(.oxy-easy-posts),
.margin-bottom--xl.oxy-easy-posts .oxy-posts,
.margin-bottom--xl.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.margin-bottom--xxl {
}
.reset-margin {
}
.highlighted {
}
.btn {
}
.margin-bottom--s {
}
.margin-bottom--xs {
 font-family:'RedHatDisplay';
}
.text--caveat {
}
.text--rdh {
}
.text--rhd {
}
.fit-image {
 text-align:center;
}
.fit-image:not(.ct-section):not(.oxy-easy-posts),
.fit-image.oxy-easy-posts .oxy-posts,
.fit-image.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.oxy-stock-content-styles {
}
.open-lightbox {
}
.pad-section--m {
}
.pad-section {
}
.pad-section--xl {
}
.pad--xl {
}
.pad--xxl {
}
.text--l {
}
.text--xl {
}
.pad-section--xxl {
}
.text--xxl {
}
.hide-unecessary-dots {
}
html {
  font-size: 62.5%; /* Set base font size to 10px */
}

/***** BEGIN ROOT VARIABLES *****/

:root {
	
/*** COLOR SYSTEM ***/
	
/* 
GLOBAL COLOR SETUP (HSL)
Set the global colors below using HSL variables.
*/
	
	--primary-h: 0;
	--primary-s: 0%;
	--primary-l: 0%;

	--secondary-h: 0;
	--secondary-s: 0%;
	--secondary-l: 100%;

	--accent-h: 28;
	--accent-s: 89%;
	--accent-l: 61%;

	--base-h: 300;
	--base-s: 3%;
	--base-l: 13%;
	
	--shade-h: 0; 
	--shade-s: 0%;
	--shade-l: 0%;

/* 
SHADING VARIABLES
If you want to adjust the generated shade variants, you can adjust the percentages here.
Higher percentages are lighter and lower are darker.
*/

	--hover: 1.05;
	--ultra-light: 95%;
	--light: 85%;
	--dark: 25%;
	--ultra-dark: 10%;

/* 
GLOBAL COLOR VARIABLES
These are the variables you can use in styling. They don't need to be edited.
Future plans: Auto generate full complimentary, triadic, analogous, etc. color schemes.
*/

	--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));
	--primary-hover: hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) * var(--hover)));
	--primary-ultra-light: hsl(var(--primary-h), var(--primary-s), var(--ultra-light));
	--primary-light: hsl(var(--primary-h), var(--primary-s), var(--light));
	--primary-dark: hsl(var(--primary-h), var(--primary-s), var(--dark));
	--primary-ultra-dark: hsl(var(--primary-h), var(--primary-s), var(--ultra-dark));
	--primary-trans-80: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .8);
	--primary-trans-60: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .6);
	--primary-trans-40: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .4);
	--primary-trans-20: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .2);
	--primary-comp: hsl(calc(var(--primary-h) + 180), var(--primary-s), var(--primary-l));
	--secondary: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));
	--secondary-hover: hsl(var(--secondary-h), var(--secondary-s), calc(var(--secondary-l) * var(--hover)));
	--secondary-ultra-light: hsl(var(--secondary-h), var(--secondary-s), var(--ultra-light));
	--secondary-light: hsl(var(--secondary-h), var(--secondary-s), var(--light));
	--secondary-dark: hsl(var(--secondary-h), var(--secondary-s), var(--dark));
	--secondary-ultra-dark: hsl(var(--secondary-h), var(--secondary-s), var(--ultra-dark));
	--secondary-trans-80: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .8);
	--secondary-trans-60: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .6);
	--secondary-trans-40: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .4);
	--secondary-trans-20: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .2);
	--secondary-comp: hsl(calc(var(--secondary-h) + 180), var(--secondary-s), var(--secondary-l));
	--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
	--accent-hover: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) * var(--hover)));
	--accent-ultra-light: hsl(var(--accent-h), var(--accent-s), var(--ultra-light));
	--accent-light: hsl(var(--accent-h), var(--accent-s), var(--light));
	--accent-dark: hsl(var(--accent-h), var(--accent-s), var(--dark));
	--accent-ultra-dark: hsl(var(--accent-h), var(--accent-s), var(--ultra-dark));
	--accent-trans-80: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .8);
	--accent-trans-60: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .6);
	--accent-trans-40: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .4);
	--accent-trans-20: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .2);
	--accent-comp: hsl(calc(var(--accent-h) + 180), var(--accent-s), var(--accent-l));
	--base: hsl(var(--base-h), var(--base-s), var(--base-l));
	--base-hover: hsl(var(--base-h), var(--base-s), calc(var(--base-l) * var(--hover)));
	--base-ultra-light: hsl(var(--base-h), var(--base-s), var(--ultra-light));
	--base-light: hsl(var(--base-h), var(--base-s), var(--light));
	--base-dark: hsl(var(--base-h), var(--base-s), var(--dark));
	--base-ultra-dark: hsl(var(--base-h), var(--base-s), var(--ultra-dark));
	--base-trans-80: hsla(var(--base-h), var(--base-s), var(--base-l), .8);
	--base-trans-60: hsla(var(--base-h), var(--base-s), var(--base-l), .6);
	--base-trans-40: hsla(var(--base-h), var(--base-s), var(--base-l), .4);
	--base-trans-20: hsla(var(--base-h), var(--base-s), var(--base-l), .2);
	--base-comp: hsl(calc(var(--base-h) + 180), var(--base-s), var(--base-l));
	--shade-black: hsl(var(--shade-h), var(--shade-s), var(--shade-l));
	--shade-white: hsl(var(--shade-h), var(--shade-s), 100%);
	--shade-ultra-light: hsl(var(--shade-h), var(--shade-s), 95%);
	--shade-light: hsl(var(--shade-h), var(--shade-s), 85%);
	--shade-medium: hsl(var(--shade-h), var(--shade-s), 50%);
	--shade-dark: hsl(var(--shade-h), var(--shade-s), 20%);
	--shade-ultra-dark: hsl(var(--shade-h), var(--shade-s), 10%);
	--black-trans-80: hsla(var(--shade-h), var(--shade-s), var(--shade-l), .8);
	--black-trans-60: hsla(var(--shade-h), var(--shade-s), var(--shade-l), .6);
	--black-trans-40: hsla(var(--shade-h), var(--shade-s), var(--shade-l), .4);
	--black-trans-20: hsla(var(--shade-h), var(--shade-s), var(--shade-l), .2);
	
/*** END COLOR SYSTEM ***/
	
/***
CLAMP SYSTEM
These fill the necessary min/max viewport variables in the clamp functions used throughout the system.
If you want to base the clamp functions off different viewport variables, you can change them here.
***/
	
	--vp-min: 32; /* Viewport Min Size in REM */
	--vp-max: 128; /* Viewport Max Size in REM */
		
/*** 
FLUID TEXT SIZE SYSTEM 
Base text sizes are used to calculate the fluid text and heading styles. Adjust accordingly.
***/
	
	--base-text-mobile: 1.6;
	--base-text-desktop: 1.8;
	--text-mob-xs: 1.4; 
	--text-mob-m: 1.6; 
	--text-mob-l: 2; 
	--text-mob-xl: 2.3; 
	--text-mob-xxl: 3;
	--text-desk-xs: 1.4;
	--text-desk-s: 1.6;
	--text-desk-m: 1.8;
	--text-desk-l: 2.6;
	--text-desk-xl: 2.6;
	--text-desk-xxl: 5;
	
/*** 
FLUID SPACING SYSTEM 
Base spacing is used to calculate margin and padding styles. Adjust accordingly.
The adjustment variables are multipliers of the base size.
***/
	
	--base-space: 2;
	--space-adjust-mob-xs: .6; 
	--space-adjust-mob-s: .8; 
	--space-adjust-mob-m: 1; 
	--space-adjust-mob-l: 1.2; 
	--space-adjust-mob-xl: 1.4; 
	--space-adjust-mob-xxl: 1.8;
	--space-adjust-desk-l: 1.2;
	--space-adjust-desk-xl: 1.4;
	--space-adjust-desk-xxl: 1.8;
	--space-adjust-section: 2;
}

/***** END ROOT VARIABLES *****/

/***** BEGIN ELEMENT & CLASS STYLING *****/

/*** 
TEXT SIZING SYSTEM
Nothing here should need to be adjusted.
***/

:is(body, .text--m, .text--l, .text--xl, .text--xxl, h1, h2, h3, h4) {
	font-size: clamp(var(--clamp-min) * 1rem, calc(var(--clamp-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--clamp-max) - var(--clamp-min)) / (var(--vp-max) - var(--vp-min))))), var(--clamp-max) * 1rem);
}

/*** 
OXYGEN GLOBAL SIZE & SPACING REPLACEMENT
This area replaces most of the global size & spacing related areas in Oxygen.
***/

body {
	--clamp-min: var(--base-text-mobile);
	--clamp-max: var(--base-text-desktop);
}

.ct-section-inner-wrap {
	--pad-min: calc(var(--base-space) * (var(--space-adjust-mob-l) * var(--space-adjust-section)));
	--pad-max: calc(var(--base-space) * (var(--space-adjust-desk-l) * var(--space-adjust-section)));
}


h1 {
	--clamp-min: var(--text-mob-xl);
	--clamp-max: var(--text-desk-xl);
	line-height: 1.5;
}
h2 {
	--clamp-min: var(--text-mob-l);
	--clamp-max: var(--text-desk-l);
	line-height: 1.5;
}
h3 {
	--clamp-min: var(--text-mob-l);
	--clamp-max: var(--text-desk-xl);
}
h4 {
	--clamp-min: var(--base-text-mobile);
	--clamp-max: var(--base-text-desktop);
}

/*** 
TEXT CLASSES
These are generated from the text size system.
***/

.text--xs {
	font-size: calc(var(--text-desk-xs) * 1rem);
}
.text--s {
	font-size: calc(var(--text-desk-s) * 1rem);
}
.text--m {
	--clamp-min: var(--text-mob-m);
	--clamp-max: var(--text-desk-m);
}
.text--l {
	--clamp-min: var(--text-mob-l);
	--clamp-max: var(--text-desk-l);
}
.text--xl {
	--clamp-min: var(--text-mob-xl);
	--clamp-max: var(--text-desk-xl);
	line-height:1.5;
}
.text--xxl {
	--clamp-min: var(--text-mob-xxl);
	--clamp-max: var(--text-desk-xxl);
	line-height: 1.3;
}

.text--primary {
	color: var(--primary);	
}

.text--secondary {
	color: var(--secondary);	
}

.text--secondary input[type=checkbox].wsf-field + .wsf-label {
	color: var(--secondary);
	text-align: left;
}

.text--accent {
	color: var(--accent);	
}

.text--base {
	color: var(--base);	
}

/*** 
PADDING UTILITY CLASSES
These apply padding to sections and containers.
***/

:is(.pad--l, .pad--xl, .pad--xxl) {
	padding: clamp(var(--pad-min) * 1rem, calc(var(--pad-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--pad-max) - var(--pad-min)) / (var(--vp-max) - var(--vp-min))))), var(--pad-max) * 1rem);
}

:is(.ct-section, .pad-section, .pad-section--l, .pad-section--xl, .pad-section--xxl) .ct-section-inner-wrap {
	padding: clamp(var(--pad-min) * 1rem, calc(var(--pad-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--pad-max) - var(--pad-min)) / (var(--vp-max) - var(--vp-min))))), var(--pad-max) * 1rem) calc(var(--base-space) * 1rem);
}

.pad--xs {
	padding: calc(var(--base-space) * var(--space-adjust-mob-xs) * 1rem);
}
.pad--s {
	padding: calc(var(--base-space) * var(--space-adjust-mob-s) * 1rem);
}
.pad {
	padding: calc(var(--base-space) * var(--space-adjust-mob-m) * 1rem);
}
.pad--l {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-l));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-l));
}
.pad--xl {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-xl));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-xl));
}
.pad--xxl {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-xxl));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-xxl));
}
.pad-section--xs .ct-section-inner-wrap {
	padding: calc((var(--base-space) * var(--space-adjust-mob-xs)) * 1rem) calc(var(--base-space) * 1rem);
}
.pad-section--s .ct-section-inner-wrap {
	padding: calc((var(--base-space) * var(--space-adjust-mob-s)) * var(--space-adjust-section) * 1rem) calc(var(--base-space) * 1rem);
}
.pad-section .ct-section-inner-wrap {
	--pad-min: calc(var(--base-space) * var(--space-adjust-section)));
	--pad-max: calc(var(--base-space) * var(--space-adjust-section)));
}
.pad-section--l .ct-section-inner-wrap {
	--pad-min: calc((var(--base-space) * (var(--space-adjust-mob-l)) * var(--space-adjust-section)));
	--pad-max: calc((var(--base-space) * (var(--space-adjust-desk-l)) * var(--space-adjust-section)));
}
.pad-section--xl .ct-section-inner-wrap {
	--pad-min: calc((var(--base-space) * (var(--space-adjust-mob-xl)) * var(--space-adjust-section)));
	--pad-max: calc((var(--base-space) * (var(--space-adjust-desk-xl)) * var(--space-adjust-section)));
}
.pad-section--xxl .ct-section-inner-wrap {
	--pad-min: calc((var(--base-space) * (var(--space-adjust-mob-xxl)) * var(--space-adjust-section)));
	--pad-max: calc((var(--base-space) * (var(--space-adjust-desk-xxl)) * var(--space-adjust-section)));
}

/*** 
MARGIN UTILITY CLASSES
These apply margin to elements.
***/

:is(.margin-bottom--l, .margin-bottom--xl, .margin-bottom--xxl) {
	margin-bottom: clamp(var(--margin-min) * 1rem, calc(var(--margin-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--margin-max) - var(--margin-min)) / (var(--vp-max) - var(--vp-min))))), var(--margin-max) * 1rem);
}
.margin-bottom--xs {
	margin-bottom: calc(var(--base-space) * var(--space-adjust-mob-xs) * 1rem);
}
.margin-bottom--s {
	margin-bottom: calc(var(--base-space) * var(--space-adjust-mob-s) * 1rem);
}
.margin-bottom {
	margin-bottom: calc(var(--base-space) * var(--space-adjust-mob-m) * 1rem);
}
.margin-bottom--l {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-l));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-l));
}
.margin-bottom--xl {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-xl));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-xl));
}
.margin-bottom--xxl {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-xxl));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-xxl));
}

/* 
OWL SPACING UTILITY CLASSES 
These apply equal margin to the top of all elements with an adjacent sibling.
Use these to automatically space everything in a section or container without creating extra top or bottom spacing.
*/

.ct-section.owl--xs .ct-section-inner-wrap > * + *,
.owl--xs:not(.ct-section) > * + * {
	margin-top: calc(var(--base-space) * var(--space-adjust-mob-xs) * 1rem);
}

.ct-section.owl--s .ct-section-inner-wrap > * + *,
.owl--s:not(.ct-section) > * + * {
	margin-top: calc(var(--base-space) * var(--space-adjust-mob-s) * 1rem);
}

.ct-section.owl .ct-section-inner-wrap > * + *,
.owl:not(.ct-section) > * + * {
	margin-top: calc(var(--base-space) * 1rem);
}

.ct-section.owl--l .ct-section-inner-wrap > * + *,
.owl--l:not(.ct-section) > * + * {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-l));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-l));
	margin-top: clamp(var(--margin-min) * 1rem, calc(var(--margin-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--margin-max) - var(--margin-min)) / (var(--vp-max) - var(--vp-min))))), var(--margin-max) * 1rem);
}

.ct-section.owl--xl .ct-section-inner-wrap > * + *,
.owl--xl:not(.ct-section) > * + * {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-xl));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-xl));
	margin-top: clamp(var(--margin-min) * 1rem, calc(var(--margin-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--margin-max) - var(--margin-min)) / (var(--vp-max) - var(--vp-min))))), var(--margin-max) * 1rem);
}

.ct-section.owl--xxl .ct-section-inner-wrap > * + *,
.owl--xxl:not(.ct-section) > * + * {
	--margin-min: calc(var(--base-space) * var(--space-adjust-mob-xxl));
	--margin-max: calc(var(--base-space) * var(--space-adjust-desk-xxl));
	margin-top: clamp(var(--margin-min) * 1rem, calc(var(--margin-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--margin-max) - var(--margin-min)) / (var(--vp-max) - var(--vp-min))))), var(--margin-max) * 1rem);
}

/* 
CARD UTILITY CLASSES
Default cards that pad and space content automatically.
*/

:is(.card--l, .card--xl, .card--xxl) {
	padding: clamp(var(--pad-min) * .6em, calc(var(--pad-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--pad-max) - var(--pad-min)) / (var(--vp-max) - var(--vp-min))))), var(--pad-max) * .6em);
}
.card--xs {
	padding: calc((var(--base-space) * var(--space-adjust-mob-xs)) * .6em);
}
.card--s {
	padding: calc((var(--base-space) * var(--space-adjust-mob-s)) * .6em);
}
.card--m {
	padding: calc((var(--base-space) * var(--space-adjust-mob-m)) * .6em);
}
.card--l {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-l));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-l));
}
.card--xl {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-xl));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-xl));
}
.card--xxl {
	--pad-min: calc(var(--base-space) * var(--space-adjust-mob-xxl));
	--pad-max: calc(var(--base-space) * var(--space-adjust-desk-xxl));
}
.owl-card--s {
	padding: calc((var(--base-space) * var(--space-adjust-mob-xs)) * .8em);
}
.owl-card--s > * + * {
	margin-top: calc((var(--base-space) * var(--space-adjust-mob-xs)) * .4em);
}
.owl-card--m {
	padding: calc((var(--base-space) * var(--space-adjust-mob-xs)) * 1em);
}
.owl-card--m > * + * {
	margin-top: calc((var(--base-space) * var(--space-adjust-mob-xs)) * .6em);
}
.owl-card--l {
	padding: calc((var(--base-space) * var(--space-adjust-mob-s)) * 1em);
}
.owl-card--l > * + * {
	margin-top: calc((var(--base-space) * var(--space-adjust-mob-s)) * .6em);
}

/* 
MAX WIDTH UTILITY CLASSES
Change the max-width of any element. Values are generated from base viewport sizes so they adapt to viewport defaults.
*/

.max-width--s {
	width: 100%;
	max-width: calc(var(--vp-min) * 1rem);
}
.max-width--m {
	width: 100%;
 	max-width: calc(var(--vp-max) * .4 * 1rem);
}
.max-width--l {
	width: 100%;
 	max-width: calc(var(--vp-max) * .6 * 1rem);
}
.max-width--xl {
	width: 100%;
 	max-width: calc(var(--vp-max) * .8 * 1rem);
}
.max-width--xxl {
	width: 100%;
 	max-width: calc(var(--vp-max) * .9 * 1rem);
}
.max-width--full {
  	width: 100%;
  	max-width: calc(var(--vp-max) * 1rem);
}

/*** 
BACKGROUND CLASSES
Quickly apply brand colors to the background.
***/

.bg--primary {
	background-color: var(--primary);	
}

.bg--primary-hover {
  background-color: var(--primary-hover);
}

.bg--primary-ultra-light {
  background-color: var(--primary-ultra-light);
}

.bg--primary-light {
  background-color: var(--primary-light);
}

.bg--primary-dark {
  background-color: var(--primary-dark);
}

.bg--primary-ultra-dark {
  background-color: var(--primary-ultra-dark);
}

.bg--primary-trans-80 {
  background-color: var(--primary-trans-80);
}

.bg--primary-trans-60 {
  background-color: var(--primary-trans-60);
}

.bg--primary-trans-40 {
  background-color: var(--primary-trans-40);
}

.bg--primary-trans-20 {
  background-color: var(--primary-trans-20);
}

.bg--primary-comp {
  background-color: var(--primary-comp);
}

.bg--secondary {
	background-color: var(--secondary);	
}

.bg--secondary-hover {
  background-color: var(--secondary-hover);
}

.bg--secondary-ultra-light {
  background-color: var(--secondary-ultra-light);
}

.bg--secondary-light {
  background-color: var(--secondary-light);
}

.bg--secondary-dark {
  background-color: var(--secondary-dark);
}

.bg--secondary-ultra-dark {
  background-color: var(--secondary-ultra-dark);
}

.bg--secondary-trans-80 {
  background-color: var(--secondary-trans-80);
}

.bg--secondary-trans-60 {
  background-color: var(--secondary-trans-60);
}

.bg--secondary-trans-40 {
  background-color: var(--secondary-trans-40);
}

.bg--secondary-trans-20 {
  background-color: var(--secondary-trans-20);
}

.bg--secondary-comp {
  background-color: var(--secondary-comp);
}

.bg--accent {
	background-color: var(--accent);	
}

.bg--accent-hover {
  background-color: var(--accent-hover);
}

.bg--accent-ultra-light {
  background-color: var(--accent-ultra-light);
}

.bg--accent-light {
  background-color: var(--accent-light);
}

.bg--accent-dark {
  background-color: var(--accent-dark);
}

.bg--accent-ultra-dark {
  background-color: var(--accent-ultra-dark);
}

.bg--accent-trans-80 {
  background-color: var(--accent-trans-80);
}

.bg--accent-trans-60 {
  background-color: var(--accent-trans-60);
}

.bg--accent-trans-40 {
  background-color: var(--accent-trans-40);
}

.bg--accent-trans-20 {
  background-color: var(--accent-trans-20);
}

.bg--accent-comp {
  background-color: var(--accent-comp);
}

.bg--base {
	background-color: var(--base);	
}

.bg--base-hover {
  background-color: var(--base-hover);
}

.bg--base-ultra-light {
  background-color: var(--base-ultra-light);
}

.bg--base-light {
  background-color: var(--base-light);
}

.bg--base-dark {
  background-color: var(--base-dark);
}

.bg--base-ultra-dark {
  background-color: var(--base-ultra-dark);
}

.bg--base-trans-80 {
  background-color: var(--base-trans-80);
}

.bg--base-trans-60 {
  background-color: var(--base-trans-60);
}

.bg--base-trans-40 {
  background-color: var(--base-trans-40);
}

.bg--base-trans-20 {
  background-color: var(--base-trans-20);
}

.bg--base-comp {
  background-color: var(--base-comp);
}


/*** 
OVERLAY CLASSES
Quickly apply brand color overlays.
***/

.overlay--primary-trans-80,
.overlay--primary-trans-60,
.overlay--primary-trans-40,
.overlay--primary-trans-20,
.overlay--secondary-trans-80,
.overlay--secondary-trans-60,
.overlay--secondary-trans-40,
.overlay--secondary-trans-20,
.overlay--accent-trans-80,
.overlay--accent-trans-60,
.overlay--accent-trans-40,
.overlay--accent-trans-20,
.overlay--base-trans-80,
.overlay--base-trans-60,
.overlay--base-trans-40,
.overlay--base-trans-20,
.overlay--black-trans-80,
.overlay--black-trans-60,
.overlay--black-trans-40,
.overlay--black-trans-20
{
	position: relative;
	z-index: 0;
}

.overlay--primary-trans-80::before,
.overlay--primary-trans-60::before,
.overlay--primary-trans-40::before,
.overlay--primary-trans-20::before,
.overlay--secondary-trans-80::before,
.overlay--secondary-trans-60::before,
.overlay--secondary-trans-40::before,
.overlay--secondary-trans-20::before,
.overlay--accent-trans-80::before,
.overlay--accent-trans-60::before,
.overlay--accent-trans-40::before,
.overlay--accent-trans-20::before,
.overlay--base-trans-80::before,
.overlay--base-trans-60::before,
.overlay--base-trans-40::before,
.overlay--base-trans-20::before,
.overlay--black-trans-80::before,
.overlay--black-trans-60::before,
.overlay--black-trans-40::before,
.overlay--black-trans-20::before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}

.overlay--primary-trans-80::before {
	background: var(--primary-trans-80);
}
.overlay--primary-trans-60::before {
	background: var(--primary-trans-60);
}
.overlay--primary-trans-40::before {
	background: var(--primary-trans-40);
}
.overlay--primary-trans-20::before {
	background: var(--primary-trans-20);
}
.overlay--secondary-trans-80::before {
	background: var(--secondary-trans-80);
}
.overlay--secondary-trans-60::before {
	background: var(--secondary-trans-60);
}
.overlay--secondary-trans-40::before {
	background: var(--secondary-trans-40);
}
.overlay--secondary-trans-20::before {
	background: var(--secondary-trans-20);
}
.overlay--accent-trans-80::before {
	background: var(--accent-trans-80);
}
.overlay--accent-trans-60::before {
	background: var(--accent-trans-60);
}
.overlay--accent-trans-40::before {
	background: var(--accent-trans-40);
}
.overlay--accent-trans-20::before {
	background: var(--accent-trans-20);
}
.overlay--base-trans-80::before {
	background: var(--base-trans-80);
}
.overlay--base-trans-60::before {
	background: var(--base-trans-60);
}
.overlay--base-trans-40::before {
	background: var(--base-trans-40);
}
.overlay--base-trans-20::before {
	background: var(--base-trans-20);
}
.overlay--black-trans-80::before {
	background: var(--black-trans-80);
}
.overlay--black-trans-60::before {
	background: var(--black-trans-60);
}
.overlay--black-trans-40::before {
	background: var(--black-trans-40);
}
.overlay--black-trans-20::before {
	background: var(--black-trans-20);
}

/*** 
BOX-SHADOW CLASSES
Quickly apply multi-layered box shadows.
***/

.shadow {
	box-shadow:
  		0 4px 4px -10px hsla(var(--base-h), var(--base-s), var(--base-l), 0.04),
  		0 13px 13px -10px hsla(var(--base-h), var(--base-s), var(--base-l), 0.06),
  		0 40px 60px -10px hsla(var(--base-h), var(--base-s), var(--base-l), 0.08)
}

.shadow--l {
	box-shadow:
  		0 2.7px 3.6px -5px hsla(var(--base-h), var(--base-s), var(--base-l), .04),
  		0 7.5px 10px -5px hsla(var(--base-h), var(--base-s), var(--base-l), .06),
  		0 18px 24.1px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.08),
	  	0 60px 80px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.1)
}

.shadow--xl {
	box-shadow:
  		0 2.2px 2.8px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.01),
  		0 5.3px 6.7px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.02),
  		0 10px 12.5px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.04),
	  	0 17.9px 22.3px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.06),
		0 33.4px 41.8px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.08),
	  	0 80px 100px -5px hsla(var(--base-h), var(--base-s), var(--base-l), 0.1)
}

/* BREAKOUT UTILITY CLASSES
Horizontally break any element out of its parent container.
*/

.breakout--s {
	width: 60vw;
	max-width: 60vw;
	margin: 0 calc(-30vw + 50%);
}
.breakout {
	width: 70vw;
	max-width: 70vw;
	margin: 0 calc(-35vw + 50%);
}
.breakout--l {
	width: 80vw;
	max-width: 80vw;
	margin: 0 calc(-40vw + 50%);
}
.breakout--xl {
	width: 90vw;
	max-width: 90vw;
	margin: 0 calc(-45vw + 50%);
}
.breakout--full {
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(-50vw + 50%);
}
@media (max-width: var(--vp-max)) {
	[class*="breakout--"] {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
}

/* STICKY UTILITY CLASSES */

.sticky {
	position: sticky;
	top: 0;
}
.sticky-top--s {
	top: 2.5%;
}
.sticky-top {
	top: 5%;
}
.sticky-top--l {
	top: 10%;
}

/* HEIGHT UTILITY CLASSES */

.ct-section.height--30 .ct-section-inner-wrap,
.height--30:not(.ct-section) {
	min-height: 30vh;
}
.ct-section.height--40 .ct-section-inner-wrap,
.height--40:not(.ct-section) {
	min-height: 40vh;
}
.ct-section.height--50 .ct-section-inner-wrap,
.height--50:not(.ct-section) {
	min-height: 50vh;
}
.ct-section.height--60 .ct-section-inner-wrap,
.height--60:not(.ct-section) {
	min-height: 60vh;
}
.ct-section.height--70 .ct-section-inner-wrap,
.height--70:not(.ct-section) {
	min-height: 70vh;
}
.ct-section.height--80 .ct-section-inner-wrap,
.height--80:not(.ct-section) {
	min-height: 80vh;
}
.ct-section.height--90 .ct-section-inner-wrap,
.height--90:not(.ct-section) {
	min-height: 90vh;
}
.ct-section.height--full .ct-section-inner-wrap,
.height--full:not(.ct-section) {
	min-height: 100vh;
}

/*** 
OBJECT-FIT UTILITY CLASSES
Use these classes when images require a set width and height.
They prevent image stretching and allow control over which area of the image is shown.
***/

.object-fit--cover {
	object-fit: cover;
}
.object-fit--center-left {
	object-position: 10% 50%;
}
.object-fit--center-right {
	object-position: 90% 50%;
}
.object-fit--center-top {
	object-position: 50% 10%;
}
.object-fit--center-bottom {
	object-position: 50% 90%;
}
.object-fit--bottom-left {
	object-position: 10% 10%;
}
.object-fit--bottom-right {
	object-position: 90% 90%;
}
.object-fit--top-left {
	object-position: 10% 90%;
}
.object-fit--top-right {
	object-position: 90% 10%;
}
.object-fit--contain {
	object-fit: contain;
}

/*** 
BUTTON UTILITY CLASSES
These set background color, hover color, text size, and default padding.
***/

.btn {
	background: var(--primary);
	line-height: 1.2;
	padding: .5rem 3rem;
}

.btn:hover {
	background: var(--primary-hover);
}

.btn--secondary {
	background: var(--secondary);
	border-color: var(--secondary);
}

.btn--secondary:hover {
	background: var(--secondary-hover);
}

.btn--accent {
	background: var(--accent);
	border-color: var(--accent);
}

button.wsf-button.wsf-button-primary.btn {
	background: var(--primary);
	line-height: 1.2;
	padding: .5rem 3rem;
	width: auto;
	border-radius: 0;
}

button.wsf-button.wsf-button-primary.btn--accent {
	background: var(--accent);
	border-color: var(--accent);
}

.btn--accent:hover {
	background: var(--accent-hover);
}

.btn--base {
	background: var(--base);
	border-color: var(--base);
}

.btn--base:hover {
	background: var(--base-hover);
}

.btn--xs {
	font-size: calc(var(--base-text-mobile) * 1rem - var(--text-adjust-mob-xs) * 1rem);
}

.btn--s {
	font-size: calc(var(--base-text-mobile) * 1rem);
}

.btn--l {
	--clamp-min: calc(var(--base-text-mobile) * var(--text-adjust-mob-l));
	--clamp-max: calc(var(--base-text-desktop) * var(--text-adjust-desk-l));
}

.btn--xl {
	--clamp-min: calc(var(--base-text-mobile) * var(--text-adjust-mob-xl));
	--clamp-max: calc(var(--base-text-desktop) * var(--text-adjust-desk-xl));
}

/*** 
ROUNDED UTILITY CLASSES
These control the border radius of elements
***/

.rounded--xs {
	border-radius: .4rem;
}
.rounded--s {
	border-radius: .8rem;
}
.rounded--m {
	border-radius: 1.2rem;
}
.rounded--l {
	border-radius: 1.8rem;
}
.rounded--xl {
	border-radius: 2.4rem;
}
.rounded--xxl {
	border-radius: 3.2rem;
}
.rounded--circle {
	border-radius: 50%;
}

/* Slider */

.flickity-page-dots .dot {
	border: 2px solid var(--secondary);
}

.reset-margin p {
	margin: 0;
}

.highlighted {
	background-image: linear-gradient(107deg, transparent 0%, transparent .5em, var(--accent) .5em, var(--accent) 100%);
	padding: 0 5px 0 .5em;
}

a {
	color: inherit;
}

a:not(.btn):hover {
	color: var(--accent);
}

.ct-image img {
	max-width: 100%;
}

.text--caveat {
	font-family: "caveat";
}

.text--rhd {
	font-family: "RedHatDisplay";
	font-weight: bold;
	font-size: 3rem;
	line-height: 1.2;
}

#-carousel-builder-121-11 .oxy-dynamic-list {
	display: flex !important;
	flex-direction: column;
}

.oxy-carousel-builder .flickity-page-dots {
	order: -1;
}

.fit-image img {
	max-width: 100%;
    transform: translate(-50%,-50%);
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
}

.vehicule-wrapper {
	position: relative;
    width: 100%;
    padding-bottom: calc(100% * .8);
    display: flex;
    justify-content: center;
    border: 2px solid #fff;
}

#menu-legal.oxy-nav-menu-list {
	justify-content: center;
	flex-wrap: wrap;
}



.oxy-carousel-builder_gallery-image img {
	object-fit: contain;
	max-width: 100%;
	max-height:100%;
}

.field-base {
	border-radius: 0 !important;
	border: none !important;
}

.oxy-wsform-form input[type=checkbox].wsf-field:focus + label.wsf-label:before {
	border-color: var(--accent-light);
	box-shadow: 0 0 0 4px var(--accent-trans-20);
}

.oxy-wsform-form input[type=checkbox].wsf-field:checked + label.wsf-label:before {
	background-color: var(--accent);
	border-color: var(--accent);
}

.oxy-wsform-form button.wsf-button.wsf-button-primary:focus,
.oxy-wsform-form button.wsf-button.wsf-button-primary:active {
	background-color: var(--accent);
	border-color: var(--accent-light);
	box-shadow: 0 0 0 4px var(--accent-trans-20);
	outline: 0
}

.display-flex-right {
	display: flex;
	justify-content: flex-end;
}

.open-lightbox {
	cursor: pointer;
}

@media(min-width: 480px) {
	.low-slide-count--small {
		display: none !important;
	}
}

@media(min-width: 767px) {
	.low-slide-count--big {
		display: none !important;
	}
}