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

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

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

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

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

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

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

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

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

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 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: #6b6b6b;text-decoration: none;}.ct-link-text {color: #6b6b6b;text-decoration: ;}.ct-link-text:hover {color: #2d2d2d;text-decoration: underline;}.ct-link {text-decoration: none;}.ct-link:hover {text-decoration: none;}.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;
				}
			}
.fixed-hero {
 position:fixed;
 top:0px;
 right:0px;
 left:103px;
}
@media (max-width: 991px) {
.fixed-hero {
 left:0px;
 position:relative;
}
}

.oxel_dynamicslider {
 width:100%;
}
.swiper-container {
}
.oxel_dynamicslider__container {
 height:400px;
}
.full-screen-hero-slider {
 min-height:100vh;
}
.swiper-wrapper {
}
.swiper-slide {
}
.gallery-wrap {
 padding-top:10px;
 padding-bottom:60px;
}
.masonry-gallery {
}
.hover-zoom-gallery {
}
.circle-image {
 overflow:hidden;
 border-radius:400em;
 width:100%;
 object-fit:cover;
 object-position:center;
 aspect-ratio:1/1;
 max-width:200px;
}
.team-image {
 aspect-ratio:2 / 3;
 object-fit:cover;
 object-position:center top;
 max-width:270px;
 width:100%;
}
.bw-image {
 filter:grayscale(100%);
}
.text-line-space {
 margin-bottom:20px;
}
.kerned-text {
 letter-spacing:0.06em;
}
.dark-text {
 color:#2d2d2d;
}
.all-caps-text {
 text-transform:uppercase;
}
.small-title {
 font-size:17px;
 font-weight:500;
}
.midcolor-text {
 color:#6b6b6b;
}
.oxy-stock-content-styles {
}
.small-meta-text {
 font-size:0.9em;
 font-weight:700;
}
.back-to-main {
 margin-top:1em;
}
.back-to-main:not(.ct-section):not(.oxy-easy-posts),
.back-to-main.oxy-easy-posts .oxy-posts,
.back-to-main.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.back-icon {
color: #6b6b6b;}.back-icon 
>svg {width: 20px;height: 20px;}.back-icon {
}
.oxel_icon_button__container:hover{
 background-color:#cfd3d7;
}
.oxel_icon_button__container {
 background-color:#eceeef;
 padding-top:8px;
 padding-left:16px;
 padding-right:16px;
 padding-bottom:8px;
 transition-duration:0.3s;
}
.oxel_icon_button__container:not(.ct-section):not(.oxy-easy-posts),
.oxel_icon_button__container.oxy-easy-posts .oxy-posts,
.oxel_icon_button__container.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_icon_button_text {
 color:#ffffff;
}
.oxel_icon_button_icon {
color: #ffffff;}.oxel_icon_button_icon 
>svg {width: 18px;height: 18px;}.oxel_icon_button_icon {
}
.logo {
 max-height:200px;
 max-width:300px;
 padding-top:20px;
 padding-right:20px;
 padding-bottom:20px;
}
@media (max-width: 991px) {
.logo {
 max-width:30vw;
}
}

@media (max-width: 767px) {
.logo {
 max-width:50vw;
}
}

.header {
 padding-left:20px;
 padding-top:20px;
 padding-right:20px;
 padding-bottom:20px;
 width:100%;
}
.header:not(.ct-section):not(.oxy-easy-posts),
.header.oxy-easy-posts .oxy-posts,
.header.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
.footer {
}
.footer:not(.ct-section):not(.oxy-easy-posts),
.footer.oxy-easy-posts .oxy-posts,
.footer.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.copyright {
 margin-top:20px;
}
.footer-navigation {
}
.post-card-repeater {
justify-content:center;
}
.post-card-repeater:not(.ct-section):not(.oxy-easy-posts),
.post-card-repeater.oxy-easy-posts .oxy-posts,
.post-card-repeater.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(auto-fit, minmax(400px, 0.33fr));grid-column-gap: 3em;grid-row-gap: 3em;}
@media (max-width: 1120px) {
.post-card-repeater {
}
.post-card-repeater:not(.ct-section):not(.oxy-easy-posts),
.post-card-repeater.oxy-easy-posts .oxy-posts,
.post-card-repeater.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

@media (max-width: 991px) {
.post-card-repeater {
}
.post-card-repeater:not(.ct-section):not(.oxy-easy-posts),
.post-card-repeater.oxy-easy-posts .oxy-posts,
.post-card-repeater.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

.post-card-title {
 font-weight:700;
 font-size:1.2em;
}
.post-card-link-area {
 text-align:left;
 width:100%;
 height:100%;
}
.post-card-link-area:not(.ct-section):not(.oxy-easy-posts),
.post-card-link-area.oxy-easy-posts .oxy-posts,
.post-card-link-area.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
}
.post-card-date-and-tax {
}
.post-card-date-and-tax:not(.ct-section):not(.oxy-easy-posts),
.post-card-date-and-tax.oxy-easy-posts .oxy-posts,
.post-card-date-and-tax.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.post-card-tax {
 border-left-color:#6b6b6b;
 border-left-width:1px;
 border-left-style:solid;
 padding-left:1em;
 margin-left:1em;
}
.post-card-date {
}
.post-card-read-more {
 margin-top:1em;
}
.post-card-read-more:not(.ct-section):not(.oxy-easy-posts),
.post-card-read-more.oxy-easy-posts .oxy-posts,
.post-card-read-more.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.post-card-image {
 width:100%;
 object-fit:cover;
 object-position:center;
 height:100%;
}
.post-card-spacing {
 margin-top:1em;
 margin-right:1em;
 margin-bottom:1em;
 margin-left:1em;
}
.light-bg {
 background-color:#dddddd;
}
.post-card-lower-content {
 flex-grow:1;
}
.post-card-lower-content:not(.ct-section):not(.oxy-easy-posts),
.post-card-lower-content.oxy-easy-posts .oxy-posts,
.post-card-lower-content.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:space-between;
}
.post-card-image-wrap {
 width:100%;
 height:20em;
 object-fit:cover;
 object-position:center;
 overflow:hidden;
}
@media (max-width: 767px) {
.post-card-image-wrap {
 height:16em;
}
}

@media (max-width: 479px) {
.post-card-image-wrap {
 height:66vw;
}
}

.read-more-icon {
color: #6b6b6b;}.read-more-icon 
>svg {width: 20px;height: 20px;}.read-more-icon {
}
.full-window-height-section {
 min-height:100vh;
}
.full-window-height-section:not(.ct-section):not(.oxy-easy-posts),
.full-window-height-section.oxy-easy-posts .oxy-posts,
.full-window-height-section.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.fast-filter {
 margin-bottom:120px;
 width:100%;
 max-width:600px;
}
.card {
}
.max-post-width {
 width:100%;
 max-width:800px;
}
.post-content-section {
}
.post-content-section:not(.ct-section):not(.oxy-easy-posts),
.post-content-section.oxy-easy-posts .oxy-posts,
.post-content-section.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.project-content-section {
 text-align:center;
 position:relative;
}
.project-content-section .ct-section-inner-wrap {
padding-top: 0;
}
.project-content-section:not(.ct-section):not(.oxy-easy-posts),
.project-content-section.oxy-easy-posts .oxy-posts,
.project-content-section.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.project-hero {
 position:relative;
 width:100%;
}
@media (max-width: 767px) {
.project-hero {
}
.project-hero:not(.ct-section):not(.oxy-easy-posts),
.project-hero.oxy-easy-posts .oxy-posts,
.project-hero.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
}

.project-title {
}
.project-hero-title-wrap {
 padding-top:1em;
 padding-right:1em;
 padding-bottom:1em;
 padding-left:1em;
 background-color:rgba(255,255,255,0.8);
 position:absolute;
 bottom:6vw;
}
@media (max-width: 767px) {
.project-hero-title-wrap {
transform:translateY(-50%); position:relative;
 max-width:94%;
 bottom:0px;
}
}

@media (max-width: 479px) {
.project-hero-title-wrap {
}
}

.project-columns {
 width:100%;
}
.project-columns:not(.ct-section):not(.oxy-easy-posts),
.project-columns.oxy-easy-posts .oxy-posts,
.project-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
@media (max-width: 767px) {
.project-columns {
}
.project-columns:not(.ct-section):not(.oxy-easy-posts),
.project-columns.oxy-easy-posts .oxy-posts,
.project-columns.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column-reverse;
}
}

.left-align-text {
 text-align:left;
}
.bold-text {
 font-weight:700;
}
.center-content {
 text-align:center;
}
.center-content:not(.ct-section):not(.oxy-easy-posts),
.center-content.oxy-easy-posts .oxy-posts,
.center-content.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.align-right {
}
.align-right:not(.ct-section):not(.oxy-easy-posts),
.align-right.oxy-easy-posts .oxy-posts,
.align-right.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-end;
}
.post-meta-row {
 width:100%;
}
.post-meta-row:not(.ct-section):not(.oxy-easy-posts),
.post-meta-row.oxy-easy-posts .oxy-posts,
.post-meta-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.title-spacing {
 margin-bottom:2em;
}
.full-width-post-grid {
 width:100%;
 padding-right:3em;
 padding-bottom:3em;
 padding-left:3em;
 padding-top:3em;
}
.full-width-post-grid:not(.ct-section):not(.oxy-easy-posts),
.full-width-post-grid.oxy-easy-posts .oxy-posts,
.full-width-post-grid.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
@media (max-width: 991px) {
.full-width-post-grid {
 padding-left:20px;
 padding-right:20px;
}
}

.subtitle-spacing {
 margin-bottom:4em;
}
.archive-title-row {
}
.archive-title-row:not(.ct-section):not(.oxy-easy-posts),
.archive-title-row.oxy-easy-posts .oxy-posts,
.archive-title-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.project-featured-image {
 width:100%;
}
.left-project-col {
 width:60%;
 padding-right:2em;
 padding-top:2em;
}
@media (max-width: 767px) {
.left-project-col {
 width:100%;
 padding-right:0em;
}
}

.right-project-col {
 width:40%;
 padding-left:2em;
 padding-top:2em;
}
@media (max-width: 767px) {
.right-project-col {
 width:100%;
 padding-left:0em;
}
}

.categories-gallery-shortcode {
 width:100%;
}
.responsive-title {
}
@media (max-width: 1120px) {
.responsive-title {
 font-size:3.5vw;
}
}

@media (max-width: 991px) {
.responsive-title {
 font-size:4vw;
}
}

@media (max-width: 767px) {
.responsive-title {
 font-size:1.75em;
}
}

.invisible {
 width:0px;
 height:0px;
 overflow:hidden;
}
.nav-menu-base {
}
.nav-menu-base {
--oxynav-brand-color:#6b6b6b;
--oxynav-neutral-color:#dddddd;
--oxynav-activehover-color:#2d2d2d;
--oxynav-background-color:#2d2d2d;
}

.nav-menu-base > ul{ left: unset; right: 0; }
.nav-menu-base {
                        --oxynav-animation-name: oxel-sitenav-dropdown; 
                    }

                .button-base:hover{
background-color :#2d2d2d;
border: 1px solid #2d2d2d;
}.button-base:hover{
 text-decoration:none;
}
.button-base {
background-color :#6b6b6b;
border: 1px solid #6b6b6b;
color: #ffffff;
}.button-base {
 button-hover_color:#2d2d2d;
 transition-duration:0.25s;
}
.outline-button:hover{
background-color: transparent;
border: 1px solid #6b6b6b;
color: #6b6b6b;
}.outline-button:hover{
 border-top-color:#6b6b6b;
 border-right-color:#6b6b6b;
 border-bottom-color:#6b6b6b;
 border-left-color:#6b6b6b;
 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;
 background-color:#dddddd;
 text-decoration:none;
}
.outline-button {
background-color: transparent;
border: 1px solid #2d2d2d;
color: #2d2d2d;
padding: 9px 15px;
}.outline-button {
 button-hover_color:#6b6b6b;
 transition-duration:0.25s;
}
.body-row-spacing {
 margin-bottom:2em;
}
.rounded-corners-mid {
 border-radius:1.4em;
}
.rounded-corners-outer {
 border-radius:2em;
}
.white-text {
 color:#ffffff;
}
.rounded-corners-inner {
 border-radius:0.75em;
}
.drop-shadow {
 box-shadow:0px 5px 10px rgba(0,0,0,0.2);
}
.hover-lift:hover{
transform:scale(1.05,1.05); box-shadow:0px 15px 15px rgba(0,0,0,0.2);
}
.hover-lift {
 transition-duration:0.25s;
}
.hover-slide-up:hover{
transform:translateY(-5px);}
.hover-slide-up {
 transition-duration:0.25s;
}
.footer-row {
 width:100%;
}
.footer-row:not(.ct-section):not(.oxy-easy-posts),
.footer-row.oxy-easy-posts .oxy-posts,
.footer-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
@media (max-width: 991px) {
.footer-row {
 text-align:justify;
}
.footer-row:not(.ct-section):not(.oxy-easy-posts),
.footer-row.oxy-easy-posts .oxy-posts,
.footer-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column-reverse;
}
}

.no-col-padding {
}
.dark-bg {
 background-color:#2d2d2d;
}
.center-align-text {
 text-align:center;
}
.testimonial-name {
 position:absolute;
 bottom:0px;
}
.testimonial-text {
}
.italic-text {
 font-style:italic;
}
.testimonial-slider {
}
.testimonial-slider-wrap {
}
.dummy-slide-wrap {
 position:relative;
}
.map-embed {
 width:100%;
 height:100%;
 min-height:400px;
}
.cta-icon {
color: #2d2d2d;}.cta-icon 
>svg {width: 40px;height: 40px;}.cta-icon {
}
.linked-title-wrap {
}
.linked-title-wrap:not(.ct-section):not(.oxy-easy-posts),
.linked-title-wrap.oxy-easy-posts .oxy-posts,
.linked-title-wrap.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:flex-start;
}
.ticker-slider-block {
}
.ticker-slider-wrap {
 width:100%;
 position:relative;
}
.button-icon {
 margin-left:0.5em;
 transition-duration:0.25s;
}
.footer-menu {
}
/*********font fallbacks************/
h1, h2, h3, h4, h5, h6, p {
    font-family: 'Montserrat', Arial, sans-serif;
}

/*********remove extra header sections*******/
.oxy-header-center, .oxy-header-right{
  display:none;
}

.oxy-header-left{
  width:100%
}

.oxy-header-container{
  max-width:100vw;
  padding:0;
}


/*************sticky header adjustments***************/
.oxy-sticky-header-active .logo{
  max-width:200px;
}

.oxy-sticky-header-active .header{
  padding-top:5px;
  padding-bottom:5px;
}


/***********mobile section spacing**********/
@media screen and (max-width:768px){
    .ct-section-inner-wrap {
      padding-top: 50px;
      padding-bottom: 50px;
  }
}

/******************nav menu customization**************/
@media screen and (min-width:992px){
  .nav-menu-base{
  width:100%;
  margin-left:auto;
    padding-left:40px;
    max-width: 900px;
  }

  .nav-menu-base > ul{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-evenly;
  }
}


.nav-menu-base button .icon{
  margin-top:0.25em;
}

.menu-item.has-submenu > a {
    padding-right:0.5em;
}

.nav-menu-base > ul > .menu-item:hover{
  background-color:unset;
}

.nav-menu-base > ul > .menu-item:not(.current-menu-item) > a::before {
    content: "";
    position: absolute;
    bottom: 8px;
    height: 1px;
    left: 16px;
    right: 16px;
    background-color: var(--oxynav-brand-color);
  opacity:0;
  transition:opacity 0.25s;
}

.nav-menu-base > ul > .menu-item:hover > a::before {
    opacity:1;
}

/*******custom text for menu item with class**********/
.nav-menu-base:not(.footer-menu) > ul > .contact-us-nav > a {
  font-size:0;
}
.nav-menu-base:not(.footer-menu) > ul > .contact-us-nav > a::after {
  content:'Contact Us';
  display:inline;
  position:relative;
  font-size:16px;
}

.nav-menu-base:not(.footer-menu) > ul > .menu-item:last-child:hover > a::before {
  opacity:0;
}

@media screen and (min-width:992px){
  .footer-menu{
    transform:translateX(35px);
  }
}

@media screen and (max-width:992px){
  .nav-menu-base > ul > .menu-item:last-child > a{
    /*background-color:var(--mid);*/
    border: 1px solid var(--dark);
    margin-top:40px;
    margin-left:20px;
    margin-right:20px;
    text-align:center;
    transition:background-color 0.25s;
    /*font-weight:bold;*/
  }
  .nav-menu-base > ul > .menu-item:last-child > a:active,
  .nav-menu-base > ul > .menu-item:last-child > a:focus,
  .nav-menu-base > ul > .menu-item:last-child > a:hover{
    background-color:var(--mid);
  }

}

/************override menu dropdowns to be dark on light***********/
/*.oxy-site-navigation li li a{
  color:var(--dark);
}

.oxy-site-navigation li li a:hover{
  color:#ffffff;
}*/


/**************hide current page underline on homepage*************/
/*.home .oxy-site-navigation > ul > .current-menu-item > a::before {
  display:none;
}*/


/************mobile menu dropdown click area by menu item class control***********/
/*body:not(.home) .expertise-nav > a {
  pointer-events: none;
}

@media screen and (max-width:992px){
.expertise-nav button{
      width: 100%;
    transform: translateY(-125%);
    display: flex;
    justify-content: flex-end;
  margin-bottom:-40px;
}
}*/

/************footer nav outline***********/
.footer .widget_nav_menu .widgettitle{
  display:none;
}

.footer .ct-widget{
  width:unset;
}


/***************remove column padding********/
.no-col-padding > .ct-div-block{
  padding:0;
}

@media screen and (max-width:992px){
    .no-col-padding-mobile > .ct-div-block{
    padding:0;
  }
}



/**************hover link underline***************/
a:not(.ct-link-button):not(.ct-link):hover {
    text-decoration: underline;
}

.nav-menu-base a:hover{
  text-decoration: none!important;
}


/**********dark section link color**********/
.white-text a{
  color:var(--light);
}

/************linked title hover effect******************/
.linked-title-wrap .cta-icon{
  transition:margin 0.25s;
}

.linked-title-wrap:hover .cta-icon{
  margin-left:1.5em;
}


/*************button icon hover effect*************/
.button-base:hover .button-icon{
  margin-left:1.5em;
}



/************post card and project gallery hover effects****************/
.post-card-link-area, .category-box {
  overflow:hidden;
}

.post-card-image, .category-box img{
  transition:transform 0.75s ease-in-out;
}

.read-more-icon{
  margin-left:0em;
  transition:margin 0.5s ease-in-out;
}

.post-card-link-area:hover .post-card-image, .category-box:hover img{
  transform:scale(1.05,1.05)
}

.post-card-link-area:hover .read-more-icon, .all-posts-link:hover .read-more-icon{
  margin-left:0.5em;
}


/*************archive hover effects*************/
.back-icon{
  transition:transform 0.5s ease-in-out;
}

.back-to-main:hover .back-icon{
  transform:translateX(-0.5em);
}

/************post card pagination**********/
.post-card-repeater .oxy-repeater-pages{
  font-weight:700;
}

/***********fast filter styles*************/
.fast-filter {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.fast-filter label {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 8px;
}

.fast-filter input {
	border: 2px solid var(--mid);
	background-color: white;
	padding: 8px;
	font-size: 1.5em;
	width: 100%;
}

.filter-checkboxes {
	margin-top: 16px;
}

.filter-checkboxes [data-search-term] {
	display: none;
}

.filter-checkboxes label {
	padding: 8px;
	border: 2px solid var(--mid);
	margin-left: 8px;
	margin-right: 8px;
	font-size: 16px;
	text-align: center;
  display:inline-block
}

.filter-checkboxes [data-search-term]:checked + label {
	background-color: var(--light);
	border-color:var(--light);
  outline: 2px solid var(--dark);
  outline-offset: 4px;
}

@media screen and (max-width:992px){
  .filter-checkboxes label {
    font-size: 0.8em;
    padding: 6px 10px;
    margin-right: 8px;
    margin-bottom:10px;
}
}

/****************project categories gallery*****************/
.project-categories-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.project-categories-container .category-box:last-child {
    margin-right: 0;
}

.category-box {
    flex: 1 0 calc(25% - 1em); /* Adjust the flex-basis to account for margin */
    position: relative;
    margin-right: 1em; /* Apply margin right */
    margin-bottom: 1em; /* Bottom margin to separate rows */
   height:12em;
}

@media screen and (min-width:1120px){
/* Remove margin-right on every 4th item and the last item */
.project-categories-container .category-box:nth-child(4n){
    margin-right: 0;
}
}

@media screen and (max-width:1120px) and (min-width:769px){
  .category-box {
        flex: 1 0 calc(33.3333% - 1em); /* 3 boxes per row, adjusting for margin */
    }
  .project-categories-container .category-box:nth-child(3n){
    margin-right: 0;
}
}

@media screen and (max-width:768px) and (min-width:481px){
  .category-box {
        flex: 1 0 calc(50% - 1em);
    }
  .project-categories-container .category-box:nth-child(2n){
    margin-right: 0;
}
}

@media screen and (max-width:480px){
  .category-box {
        flex: 1 0 100%;
    margin-right: 0;
    }
}

/* Black and white filter applied to the background */
.category-box:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  /*filter: grayscale(100%);*/
  mix-blend-mode: saturation; /* This will turn the photo black and white */
  z-index: 1;
}

/* Gradient overlay */
.category-box:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(100deg, #080808, #888888);
  z-index: 2;
  opacity: 0.8;
  transition: opacity 0.5s;
}

/* Adjust opacity on hover */
.category-box:hover:after, .category-box:hover:before  {
  opacity: 0.2;
}

.category-box h3 {
    position: absolute;
    top: 50%;
    left: 50%;
  transform:translate(-50%,-50%);
    color: white;
  text-align:center;
  width:90%;
  z-index:3;
  text-transform:uppercase;
  font-size:1vw;
  font-weight:500;
  letter-spacing:0.1em;
  text-shadow:rgba(0,0,0,0) 0 0 5px;;
}

.category-box:hover h3 {
  text-shadow:#000000 0 0 5px;
}

@media screen and (max-width:1366px){
  .category-box h3 {
    font-size:1em;
  }
}


/****************form style*************/
:root {
    --fluentform-primary: var(--mid)!important;
    --fluentform-secondary: var(--dark)!important;
  --fluentform-border-radius: 0px!important;
  --fluentform-danger:var(--mid)!important;
}

.fluentform input:after{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color:#ffffff;
}

.fluentform label:not(.ff-el-form-check-label){
  text-transform:uppercase;
  color:var(--dark);
}

.light-text .fluentform label:not(.ff-el-form-check-label){
  text-transform:uppercase;
  color:var(--light);
}

.ff-btn-submit{
    background-color:rgba(0,0,0,0)!important;
  border-radius:0!important;
  border:1px solid var(--dark)!important;
  color:var(--dark)!important;
  letter-spacing:0.2em;
  margin-top:60px;
}

.light-text .ff-btn-submit{
  color:var(--light)!important;
  border-color:var(--light)!important;
}
.ff-btn-submit:hover {
    background-color:var(--dark)!important;
  opacity:1!important;
  color:var(--light)!important;
}

.light-text .ff-btn-submit:hover{
  color:var(--dark)!important;
  background-color:var(--light)!important;
}

.ff_submit_btn_wrapper, .ff-message-success{
  text-align:center!important;
}

/***************subpage hero with title overlay and full bg***************/
.subpage-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.subpage-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center top;
  filter: blur(10px);
  transform: scale(1.1);
}

.image-title-container {
  position: relative;
  max-width: 1120px;
  max-height: calc(100vh - 153px);
  width: 100%;
  height: 100%;
}

.subpage-hero img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  z-index: 1;
  margin-bottom:-10px
}

@media screen and (max-width: 1120px) {
  .image-title-container {
    max-width: 100%;
  }
}

.title-overlay {
  position: absolute;
  bottom: -0.17em;
  left: 40px;
  color: #ffffff;
  font-size: 4em;
  z-index: 2;
  text-transform:uppercase;
  text-shadow: 2px 2px 20px rgba(0, 0, 0, 0.6);
  line-height:1;
}

@media screen and (max-width:992px){
  .title-overlay{
    font-size:7vw;
    left:20px;
  }
}

@media screen and (max-width:480px){
  .title-overlay{
    font-size:1.75em;
  }
}



/***************subpage hero with rounded corners and faded bg***************/
/*.subpage-hero {
  z-index:-2;
  position: relative;
  background-size:0 0;
  display: flex;
    align-items: center;
    justify-content: center;
  overflow:hidden;
  padding-top:20px;
}


.subpage-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 95%);
  background-image: inherit;
  background-size: cover;
    background-position: center top;
  filter: blur(10px);
  transform:scale(1.1);
}

.subpage-hero img{
  max-width:1120px;
  max-height:calc(100vh - 260px);
  z-index:1;
  object-fit:cover;
  object-position:center center;
}

@media screen and (max-width:1120px){
  .subpage-hero img{
  max-width:100%;
}
}

.project-featured-image {
    position: relative;
    height: auto;
}*/


/**********subpage gallery items********************/

.project-photo-gallery .oxy-gallery-item{
  border-radius:1.4em;
  overflow:hidden;
  max-width:1080px;
}



/**********************map embed**************/
.map-embed iframe{
    width:100%;
    height:100%;
  }



/****************** Customize bullet characters *************/
ul:not(.nav-menu-base ul):not(.unslider ul),/* Select ul elements inside another ul, but not inside .nav-menu-base or .unslider */
ul:not(.nav-menu-base ul) { /* Select top-level ul elements not inside .nav-menu-base */
   /*list-style-type: square;  */
  list-style-type: none; /* Removes the default bullets */
    padding-left: 0;      /* Removes default padding */
}

ul:not(.nav-menu-base ul) li {
    position: relative;
    padding-left: 20px;   /* Provides space for the arrow */
}

ul:not(.nav-menu-base ul) li::before {
    content: '\f105'; /* Unicode for fa-angle-right */
    font-family: 'Font Awesome 5 Free'; /* Font Awesome font family */
    font-weight: 900; /* Necessary for bold icons */
    position: absolute;
    left: 0; /* Position the icon to the left */
  font-size:0.75em;
  margin-top:0.5em;
}

ul:not(.nav-menu-base ul) ul li::before {
    content: '\f101'; /* Unicode for fa-angle-double-right */
}

/************ticker slideshow styles***************/
#slideshow-container {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100vw;
    height: calc(40vh + 40px); 
  margin-top:40px;
}

.slideshow-image {
    height: 40vh;
     width: 60vh;
    object-fit: cover;
    position: absolute;
    will-change: transform;
    margin-right: 40px;
}

@media screen and (max-width:768px){
  .slideshow-image {
    height: 20vh;
     width: 30vh; 
    margin-right: 20px;
}
  #slideshow-container{
    height: calc(20vh + 20px);
  }
}

/**************normal slider customizations*************/
.unslider-arrow{
  background: none!important;
  opacity:1!important;
}

.unslider-arrow:after{
  font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial;
    line-height: 1;
    font-size: 32px;
      position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
  text-indent: 0;
  color:var(--light);
    content: 'next';
}

@media screen and (max-width:992px){
  .unslider-arrow{
    top:144px!important;
  }
}


/***********hover zoom gallery********************/
.hover-zoom-gallery a{
  overflow:hidden;
}

.hover-zoom-gallery a img{
transition:transform 0.5s ease-in-out;
}

.hover-zoom-gallery a:hover img{
  transform:scale(1.05);
}

/*****************masonry gallery layout*************/
@media screen and (max-width:992px){
.masonry-gallery{
  column-count:3!important;
}
}

@media screen and (max-width:480px){
.masonry-gallery{
  column-count:2!important;
}
}

/***********blog next/prev buttons ****************/
.prev-next-row i{
  margin:10px;
}


/**************link box hover effects for team links on about page***********/
.link-box-hover img{
  transition:0.5s ease-in-out;
}

.link-box-hover:hover img,
.link-box-hover:focus img,
.link-box-hover:active img{
  transform:scale(1.05);
}

.link-box-hover:hover h3,
.link-box-hover:focus h3,
.link-box-hover:active h3{
  text-decoration:underline;
}