.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;
      }
      .oxy-pro-media-player .oxy-pro-media-player_play{
--extras-play-icon-size:60px;
}

.oxy-pro-media-player .oxy-pro-media-player_play button:hover{
--vm-play-scale:1;
}

.oxy-pro-media-player .oxy-pro-media-player_play button{
transition-duration:.3s;
}

.oxy-pro-media-player vime-player{
--vm-control-scale:.9;
--extras-slider-height:2px;
--vm-control-group-spacing:12px;
--vm-controls-padding:15px;
--vm-controls-spacing:15px;
--vm-time-font-size:13px;
--vm-control-border-radius:3px;
--extras-spinner-size:80px;
--vm-spinner-thickness:3px;
--vm-spinner-spin-duration:1s;
--vm-tooltip-spacing:3px;
--vm-tooltip-padding:3px;
}

.oxy-pro-media-player .oxy-pro-media-player_custom-image{
--extras-poster-left:50%;
--extras-poster-top:50%;
}

.oxy-pro-media-player .extras-in-builder vime-spinner{
                                opacity: 0;
                            }
.ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Open Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Source Sans Pro';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 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;
				}
			}
.oxel_megamenu_parent:hover{
 background-color:#cfd3d7;
}
.oxel_megamenu_parent {
 padding-top:8px;
 padding-bottom:8px;
 padding-left:32px;
 padding-right:32px;
 position:relative;
 background-color:#f9f9fa;
 transition-duration:0.3s;
}
.oxel_megamenu_parent__title {
 color:#374047;
}
.oxel_megamenu__wrapper {
transform:; padding-top:32px;
 padding-left:0px;
 padding-right:0px;
 padding-bottom:0px;
 opacity:1;
 transition-duration:0.3s;
 transition-timing-function:ease-in-out;
 position:relative;
 width:100%;
 z-index:1999;
}
.oxel_megamenu__wrapper:not(.ct-section):not(.oxy-easy-posts),
.oxel_megamenu__wrapper.oxy-easy-posts .oxy-posts,
.oxel_megamenu__wrapper.ct-section .ct-section-inner-wrap{
flex-direction:unset;
}
.oxel_megamenu__wrapper--hidden {
transform:translateY(64px); opacity:0;
pointer-events: none;
}
.oxel_megamenu__close-icon {
color: #333333;}.oxel_megamenu__close-icon 
>svg {width: 32px;height: 32px;}.oxel_megamenu__close-icon {
 position:absolute;
 top:48px;
 right:16px;
}
.oxel_megamenu__close-icon:not(.ct-section):not(.oxy-easy-posts),
.oxel_megamenu__close-icon.oxy-easy-posts .oxy-posts,
.oxel_megamenu__close-icon.ct-section .ct-section-inner-wrap{
display:none;
flex-direction:unset;
}
@media (max-width: 991px) {
.oxel_megamenu__close-icon {
}
.oxel_megamenu__close-icon:not(.ct-section):not(.oxy-easy-posts),
.oxel_megamenu__close-icon.oxy-easy-posts .oxy-posts,
.oxel_megamenu__close-icon.ct-section .ct-section-inner-wrap{
display:flex;
}
}

.c-btn-main:hover{
transform:translateY(-5px); border-bottom-color:color(undefined);
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 color:#ffffff;
 box-shadow:0px 7px 25px -10px rgba(0,0,0,0.5);
}
.c-btn-main {
 font-family:'Open Sans';
 border-radius:7px;
 border-top-width:2px;
 border-right-width:2px;
 border-bottom-width:2px;
 border-left-width:2px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 text-transform:uppercase;
 letter-spacing:1px;
 border-top-color:#4353ff;
 border-right-color:#4353ff;
 border-bottom-color:#4353ff;
 border-left-color:#4353ff;
 text-align:center;
 background-color:#4353ff;
 color:#ffffff;
 font-weight:600;
 box-shadow:0px 10px 20px -15px rgba(0,0,0,0.5);
}
.c-btn-main:not(.ct-section):not(.oxy-easy-posts),
.c-btn-main.oxy-easy-posts .oxy-posts,
.c-btn-main.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 767px) {
.c-btn-main {
 font-size:13px;
}
}

@media (max-width: 479px) {
.c-btn-main {
 width:100%;
}
}

.c-btn-alt:hover{
transform:translateY(-5px); color:#ffffff;
 background-color:#4353ff;
 box-shadow:0px 7px 25px -10px rgba(0,0,0,0.25);
}
.c-btn-alt {
 font-family:'Open Sans';
 font-weight:600;
 color:#4353ff;
 text-transform:uppercase;
 border-radius:7px;
 background-color:#efefef;
 text-align:center;
 letter-spacing:1px;
}
.c-btn-alt:not(.ct-section):not(.oxy-easy-posts),
.c-btn-alt.oxy-easy-posts .oxy-posts,
.c-btn-alt.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 1120px) {
}

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

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

.c-btn-transparent:hover{
transform:translateY(-5px); background-color:#ffffff;
 color:#4353ff;
}
.c-btn-transparent {
 font-family:'Open Sans';
 text-transform:uppercase;
 background-color:rgba(255,255,255,0.15);
 border-radius:7px;
 color:#ffffff;
 font-weight:600;
 letter-spacing:1px;
 text-align:center;
}
.c-btn-transparent:not(.ct-section):not(.oxy-easy-posts),
.c-btn-transparent.oxy-easy-posts .oxy-posts,
.c-btn-transparent.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 479px) {
}

.c-btn-xs {
 font-size:10px;
 padding-left:10px;
 padding-right:10px;
 padding-bottom:5px;
 padding-top:5px;
}
.c-btn-s {
 font-size:12px;
 padding-top:7px;
 padding-left:14px;
 padding-right:14px;
 padding-bottom:7px;
}
@media (max-width: 479px) {
.c-btn-s {
 font-size:11px;
}
}

.c-btn-m {
 font-size:13px;
 padding-top:12px;
 padding-left:25px;
 padding-right:25px;
 padding-bottom:12px;
}
@media (max-width: 479px) {
.c-btn-m {
 width:100%;
 font-size:12px;
}
}

.c-btn-l {
 font-size:17px;
 padding-left:35px;
 padding-right:35px;
 padding-top:15px;
 padding-bottom:15px;
}
@media (max-width: 767px) {
.c-btn-l {
 font-size:15px;
}
}

@media (max-width: 479px) {
.c-btn-l {
 padding-top:10px;
 padding-bottom:10px;
 font-size:14px;
 width:100%;
}
}

.c-btn-xl {
 padding-top:15px;
 padding-bottom:15px;
 padding-left:35px;
 padding-right:35px;
 font-size:20px;
}
@media (max-width: 991px) {
.c-btn-xl {
 font-size:17px;
}
}

@media (max-width: 479px) {
.c-btn-xl {
 width:100%;
 font-size:15px;
}
}

.c-buttons {
display:grid!important; grid-template-columns: auto auto; grid-gap:15px; align-items: center;
}
@media (max-width: 1120px) {
}

@media (max-width: 479px) {
.c-buttons {
grid-template-columns: 1fr; width: 100%;
}
}

.c-card-accent {
 background-color:#4353ff;
 border-radius:7px;
 width:100%;
 box-shadow:0px 5px 15px rgba(0,0,0,0.08);
}
.c-card-accent:not(.ct-section):not(.oxy-easy-posts),
.c-card-accent.oxy-easy-posts .oxy-posts,
.c-card-accent.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 767px) {
}

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

.c-card-light {
 text-align:left;
 background-color:#ffffff;
 width:100%;
 position:relative;
 border-radius:7px;
 box-shadow:0px 5px 15px rgba(0,0,0,0.08);
}
.c-card-light:not(.ct-section):not(.oxy-easy-posts),
.c-card-light.oxy-easy-posts .oxy-posts,
.c-card-light.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 1120px) {
}

.c-card-dark {
 text-align:left;
 width:100%;
 border-radius:7px;
 background-color:#191919;
 box-shadow:0px 5px 15px rgba(0,0,0,0.08);
}
.c-card-dark:not(.ct-section):not(.oxy-easy-posts),
.c-card-dark.oxy-easy-posts .oxy-posts,
.c-card-dark.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 767px) {
}

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

.c-card-transparent {
 width:100%;
 text-align:center;
 border-radius:7px;
 overflow:hidden;
 background-color:rgba(255,255,255,0.2);
}
.c-card-transparent:not(.ct-section):not(.oxy-easy-posts),
.c-card-transparent.oxy-easy-posts .oxy-posts,
.c-card-transparent.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
}
@media (max-width: 1120px) {
}

.c-card-has-hover:hover{
transform:translateY(-7px);}
.c-card-has-hover {
}
.c-card-on-hover:hover{
transform:translateY(-10px); background-color:#ffffff;
 box-shadow:0px 25px 35px -14px rgba(0,0,0,0.15);
}
.c-card-on-hover {
 border-radius:7px;
}
@media (max-width: 1120px) {
.c-card-on-hover {
 padding-left:25px;
 padding-right:25px;
}
}

.c-heading-accent {
 color:#4353ff;
}
.c-heading-dark {
 color:#0f0f0f;
}
.c-heading-light {
 color:#ffffff;
}
.c-h1 {
 font-family:'Source Sans Pro';
 text-transform:capitalize;
 font-weight:600;
 line-height:1.3;
}
@media (max-width: 991px) {
}

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

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

.c-h1-fat {
 font-weight:700;
 font-size:65px;
 line-height:1.2;
 max-width:800px;
}
@media (max-width: 1120px) {
.c-h1-fat {
 font-size:55px;
}
}

@media (max-width: 991px) {
.c-h1-fat {
 font-size:45px;
}
}

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

.c-h2 {
 font-weight:600;
 line-height:1.3;
 text-transform:capitalize;
}
@media (max-width: 1120px) {
}

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

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

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

.c-h3 {
 font-family:'Source Sans Pro';
 font-weight:600;
 line-height:1.3;
}
@media (max-width: 991px) {
}

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

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

.c-h4 {
 font-family:'Source Sans Pro';
 font-weight:600;
 line-height:1.3;
}
@media (max-width: 479px) {
}

.c-h5 {
 font-weight:600;
 text-align:left;
 line-height:1.3;
}
.c-h6 {
 line-height:1.3;
}
.c-tagline {
 font-family:'Open Sans';
 font-size:12px;
 letter-spacing:2px;
 text-transform:uppercase;
 font-weight:500;
}
.c-tagline-alt {
 background-color:#efefef;
 border-radius:7px;
 padding-top:5px;
 padding-left:12px;
 padding-right:12px;
 padding-bottom:5px;
 font-size:11px;
 font-weight:600;
 color:#4353ff;
}
.c-text-accent {
 color:#4353ff;
}
.c-text-dark {
 color:#686868;
}
.c-text-light {
 color:rgba(255,255,255,0.8);
}
.c-text-s {
 font-family:'Open Sans';
 font-weight:300;
}
.c-text-m {
 font-weight:300;
 max-width:700px;
 line-height:1.6;
}
@media (max-width: 1120px) {
}

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

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

.c-text-l {
 font-family:'Open Sans';
 font-weight:400;
 line-height:1.6;
}
@media (max-width: 991px) {
}

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

.c-text-xl {
 font-weight:500;
 max-width:700px;
 line-height:1.6;
}
@media (max-width: 1120px) {
}

.c-icon-accent-s {
color: #4353ff;}.c-icon-accent-s 
>svg {width: 18px;height: 18px;}.c-icon-accent-s {
}
.c-icon-accent-m {
color: #4353ff;}.c-icon-accent-m 
>svg {width: 24px;height: 24px;}.c-icon-accent-m {
}
.c-icon-accent-l {
background-color: rgba(67,83,255,0.05);
border: 1px solid rgba(67,83,255,0.05);
padding: 24px;color: #4353ff;}.c-icon-accent-l 
>svg {width: 24px;height: 24px;}.c-icon-accent-l {
 icon-padding:24px;
 box-shadow:0px 15px 15px -15px rgba(67,83,255,0.2);
}
@media (max-width: 991px) {
.c-icon-accent-l {
padding: 20px;}.c-icon-accent-l 
>svg {width: 20px;height: 20px;}.c-icon-accent-l {
 icon-padding:20px;
}
}

.c-icon-dark-s {
color: #0f0f0f;}.c-icon-dark-s 
>svg {width: 18px;height: 18px;}.c-icon-dark-s {
}
.c-icon-dark-m {
color: #0f0f0f;}.c-icon-dark-m 
>svg {width: 24px;height: 24px;}.c-icon-dark-m {
}
.c-icon-dark-l {
background-color: rgba(15,15,15,0.05);
border: 1px solid rgba(15,15,15,0.05);
padding: 24px;color: #0f0f0f;}.c-icon-dark-l 
>svg {width: 24px;height: 24px;}.c-icon-dark-l {
 icon-padding:24px;
 box-shadow:0px 15px 15px -15px rgba(0,0,0,0.2);
}
@media (max-width: 767px) {
.c-icon-dark-l {
padding: ;}.c-icon-dark-l 
>svg {width: 30px;height: 30px;}.c-icon-dark-l {
}
}

.c-icon-light-s {
color: #ffffff;}.c-icon-light-s 
>svg {width: 18px;height: 18px;}.c-icon-light-s {
}
.c-icon-light-m {
color: #ffffff;}.c-icon-light-m 
>svg {width: 24px;height: 24px;}.c-icon-light-m {
}
.c-icon-light-l {
background-color: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.05);
padding: 24px;color: #ffffff;}.c-icon-light-l 
>svg {width: 24px;height: 24px;}.c-icon-light-l {
 icon-padding:24px;
}
.c-bg-light {
 background-color:#ef1f1f;
}
.c-bg-light-alt {
 background-color:#ffffff;
}
.c-bg-dark {
 background-color:#191919;
}
.c-bg-dark-alt {
 background-color:#353535;
}
.c-bg-accent {
 background-color:#4353ff;
}
.c-bg-accent-alt {
 background-color:#efefef;
}
.c-bg-gradient {
background-image: linear-gradient(90deg, #0009c4, #200696);}
@media (max-width: 479px) {
.c-bg-gradient {
}
}

.c-bg-blur-s {
-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.c-bg-blur-m {
-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.c-bg-blur-l {
-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.c-bg-blur-xl {
-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
.c-avatar-xs {
 height:clamp(20px, 2vw, 30px) ;
 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;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-radius:100%;
 width:clamp(20px, 2vw, 30px) ;
object-fit:cover;
}
.c-avatar-s {
 border-radius:100%;
 width:clamp(30px, 3vw, 40px) ;
 height:clamp(30px, 3vw, 40px) ;
 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;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
object-fit:cover;
}
@media (max-width: 1120px) {
}

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

.c-avatar-m {
background-size: cover; width:clamp(40px, 4vw, 60px) ;
 height:clamp(40px, 4vw, 60px) ;
 background-repeat:no-repeat;
 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;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 border-radius:100%;
 background-position:50% 50%;
object-fit:cover;
}
.c-avatar-l {
 border-radius:100%;
 width:clamp(50px, 5vw, 80px) ;
 height:clamp(50px, 5vw, 80px) ;
 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;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
object-fit:cover;
}
@media (max-width: 1120px) {
}

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

.c-avatar-xl {
background-size: cover; background-repeat:no-repeat;
 width:clamp(70px, 6.5vw, 140px) ;
 height:clamp(70px, 6.5vw, 140px) ;
 border-radius:100%;
 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;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
 background-position:50% 50%;
 box-shadow:0px 25px 35px -14px rgba(0,0,0,0.2);
object-fit:cover;
}
@media (max-width: 991px) {
}

.c-link-accent {
 color:#4353ff;
}
.c-link-dark:hover{
 color:#4353ff;
}
.c-link-dark {
 color:#0f0f0f;
}
.c-link-light:hover{
 opacity:0.8;
 color:#ffffff;
}
.c-link-light {
 color:#ffffff;
}
.c-link-light:not(.ct-section):not(.oxy-easy-posts),
.c-link-light.oxy-easy-posts .oxy-posts,
.c-link-light.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.c-link-s {
 font-size:13px;
 font-weight:600;
}
.c-link-s:not(.ct-section):not(.oxy-easy-posts),
.c-link-s.oxy-easy-posts .oxy-posts,
.c-link-s.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.c-link-m:hover{
 opacity:0.8;
}
.c-link-m {
 font-size:16px;
 font-weight:500;
 text-decoration:none;
}
.c-link-m:not(.ct-section):not(.oxy-easy-posts),
.c-link-m.oxy-easy-posts .oxy-posts,
.c-link-m.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
@media (max-width: 767px) {
.c-link-m {
}
}

@media (max-width: 479px) {
.c-link-m {
 font-size:14px;
}
}

.c-link-l {
 font-size:20px;
 font-weight:500;
 text-decoration:underline;
}
.c-link-l:not(.ct-section):not(.oxy-easy-posts),
.c-link-l.oxy-easy-posts .oxy-posts,
.c-link-l.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
@media (max-width: 767px) {
.c-link-l {
 font-size:17px;
}
}

.c-link-xl {
 font-size:22px;
 font-weight:500;
}
.c-link-xl:not(.ct-section):not(.oxy-easy-posts),
.c-link-xl.oxy-easy-posts .oxy-posts,
.c-link-xl.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.c-rounded {
 border-radius:7px;
 overflow:hidden;
}
.c-shadow {
 box-shadow:0px 5px 15px rgba(0,0,0,0.08);
}
.c-border-light {
 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;
 border-top-color:#e8e8e8;
 border-right-color:#e8e8e8;
 border-bottom-color:#e8e8e8;
 border-left-color:#e8e8e8;
}
.c-border-dark {
 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;
 border-top-color:#474747;
 border-right-color:#474747;
 border-bottom-color:#474747;
 border-left-color:#474747;
}
.c-transition {
 transition-duration:0.4s;
}
@media (max-width: 1120px) {
}

.c-full-width {
 width:100%;
}
.c-inline {
}
.c-inline:not(.ct-section):not(.oxy-easy-posts),
.c-inline.oxy-easy-posts .oxy-posts,
.c-inline.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.c-stretch {
align-items: stretch;
}
.c-relative {
 position:relative;
}
.c-3d-down {
transform: perspective(1000px) rotateX(-20deg);
}
.c-3d-left {
transform: perspective(1000px) rotatey(20deg);
}
.c-3d-right {
transform: perspective(1000px) rotatey(-20deg);
}
.c-3d-up {
transform: perspective(1000px) rotateX(20deg);
}
.c-hover-3d-down:hover{
transform:perspective(1000px) ;transform: perspective(1000px) rotateX(-20deg);
}
.c-hover-3d-down {
transform: perspective(0px) rotateX(0deg);
}
.c-hover-3d-left:hover{
transform: perspective(1000px) rotatey(20deg);
}
.c-hover-3d-left {
transform: perspective(0px) rotateY(0deg);
}
.c-hover-3d-right:hover{
transform: perspective(1000px) rotatey(-20deg);
}
.c-hover-3d-right {
transform: perspective(0px) rotateY(0deg);
}
.c-hover-3d-up:hover{
transform:perspective(1000px) ;transform: perspective(1000px) rotateX(20deg);
}
.c-hover-3d-up {
transform: perspective(0px) rotateX(0deg);
}
.c-hover-move-down:hover{
transform:translateY(10px);}
.c-hover-move-down {
}
.c-hover-move-left:hover{
transform:translate(-10px);}
.c-hover-move-left {
}
.c-hover-move-right:hover{
transform:translate(10px);}
.c-hover-move-right {
}
.c-hover-move-up:hover{
transform:translateY(-10px);}
.c-hover-move-up {
}
.c-hover-scale:hover{
transform:scale(1.05,1.05);}
.c-hover-scale {
}
.c-hover-scale-up:hover{
transform:scale(1.05,1.05) translateY(-10px);}
.c-hover-scale-up {
}
.c-margin-xs {
}
.c-margin-s {
}
.c-margin-m {
}
.c-margin-l {
}
.c-margin-xl {
}
.c-margin-xxl {
}
.c-margin-left-xs {
}
.c-margin-left-s {
}
.c-margin-left-m {
}
.c-margin-left-l {
}
.c-margin-left-xl {
}
.c-margin-left-xxl {
}
.c-margin-right-xs {
 margin-right:clamp(4px, 1vmin, 10px) ;
}
.c-margin-right-s {
 margin-right:clamp(8px, 2vmin, 20px) ;
}
@media (max-width: 767px) {
}

.c-margin-right-m {
 margin-right:clamp(12px, 3.5vmin, 30px) ;
}
@media (max-width: 479px) {
}

.c-margin-right-l {
}
@media (max-width: 767px) {
}

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

.c-margin-right-xl {
}
@media (max-width: 991px) {
}

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

.c-margin-right-xxl {
}
.c-margin-top-xs {
}
.c-margin-top-s {
}
.c-margin-top-m {
}
.c-margin-top-l {
}
.c-margin-top-xl {
}
.c-margin-top-xxl {
}
.c-margin-bottom-xs {
}
.c-margin-bottom-s {
}
.c-margin-bottom-m {
}
@media (max-width: 1120px) {
}

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

.c-margin-bottom-l {
}
@media (max-width: 767px) {
}

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

.c-margin-bottom-xl {
}
@media (max-width: 991px) {
}

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

.c-margin-bottom-xxl {
}
.c-padding-xs {
}
.c-padding-s {
}
.c-padding-m {
}
.c-padding-l {
}
@media (max-width: 1120px) {
}

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

.c-padding-xl {
}
.c-padding-xl:not(.ct-section):not(.oxy-easy-posts),
.c-padding-xl.oxy-easy-posts .oxy-posts,
.c-padding-xl.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 1120px) {
}

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

.c-padding-xxl {
}
.c-padding-left-xs {
}
.c-padding-left-s {
}
.c-padding-left-m {
}
.c-padding-left-l {
}
.c-padding-left-xl {
}
.c-padding-left-xxl {
}
.c-padding-right-xs {
}
.c-padding-right-s {
}
.c-padding-right-m {
}
.c-padding-right-l {
}
.c-padding-right-xl {
}
.c-padding-right-xxl {
}
.c-padding-top-xs {
}
.c-padding-top-s {
}
.c-padding-top-m {
}
.c-padding-top-l {
}
.c-padding-top-xl {
}
.c-padding-top-xxl {
}
.c-padding-bottom-xs {
}
.c-padding-bottom-s {
}
.c-padding-bottom-m {
}
.c-padding-bottom-l {
}
.c-padding-bottom-xl {
}
.c-padding-bottom-xxl {
}
.c-owl-xs {
}
.c-owl-s {
}
.c-owl-m {
}
.c-owl-l {
}
.c-owl-xl {
}
.c-owl-xxl {
}
.c-columns-gap-xs {
}
.c-columns-gap-s {
}
.c-columns-gap-m {
}
.c-columns-gap-l {
}
.c-columns-gap-xl {
}
.c-columns-gap-xxl {
}
@media (max-width: 991px) {
}

.c-columns-1-2 {
}
.c-columns-1-3 {
}
.c-columns-2 {
}
.c-columns-2-1 {
}
.c-columns-2-3 {
}
.c-columns-3 {
}
.c-columns-3-1 {
}
.c-columns-3-2 {
}
.c-columns-4 {
}
.c-columns-5 {
}
.c-columns-6 {
}
.c-columns-xl-1 {
}
.c-columns-xl-2 {
}
.c-columns-xl-3 {
}
.c-columns-xl-4 {
}
.c-columns-xl-5 {
}
.c-columns-l-1 {
}
@media (max-width: 991px) {
}

.c-columns-l-2 {
}
@media (max-width: 991px) {
.c-columns-l-2 {
grid-template-columns: 1fr 1fr;
}
}

.c-columns-l-3 {
}
@media (max-width: 991px) {
}

.c-columns-l-4 {
}
@media (max-width: 991px) {
}

.c-columns-m-1 {
}
@media (max-width: 767px) {
}

.c-columns-m-2 {
}
@media (max-width: 767px) {
}

.c-columns-m-3 {
}
@media (max-width: 767px) {
}

.c-columns-s-1 {
}
@media (max-width: 479px) {
}

.c-columns-s-2 {
}
@media (max-width: 479px) {
}

.c-row-span-2 {
}
@media (max-width: 991px) {
}

.c-row-span-3 {
}
.c-row-span-4 {
}
.c-row-span-5 {
}
.c-row-span-6 {
}
.c-row-span-7 {
grid-row: span 7 / span 7;
}
.c-row-span-l-1 {
}
.c-row-span-l-2 {
}
.c-row-span-l-3 {
}
.c-row-span-l-4 {
}
.c-row-span-l-5 {
}
.c-row-span-l-6 {
}
.c-row-span-m-1 {
}
.c-row-span-m-2 {
}
.c-row-span-m-3 {
}
.c-row-span-m-4 {
}
.c-row-span-m-5 {
}
.c-row-span-m-6 {
}
.c-row-span-s-1 {
}
.c-row-span-s-2 {
}
.c-row-span-s-3 {
}
.c-row-span-s-4 {
}
.c-row-span-s-5 {
}
.c-row-span-s-6 {
}
.c-row-span-xl-1 {
}
.c-row-span-xl-2 {
}
@media (max-width: 1120px) {
}

.c-row-span-xl-3 {
}
.c-row-span-xl-4 {
}
.c-row-span-xl-5 {
}
.c-row-span-xl-6 {
}
.c-row-start-1 {
}
.c-row-start-2 {
}
.c-row-start-3 {
}
.c-row-start-4 {
}
.c-row-start-5 {
}
.c-row-start-6 {
}
.c-row-start-l-1 {
}
.c-row-start-l-2 {
}
.c-row-start-l-3 {
}
.c-row-start-l-4 {
}
.c-row-start-l-5 {
}
.c-row-start-l-6 {
}
.c-row-start-m-1 {
}
.c-row-start-m-2 {
}
.c-row-start-m-3 {
}
.c-row-start-m-4 {
}
.c-row-start-m-5 {
}
.c-row-start-m-6 {
}
.c-row-start-s-1 {
}
.c-row-start-s-3 {
}
.c-row-start-s-4 {
}
.c-row-start-s-5 {
}
.c-row-start-s-6 {
}
.c-row-start-xl-1 {
}
.c-row-start-xl-2 {
}
.c-row-start-xl-3 {
}
.c-row-start-xl-4 {
}
.c-row-start-xl-5 {
}
.c-row-start-xl-6 {
}
.c-col-span-2 {
}
@media (max-width: 991px) {
}

.c-col-span-3 {
}
.c-col-span-4 {
}
.c-col-span-5 {
}
.c-col-span-6 {
}
.c-col-span-l-1 {
}
.c-col-span-l-2 {
}
.c-col-span-l-3 {
}
.c-col-span-l-4 {
}
.c-col-span-l-5 {
}
.c-col-span-l-6 {
}
.c-col-span-m-1 {
}
.c-col-span-m-2 {
}
.c-col-span-m-3 {
}
.c-col-span-m-4 {
}
.c-col-span-m-5 {
}
.c-col-span-m-6 {
}
.c-col-span-s-1 {
}
@media (max-width: 991px) {
}

.c-col-span-s-2 {
}
.c-col-span-s-3 {
}
.c-col-span-s-4 {
}
.c-col-span-s-5 {
}
.c-col-span-s-6 {
}
.c-col-span-xl-1 {
}
.c-col-span-xl-2 {
}
.c-col-span-xl-3 {
}
.c-col-span-xl-4 {
}
.c-col-span-xl-5 {
}
.c-col-span-xl-6 {
}
.c-col-start-2 {
}
.c-col-start-l-1 {
}
.c-col-start-l-2 {
}
.c-col-start-l-3 {
}
.c-col-start-l-4 {
}
.c-col-start-l-5 {
}
.c-col-start-l-6 {
}
.c-col-start-m-1 {
}
.c-col-start-m-2 {
}
.c-col-start-m-3 {
}
.c-col-start-m-4 {
}
.c-col-start-m-5 {
}
.c-col-start-m-6 {
}
.c-col-start-s-1 {
}
.c-col-start-s-2 {
}
.c-col-start-s-3 {
}
.c-col-start-s-4 {
}
.c-col-start-s-5 {
}
.c-col-start-s-6 {
}
.c-col-start-xl-1 {
}
.c-col-start-xl-2 {
}
.c-col-start-xl-3 {
}
.c-col-start-xl-4 {
}
.c-col-start-xl-5 {
}
.c-col-start-xl-6 {
}
.c-left {
 text-align:left;
}
.c-left:not(.ct-section):not(.oxy-easy-posts),
.c-left.oxy-easy-posts .oxy-posts,
.c-left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.c-center {
 text-align:center;
}
.c-center:not(.ct-section):not(.oxy-easy-posts),
.c-center.oxy-easy-posts .oxy-posts,
.c-center.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.c-right {
 text-align:right;
}
.c-right:not(.ct-section):not(.oxy-easy-posts),
.c-right.oxy-easy-posts .oxy-posts,
.c-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
}
.c-middle-center {
 text-align:center;
}
.c-middle-center:not(.ct-section):not(.oxy-easy-posts),
.c-middle-center.oxy-easy-posts .oxy-posts,
.c-middle-center.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
.c-middle-left {
 text-align:left;
}
.c-middle-left:not(.ct-section):not(.oxy-easy-posts),
.c-middle-left.oxy-easy-posts .oxy-posts,
.c-middle-left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center;
}
.c-middle-right {
 text-align:right;
}
.c-middle-right:not(.ct-section):not(.oxy-easy-posts),
.c-middle-right.oxy-easy-posts .oxy-posts,
.c-middle-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:center;
}
.c-top-center {
 text-align:center;
}
.c-top-center:not(.ct-section):not(.oxy-easy-posts),
.c-top-center.oxy-easy-posts .oxy-posts,
.c-top-center.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
}
.c-top-left {
 text-align:left;
}
.c-top-left:not(.ct-section):not(.oxy-easy-posts),
.c-top-left.oxy-easy-posts .oxy-posts,
.c-top-left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
}
.c-top-right {
 text-align:right;
}
.c-top-right:not(.ct-section):not(.oxy-easy-posts),
.c-top-right.oxy-easy-posts .oxy-posts,
.c-top-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:flex-start;
}
.c-bottom-center {
 text-align:center;
}
.c-bottom-center:not(.ct-section):not(.oxy-easy-posts),
.c-bottom-center.oxy-easy-posts .oxy-posts,
.c-bottom-center.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-end;
}
.c-bottom-left {
 text-align:left;
}
.c-bottom-left:not(.ct-section):not(.oxy-easy-posts),
.c-bottom-left.oxy-easy-posts .oxy-posts,
.c-bottom-left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-end;
}
.c-bottom-right {
 text-align:right;
}
.c-bottom-right:not(.ct-section):not(.oxy-easy-posts),
.c-bottom-right.oxy-easy-posts .oxy-posts,
.c-bottom-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:flex-end;
}
.c-left-self {
 margin-right:auto;
}
.c-center-self {
 margin-left:auto;
 margin-right:auto;
}
.c-right-self {
 margin-left:auto;
}
.c-max-width-320 {
 max-width:320px;
}
.c-max-width-480 {
 max-width:480px;
}
.c-max-width-640 {
 max-width:640px;
}
.c-max-width-960 {
 max-width:960px;
}
.c-max-width-1120 {
 max-width:1120px;
}
.c-opacity-25 {
 opacity:0.25;
}
.c-opacity-50 {
 opacity:0.5;
}
.c-opacity-75 {
 opacity:0.75;
}
.c-uppercase {
 text-transform:uppercase;
}
.c-lowercase {
 text-transform:lowercase;
}
.c-underline {
 text-decoration:underline;
}
.c-bold {
 font-weight:600;
}
.c-italic {
 font-style:italic;
}
.bg--primary {
}
.bg--primary .ct-section-inner-wrap {
padding-top: 0.5rem;
padding-bottom: 0.5px;
}
.text--accent {
}
.text--secondary {
 font-family:'Helvetica';
 font-weight:100;
}
.text--xxl {
 letter-spacing:-0.25rem;
}
.text-m {
}
.text--m {
 font-family:'Helvetica';
 font-weight:500;
 padding-top:2rem;
 padding-bottom:2rem;
}
.text--s {
 font-family:'Helvetica';
 padding-top:2rem;
 padding-bottom:4rem;
}
.btn--base {
}
.btn-accent {
}
.- {
}
.btn--accent:hover{
}
.btn--accent {
}
.btn--small {
}
.btn--xs {
}
.text--l {
}
.text--xl {
 font-size:67px;
 font-weight:200;
}
.text-xl {
}
.text--xs {
}
.text-xxl {
}
.text--larger {
}
.s-1 {
}
/* COLUMNS - DESKTOP */
/* ----------------- */

.c-columns-2-auto {
  display: grid!important;
  grid-template-columns: auto auto;
  width: 100%;
}
.c-columns-6 {
  display: grid!important;
  grid-template-columns: repeat(6, 1fr); 
  width: 100%;
}
.c-columns-5 {
  display: grid!important;
  grid-template-columns: repeat(5, 1fr); 
  width: 100%;
}
.c-columns-4 {
  display: grid!important;
  grid-template-columns: repeat(4, 1fr); 
  width: 100%;
}
.c-columns-3 {
  display: grid!important;
  grid-template-columns: repeat(3, 1fr);
  width: 100%; 
}
.c-columns-2 {
  display: grid!important;
  grid-template-columns: repeat(2, 1fr); 
  width: 100%;
}
.c-columns-3-2 {
  display: grid!important;
  grid-template-columns: 3fr 2fr; 
  width: 100%;
}
.c-columns-2-3 {
  display: grid!important;
  grid-template-columns: 2fr 3fr; 
  width: 100%;
}
.c-columns-1-2 {
  display: grid!important;
  grid-template-columns: 1fr 2fr; 
  width: 100%;
}
.c-columns-2-1 {
  display: grid!important;
  grid-template-columns: 2fr 1fr; 
  width: 100%;
}
.c-columns-3-1 {
  display: grid!important;
  grid-template-columns: 3fr 1fr; 
  width: 100%;
}
.c-columns-1-3 {
  display: grid!important;
  grid-template-columns: 1fr 3fr; 
  width: 100%;
}

/* ROW SPANS - DESKTOP - INCREASE CELL SIZE */

.c-row-span-2 {
  grid-row: span 2 / span 2;
}
.c-row-span-3 {
  grid-row: span 3 / span 3;
}
.c-row-span-4 {
  grid-row: span 4 / span 4;
}
.c-row-span-5 {
  grid-row: span 5 / span 5;
}
.c-row-span-6 {
  grid-row: span 6 / span 6;
}

/* COLUMN SPANS - DESKTOP - INCREASE CELL SIZE */

.c-col-span-2 {
  grid-column: span 2 / span 2;
}
.c-col-span-3 {
  grid-column: span 3 / span 3;
}
.c-col-span-4 {
  grid-column: span 4 / span 4;
}
.c-col-span-5 {
  grid-column: span 5 / span 5;
}
.c-col-span-6 {
  grid-column: span 6 / span 6;
}

/* ROW START - DESKTOP - POSITION OF THE ROW */

.c-row-start-1 {
  grid-row-start: 1;
}
.c-row-start-2 {
  grid-row-start: 2;
}
.c-row-start-3 {
  grid-row-start: 3;
}
.c-row-start-4 {
  grid-row-start: 4;
}
.c-row-start-5 {
  grid-row-start: 5;
}
.c-row-start-6 {
  grid-row-start: 6;
}

/* COLUMN START - DESKTOP - POSITION OF THE COLUMN */

.c-col-start-1 {
  grid-column-start: 1;
}
.c-col-start-2 {
  grid-column-start: 2;
}
.c-col-start-3 {
  grid-column-start: 3;
}
.c-col-start-4 {
  grid-column-start: 4;
}
.c-col-start-5 {
  grid-column-start: 5;
}
.c-col-start-6 {
  grid-column-start: 6;
}


/* COLUMNS - LAPTOP */
/* ---------------- */

@media only screen and (max-width: 1399px) {
  .c-columns-xl-5 {
    grid-template-columns: repeat(5, 1fr); 
  }
  .c-columns-xl-4 {
    grid-template-columns: repeat(4, 1fr); 
  }
  .c-columns-xl-3 {
    grid-template-columns: repeat(3, 1fr); 
  }
  .c-columns-xl-2 {
    grid-template-columns: repeat(2, 1fr); 
  }
  .c-columns-xl-1 {
    grid-template-columns: 1fr;
  }

  /* ROW SPANS - LAPTOP */

  .c-row-span-xl-1 {
    grid-row: span 1 / span 1;
  }
  .c-row-span-xl-2 {
    grid-row: span 2 / span 2;
  }
  .c-row-span-xl-3 {
    grid-row: span 3 / span 3;
  }
  .c-row-span-xl-4 {
    grid-row: span 4 / span 4;
  }
  .c-row-span-xl-5 {
    grid-row: span 5 / span 5;
  }
  .c-row-span-xl-6 {
    grid-row: span 6 / span 6;
  }

  /* COLUMN SPANS - LAPTOP */

  .c-col-span-xl-1 {
    grid-column: span 1 / span 1;
  }
  .c-col-span-xl-2 {
    grid-column: span 2 / span 2;
  }
  .c-col-span-xl-3 {
    grid-column: span 3 / span 3;
  }
  .c-col-span-xl-4 {
    grid-column: span 4 / span 4;
  }
  .c-col-span-xl-5 {
    grid-column: span 5 / span 5;
  }
  .c-col-span-xl-6 {
    grid-column: span 6 / span 6;
  }

  /* ROW START - LAPTOP */

  .c-row-start-xl-1 {
    grid-row-start: 1;
  }
  .c-row-start-xl-2 {
    grid-row-start: 2;
  }
  .c-row-start-xl-3 {
    grid-row-start: 3;
  }
  .c-row-start-xl-4 {
    grid-row-start: 4;
  }
  .c-row-start-xl-5 {
    grid-row-start: 5;
  }
  .c-row-start-xl-6 {
    grid-row-start: 6;
  }

  /* COLUMN START - LAPTOP */

  .c-col-start-xl-1 {
    grid-column-start: 1;
  }
  .c-col-start-xl-2 {
    grid-column-start: 2;
  }
  .c-col-start-xl-3 {
    grid-column-start: 3;
  }
  .c-col-start-xl-4 {
    grid-column-start: 4;
  }
  .c-col-start-xl-5 {
    grid-column-start: 5;
  }
  .c-col-start-xl-6 {
    grid-column-start: 6;
  }

}

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

@media only screen and (max-width: 991px) {
  .c-columns-l-4 {
    grid-template-columns: repeat(4, 1fr); 
  }
  .c-columns-l-3 {
    grid-template-columns: repeat(3, 1fr); 
  }
  .c-columns-l-2 {
    grid-template-columns: repeat(2, 1fr); 
  }
  .c-columns-l-1 {
    grid-template-columns: 1fr;
  }

  /* ROW SPANS - TABLET */

  .c-row-span-l-1 {
    grid-row: span 1 / span 1;
  }
  .c-row-span-l-2 {
    grid-row: span 2 / span 2;
  }
  .c-row-span-l-3 {
    grid-row: span 3 / span 3;
  }
  .c-row-span-l-4 {
    grid-row: span 4 / span 4;
  }
  .c-row-span-l-5 {
    grid-row: span 5 / span 5;
  }
  .c-row-span-l-6 {
    grid-row: span 6 / span 6;
  }

  /* COLUMN SPANS - TABLET */

  .c-col-span-l-1 {
    grid-column: span 1 / span 1;
  }
  .c-col-span-l-2 {
    grid-column: span 2 / span 2;
  }
  .c-col-span-l-3 {
    grid-column: span 3 / span 3;
  }
  .c-col-span-l-4 {
    grid-column: span 4 / span 4;
  }
  .c-col-span-l-5 {
    grid-column: span 5 / span 5;
  }
  .c-col-span-l-6 {
    grid-column: span 6 / span 6;
  }

  /* ROW START - LAPTOP */

  .c-row-start-l-1 {
    grid-row-start: 1;
  }
  .c-row-start-l-2 {
    grid-row-start: 2;
  }
  .c-row-start-l-3 {
    grid-row-start: 3;
  }
  .c-row-start-l-4 {
    grid-row-start: 4;
  }
  .c-row-start-l-5 {
    grid-row-start: 5;
  }
  .c-row-start-l-6 {
    grid-row-start: 6;
  }

  /* COLUMN START - LAPTOP */

  .c-col-start-l-1 {
    grid-column-start: 1;
  }
  .c-col-start-l-2 {
    grid-column-start: 2;
  }
  .c-col-start-l-3 {
    grid-column-start: 3;
  }
  .c-col-start-l-4 {
    grid-column-start: 4;
  }
  .c-col-start-l-5 {
    grid-column-start: 5;
  }
  .c-col-start-l-6 {
    grid-column-start: 6;
  }

}

/* COLUMNS - MOBILE LANDSCAPE */
/* -------------------------- */

@media only screen and (max-width: 767px) {
  .c-columns-m-3 {
    grid-template-columns: repeat(3, 1fr); 
  }
  .c-columns-m-2 {
    grid-template-columns: repeat(2, 1fr); 
  }
  .c-columns-m-1 {
    grid-template-columns: 1fr;
  }

  /* ROW SPANS - MOBILE LANDSCAPE */

  .c-row-span-m-1 {
    grid-row: span 1 / span 1;
  }
  .c-row-span-m-2 {
    grid-row: span 2 / span 2;
  }
  .c-row-span-m-3 {
    grid-row: span 3 / span 3;
  }
  .c-row-span-m-4 {
    grid-row: span 4 / span 4;
  }
  .c-row-span-m-5 {
    grid-row: span 5 / span 5;
  }
  .c-row-span-m-6 {
    grid-row: span 6 / span 6;
  }

  /* COLUMN SPANS - MOBILE LANDSCAPE */

  .c-col-span-m-1 {
    grid-column: span 1 / span 1;
  }
  .c-col-span-m-2 {
    grid-column: span 2 / span 2;
  }
  .c-col-span-m-3 {
    grid-column: span 3 / span 3;
  }
  .c-col-span-m-4 {
    grid-column: span 4 / span 4;
  }
  .c-col-span-m-5 {
    grid-column: span 5 / span 5;
  }
  .c-col-span-m-6 {
    grid-column: span 6 / span 6;
  }

  /* ROW START - MOBILE LANDSCAPE */

  .c-row-start-m-1 {
    grid-row-start: 1;
  }
  .c-row-start-m-2 {
    grid-row-start: 2;
  }
  .c-row-start-m-3 {
    grid-row-start: 3;
  }
  .c-row-start-m-4 {
    grid-row-start: 4;
  }
  .c-row-start-m-5 {
    grid-row-start: 5;
  }
  .c-row-start-m-6 {
    grid-row-start: 6;
  }

  /* COLUMN START - MOBILE LANDSCAPE */

  .c-col-start-m-1 {
    grid-column-start: 1;
  }
  .c-col-start-m-2 {
    grid-column-start: 2;
  }
  .c-col-start-m-3 {
    grid-column-start: 3;
  }
  .c-col-start-m-4 {
    grid-column-start: 4;
  }
  .c-col-start-m-5 {
    grid-column-start: 5;
  }
  .c-col-start-m-6 {
    grid-column-start: 6;
  }

}

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

@media only screen and (max-width: 479px) {
  .c-columns-s-2 {
    grid-template-columns: repeat(2, 1fr); 
  }
  .c-columns-s-1 {
    grid-template-columns: 1fr;
  }

  /* ROW SPANS - MOBILE */

  .c-row-span-s-1 {
    grid-row: span 1 / span 1;
  }
  .c-row-span-s-2 {
    grid-row: span 2 / span 2;
  }
  .c-row-span-s-3 {
    grid-row: span 3 / span 3;
  }
  .c-row-span-s-4 {
    grid-row: span 4 / span 4;
  }
  .c-row-span-s-5 {
    grid-row: span 5 / span 5;
  }
  .c-row-span-s-6 {
    grid-row: span 6 / span 6;
  }

  /* COLUMN SPANS - MOBILE */

  .c-col-span-s-1 {
    grid-column: span 1 / span 1;
  }
  .c-col-span-s-2 {
    grid-column: span 2 / span 2;
  }
  .c-col-span-s-3 {
    grid-column: span 3 / span 3;
  }
  .c-col-span-s-4 {
    grid-column: span 4 / span 4;
  }
  .c-col-span-s-5 {
    grid-column: span 5 / span 5;
  }
  .c-col-span-s-6 {
    grid-column: span 6 / span 6;
  }

  /* ROW START - MOBILE */

  .c-row-start-s-1 {
    grid-row-start: 1;
  }
  .c-row-start-s-2 {
    grid-row-start: 2;
  }
  .c-row-start-s-3 {
    grid-row-start: 3;
  }
  .c-row-start-s-4 {
    grid-row-start: 4;
  }
  .c-row-start-s-5 {
    grid-row-start: 5;
  }
  .c-row-start-s-6 {
    grid-row-start: 6;
  }

  /* COLUMN START - MOBILE */

  .c-col-start-s-1 {
    grid-column-start: 1;
  }
  .c-col-start-s-2 {
    grid-column-start: 2;
  }
  .c-col-start-s-3 {
    grid-column-start: 3;
  }
  .c-col-start-s-4 {
    grid-column-start: 4;
  }
  .c-col-start-s-5 {
    grid-column-start: 5;
  }
  .c-col-start-s-6 {
    grid-column-start: 6;
  }

}


/* OTHER */
/* ---------------- */

/* CSS GRID - GALLERIES AND LAYOUTS */
.c-gallery {align-items: stretch;}
.c-gallery img {object-fit:cover;}


/* GRID 1 */

.c-grid-1 {
  display: grid!important;
  width:100%;
  grid-template-columns: repeat(3, 1fr); 
  grid-template-rows: repeat(2, 1fr);
}

.c-grid-1 *:nth-child(1) { grid-area: 1 / 1 / span 2 / span 2; }
.c-grid-1 *:nth-child(2) { grid-area: 1 / 3; }
.c-grid-1 *:nth-child(3) { grid-area: 2 / 3; }

@media only screen and (max-width: 767px) {

  .c-grid-1 {
    grid-template-columns: 1fr 1fr; 
    grid-template-rows: 1.5fr 1fr;
  }

  .c-grid-1 *:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
  .c-grid-1 *:nth-child(2) { grid-area: 2 / 1; }
  .c-grid-1 *:nth-child(3) { grid-area: 2 / 2; }

}


/* GRID 2 */

.c-grid-2 {
  display: grid!important;
  width:100%;
  grid-template-columns: repeat(5, 1fr); 
  grid-template-rows: repeat(2, 1fr);
}

.c-grid-2 *:nth-child(1) { grid-area: 1 / 1 / 2 / 4; }
.c-grid-2 *:nth-child(2) { grid-area: 1 / 4 / 2 / 6; }
.c-grid-2 *:nth-child(3) { grid-area: 2 / 1 / 3 / 3; }
.c-grid-2 *:nth-child(4) { grid-area: 2 / 3 / 3 / 6; }/* GALLERY SLIDER */

ul.splide__list {
  width: 100%;
}

#primary-slider {
  margin-bottom: 10px;
}
.splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.splide--nav > .splide__track > .splide__list > .splide__slide {
  border: none !important;
  opacity: 0.5;
  transition: opacity 0.6s;
}
.splide--nav > .splide__track > .splide__list > .splide__slide:hover {
  opacity: 1;
}
.splide--nav > .splide__track > .splide__list > .splide__slide.is-active {
  opacity: 1;
}

/* ARROWS STYLING */

.splide .splide__arrow,
.oxy-oxyninja-slider .splide__arrow {
  border-radius: 0;
  opacity: 0;
  background: #fff;
  box-shadow: 0 1px 5px #0000001c;
  transition: all 0.4s;
}

.splide:hover .splide__arrow,
.oxy-oxyninja-slider:hover .splide__arrow {
  opacity: 0.8;
}

.splide .splide__arrow:hover,
.oxy-oxyninja-slider .splide__arrow:hover {
  opacity: 1;
  background: #fff;
  box-shadow: 0 1px 10px #0000001c;
}

.splide .splide__arrows button:disabled,
.oxy-oxyninja-slider .splide__arrows button:disabled {
  display: none;
}

/* ARROWS APPEAR ON SLIDER HOVER */

.splide .splide__arrow--prev,
.oxy-oxyninja-slider .splide__arrow--prev {
  left: 0;
}
.splide .splide__arrow--next,
.oxy-oxyninja-slider .splide__arrow--next {
  right: 0;
}

.splide:hover .splide__arrow--prev,
.oxy-oxyninja-slider:hover .splide__arrow--prev {
  left: 1em;
}
.splide:hover .splide__arrow--next,
.oxy-oxyninja-slider:hover .splide__arrow--next {
  right: 1em;
}

/* ARROWS APPEARING ALL THE TIME ON PHONES */

@media only screen and (max-width: 991px) {
.splide .splide__arrow,
.oxy-oxyninja-slider .splide__arrow {
  opacity: 1;
}
.splide .splide__arrow--prev,
.oxy-oxyninja-slider .splide__arrow--prev {
  left: 1em;
}
.splide .splide__arrow--next,
.oxy-oxyninja-slider .splide__arrow--next {
  right: 1em;
}
}

/* CAROUSEL PAGINATION */

.splide .splide__pagination,
.oxy-oxyninja-slider .splide__pagination {
  bottom: -1em;
}
.splide .splide__pagination__page,
.oxy-oxyninja-slider .splide__pagination__page {
  width: 40px;
  height: 1px;
  background: #323232;
  border-radius: 0;
  opacity: 0.2;
}
.splide .splide__pagination__page.is-active,
.oxy-oxyninja-slider .splide__pagination__page.is-active {
  background: #323232;
  transform: scale(1);
  opacity: 0.7;
}
.wc-product-gallery-1 .splide .splide__pagination,
.wc-product-gallery-2 .splide .splide__pagination,
.wc-product-gallery-1 .oxy-oxyninja-slider .splide__pagination,
.wc-product-gallery-2 .oxy-oxyninja-slider .splide__pagination {
  display: none;
}/* 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.7rem;
  --s-text: clamp(0.63rem, 0.57rem - -0.28vw, 0.81rem);
  
  --m-text-fallback: 0.8rem;
  --m-text: clamp(0.75rem, 0.68rem - -0.33vw, 0.98rem);
  
  --l-text-fallback: 0.95rem;
  --l-text: clamp(0.90rem, 0.82rem - -0.40vw, 1.17rem);
  
  --xl-text-fallback: 1.2rem;
  --xl-text: clamp(1.08rem, 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);
}/* Version: 0.9.73 */ 

:root {
	
	/*** BEGIN SETUP ***/
		
	/***
	VIEWPORT VARIABLES
	Match these to the viewport width you set in Oxygen global settings.
	***/
		
		--vp-min: 32; /* Viewport Min Size in REM (32 = 320px) */
		--vp-max: 128; /* Viewport Max Size in REM (128 = 1280px) */
		
	/* 
	GLOBAL COLOR SETUP (HSL)
	Set the global colors below using HSL variables.
	You can quickly get the HSL values for a color by pasting its hex code into Google search.
	*/
		
		/* PRIMARY COLOR HSL VALUES */
			--primary-h: 0;
			--primary-s: 0%;
			--primary-l: 12.5%;
	
		/* SECONDARY COLOR HSL VALUES */
			--secondary-h: 0;
			--secondary-s: 0%;
			--secondary-l: 100%;
	
		/* ACCENT COLOR HSL VALUES */
			--accent-h: 0;
			--accent-s: 0%;
			--accent-l: 19.2%;
	
		/* BASE COLOR HSL VALUES */
			--base-h: 0;
			--base-s: 0%;
			--base-l: 0%;
		
		/* SHADE COLOR HSL VALUES 
		Defaulted to black/white & generates grays.
		Change these values if you want to tint your greys.
		If you don't need grey shades, you can use this as an alternate base color.
		*/
		
		--shade-h: 0; 
		--shade-s: 0%;
		--shade-l: 0%;
	
	/*** 
	BASE TEXT SIZE
	Base text sizes are used to calculate the fluid text and heading styles. Adjust accordingly.
	Headings use same values from H6 (xs) to H1 (xxl).
	***/
		
		--base-text-desk: 1.8;
		--base-text-mob: 1.6;
		
		/* Mobile Text Protection 
		XS and S text sizes are protected by a max() function.
		This ensures they never get smaller than the below values.
		Insert a value with unit attached.
		1rem = 10px.
		*/
		
		--text-xs-stop: 1rem;
		--text-s-stop: 1.1rem;
		
	/*** 
	TEXT SCALE
	The text scale controls the progression of text sizes.
	1.067 - Minor Second
	1.125 - Major Second
	1.200 - Minor Third
	1.250 - Major Third
	1.333 - Perfect Fourth
	1.414 - Augmented Fouth
	1.500 - Perfect Fifth
	1.618 - Golden Ratio
		
	Most websites should use 1.200, 1.250, 1.333, and 1.414. 
	Other scales will produce more extreme results (but may be suitable in some cases).
	***/
		
		--text-scale: 1.333;
		--mob-text-scale: 1.2;
		--text-multiplier: 1.5; /* Controls the .text--larger class */
	
		
	/*** 
	FLUID SPACING SYSTEM 
	Base spacing will adjust all spacing globally.
	The difference between base-space and base-space-min controls the rate of change between desktop and mobile.
	space-scale controls the variance between each size relative to the others.
	space-adjust-section controls the amount of top/bottom white space in sections.
	mob-space-adjust-section offers further tightening of spacing on mobile devices (lower = tighter).
	***/
	
		--base-space: 0.5;
		--base-space-min: 2.4;
		--space-scale: 1.5;
		--mob-space-scale: 1.3; /* Mobile space scale factor */
		--space-adjust-section: 4; /* Adjusts section padding on Y axis) */
		--mob-space-adjust-section: 3; /* Mobile-specific section padding adjustment */
	
		/* DEFAULT LEFT & RIGHT SECTION & HEADER PADDING */
		--section-padding-x: var(--space-m);
	
	/*** 
	DEFAULT BUTTON STYLING
	Set the default button style.
	***/
	
		/*** SOLID BUTTON STYLE DEFAULTS ***/
		
		/* BUTTON BACKGROUND COLORS */
		--btn-primary-bg: var(--primary);
		--btn-secondary-bg: var(--secondary);
		--btn-accent-bg: var(--accent);
		--btn-base-bg: var(--base);
		--btn-white-bg: var(--shade-white);
		--btn-black-bg: var(--shade-black);
		
		/* BUTTON TEXT COLORS */
		--btn-primary-text: var(--primary-ultra-light);
		--btn-secondary-text: var(--secondary-ultra-light);
		--btn-accent-text: var(--accent-ultra-light);
		--btn-base-text: var(--base-ultra-light);
		--btn-white-text: var(--shade-black);
		--btn-black-text: var(--shade-white);
		
		/* BUTTON BORDER COLORS */
		--btn-primary-border-color: var(--primary);
		--btn-secondary-border-color: var(--secondary);
		--btn-accent-border-color: var(--accent);
		--btn-base-border-color: var(--base);
		--btn-white-border-color: var(--shade-white);
		--btn-black-border-color: var(--shade-black);
		
		/* BUTTON HOVER BACKGROUND COLOR */
		--btn-primary-hover: var(--primary-hover);
		--btn-secondary-hover: var(--secondary-hover);
		--btn-accent-hover: var(--accent-hover);
		--btn-base-hover: var(--base-hover);
		--btn-white-hover: var(--primary-hover); /* Set white button hover color */
		--btn-black-hover: var(--primary-hover); /* Set black button hover color */
	
		/* BUTTON HOVER TEXT COLOR */
		--btn-primary-hover-text: var(--primary-ultra-light);
		--btn-secondary-hover-text: var(--secondary-ultra-light);
		--btn-accent-hover-text: var(--accent-ultra-light);
		--btn-base-hover-text: var(--base-ultra-light);
		--btn-white-hover-text: var(--shade-white);
		--btn-black-hover-text: var(--shade-white);
		
		/* BUTTON HOVER BORDER COLOR */
		--btn-primary-hover-border-color: var(--primary-hover);
		--btn-secondary-hover-border-color: var(--secondary-hover);
		--btn-accent-hover-border-color: var(--accent-hover);
		--btn-base-hover-border-color: var(--base-hover);
		--btn-white-hover-border-color: var(--shade-black);
		--btn-black-hover-border-color: var(--shade-white);
		
		/* OTHER BUTTON STYLING */
		--btn-border-size: .25rem;
		--btn-pad-y: 1em; /* Default top/bottom padding */
		--btn-pad-x: 1.5em; /* Default left/right padding */
		--btn-radius: 0; /* Default button radius */
	
		/*** OUTLINE BUTTON STYLE DEFAULTS ***/
	
		--outline-btn-border-size: .25rem; /* Set outline button border width */
	
		/* OUTLINE BUTTON TEXT COLOR */
		--primary-outline-btn-text: var(--primary);
		--secondary-outline-btn-text: var(--secondary);
		--base-outline-btn-text: var(--base);
		--accent-outline-btn-text: var(--accent);
		--white-outline-btn-text: var(--shade-white);
		--black-outline-btn-text: var(--shade-black);
	
		/* OUTLINE BUTTON HOVER TEXT COLOR */
		--primary-outline-hover-text: var(--primary-ultra-light);
		--secondary-outline-hover-text: var(--secondary-ultra-light);
		--base-outline-hover-text: var(--base-ultra-light);
		--accent-outline-hover-text: var(--accent-ultra-light);
		--white-outline-hover-text: var(--primary-ultra-light);
		--black-outline-hover-text: var(--primary-ultra-light);
	
	/*** 
	BORDER RADIUS SCALE
	Set the default scale for border radius.
	***/
	
		--base-radius: 1rem;
		--radius-scale: 1.5; 
	
	/*** 
	TOOLTIP DEFAULTS
	Set the default scale for border radius.
	***/
		
		--tooltip-bg: var(--base);
		--tooltip-text-size: var(--text-s);
		--tooltip-text-color: var(--shade-white);
		--tooltip-width: 24rem; /* Default width of tooltip pop-up */
		--tooltip-underline-thickness: .2rem; /* Link underline weight */
		--tooltip-underline-style: dashed; /* Link underline style */
		--tooltip-underline-color: var(--primary); /* Link underline color */
		--tooltip-link-color: inherit; /* Link text color */
		--tooltip-link-weight: 500;
		--tooltip-link-bg: inherit;
		--tooltip-text-align: center;
	
	/* 
	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.
	*/
		
		--primary-hover-val: 1.05;
		--primary-ultra-light-val: 95%;
		--primary-light-val: 85%;
		--primary-medium-val: 50%;
		--primary-dark-val: 25%;
		--primary-ultra-dark-val: 10%;
	
		--secondary-hover-val: 1.05;
		--secondary-ultra-light-val: 95%;
		--secondary-light-val: 85%;
		--secondary-medium-val: 50%;
		--secondary-dark-val: 25%;
		--secondary-ultra-dark-val: 10%;
			
		--accent-hover-val: 1.05;
		--accent-ultra-light-val: 95%;
		--accent-light-val: 85%;
		--accent-medium-val: 50%;
		--accent-dark-val: 25%;
		--accent-ultra-dark-val: 10%;
			
		--base-hover-val: 1.05;
		--base-ultra-light-val: 95%;
		--base-light-val: 85%;
		--base-medium-val: 50%;
		--base-dark-val: 25%;
		--base-ultra-dark-val: 10%;
		
		--shade-hover-val: 1.05;
		--shade-ultra-light-val: 95%;
		--shade-light-val: 85%;
		--shade-medium-val: 50%;
		--shade-dark-val: 25%;
		--shade-ultra-dark-val: 10%;
	
	/* 
	PURE FALLBACKS
	These are a backup fallback layer. 
	Values only apply to devices that don't support clamp() or calc().
	Values are static and non-responsive.
	The only goal here is to prevent complete breakage on outdated devices.
	*/
		
		--text-xs-fallback-pure: 1.26rem;
		--text-s-fallback-pure: 1.42rem;
		--text-m-fallback-pure: 1.8rem;
		--text-l-fallback-pure: 2.025rem;
		--text-xl-fallback-pure: 2.28rem;
		--text-xxl-fallback-pure: 2.565rem;	
		
		--space-xs-fallback-pure: 1.896rem;
		--space-s-fallback-pure: 2.133rem;
		--space-m-fallback-pure: 2.4rem;
		--space-l-fallback-pure: 2.7rem;
		--space-xl-fallback-pure: 3.038rem;
		--space-xxl-fallback-pure: 3.42rem;
		
		--section-space-xs-fallback-pure: 3.84rem;
		--section-space-s-fallback-pure: 4.8rem;
		--section-space-m-fallback-pure: 6rem;
		--section-space-l-fallback-pure: 7.5rem;
		--section-space-xl-fallback-pure: 9.375rem;
		--section-space-xxl-fallback-pure: 11.719rem;
		
	/*** END SETUP ***/ 
	}/* Version: 0.9.73 */ 

html {
	font-size: 62.5%; /* Set base font size to 10px */
  }

:root {

/***********
***********
***********
	
EVERYTHING BELOW THIS POINT IS NO TOUCHEY
UNLESS YOU KNOW EXACTLY WHAT YOU'RE DOING
	
***********
***********
***********/

/* PRIMARY COLOR VARIABLES */
	--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(--primary-hover-val)));
	--primary-ultra-light: hsl(var(--primary-h), var(--primary-s), var(--primary-ultra-light-val));
	--primary-light: hsl(var(--primary-h), var(--primary-s), var(--primary-light-val));
	--primary-medium: hsl(var(--primary-h), var(--primary-s), var(--primary-medium-val));
	--primary-dark: hsl(var(--primary-h), var(--primary-s), var(--primary-dark-val));
	--primary-ultra-dark: hsl(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val));
	--primary-ultra-dark-trans-90: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .9);
	--primary-ultra-dark-trans-80: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .8);
	--primary-ultra-dark-trans-60: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .6);
	--primary-ultra-dark-trans-40: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .4);
	--primary-ultra-dark-trans-20: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .2);
	--primary-ultra-dark-trans-10: hsla(var(--primary-h), var(--primary-s), var(--primary-ultra-dark-val), .1);
	--primary-trans-90: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .9);
	--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-trans-10: hsla(var(--primary-h), var(--primary-s), var(--primary-l), .1);
	--primary-comp: hsl(calc(var(--primary-h) + 180), var(--primary-s), var(--primary-l));

/* SECONDARY COLOR VARIABLES */
	--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(--secondary-hover-val)));
	--secondary-ultra-light: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-light-val));
	--secondary-light: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-light-val));
	--secondary-medium: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-medium-val));
	--secondary-dark: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-dark-val));
	--secondary-ultra-dark: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val));
	--secondary-ultra-dark-trans-90: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .9);
	--secondary-ultra-dark-trans-80: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .8);
	--secondary-ultra-dark-trans-60: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .6);
	--secondary-ultra-dark-trans-40: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .4);
	--secondary-ultra-dark-trans-20: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .2);
	--secondary-ultra-dark-trans-10: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-ultra-dark-val), .1);
	--secondary-trans-90: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .9);
	--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-trans-10: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), .1);
	--secondary-comp: hsl(calc(var(--secondary-h) + 180), var(--secondary-s), var(--secondary-l));

/* ACCENT COLOR VARIABLES */
	--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(--accent-hover-val)));
	--accent-ultra-light: hsl(var(--accent-h), var(--accent-s), var(--accent-ultra-light-val));
	--accent-light: hsl(var(--accent-h), var(--accent-s), var(--accent-light-val));
	--accent-medium: hsl(var(--accent-h), var(--accent-s), var(--accent-medium-val));
	--accent-dark: hsl(var(--accent-h), var(--accent-s), var(--accent-dark-val));
	--accent-ultra-dark: hsl(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val));
	--accent-ultra-dark-trans-90: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .9);
	--accent-ultra-dark-trans-80: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .8);
	--accent-ultra-dark-trans-60: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .6);
	--accent-ultra-dark-trans-40: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .4);
	--accent-ultra-dark-trans-20: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .2);
	--accent-ultra-dark-trans-10: hsla(var(--accent-h), var(--accent-s), var(--accent-ultra-dark-val), .1);
	--accent-trans-90: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .9);
	--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-trans-10: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .1);
	--accent-comp: hsl(calc(var(--accent-h) + 180), var(--accent-s), var(--accent-l));

/* BASE COLOR VARIABLES */
	--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(--base-hover-val)));
	--base-ultra-light: hsl(var(--base-h), var(--base-s), var(--base-ultra-light-val));
	--base-light: hsl(var(--base-h), var(--base-s), var(--base-light-val));
	--base-medium: hsl(var(--base-h), var(--base-s), var(--base-medium-val));
	--base-dark: hsl(var(--base-h), var(--base-s), var(--base-dark-val));
	--base-ultra-dark: hsl(var(--base-h), var(--base-s), var(--base-ultra-dark-val));
	--base-ultra-dark-trans-90: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .9);
	--base-ultra-dark-trans-80: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .8);
	--base-ultra-dark-trans-60: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .6);
	--base-ultra-dark-trans-40: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .4);
	--base-ultra-dark-trans-20: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .2);
	--base-ultra-dark-trans-10: hsla(var(--base-h), var(--base-s), var(--base-ultra-dark-val), .1);
	--base-trans-90: hsla(var(--base-h), var(--base-s), var(--base-l), .9);
	--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-trans-10: hsla(var(--base-h), var(--base-s), var(--base-l), .1);
	--base-comp: hsl(calc(var(--base-h) + 180), var(--base-s), var(--base-l));

/* WHITE, BLACK, AND GRAY COLOR VARIABLES - NO TOUCHEY */
	--shade-black: hsl(0, 0%, 0%);
	--shade-white: hsl(100, 100%, 100%);
	--shade-ultra-light: hsl(var(--shade-h), var(--shade-s), var(--shade-ultra-light-val));
	--shade-light: hsl(var(--shade-h), var(--shade-s), var(--shade-light-val));
	--shade-medium: hsl(var(--shade-h), var(--shade-s), var(--shade-medium-val));
	--shade-dark: hsl(var(--shade-h), var(--shade-s), var(--shade-dark-val));
	--shade-ultra-dark: hsl(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val));
	--shade-ultra-dark-trans-90: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .9);
	--shade-ultra-dark-trans-80: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .8);
	--shade-ultra-dark-trans-60: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .6);
	--shade-ultra-dark-trans-40: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .4);
	--shade-ultra-dark-trans-20: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .2);
	--shade-ultra-dark-trans-10: hsla(var(--shade-h), var(--shade-s), var(--shade-ultra-dark-val), .1);
	--black-trans-90: hsla(0, 0%, 0%, .9);
	--black-trans-80: hsla(0, 0%, 0%, .8);
	--black-trans-60: hsla(0, 0%, 0%, .6);
	--black-trans-40: hsla(0, 0%, 0%, .4);
	--black-trans-20: hsla(0, 0%, 0%, .2);
	--black-trans-10: hsla(0, 0%, 0%, .1);

/*** 
SCALE CALCS
These calcs are for the text clamps.
***/

/* SCALE-BASED TYPOGRAPHY */

--text-m-max: var(--base-text-desk);
--text-m-min: var(--base-text-mob);

--text-s-max: calc(var(--text-m-max) / var(--text-scale));
--text-s-min: calc(var(--text-m-min) / var(--mob-text-scale));

--text-xs-max: calc(var(--text-s-max) / var(--text-scale));
--text-xs-min: calc(var(--text-s-min) / var(--mob-text-scale));

--text-l-max: calc(var(--text-m-max) * var(--text-scale));
--text-l-min: calc(var(--text-m-min) * var(--mob-text-scale));

--text-xl-max: calc(var(--text-l-max) * var(--text-scale));
--text-xl-min: calc(var(--text-l-min) * var(--mob-text-scale));

--text-xxl-max: calc(var(--text-xl-max) * var(--text-scale));
--text-xxl-min: calc(var(--text-xl-min) * var(--mob-text-scale));


/*** 
USEFUL TEXT VARIABLES
These can be used in place of classes or in custom classes.
***/

--text-xs: clamp(calc(var(--text-xs-min) * 1rem), calc(var(--text-xs-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-xs-max) - var(--text-xs-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-xs-max) * 1rem));
--text-s: clamp(calc(var(--text-s-min) * 1rem), calc(var(--text-s-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-s-max) - var(--text-s-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-s-max) * 1rem));
--text-m: clamp(calc(var(--text-m-min) * 1rem), calc(var(--text-m-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-m-max) - var(--text-m-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-m-max) * 1rem));
--text-l: clamp(calc(var(--text-l-min) * 1rem), calc(var(--text-l-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-l-max) - var(--text-l-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-l-max) * 1rem));
--text-xl: clamp(calc(var(--text-xl-min) * 1rem), calc(var(--text-xl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-xl-max) - var(--text-xl-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-xl-max) * 1rem));
--text-xxl: clamp(calc(var(--text-xxl-min) * 1rem), calc(var(--text-xxl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--text-xxl-max) - var(--text-xxl-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--text-xxl-max) * 1rem));

--text-xs-fallback: calc(var(--text-xs-min) * 1rem + (var(--text-xs-max) - var(--text-xs-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--text-s-fallback: calc(var(--text-s-min) * 1rem + (var(--text-s-max) - var(--text-s-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--text-m-fallback: calc(var(--text-m-min) * 1rem + (var(--text-m-max) - var(--text-m-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--text-l-fallback: calc(var(--text-l-min) * 1rem + (var(--text-l-max) - var(--text-l-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--text-xl-fallback: calc(var(--text-xl-min) * 1rem + (var(--text-xl-max) - var(--text-xl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--text-xxl-fallback: calc(var(--text-xxl-min) * 1rem + (var(--text-xxl-max) - var(--text-xxl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
	
/*** 
USEFUL SPACING VARIABLES
These can be used for individul margin, padding, and gap needs.
***/

/* SPACING */

--space-m-min: var(--base-space-min);
--space-m-max: var(--base-space);

--space-xs-min: calc(var(--space-s-min) / var(--mob-space-scale));
--space-xs-max: calc(var(--space-s-max) / var(--space-scale));

--space-s-min: calc(var(--space-m-min) / var(--mob-space-scale));
--space-s-max: calc(var(--space-m-max) / var(--space-scale));

--space-l-min: calc(var(--space-m-min) * var(--mob-space-scale));
--space-l-max: calc(var(--space-m-max) * var(--space-scale));

--space-xl-min: calc(var(--space-l-min) * var(--mob-space-scale));
--space-xl-max: calc(var(--space-l-max) * var(--space-scale));

--space-xxl-min: calc(var(--space-xl-min) * var(--mob-space-scale));
--space-xxl-max: calc(var(--space-xl-max) * var(--space-scale));

/* SPACING CLAMPS */

--space-xs: clamp(var(--space-xs-min) * 1rem, calc(var(--space-xs-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-xs-max) - var(--space-xs-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-xs-max) * 1rem);
--space-s: clamp(var(--space-s-min) * 1rem, calc(var(--space-s-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-s-max) - var(--space-l-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-s-max) * 1rem);
--space-m: clamp(var(--space-m-min) * 1rem, calc(var(--space-m-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-m-max) - var(--space-m-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-m-max) * 1rem);
--space-l: clamp(var(--space-l-min) * 1rem, calc(var(--space-l-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-l-max) - var(--space-l-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-l-max) * 1rem);
--space-xl: clamp(var(--space-xl-min) * 1rem, calc(var(--space-xl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-xl-max) - var(--space-xl-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-xl-max) * 1rem);
--space-xxl: clamp(var(--space-xxl-min) * 1rem, calc(var(--space-xxl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--space-xxl-max) - var(--space-xxl-min)) / (var(--vp-max) - var(--vp-min))))), var(--space-xxl-max) * 1rem);

--space-xs-fallback: calc(var(--space-xs-min) * 1rem + (var(--space-xs-max) - var(--space-xs-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--space-s-fallback: calc(var(--space-s-min) * 1rem + (var(--space-s-max) - var(--space-s-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--space-m-fallback: calc(var(--space-m-min) * 1rem + (var(--space-m-max) - var(--space-m-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--space-l-fallback: calc(var(--space-l-min) * 1rem + (var(--space-l-max) - var(--space-l-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--space-xl-fallback: calc(var(--space-xl-min) * 1rem + (var(--space-xl-max) - var(--space-xl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--space-xxl-fallback: calc(var(--space-xxl-min) * 1rem + (var(--space-xxl-max) - var(--space-xxl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));	
	
/* SECTION SPACING */

--section-m-min: calc(var(--space-m-min) * var(--mob-space-adjust-section));
--section-m-max: calc(var(--space-m-max) * var(--space-adjust-section));

--section-xs-min: calc(var(--space-xs-min) * var(--mob-space-adjust-section));
--section-xs-max: calc(var(--space-xs-max) * var(--space-adjust-section));

--section-s-min: calc(var(--space-s-min) * var(--mob-space-adjust-section));
--section-s-max: calc(var(--space-s-max) * var(--space-adjust-section));

--section-l-min: calc(var(--space-l-min) * var(--mob-space-adjust-section));
--section-l-max: calc(var(--space-l-max) * var(--space-adjust-section));

--section-xl-min: calc(var(--space-xl-min) * var(--mob-space-adjust-section));
--section-xl-max: calc(var(--space-xl-max) * var(--space-adjust-section));

--section-xxl-min: calc(var(--space-xxl-min) * var(--mob-space-adjust-section));
--section-xxl-max: calc(var(--space-xxl-max) * var(--space-adjust-section));

/* SECTION CLAMPS */

--section-space-xs: clamp(calc(var(--section-xs-min) * 1rem), calc(var(--section-xs-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-xs-max) - var(--section-xs-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-xs-max) * 1rem));
--section-space-s: clamp(calc(var(--section-s-min) * 1rem), calc(var(--section-s-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-s-max) - var(--section-s-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-s-max) * 1rem));
--section-space-m: clamp(calc(var(--section-m-min) * 1rem), calc(var(--section-m-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-m-max) - var(--section-m-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-m-max) * 1rem));
--section-space-l: clamp(calc(var(--section-l-min) * 1rem), calc(var(--section-l-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-l-max) - var(--section-l-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-l-max) * 1rem)); 
--section-space-xl: clamp(calc(var(--section-xl-min) * 1rem), calc(var(--section-xl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-xl-max) - var(--section-xl-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-xl-max) * 1rem)); 
--section-space-xxl: clamp(calc(var(--section-xxl-min) * 1rem), calc(var(--section-xxl-min) * 1rem + ((1vw - (var(--vp-min) / 100) * 1rem) * (100 * (var(--section-xxl-max) - var(--section-xxl-min)) / (var(--vp-max) - var(--vp-min))))), calc(var(--section-xxl-max) * 1rem));

--section-space-xs-fallback: calc(var(--section-xs-min) * 1rem + (var(--section-xs-max) - var(--section-xs-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--section-space-s-fallback: calc(var(--section-s-min) * 1rem + (var(--section-s-max) - var(--section-s-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--section-space-m-fallback: calc(var(--section-m-min) * 1rem + (var(--section-m-max) - var(--section-m-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--section-space-l-fallback: calc(var(--section-l-min) * 1rem + (var(--section-l-max) - var(--section-l-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--section-space-xl-fallback: calc(var(--section-xl-min) * 1rem + (var(--section-xl-max) - var(--section-xl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
--section-space-xxl-fallback: calc(var(--section-xxl-min) * 1rem + (var(--section-xxl-max) - var(--section-xxl-min)) * ((100vw - (var(--vp-min) * 1rem)) / (var(--vp-max) - var(--vp-min))));
	
--section-xs: var(--section-space-xs) var(--section-padding-x);
--section-s: var(--section-space-s) var(--section-padding-x);
--section-m: var(--section-space-m) var(--section-padding-x);
--section-l: var(--section-space-l) var(--section-padding-x); 
--section-xl: var(--section-space-xl) var(--section-padding-x); 
--section-xxl: var(--section-space-xxl) var(--section-padding-x);

/* RADIUS SCALE */

--radius-xs: calc(var(--radius-s) / var(--radius-scale));
--radius-s: calc(var(--base-radius) / var(--radius-scale));
--radius-m: var(--base-radius);
--radius-l: calc(var(--base-radius) * var(--radius-scale));
--radius-xl: calc(var(--radius-l) * var(--radius-scale));
--radius-xxl: calc(var(--radius-xl) * var(--radius-scale));
--radius-50: 50%;

/* WIDTH VARIABLES */
	
--width-xs: calc(var(--vp-max) * .1 * 1rem);
--width-s: calc(var(--vp-max) * .2 * 1rem);
--width-m: calc(var(--vp-max) * .4 * 1rem);
--width-l: calc(var(--vp-max) * .6 * 1rem);
--width-xl: calc(var(--vp-max) * .8 * 1rem);
--width-xxl: calc(var(--vp-max) * .9 * 1rem);
--width-vp-max: calc((var(--vp-max) - var(--base-space) * 2) * 1rem);
--width-50: calc((var(--vp-max) / 2) * 1rem);

/* COMPLETELY CUSTOM TYPOGRAPHY
Set your own static min and max values for each size.
NUMBERS ONLY, NO UNITS (rem/px/etc.).
Remove comments to go live.
*/
	
	/*
	--text-xs-min: value;
	--text-xs-max: value;
		
	--text-s-min: value;
	--text-s-max: value;
		
	--text-m-min: value;
	--text-m-max: value;
		
	--text-l-min: value;
	--text-l-max: value;
		
	--text-xl-min: value;
	--text-xl-max: value;
		
	--text-xxl-min: value;
	--text-xxl-max: value;
	*/

/***** END ROOT VARIABLES & CALCS *****/
}

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

body {
	font-size: var(--text-m-fallback);
	font-size: var(--text-m);
	--text-size-max: calc(var(--text-m-max) * 1rem); /* Used for fallbacks */
}

.ct-section-inner-wrap {
	padding: var(--section-m-fallback);
	padding: var(--section-m);
}

.oxy-header-container {
	padding-left: var(--section-padding-x);
	padding-right: var(--section-padding-x);
}

:-webkit-any(h1,h2,h3,h4,h5,h6) {
	font-size: var(--text-size);
}

:-moz-any(h1,h2,h3,h4,h5,h6) {
	font-size: var(--text-size);
}

:matches(h1,h2,h3,h4,h5,h6) {
	font-size: var(--text-size);
}

:is(h1,h2,h3,h4,h5,h6),
[class*="text--"] {
	font-size: var(--text-size);
	color: var(--text-color);
}

:where([class*="text--"],h1,h2,h3,h4,h5,h6).text--larger {
	font-size: calc(var(--text-size) * var(--text-multiplier));
}

h1 {
	--text-size-fallback-pure: var(--text-xxl-fallback-pure);
	--text-size-fallback: var(--text-xxl-fallback);
	--text-size-max: calc(var(--text-xxl-max) * 1rem); /* Used for fallbacks */
	--text-size: var(--text-xxl);
}
h2 {
	--text-size-fallback-pure: var(--text-xl-fallback-pure);
	--text-size-fallback: var(--text-xl-fallback);
	--text-size-max: calc(var(--text-xl-max) * 1rem);
	--text-size: var(--text-xl);
}
h3 {
	--text-size-fallback-pure: var(--text-l-fallback-pure);
	--text-size-fallback: var(--text-l-fallback);
	--text-size-max: calc(var(--text-l-max) * 1rem);
	--text-size: var(--text-l);
}
h4 {
	--text-size-fallback-pure: var(--text-m-fallback-pure);
	--text-size-fallback: var(--text-m-fallback);
	--text-size-max: calc(var(--text-m-max) * 1rem);
	--text-size: var(--text-m);
}
h5 {
	--text-size-fallback-pure: var(--text-s-fallback-pure);
	--text-size-fallback: var(--text-s-fallback);
	--text-size-max: calc(var(--text-s-max) * 1rem);
	--text-size: max(var(--text-s-stop), var(--text-s));
}
h6 {
	--text-size-fallback-pure: var(--text-xs-fallback-pure);
	--text-size-fallback: var(--text-xs-fallback);
	--text-size-max: calc(var(--text-xs-max) * 1rem);
	--text-size: max(var(--text-xs-stop), var(--text-xs));
}

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

.text--xs {
	--text-size-fallback-pure: var(--text-xs-fallback-pure);
	--text-size-fallback: var(--text-xs-fallback);
	--text-size-max: calc(var(--text-xs-max) * 1rem);
	--text-size: max(var(--text-xs-stop), var(--text-xs));
}
.text--s {
	--text-size-fallback-pure: var(--text-s-fallback-pure);
	--text-size-fallback: var(--text-s-fallback);
	--text-size-max: calc(var(--text-s-max) * 1rem);
	--text-size: max(var(--text-s-stop), var(--text-s));
}
.text--m {
	--text-size-fallback-pure: var(--text-m-fallback-pure);
	--text-size-fallback: var(--text-m-fallback);
	--text-size-max: calc(var(--text-m-max) * 1rem);
	--text-size: var(--text-m);
}
.text--l {
	--text-size-fallback-pure: var(--text-l-fallback-pure);
	--text-size-fallback: var(--text-l-fallback);
	--text-size-max: calc(var(--text-l-max) * 1rem);
	--text-size: var(--text-l);
}
.text--xl {
	--text-size-fallback-pure: var(--text-xl-fallback-pure);
	--text-size-fallback: var(--text-xl-fallback);
	--text-size-max: calc(var(--text-xl-max) * 1rem);
	--text-size: var(--text-xl);
}
.text--xxl {
	--text-size-fallback-pure: var(--text-xxl-fallback-pure);
	--text-size-fallback: var(--text-xxl-fallback);
	--text-size-max: calc(var(--text-xxl-max) * 1rem);
	--text-size: var(--text-xxl);
}
.text--primary {
	--text-color: var(--primary);
}
.text--primary-ultra-light {
	--text-color: var(--primary-ultra-light);
}
.text--primary-light {
	--text-color: var(--primary-light);
}
.text--primary-medium {
	--text-color: var(--primary-medium);
}
.text--primary-dark {
	--text-color: var(--primary-dark);	
}
.text--primary-ultra-dark {
	--text-color: var(--primary-ultra-dark);
}
.text--primary-comp {
	--text-color: var(--primary-comp);
}
.text--secondary {
	--text-color: var(--secondary);
}
.text--secondary-ultra-light {
	--text-color: var(--secondary-ultra-light);
}
.text--secondary-light {
	--text-color: var(--secondary-light);
}
.text--secondary-medium {
	--text-color: var(--secondary-medium);
}
.text--secondary-dark {
	--text-color: var(--secondary-dark);
}
.text--secondary-ultra-dark {
	--text-color: var(--secondary-ultra-dark);
}
.text--secondary-comp {
	--text-color: var(--secondary-comp);
}
.text--accent {
	--text-color: var(--accent);
}
.text--accent-ultra-light {
	--text-color: var(--accent-ultra-light);
}
.text--accent-light {
	--text-color: var(--accent-light);
}
.text--accent-medium {
	--text-color: var(--accent-medium);
}
.text--accent-dark {
	--text-color: var(--accent-dark);
}
.text--accent-ultra-dark {
	--text-color: var(--accent-ultra-dark);
}
.text--accent-comp {
	--text-color: var(--accent-comp);
}
.text--base {
	--text-color: var(--base);
}
.text--base-ultra-light {
	--text-color: var(--base-ultra-light);
}
.text--base-light {
	--text-color: var(--base-light);
}
.text--base-medium {
	--text-color: var(--base-medium);
}
.text--base-dark {
	--text-color: var(--base-dark);
}
.text--base-ultra-dark {
	--text-color: var(--base-ultra-dark);
}
.text--base-comp {
	--text-color: var(--base-comp);
}
.text--white {
	--text-color: var(--shade-white);
}
.text--black {
	--text-color: var(--shade-black);
}
.text--shade-ultra-light {
	--text-color: var(--shade-ultra-light);
}
.text--shade-light {
	--text-color: var(--shade-light);
}
.text--shade-medium {
	--text-color: var(--shade-medium);
}
.text--shade-dark {
	--text-color: var(--shade-dark);
}
.text--shade-ultra-dark {
	--text-color: var(--shade-ultra-dark);
}

/*** 
LINK CLASSES
These apply colors to links within other elements.
***/

[class*="link--"] a,
a[class*="link--"] {
	color: var(--link-color);
}

[class*="link--"] a:hover,
a[class*="link--"]:hover {
	color: var(--link-hover-color);
}

.link--primary {
	--link-color: var(--primary);
	--link-hover-color: var(--primary-hover);
}
.link--primary-ultra-light {
	--link-color: var(--primary-ultra-light);
	--link-hover-color: var(--primary-hover);
}
.link--primary-light {
	--link-color: var(--primary-light);
	--link-hover-color: var(--primary-hover);
}
.link--primary-medium {
	--link-color: var(--primary-medium);
	--link-hover-color: var(--primary-hover);
}
.link--primary-dark {
	--link-color: var(--primary-dark);	
	--link-hover-color: var(--primary-hover);
}
.link--primary-ultra-dark {
	--link-color: var(--primary-ultra-dark);
	--link-hover-color: var(--primary-hover);
}
.link--primary-comp {
	--link-color: var(--primary-comp);
	--link-hover-color: var(--primary-hover);
}
.link--secondary {
	--link-color: var(--secondary);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-ultra-light {
	--link-color: var(--secondary-ultra-light);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-light {
	--link-color: var(--secondary-light);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-medium {
	--link-color: var(--secondary-medium);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-dark {
	--link-color: var(--secondary-dark);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-ultra-dark {
	--link-color: var(--secondary-ultra-dark);
	--link-hover-color: var(--secondary-hover);
}
.link--secondary-comp {
	--link-color: var(--secondary-comp);
	--link-hover-color: var(--secondary-hover);
}
.link--accent {
	--link-color: var(--accent);
	--link-hover-color: var(--accent-hover);
}
.link--accent-ultra-light {
	--link-color: var(--accent-ultra-light);
	--link-hover-color: var(--accent-hover);
}
.link--accent-light {
	--link-color: var(--accent-light);
	--link-hover-color: var(--accent-hover);
}
.link--accent-medium {
	--link-color: var(--accent-medium);
	--link-hover-color: var(--accent-hover);
}
.link--accent-dark {
	--link-color: var(--accent-dark);
	--link-hover-color: var(--accent-hover);
}
.link--accent-ultra-dark {
	--link-color: var(--accent-ultra-dark);
	--link-hover-color: var(--accent-hover);
}
.link--accent-comp {
	--link-color: var(--accent-comp);
	--link-hover-color: var(--accent-hover);
}
.link--base {
	--link-color: var(--base);
	--link-hover-color: var(--base-hover);
}
.link--base-ultra-light {
	--link-color: var(--base-ultra-light);
	--link-hover-color: var(--base-hover);
}
.link--base-light {
	--link-color: var(--base-light);
	--link-hover-color: var(--base-hover);
}
.link--base-medium {
	--link-color: var(--base-medium);
	--link-hover-color: var(--base-hover);
}
.link--base-dark {
	--link-color: var(--base-dark);
	--link-hover-color: var(--base-hover);
}
.link--base-ultra-dark {
	--link-color: var(--base-ultra-dark);
	--link-hover-color: var(--base-hover);
}
.link--base-comp {
	--link-color: var(--base-comp);
	--link-hover-color: var(--base-hover);
}
.link--white {
	--link-color: var(--shade-white);
	--link-hover-color: var(--primary-hover);
}
.link--black {
	--link-color: var(--shade-black);
	--link-hover-color: var(--primary-hover);
}
.link--shade-ultra-light {
	--link-color: var(--shade-ultra-light);
	--link-hover-color: var(--primary-hover);
}
.link--shade-light {
	--link-color: var(--shade-light);
	--link-hover-color: var(--primary-hover);
}
.link--shade-medium {
	--link-color: var(--shade-medium);
	--link-hover-color: var(--primary-hover);
}
.link--shade-dark {
	--link-color: var(--shade-dark);
	--link-hover-color: var(--primary-hover);
}
.link--shade-ultra-dark {
	--link-color: var(--shade-ultra-dark);
	--link-hover-color: var(--primary-hover);
}

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

.pad--xs {
	--pad-fallback-pure: var(--space-xs-fallback-pure);
	--pad-fallback: var(--space-xs-fallback);
	--pad-max: var(--space-xs-max);
	padding: var(--space-xs);
}
.pad--s {
	--pad-fallback-pure: var(--space-s-fallback-pure);
	--pad-fallback: var(--space-s-fallback);
	--pad-max: var(--space-s-max);
	padding: var(--space-s);
}
.pad--m {
	--pad-fallback-pure: var(--space-m-fallback-pure);
	--pad-fallback: var(--space-m-fallback);
	--pad-max: var(--space-m-max);
	padding: var(--space-m);
}
.pad--l {
	--pad-fallback-pure: var(--space-l-fallback-pure);
	--pad-fallback: var(--space-l-fallback);
	--pad-max: var(--space-l-max);
	padding: var(--space-l);
}
.pad--xl {
	--pad-fallback-pure: var(--space-xl-fallback-pure);
	--pad-fallback: var(--space-xl-fallback);
	--pad-max: var(--space-xl-max);
	padding: var(--space-xl);
}
.pad--xxl {
	--pad-fallback-pure: var(--space-xxl-fallback-pure);
	--pad-fallback: var(--space-xxl-fallback);
	--pad-max: var(--space-xxl-max);
	padding: var(--space-xxl);
}
.pad--none {
	padding: 0;
}
.pad-section--xs .ct-section-inner-wrap {
	--section-fallback-pure: var(--section-space-xs-fallback-pure);
	--section-padding-fallback: var(--section-xs-fallback);
	--padding-section-max: var(--section-xs-max);
	padding: var(--section-xs);
}
.pad-section--s .ct-section-inner-wrap {
	--section-fallback-pure: var(--section-space-s-fallback-pure);
	--section-padding-fallback: var(--section-s-fallback);
	--padding-section-max: var(--section-s-max);
	padding: var(--section-s);
}
.pad-section--l .ct-section-inner-wrap {
	--section-fallback-pure: var(--section-space-l-fallback-pure);
	--section-padding-fallback: var(--section-l-fallback);
	--padding-section-max: var(--section-l-max);
	padding: var(--section-l);
}
.pad-section--xl .ct-section-inner-wrap {
	--section-fallback-pure: var(--section-space-xl-fallback-pure);
	--section-padding-fallback: var(--section-xl-fallback);
	--padding-section-max: var(--section-xl-max);
	padding: var(--section-xl);
}
.pad-section--xxl .ct-section-inner-wrap {
	--section-fallback-pure: var(--section-space-xxl-fallback-pure);
	--section-padding-fallback: var(--section-xxl-fallback);
	--padding-section-max: var(--section-xxl-max);
	padding: var(--section-xxl);
}
.pad-section--none .ct-section-inner-wrap {
	padding: 0 var(--space-m);
}
.pad-header--xs {
	padding-top: var(--space-xs);
	padding-bottom: var(--space-xs);
}
.pad-header--s {
	padding-top: var(--space-s);
	padding-bottom: var(--space-s);
}
.pad-header--m {
	padding-top: var(--space-m);
	padding-bottom: var(--space-m);
}
.pad-header--l {
	padding-top: var(--space-l);
	padding-bottom: var(--space-l);
}
.pad-header--xl {
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
}
.pad-header--xxl {
	padding-top: var(--space-xxl);
	padding-bottom: var(--space-xxl);
}

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

.margin-top--xs {
	margin-top: var(--space-xs);
}
.margin-top--s {
	margin-top: var(--space-s);
}
.margin-top--m {
	margin-top: var(--space-m);
}
.margin-top--l {
	margin-top: var(--space-l);
}
.margin-top--xl {
	margin-top: var(--space-xl);
}
.margin-top--xxl {
	margin-top: var(--space-xxl);
}
.margin-bottom--xs {
	margin-bottom: var(--space-xs);
}
.margin-bottom--s {
	margin-bottom: var(--space-s);
}
.margin-bottom--m {
	margin-bottom: var(--space-m);
}
.margin-bottom--l {
	margin-bottom: var(--space-l);
}
.margin-bottom--xl {
	margin-bottom: var(--space-xl);
}
.margin-bottom--xxl {
	margin-bottom: var(--space-xxl);
}
.margin-left--xs {
	margin-left: var(--space-xs);
}
.margin-left--s {
	margin-left: var(--space-s);
}
.margin-left--m {
	margin-left: var(--space-m);
}
.margin-left--l {
	margin-left: var(--space-l);
}
.margin-left--xl {
	margin-left: var(--space-xl);
}
.margin-left--xxl {
	margin-left: var(--space-xxl);
}
.margin-right--xs {
	margin-right: var(--space-xs);
}
.margin-right--s {
	margin-right: var(--space-s);
}
.margin-right--m {
	margin-right: var(--space-m);
}
.margin-right--l {
	margin-right: var(--space-l);
}
.margin-right--xl {
	margin-right: var(--space-xl);
}
.margin-right--xxl {
	margin-right: var(--space-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[class*="owl--"] .ct-section-inner-wrap > * + *,
[class*="owl--"]:not(.ct-section) > * + * {
	margin-top: var(--owl-space);
}

.owl--xs.ct-section > .ct-section-inner-wrap > * + *,
.owl--xs:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-xs-fallback-pure);
	--owl-space-fallback: var(--space-xs-fallback);
	--owl-space: var(--space-xs);
}

.owl--s.ct-section > .ct-section-inner-wrap > * + *,
.owl--s:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-s-fallback-pure);
	--owl-space-fallback: var(--space-s-fallback);
	--owl-space: var(--space-s);
}

.owl--m.ct-section > .ct-section-inner-wrap > * + *,
.owl--m:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-m-fallback-pure);
	--owl-space-fallback: var(--space-m-fallback);
	--owl-space: var(--space-m);
}

.owl--l.ct-section > .ct-section-inner-wrap > * + *,
.owl--l:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-l-fallback-pure);
	--owl-space-fallback: var(--space-l-fallback);
	--owl-space: var(--space-l);
}

.owl--xl.ct-section > .ct-section-inner-wrap > * + *,
.owl--xl:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-xl-fallback-pure);
	--owl-space-fallback: var(--space-xl-fallback);
	--owl-space: var(--space-xl);
}

.owl--xxl.ct-section > .ct-section-inner-wrap > * + *,
.owl--xxl:not(.ct-section) > * + * {
	--owl-space-fallback-pure: var(--space-xxl-fallback-pure);
	--owl-space-fallback: var(--space-xxl-fallback);
	--owl-space: var(--space-xxl);
}

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

[class*="bg--"] {
	background-color: var(--bg-color);
}
.bg--primary {
	--bg-color: var(--primary);
}
.bg--primary-hover {
	--bg-color: var(--primary-hover);
}
.bg--primary-ultra-light {
	--bg-color: var(--primary-ultra-light);
}
.bg--primary-light {
	--bg-color: var(--primary-light);
}
.bg--primary-medium {
	--bg-color: var(--primary-medium);
}
.bg--primary-dark {
	--bg-color: var(--primary-dark);
}
.bg--primary-ultra-dark {
	--bg-color: var(--primary-ultra-dark);
}
.bg--primary-ultra-dark-trans-90 {
	--bg-color: var(--primary-ultra-dark-trans-90);
}
.bg--primary-ultra-dark-trans-80 {
	--bg-color: var(--primary-ultra-dark-trans-80);
}
.bg--primary-ultra-dark-trans-60 {
	--bg-color: var(--primary-ultra-dark-trans-60);
}
.bg--primary-ultra-dark-trans-40 {
	--bg-color: var(--primary-ultra-dark-trans-40);
}
.bg--primary-ultra-dark-trans-20 {
	--bg-color: var(--primary-ultra-dark-trans-20);
}
.bg--primary-ultra-dark-trans-10 {
	--bg-color: var(--primary-ultra-dark-trans-10);
}
.bg--primary-trans-90 {
	--bg-color: var(--primary-trans-90);
}

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

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

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

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

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

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

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

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

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

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

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

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

.bg--secondary-ultra-dark {
	--bg-color: var(--secondary-ultra-dark);
}
.bg--secondary-ultra-dark-trans-90 {
	--bg-color: var(--secondary-ultra-dark-trans-90);
}
.bg--secondary-ultra-dark-trans-80 {
	--bg-color: var(--secondary-ultra-dark-trans-80);
}
.bg--secondary-ultra-dark-trans-60 {
	--bg-color: var(--secondary-ultra-dark-trans-60);
}
.bg--secondary-ultra-dark-trans-40 {
	--bg-color: var(--secondary-ultra-dark-trans-40);
}
.bg--secondary-ultra-dark-trans-20 {
	--bg-color: var(--secondary-ultra-dark-trans-20);
}
.bg--secondary-ultra-dark-trans-10 {
	--bg-color: var(--secondary-ultra-dark-trans-10);
}
.bg--secondary-trans-90 {
	--bg-color: var(--secondary-trans-90);
}

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

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

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

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

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

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

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

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

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

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

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

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

.bg--accent-ultra-dark {
	--bg-color: var(--accent-ultra-dark);
}
.bg--accent-ultra-dark-trans-90 {
	--bg-color: var(--accent-ultra-dark-trans-90);
}
.bg--accent-ultra-dark-trans-80 {
	--bg-color: var(--accent-ultra-dark-trans-80);
}
.bg--accent-ultra-dark-trans-60 {
	--bg-color: var(--accent-ultra-dark-trans-60);
}
.bg--accent-ultra-dark-trans-40 {
	--bg-color: var(--accent-ultra-dark-trans-40);
}
.bg--accent-ultra-dark-trans-20 {
	--bg-color: var(--accent-ultra-dark-trans-20);
}
.bg--accent-ultra-dark-trans-10 {
	--bg-color: var(--accent-ultra-dark-trans-10);
}
.bg--accent-trans-90 {
	--bg-color: var(--accent-trans-90);
}

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

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

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

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

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

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

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

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

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

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

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

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

.bg--base-ultra-dark {
	--bg-color: var(--base-ultra-dark);
}
.bg--base-ultra-dark-trans-90 {
	--bg-color: var(--base-ultra-dark-trans-90);
}
.bg--base-ultra-dark-trans-80 {
	--bg-color: var(--base-ultra-dark-trans-80);
}
.bg--base-ultra-dark-trans-60 {
	--bg-color: var(--base-ultra-dark-trans-60);
}
.bg--base-ultra-dark-trans-40 {
	--bg-color: var(--base-ultra-dark-trans-40);
}
.bg--base-ultra-dark-trans-20 {
	--bg-color: var(--base-ultra-dark-trans-20);
}
.bg--base-ultra-dark-trans-10 {
	--bg-color: var(--base-ultra-dark-trans-10);
}
.bg--base-trans-90 {
	--bg-color: var(--base-trans-90);
}

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

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

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

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

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

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

.bg--black {
	--bg-color: var(--shade-black);
}

.bg--white {
	--bg-color: var(--shade-white);
}

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

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

.bg--shade-medium {
	--bg-color: var(--shade-medium);
}

.bg--shade-dark {
	--bg-color: var(--shade-dark);
}
.bg--shade-ultra-dark {
	--bg-color: var(--shade-ultra-dark);
}
.bg--shade-ultra-dark-trans-90 {
	--bg-color: var(--shade-ultra-dark-trans-90);
}
.bg--shade-ultra-dark-trans-80 {
	--bg-color: var(--shade-ultra-dark-trans-80);
}
.bg--shade-ultra-dark-trans-60 {
	--bg-color: var(--shade-ultra-dark-trans-60);
}
.bg--shade-ultra-dark-trans-40 {
	--bg-color: var(--shade-ultra-dark-trans-40);
}
.bg--shade-ultra-dark-trans-20 {
	--bg-color: var(--shade-ultra-dark-trans-20);
}
.bg--shade-ultra-dark-trans-10 {
	--bg-color: var(--shade-ultra-dark-trans-10);
}
.bg--black-trans-90 {
	--bg-color: var(--black-trans-90);
}
.bg--black-trans-80 {
	--bg-color: var(--black-trans-80);
}
.bg--black-trans-60 {
	--bg-color: var(--black-trans-60);
}
.bg--black-trans-40 {
	--bg-color: var(--black-trans-40);
}
.bg--black-trans-20 {
	--bg-color: var(--black-trans-20);
}
.bg--black-trans-10 {
	--bg-color: var(--black-trans-10);
}

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

[class*="overlay--"] {
	position: relative;
	z-index: 0;
}

[class*="overlay--"]:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}

.overlay--primary-trans-90::before {
	background: var(--primary-trans-90);
}
.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--primary-trans-10::before {
	background: var(--primary-trans-10);
}
.overlay--primary-ultra-dark-trans-90::before {
	background: var(--primary-ultra-dark-trans-90);
}
.overlay--primary-ultra-dark-trans-80::before {
	background: var(--primary-ultra-dark-trans-80);
}
.overlay--primary-ultra-dark-trans-60::before {
	background: var(--primary-ultra-dark-trans-60);
}
.overlay--primary-ultra-dark-trans-40::before {
	background: var(--primary-ultra-dark-trans-40);
}
.overlay--primary-ultra-dark-trans-20::before {
	background: var(--primary-ultra-dark-trans-20);
}
.overlay--primary-ultra-dark-trans-10::before {
	background: var(--primary-ultra-dark-trans-10);
}
.overlay--secondary-trans-90::before {
	background: var(--secondary-trans-90);
}
.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--secondary-trans-10::before {
	background: var(--secondary-trans-10);
}
.overlay--secondary-ultra-dark-trans-90::before {
	background: var(--secondary-ultra-dark-trans-90);
}
.overlay--secondary-ultra-dark-trans-80::before {
	background: var(--secondary-ultra-dark-trans-80);
}
.overlay--secondary-ultra-dark-trans-60::before {
	background: var(--secondary-ultra-dark-trans-60);
}
.overlay--secondary-ultra-dark-trans-40::before {
	background: var(--secondary-ultra-dark-trans-40);
}
.overlay--secondary-ultra-dark-trans-20::before {
	background: var(--secondary-ultra-dark-trans-20);
}
.overlay--secondary-ultra-dark-trans-10::before {
	background: var(--secondary-ultra-dark-trans-10);
}
.overlay--accent-trans-90::before {
	background: var(--accent-trans-90);
}
.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--accent-trans-10::before {
	background: var(--accent-trans-10);
}
.overlay--accent-ultra-dark-trans-90::before {
	background: var(--accent-ultra-dark-trans-90);
}
.overlay--accent-ultra-dark-trans-80::before {
	background: var(--accent-ultra-dark-trans-80);
}
.overlay--accent-ultra-dark-trans-60::before {
	background: var(--accent-ultra-dark-trans-60);
}
.overlay--accent-ultra-dark-trans-40::before {
	background: var(--accent-ultra-dark-trans-40);
}
.overlay--accent-ultra-dark-trans-20::before {
	background: var(--accent-ultra-dark-trans-20);
}
.overlay--accent-ultra-dark-trans-10::before {
	background: var(--accent-ultra-dark-trans-10);
}
.overlay--base-trans-90::before {
	background: var(--base-trans-90);
}
.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--base-trans-10::before {
	background: var(--base-trans-10);
}
.overlay--base-ultra-dark-trans-90::before {
	background: var(--base-ultra-dark-trans-90);
}
.overlay--base-ultra-dark-trans-80::before {
	background: var(--base-ultra-dark-trans-80);
}
.overlay--base-ultra-dark-trans-60::before {
	background: var(--base-ultra-dark-trans-60);
}
.overlay--base-ultra-dark-trans-40::before {
	background: var(--base-ultra-dark-trans-40);
}
.overlay--base-ultra-dark-trans-20::before {
	background: var(--base-ultra-dark-trans-20);
}
.overlay--base-ultra-dark-trans-10::before {
	background: var(--base-ultra-dark-trans-10);
}
.overlay--shade-ultra-dark-trans-90::before {
	background: var(--shade-ultra-dark-trans-90);
}
.overlay--shade-ultra-dark-trans-80::before {
	background: var(--shade-ultra-dark-trans-80);
}
.overlay--shade-ultra-dark-trans-60::before {
	background: var(--shade-ultra-dark-trans-60);
}
.overlay--shade-ultra-dark-trans-40::before {
	background: var(--shade-ultra-dark-trans-40);
}
.overlay--shade-ultra-dark-trans-20::before {
	background: var(--shade-ultra-dark-trans-20);
}
.overlay--shade-ultra-dark-trans-10::before {
	background: var(--shade-ultra-dark-trans-10);
}
.overlay--black-trans-90::before {
	background: var(--black-trans-90);
}
.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);
}
.overlay--black-trans-10::before {
	background: var(--black-trans-10);
}

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

[class*="box-shadow--"] {
	box-shadow: var(--box-shadow);
}

.box-shadow--m {
	--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)
}

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

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

@media (min-width: 1365px) {
	.breakout--s {
		width: 60vw;
		max-width: 60vw;
		margin: 0 calc(-30vw + 50%);
	}
	.breakout--m {
		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 !important;
	max-width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
}
@media (max-width: 1279px) {
	[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--m {
	top: 5%;
}
.sticky-top--l {
	top: 10%;
}

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

[class*="width--"]:not([class*="breakout--"]) {
	width: 100%;
	max-width: var(--width);
}

.width--xs {
 	--width: var(--width-xs);
}
.width--s {
 	--width: var(--width-s);
}
.width--m {
 	--width: var(--width-m);
}
.width--l {
 	--width: var(--width-l);
}
.width--xl {
  	--width: var(--width-xl);
}
.width--xxl {
 	--width: var(--width-xxl);
}
.width--vp-max {
 	--width: var(--width-vp-max);
	margin-left: auto;
	margin-right: auto;
}
.width--50 {
 	--width: var(--width-50);
}
.width--full {
 	--width: 100%;
}
.width--auto {
	width: auto !important;
	--width: 100%;
}

/* HEIGHT UTILITY CLASSES */

.ct-section[class*="height--"] .ct-section-inner-wrap {
	min-height: var(--min-height);
	max-height: var(--max-height);
}

[class*="height--"]:not(.ct-section) {
	min-height: var(--min-height);
	max-height: var(--max-height);
}

.height--30 {
	--min-height: 30vh;
}
.height--40 {
	--min-height: 40vh;
}
.height--50 {
	--min-height: 50vh;
}
.height--60 {
	--min-height: 60vh;
}
.height--70 {
	--min-height: 70vh;
}
.height--80 {
	--min-height: 80vh;
}
.height--90 {
	--min-height: 90vh;
}
.height--full {
	--min-height: 100vh;
}
.max-height--30 {
	--max-height: 30vh;
}
.max-height--40 {
	--max-height: 40vh;
}
.max-height--50 {
	--max-height: 50vh;
}
.max-height--60 {
	--max-height: 60vh;
}
.max-height--70 {
	--max-height: 70vh;
}
.max-height--80 {
	--max-height: 80vh;
}
.max-height--90 {
	--max-height: 90vh;
}

/*** 
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--contain {
	object-fit: contain;
}
.object-fit--top-left {
	object-position: 10% 90%;
}
.object-fit--top-center {
	object-position: 50% 10%;
}
.object-fit--top-right {
	object-position: 90% 10%;
}
.object-fit--center-left {
	object-position: 10% 50%;
}
.object-fit--center-right {
	object-position: 90% 50%;
}
.object-fit--bottom-left {
	object-position: 10% 10%;
}
.object-fit--bottom-center {
	object-position: 50% 90%;
}
.object-fit--bottom-right {
	object-position: 90% 90%;
}

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

:-webkit-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black) {
		background: var(--btn-bg, var(--btn-primary-bg));
		border-width: var(--btn-border-size);
		border-color: var(--btn-border-color, var(--btn-primary-border-color));
		border-radius: var(--btn-radius);
		line-height: 1.2;
		padding: var(--btn-pad-y) var(--btn-pad-x);
		font-size: var(--btn-text-size, var(--text-m));
		color: var(--btn-text-color, var(--btn-primary-text));
}

:-moz-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black) {
		background: var(--btn-bg, var(--btn-primary-bg));
		border-width: var(--btn-border-size);
		border-color: var(--btn-border-color, var(--btn-primary-border-color));
		border-radius: var(--btn-radius);
		line-height: 1.2;
		padding: var(--btn-pad-y) var(--btn-pad-x);
		font-size: var(--btn-text-size, var(--text-m));
		color: var(--btn-text-color, var(--btn-primary-text));
}

:matches(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black) {
		background: var(--btn-bg, var(--btn-primary-bg));
		border-width: var(--btn-border-size);
		border-color: var(--btn-border-color, var(--btn-primary-border-color));
		border-radius: var(--btn-radius);
		line-height: 1.2;
		padding: var(--btn-pad-y) var(--btn-pad-x);
		font-size: var(--btn-text-size, var(--text-m));
		color: var(--btn-text-color, var(--btn-primary-text));
}

:is(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black) {
		background: var(--btn-bg, var(--btn-primary-bg));
		border-width: var(--btn-border-size);
		border-color: var(--btn-border-color, var(--btn-primary-border-color));
		border-radius: var(--btn-radius);
		line-height: 1.2;
		padding: var(--btn-pad-y) var(--btn-pad-x);
		font-size: var(--btn-text-size, var(--text-m));
		color: var(--btn-text-color, var(--btn-primary-text));
}

:-webkit-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black):hover {
		background: var(--btn-hover, var(--btn-primary-hover));
		border-color: var(--btn-hover, var(--btn-primary-hover-border-color));
		color: var(--btn-hover-text, var(--btn-primary-hover-text));
}

:-moz-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black):hover {
		background: var(--btn-hover, var(--btn-primary-hover));
		border-color: var(--btn-hover, var(--btn-primary-hover-border-color));
		color: var(--btn-hover-text, var(--btn-primary-hover-text));
}

:matches(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black):hover {
		background: var(--btn-hover, var(--btn-primary-hover));
		border-color: var(--btn-hover, var(--btn-primary-hover-border-color));
		color: var(--btn-hover-text, var(--btn-primary-hover-text));
}

:is(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl,
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black):hover {
		background: var(--btn-hover, var(--btn-primary-hover));
		border-color: var(--btn-hover, var(--btn-primary-hover-border-color));
		color: var(--btn-hover-text, var(--btn-primary-hover-text));
}

.btn--outline {
	background: none;
	color: var(--btn-outline-text, var(--primary-outline-btn-text));
	border-width: var(--btn-border-size);
	border-color: var(--btn-bg, var(--btn-primary-bg));
	line-height: 1.2;
	padding: var(--btn-pad-y) var(--btn-pad-x);
}

.btn--outline:hover {
	background: var(--btn-hover, var(--btn-primary-hover));
	color: var(--btn-outline-hover-text, var(--btn-primary-hover-text));
	border-color:  var(--btn-hover, var(--btn-primary-hover));
}

:-webkit-any(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline {
		--btn-text-color: var(--btn-outline-text);
		--btn-border-color: var(--btn-bg);
		--btn-border-size: var(--outline-btn-border-size);
}

:-moz-any(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline {
		--btn-text-color: var(--btn-outline-text);
		--btn-border-color: var(--btn-bg);
		--btn-border-size: var(--outline-btn-border-size);
}

:matches(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline {
		--btn-text-color: var(--btn-outline-text);
		--btn-border-color: var(--btn-bg);
		--btn-border-size: var(--outline-btn-border-size);
}

:is(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline {
		--btn-text-color: var(--btn-outline-text);
		--btn-border-color: var(--btn-bg);
		--btn-border-size: var(--outline-btn-border-size);
}

:-webkit-any(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline:hover {
		--btn-bg: var(--btn-hover);
		--btn-text-color: var(--btn-outline-hover-text);
		--btn-border-color: var(--btn-hover);
		--btn-outline-hover-text: var(--primary-outline-hover-text);
}

:-moz-any(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline:hover {
		--btn-bg: var(--btn-hover);
		--btn-text-color: var(--btn-outline-hover-text);
		--btn-border-color: var(--btn-hover);
		--btn-outline-hover-text: var(--primary-outline-hover-text);
}

:matches(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline:hover {
		--btn-bg: var(--btn-hover);
		--btn-text-color: var(--btn-outline-hover-text);
		--btn-border-color: var(--btn-hover);
		--btn-outline-hover-text: var(--primary-outline-hover-text);
}

:is(
	.btn--primary, 
	.btn--secondary, 
	.btn--accent, 
	.btn--base, 
	.btn--white, 
	.btn--black).btn--outline:hover {
		--btn-bg: var(--btn-hover);
		--btn-text-color: var(--btn-outline-hover-text);
		--btn-border-color: var(--btn-hover);
		--btn-outline-hover-text: var(--primary-outline-hover-text);
}

:-webkit-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl) {
		font-size: var(--btn-text-size);
}

:-moz-any(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl) {
		font-size: var(--btn-text-size);
}

:matches(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl) {
		font-size: var(--btn-text-size);
}

:is(
	.btn--xs,
	.btn--s,
	.btn--m,
	.btn--l,
	.btn--xl,
	.btn--xxl) {
		font-size: var(--btn-text-size);
}

.btn--primary {
	--btn-bg: var(--btn-primary-bg);
	--btn-text-color: var(--btn-primary-text);
	--btn-hover: var(--btn-primary-hover);
	--btn-hover-text: var(--btn-primary-hover-text);
	--btn-border-color: var(--btn-primary-border-color);
	--btn-outline-text: var(--primary-outline-btn-text);
	--btn-outline-hover-text: var(--primary-outline-hover-text);
}

.btn--secondary {
	--btn-bg: var(--btn-secondary-bg);
	--btn-text-color: var(--btn-secondary-text);
	--btn-hover: var(--btn-secondary-hover);
	--btn-hover-text: var(--btn-secondary-hover-text);
	--btn-border-color: var(--btn-secondary-border-color);
	--btn-outline-text: var(--secondary-outline-btn-text);
	--btn-outline-hover-text: var(--secondary-outline-hover-text);
}

.btn--accent {
	--btn-bg: var(--btn-accent-bg);
	--btn-text-color: var(--btn-accent-text);
	--btn-hover: var(--btn-accent-hover);
	--btn-hover-text: var(--btn-accent-hover-text);
	--btn-border-color: var(--btn-accent-border-color);
	--btn-outline-text: var(--accent-outline-btn-text);
	--btn-outline-hover-text: var(--accent-outline-hover-text);
}

.btn--base {
	--btn-bg: var(--btn-base-bg);
	--btn-text-color: var(--btn-base-text);
	--btn-hover: var(--btn-base-hover);
	--btn-hover-text: var(--btn-base-hover-text);
	--btn-border-color: var(--btn-base-border-color);
	--btn-outline-text: var(--base-outline-btn-text);
	--btn-outline-hover-text: var(--base-outline-hover-text);
}

.btn--white {
	--btn-bg: var(--btn-white-bg);
	--btn-text-color: var(--btn-white-text);
	--btn-hover: var(--btn-white-hover);
	--btn-hover-text: var(--btn-white-hover-text);
	--btn-border-color: var(--btn-white-border-color);
	--btn-outline-text: var(--white-outline-btn-text);
	--btn-outline-hover-text: var(--white-outline-hover-text);
}

.btn--black {
	--btn-bg: var(--btn-black-bg);
	--btn-text-color: var(--btn-black-text);
	--btn-hover: var(--btn-black-hover);
	--btn-hover-text: var(--btn-black-hover-text);
	--btn-border-color: var(--btn-black-border-color);
	--btn-outline-text: var(--black-outline-btn-text);
	--btn-outline-hover-text: var(--black-outline-hover-text);
}

.btn--xs {
	--btn-text-size-fallback-pure: var(--text-xs-fallback-pure);
	--btn-text-size-fallback: var(--text-xs-fallback);
	--btn-text-size-max: calc(var(--text-xs-max) * 1rem);
	--btn-text-size: var(--text-xs);
}

.btn--s {
	--btn-text-size-fallback-pure: var(--text-s-fallback-pure);
	--btn-text-size-fallback: var(--text-s-fallback);
	--btn-text-size-max: calc(var(--text-s-max) * 1rem);
	--btn-text-size: var(--text-s);
}

.btn--m {
	--btn-text-size-fallback-pure: var(--text-m-fallback-pure);
	--btn-text-size-fallback: var(--text-m-fallback);
	--btn-text-size-max: calc(var(--text-m-max) * 1rem);
	--btn-text-size: var(--text-m);
}

.btn--l {
	--btn-text-size-fallback-pure: var(--text-l-fallback-pure);
	--btn-text-size-fallback: var(--text-l-fallback);
	--btn-text-size-max: calc(var(--text-l-max) * 1rem);
	--btn-text-size: var(--text-l);
}

.btn--xl {
	--btn-text-size-fallback-pure: var(--text-xl-fallback-pure);
	--btn-text-size-fallback: var(--text-xl-fallback);
	--btn-text-size-max: calc(var(--text-xl-max) * 1rem);
	--btn-text-size: var(--text-xl);
}

.btn--xxl {
	--btn-text-size-fallback-pure: var(--text-xxl-fallback-pure);
	--btn-text-size-fallback: var(--text-xxl-fallback);
	--btn-text-size-max: calc(var(--text-xxl-max) * 1rem);
	--btn-text-size: var(--text-xxl);
}

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

[class*="rounded--"] {
	border-radius: var(--radius);
}

.rounded--xs {
	--radius: var(--radius-xs);
}
.rounded--s {
	--radius: var(--radius-s);
}
.rounded--m {
	--radius: var(--base-radius);
}
.rounded--l {
	--radius: var(--radius-l);
}
.rounded--xl {
	--radius: var(--radius-xl);
}
.rounded--xxl {
	--radius: var(--radius-xxl);
}
.rounded--circle {
	--radius: var(--radius-50);
}
.rounded--none {
	--radius: none;
}

/*** 
CENTERING CLASSES
Quickly align elements without needing to know Flexbox.
***/

[class*="center--"]:not(.ct-section),
.ct-section[class*="center--"] > .ct-section-inner-wrap {
	display: flex;
}

.center--all:not(.ct-section),
.ct-section.center--all > .ct-section-inner-wrap {
	flex-direction: column;
	align-items: center;
	align-content: center;
	justify-items: center;
	justify-content: center;
	text-align: center;
}

.center--y:not(.ct-section),
.ct-section.center--y > .ct-section-inner-wrap {
	flex-direction: column;
	justify-items: center;
	justify-content: center;
	align-items: flex-start;
}

.center--x:not(.ct-section),
.ct-section.center--x > .ct-section-inner-wrap {
	flex-direction: row;
	justify-items: center;
	justify-content: center;
	align-items: flex-start;
}

.center--left:not(.ct-section),
.ct-section.center--left > .ct-section-inner-wrap {
	flex-direction: column;
	justify-items: center;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
}

.center--right:not(.ct-section),
.ct-section.center--right > .ct-section-inner-wrap {
	flex-direction: column;
	justify-items: center;
	justify-content: center;
	align-items: flex-end;
}

@media only screen and (max-width: 479px) {
	.center--all-s:not(.ct-section),
	.ct-section.center--all-s > .ct-section-inner-wrap {
		align-items: center;
		align-content: center;
		justify-items: center;
		justify-content: center;
		text-align: center;
	}
	.center--y-s:not(.ct-section),
	.ct-section.center--y-s > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--x-s:not(.ct-section),
	.ct-section.center--x-s > .ct-section-inner-wrap {
		flex-direction: row;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--left-s:not(.ct-section),
	.ct-section.center--left-s > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
		text-align: left;
	}
	.center--right-s:not(.ct-section),
	.ct-section.center--right-s > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-end;
	}
}

@media only screen and (max-width: 767px) {
	.center--all-m:not(.ct-section),
	.ct-section.center--all-m > .ct-section-inner-wrap {
		align-items: center;
		align-content: center;
		justify-items: center;
		justify-content: center;
		text-align: center;
	}
	.center--y-m:not(.ct-section),
	.ct-section.center--y-m > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--x-m:not(.ct-section),
	.ct-section.center--x-m > .ct-section-inner-wrap {
		flex-direction: row;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--left-m:not(.ct-section),
	.ct-section.center--left-m > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
		text-align: left;
	}
	.center--right-m:not(.ct-section),
	.ct-section.center--right-m > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-end;
	}
}

@media only screen and (max-width: 991px) {
	.center--all-l:not(.ct-section),
	.ct-section.center--all-l > .ct-section-inner-wrap {
		align-items: center;
		align-content: center;
		justify-items: center;
		justify-content: center;
		text-align: center;
	}
	.center--y-l:not(.ct-section),
	.ct-section.center--y-l > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--x-l:not(.ct-section),
	.ct-section.center--x-l > .ct-section-inner-wrap {
		flex-direction: row;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--left-l:not(.ct-section),
	.ct-section.center--left-l > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
		text-align: left;
	}
	.center--right-l:not(.ct-section),
	.ct-section.center--right-l > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-end;
	}
}

@media only screen and (max-width: 1279px) {
	.ct-section.center--all-xl > .ct-section-inner-wrap,
	.center--all-xl:not(.ct-section) {
		align-items: center;
		align-content: center;
		justify-items: center;
		justify-content: center;
		text-align: center;
	}
	.center--y-xl:not(.ct-section),
	.ct-section.center--y-xl > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--x-xl:not(.ct-section),
	.ct-section.center--x-xl > .ct-section-inner-wrap {
		flex-direction: row;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
	}
	.center--left-xl:not(.ct-section),
	.ct-section.center--left-xl > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-start;
		text-align: left;
	}
	.center--right-xl:not(.ct-section),
	.ct-section.center--right-xl > .ct-section-inner-wrap {
		flex-direction: column;
		justify-items: center;
		justify-content: center;
		align-items: flex-end;
	}
}

/*** 
FLIP CLASSES
Flip items and images.
***/

.flip--x,
.flip--x > div { 
	transform: scaleX(-1);
}

.flip--y,
.flip--y > div {
	transform: scaleY(-1);
}

.flip--xy,
.flip--xy > div {
	transform: scale(-1, -1);
}

/*** 
OPACITY CLASSES
These control the opacity of elements.
***/

.opacity--5 {opacity: 0.05;}
.opacity--10 {opacity: 0.1;}
.opacity--20 {opacity: 0.2;}
.opacity--30 {opacity: 0.3;}
.opacity--40 {opacity: 0.4;}
.opacity--50 {opacity: 0.5;}
.opacity--60 {opacity: 0.6;}
.opacity--70 {opacity: 0.7;}
.opacity--80 {opacity: 0.8;}
.opacity--90 {opacity: 0.9;}
.opacity--95 {opacity: 0.95;}/* Version: 0.9.73 */ 

:root {
	--grid-break--2: calc(((var(--vp-max) - (var(--base-space) * 2)) * 1rem) / 2.99);
	--grid-break--3: calc(((var(--vp-max) - (var(--base-space) * 2)) * 1rem) / 3.99);
	--grid-break--4: calc(((var(--vp-max) - (var(--base-space) * 2)) * 1rem) / 4.99);
	--grid-break--5: calc(((var(--vp-max) - (var(--base-space) * 2)) * 1rem) / 5.99);
	--grid-break--6: calc(((var(--vp-max) - (var(--base-space) * 2)) * 1rem) / 6.99);
}

[class*="grid--"]:not(.ct-section),
.ct-section[class*="grid--"] .ct-section-inner-wrap {
	display: grid !important;
	grid-template-columns: var(--grid-template-columns);
	grid-gap: var(--grid-gap);
}

/* STANDARD GRIDS */

.grid--1 {
	--grid-template-columns: 1fr;
	width: 100%;
}

.grid--2 {
	--grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

.grid--3 {
	--grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.grid--4 {
	--grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
}

.grid--5 {
	--grid-template-columns: repeat(5, minmax(0, 1fr));
	width: 100%;
}

.grid--6 {
	--grid-template-columns: repeat(6, minmax(0, 1fr));
	width: 100%;
}

/* AUTO GRIDS */

.grid--auto-2 {
	--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--2), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	width: 100%;
}
.grid--auto-3 {
	--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	width: 100%;
}
.grid--auto-4 {
	--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--4), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	width: 100%;
	}
.grid--auto-5 {
	--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--5), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	width: 100%;
}
.grid--auto-6 {
	--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--6), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	width: 100%;
}

/*** PREMADE GRIDS ***/

.grid--1-2 {
	--grid-template-columns: 1fr 2fr;
	width: 100%;
}
.grid--2-1 {
	--grid-template-columns: 2fr 1fr;
	width: 100%;
}
.grid--1-3 {
	--grid-template-columns: 1fr 3fr;
	width: 100%;
}
.grid--3-1 {
	--grid-template-columns: 3fr 1fr;
	width: 100%;
}
.grid--2-3 {
	--grid-template-columns: 2fr 3fr;
	width: 100%;
}
.grid--3-2 {
	--grid-template-columns: 3fr 2fr; 
	width: 100%;
}

/*** PREMADE AUTO GRIDS ***/

.grid--auto-1-2 {
	--grid-template-columns: 1fr 2fr;
	width: 100%;
}
.grid--auto-2-1 {
	--grid-template-columns: 2fr 1fr;
	width: 100%;
}
.grid--auto-1-3 {
	--grid-template-columns: 1fr 3fr;
	width: 100%;
}
.grid--auto-3-1 {
	--grid-template-columns: 3fr 1fr;
	width: 100%;
}
.grid--auto-2-3 {
	--grid-template-columns: 2fr 3fr;
	width: 100%;
}
.grid--auto-3-2 {
	--grid-template-columns: 3fr 2fr; 
	width: 100%;
}

@media (max-width: 991px) {
	.grid--auto-1-2 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
	.grid--auto-1-3 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
	.grid--auto-3-2 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
	.grid--auto-2-3 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
	.grid--auto-2-1 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
	.grid--auto-3-1 {
		--grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-break--3), 100vw - (var(--base-space) * 3) * 1rem), 1fr));
	}
}

/* COL SPAN CONTROL */

.col-span--all {
	grid-column: 1 / -1;
}
.col-span--2 {
	grid-column: span 2;
}
.col-span--3 {
	grid-column: span 3;
}
.col-span--4 {
	grid-column: span 4;
}
.col-span--5 {
	grid-column: span 5;
}
.col-span--6 {
	grid-column: span 6;
}

/* ROW SPAN CONTROL */

[class*="row-span--"] {
	align-self: stretch;
}
.row-span--2 {
	grid-row: span 2;
}
.row-span--3 {
	grid-row: span 3;
}
.row-span--4 {
	grid-row: span 4;
}
.row-span--5 {
	grid-row: span 5;
}
.row-span--6 {
	grid-row: span 6;
}

/* CELL ORDER CONTROL ACROSS ROWS */

.row-start--1 {
	grid-row-start: 1;
}
.row-start--2 {
	grid-row-start: 2;
}
.row-start--3 {
	grid-row-start: 3;
}
.row-start--4 {
	grid-row-start: 4;
}
.row-start--5 {
	grid-row-start: 5;
}
.row-start--6 {
	grid-row-start: 6;
}

/* CELL ORDER CONTROL ACROSS COLUMNS */

.col-start--1 {
	grid-column-start: 1;
}
.col-start--2 {
	grid-column-start: 2;
}
.col-start--3 {
	grid-column-start: 3;
}
.col-start--4 {
	grid-column-start: 4;
}
.col-start--5 {
	grid-column-start: 5;
}
.col-start--6 {
	grid-column-start: 6;
}

/* QUICK ORDERING PROPERTIES */

.order--first {
	order: -1;
}

.order--last {
	order: 999;
}

/* GRID GAPS */

.ct-section[class*="gap--"] .ct-section-inner-wrap {
	grid-gap: var(--grid-gap);
}

.gap--xs {
	gap: var(--space-xs);
	--grid-gap: var(--space-xs);
}
.gap--s {
	gap: var(--space-s);
	--grid-gap: var(--space-s);
}
.gap--m {
	gap: var(--space-m);
	--grid-gap: var(--space-m);
}
.gap--l {
	gap: var(--space-l);
	--grid-gap: var(--space-l);
}
.gap--xl {
	gap: var(--space-xl);
	--grid-gap: var(--space-xl);
}
.gap--xxl {
	gap: var(--space-xxl);
	--grid-gap: var(--space-xxl);
}

/*** BREAKPOINTS ***/

/* XL BREAKPOINT */

@media (max-width: 1279px) {
	/* GRID COLUMNS */
	.grid--xl-1 {
		--grid-template-columns: 1fr;
	}
	.grid--xl-2 {
		--grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid--xl-3 {
		--grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.grid--xl-4 {
		--grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.grid--xl-5 {
		--grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	/* ROW STARTS */
	.row-start--xl-1 {
		grid-row-start: 1;
	}
	.row-start--xl-2 {
		grid-row-start: 2;
	}
	.row-start--xl-3 {
		grid-row-start: 3;
	}
	.row-start--xl-4 {
		grid-row-start: 4;
	}
	.row-start--xl-5 {
		grid-row-start: 5;
	}
	.row-start--xl-6 {
		grid-row-start: 6;
	}
	/* COL STARTS */
	.col-start--xl-1 {
		grid-column-start: 1;
	}
	.col-start--xl-2 {
		grid-column-start: 2;
	}
	.col-start--xl-3 {
		grid-column-start: 3;
	}
	.col-start--xl-4 {
		grid-column-start: 4;
	}
	.col-start--xl-5 {
		grid-column-start: 5;
	}
	.col-start--xl-6 {
		grid-column-start: 6;
	}
	/* ORDER */
	.order--first-xl {
		order: -1;
	}
	.order--last-xl {
		order: 999;
	}
	/* ROW SPANS */
	.row-span--xl-1 {
		grid-row: auto / span 1;
	}
	.row-span--xl-2 {
		grid-row: auto / span 2;
	}
	.row-span--xl-3 {
		grid-row: auto / span 3;
	}
	.row-span--xl-4 {
		grid-row: auto / span 4;
	}
	.row-span--xl-5 {
		grid-row: auto / span 5;
	}
	.row-span--xl-6 {
		grid-row: auto / span 6;
	}
	/* COL SPANS */
	.col-span--xl-1 {
		grid-column: span 1;
	}
	.col-span--xl-2 {
		grid-column: span 2;
	}
	.col-span--xl-3 {
		grid-column: span 3;
	}
	.col-span--xl-4 {
		grid-column: span 4;
	}
	.col-span--xl-5 {
		grid-column: span 5;
	}
	.col-span--xl-6 {
		grid-column: span 6;
	}
}

/* L BREAKPOINT */

@media (max-width: 991px) {
	/* GRID COLUMNS */
	.grid--l-1 {
		--grid-template-columns: 1fr;
	}
	.grid--l-2 {
		--grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid--l-3 {
		--grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.grid--l-4 {
		--grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.grid--l-5 {
		--grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	/* ROW STARTS */
	.row-start--l-1 {
		grid-row-start: 1;
	}
	.row-start--l-2 {
		grid-row-start: 2;
	}
	.row-start--l-3 {
		grid-row-start: 3;
	}
	.row-start--l-4 {
		grid-row-start: 4;
	}
	.row-start--l-5 {
		grid-row-start: 5;
	}
	.row-start--l-6 {
		grid-row-start: 6;
	}
	/* COL STARTS */
	.col-start--l-1 {
		grid-column-start: 1;
	}
	.col-start--l-2 {
		grid-column-start: 2;
	}
	.col-start--l-3 {
		grid-column-start: 3;
	}
	.col-start--l-4 {
		grid-column-start: 4;
	}
	.col-start--l-5 {
		grid-column-start: 5;
	}
	.col-start--l-6 {
		grid-column-start: 6;
	}
	/* ORDER */
	.order--first-l {
		order: -1;
	}
	.order--last-l {
		order: 999;
	}	
	/* ROW SPANS */
	.row-span--l-1 {
		grid-row: auto / span 1;
	}
	.row-span--l-2 {
		grid-row: auto / span 2;
	}
	.row-span--l-3 {
		grid-row: auto / span 3;
	}
	.row-span--l-4 {
		grid-row: auto / span 4;
	}
	.row-span--l-5 {
		grid-row: auto / span 5;
	}
	.row-span--l-6 {
		grid-row: auto / span 6;
	}
	/* COL SPANS */
	.col-span--l-1 {
		grid-column: span 1;
	}
	.col-span--l-2 {
		grid-column: span 2;
	}
	.col-span--l-3 {
		grid-column: span 3;
	}
	.col-span--l-4 {
		grid-column: span 4;
	}
	.col-span--l-5 {
		grid-column: span 5;
	}
	.col-span--l-6 {
		grid-column: span 6;
	}
}

/* M BREAKPOINT */

@media (max-width: 767px) {
	/* GRID COLUMNS */
	.grid--m-1 {
		--grid-template-columns: 1fr;
	}
	.grid--m-2 {
		--grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid--m-3 {
		--grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.grid--m-4 {
		--grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	/* ROW STARTS */
	.row-start--m-1 {
		grid-row-start: 1;
	}
	.row-start--m-2 {
		grid-row-start: 2;
	}
	.row-start--m-3 {
		grid-row-start: 3;
	}
	.row-start--m-4 {
		grid-row-start: 4;
	}
	.row-start--m-5 {
		grid-row-start: 5;
	}
	.row-start--m-6 {
		grid-row-start: 6;
	}
	/* COL STARTS */
	.col-start--m-1 {
		grid-column-start: 1;
	}
	.col-start--m-2 {
		grid-column-start: 2;
	}
	.col-start--m-3 {
		grid-column-start: 3;
	}
	.col-start--m-4 {
		grid-column-start: 4;
	}
	.col-start--m-5 {
		grid-column-start: 5;
	}
	.col-start--m-6 {
		grid-column-start: 6;
	}
	/* ORDER */
	.order--first-m {
		order: -1;
	}
	.order--last-m {
		order: 999;
	}
	/* ROW SPANS */
	.row-span--m-1 {
		grid-row: auto / span 1;
	}
	.row-span--m-2 {
		grid-row: auto / span 2;
	}
	.row-span--m-3 {
		grid-row: auto / span 3;
	}
	.row-span--m-4 {
		grid-row: auto / span 4;
	}
	.row-span--m-5 {
		grid-row: auto / span 5;
	}
	.row-span--m-6 {
		grid-row: auto / span 6;
	}
	/* COL SPANS */
	.col-span--m-1 {
		grid-column: span 1;
	}
	.col-span--m-2 {
		grid-column: span 2;
	}
	.col-span--m-3 {
		grid-column: span 3;
	}
	.col-span--m-4 {
		grid-column: span 4;
	}
	.col-span--m-5 {
		grid-column: span 5;
	}
	.col-span--m-6 {
		grid-column: span 6;
	}
}

/* S BREAKPOINT */

@media (max-width: 479px) {
	/* GRID COLUMNS */
	.grid--s-1 {
		--grid-template-columns: 1fr;
	}
	.grid--s-2 {
		--grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid--s-3 {
		--grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.grid--s-4 {
		--grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	/* ROW STARTS */
	.row-start--s-1 {
		grid-row-start: 1;
	}
	.row-start--s-2 {
		grid-row-start: 2;
	}
	.row-start--s-3 {
		grid-row-start: 3;
	}
	.row-start--s-4 {
		grid-row-start: 4;
	}
	.row-start--s-5 {
		grid-row-start: 5;
	}
	.row-start--s-6 {
		grid-row-start: 6;
	}
	/* COL STARTS */
	.col-start--s-1 {
		grid-column-start: 1;
	}
	.col-start--s-2 {
		grid-column-start: 2;
	}
	.col-start--s-3 {
		grid-column-start: 3;
	}
	.col-start--s-4 {
		grid-column-start: 4;
	}
	.col-start--s-5 {
		grid-column-start: 5;
	}
	.col-start--s-6 {
		grid-column-start: 6;
	}
	/* ORDER */
	.order--first-s {
		order: -1;
	}
	.order--last-s {
		order: 999;
	}
	/* ROW SPANS */
	.row-span--s-1 {
		grid-row: auto / span 1;
	}
	.row-span--s-2 {
		grid-row: auto / span 2;
	}
	.row-span--s-3 {
		grid-row: auto / span 3;
	}
	.row-span--s-4 {
		grid-row: auto / span 4;
	}
	.row-span--s-5 {
		grid-row: auto / span 5;
	}
	.row-span--s-6 {
		grid-row: auto / span 6;
	}
	/* COL SPANS */
	.col-span--s-1 {
		grid-column: span 1;
	}
	.col-span--s-2 {
		grid-column: span 2;
	}
	.col-span--s-3 {
		grid-column: span 3;
	}
	.col-span--s-4 {
		grid-column: span 4;
	}
	.col-span--s-5 {
		grid-column: span 5;
	}
	.col-span--s-6 {
		grid-column: span 6;
	}
}

/*** 
FLEXBOX & GRID ALIGNMENT CLASSES
These control the position/behavior of elements in a flexbox or grid.
***/

[class*="flex--"]:not(.ct-section),
.ct-section[class*="flex--"] > .ct-section-inner-wrap,
[class*="align--"]:not(.ct-section),
[class*="justify--"]:not(.ct-section),
.ct-section[class*="align--"] > .ct-section-inner-wrap,
.ct-section[class*="justify--"] > .ct-section-inner-wrap {
	display: flex;
}

.flex--row:not(.ct-section),
.ct-section.flex--row > .ct-section-inner-wrap {
	flex-direction: row;
}

.flex--col:not(.ct-section),
.ct-section.flex--col > .ct-section-inner-wrap {
	flex-direction: column;
}

.flex--row-reverse:not(.ct-section),
.ct-section.flex--row-reverse > .ct-section-inner-wrap {
	flex-direction: row-reverse;
}

.flex--col-reverse:not(.ct-section), 
.ct-section.flex--col-reverse > .ct-section-inner-wrap {
	flex-direction: column-reverse;
}

.justify-content--start:not(.ct-section),
.ct-section.justify-content--start > .ct-section-inner-wrap {
	justify-content: flex-start;
}

.justify-content--center:not(.ct-section),
.ct-section.justify-content--center > .ct-section-inner-wrap {
	justify-content: center;
}

.justify-content--end:not(.ct-section),
.ct-section.justify-content--end > .ct-section-inner-wrap {
	justify-content: flex-end;
}

.justify-content--between:not(.ct-section),
.ct-section.justify-content--between > .ct-section-inner-wrap {
	justify-content: space-between;
}

.justify-content--around:not(.ct-section),
.ct-section.justify-content--around > .ct-section-inner-wrap {
	justify-content: space-around;
}

.justify-items--start:not(.ct-section),
.ct-section.justify-items--start > .ct-section-inner-wrap {
	justify-items: flex-start;
}

.justify-items--center:not(.ct-section),
.ct-section.justify-items--center > .ct-section-inner-wrap {
	justify-items: center;
}

.justify-items--end:not(.ct-section),
.ct-section.justify-items--end > .ct-section-inner-wrap {
	justify-items: flex-end;
}

.align-items--start:not(.ct-section),
.ct-section.align-items--start > .ct-section-inner-wrap {
	align-items: flex-start;
}

.align-items--center:not(.ct-section),
.ct-section.align-items--center > .ct-section-inner-wrap {
	align-items: center;
}

.align-items--end:not(.ct-section),
.ct-section.align-items--end > .ct-section-inner-wrap {
	align-items: flex-end;
}

.align-items--baseline:not(.ct-section),
.ct-section.align-items--baseline > .ct-section-inner-wrap {
	align-items: baseline;
}

.align-content--start:not(.ct-section),
.ct-section.align-content--start > .ct-section-inner-wrap {
	align-content: flex-start;
}

.align-content--center:not(.ct-section),
.ct-section.align-content--center > .ct-section-inner-wrap {
	align-content: center;
}

.align-content--end:not(.ct-section),
.ct-section.align-content--end > .ct-section-inner-wrap {
	align-content: flex-end;
}

.align-content--baseline:not(.ct-section),
.ct-section.align-content--baseline > .ct-section-inner-wrap {
	align-content: baseline;
}

.flex--wrap:not(.ct-section),
.ct-section.flex--row > .ct-section-inner-wrap {
	flex-wrap: wrap;
}

.self--start {
	align-self: flex-start;
}

.self--end {
	align-self: flex-end;
}

.self--center {
	align-self: center;
}

.self--stretch {
	align-self: stretch;
}

.stretch:not(.ct-section),
.ct-section.stretch .ct-section-inner-wrap {
	display: flex;
	align-content: stretch;
	align-items: stretch;
	justify-content: stretch;
	justify-items: stretch;
}

@media only screen and (max-width: 479px) {
	.flex--col-s:not(.ct-section),
	.ct-section.flex--col-s > .ct-section-inner-wrap {
		flex-direction: column;
	}
	.flex--row-s:not(.ct-section),
	.ct-section.flex--row-s > .ct-section-inner-wrap {
		flex-direction: row;
	}
	.flex--row-reverse-s:not(.ct-section),
	.ct-section.flex--row-reverse-s > .ct-section-inner-wrap {
		flex-direction: row-reverse;
	}
	.flex--col-reverse-s:not(.ct-section),
	.ct-section.flex--col-reverse-s > .ct-section-inner-wrap {
		flex-direction: column-reverse;
	}
}

@media only screen and (max-width: 767px) {
	.flex--col-m:not(.ct-section),
	.ct-section.flex--col-m > .ct-section-inner-wrap {
		flex-direction: column;
	}
	.flex--row-m:not(.ct-section),
	.ct-section.flex--row-m > .ct-section-inner-wrap {
		flex-direction: row;
	}
	.flex--row-reverse-m:not(.ct-section),
	.ct-section.flex--row-reverse-m > .ct-section-inner-wrap {
		flex-direction: row-reverse;
	}
	.flex--col-reverse-m:not(.ct-section),
	.ct-section.flex--col-reverse-m > .ct-section-inner-wrap {
		flex-direction: column-reverse;
	}
}

@media only screen and (max-width: 991px) {
	.flex--col-l:not(.ct-section),
	.ct-section.flex--col-l > .ct-section-inner-wrap {
		flex-direction: column;
	}
	.flex--row-l:not(.ct-section),
	.ct-section.flex--row-l > .ct-section-inner-wrap {
		flex-direction: row;
	}
	.flex--row-reverse-l:not(.ct-section),
	.ct-section.flex--row-reverse-l > .ct-section-inner-wrap {
		flex-direction: row-reverse;
	}
	.flex--col-reverse-l:not(.ct-section),
	.ct-section.flex--col-reverse-l > .ct-section-inner-wrap {
		flex-direction: column-reverse;
	}
}

@media only screen and (max-width: 1279px) {
	.flex--col-xl:not(.ct-section),
	.ct-section.flex--col-xl > .ct-section-inner-wrap {
		flex-direction: column;
	}
	.flex--row-xl:not(.ct-section),
	.ct-section.flex--row-xl > .ct-section-inner-wrap {
		flex-direction: row;
	}
	.flex--row-reverse-xl:not(.ct-section),
	.ct-section.flex--row-reverse-xl > .ct-section-inner-wrap {
		flex-direction: row-reverse;
	}
	.flex--col-reverse-xl:not(.ct-section),
	.ct-section.flex--col-reverse-xl > .ct-section-inner-wrap {
		flex-direction: column-reverse;
	}
}