.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: 1440px;
}
body {font-family: 'Mulish';}body {line-height: 1.6;font-size: 18px;font-weight: 400;color: #191919;}.oxy-nav-menu-hamburger-line {background-color: #191919;}h1, h2, h3, h4, h5, h6 {font-family: 'Spectral';}a {color: #757575;text-decoration: none;}a:hover {color: #000000;text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {font-weight: 400;border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 64px;
padding-right: 32px;
padding-bottom: 64px;
padding-left: 32px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 32px;
padding-left: 32px;
}@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;
				}
			}
.gallery-grid {
}
.label-dark {
 background-color:#181818;
 color:#f4f4f4;
 text-align:center;
 padding-left:12px;
 padding-right:12px;
 padding-top:4px;
 padding-bottom:4px;
}
.noClick {
}
.heading--accent:after{
 width:100%;
 position:absolute;
 bottom:0px;
 height:10px;
 border-bottom-width:2px;
 border-bottom-color:#000000;
 border-bottom-style:solid;
 max-width:80px;
 left:0px;
  content:"";
}
.heading--accent {
 position:relative;
 padding-bottom:12px;
 font-weight:600;
}
.flex__container--mob-reverse {
}
.flex__container--mob-reverse:not(.ct-section):not(.oxy-easy-posts),
.flex__container--mob-reverse.oxy-easy-posts .oxy-posts,
.flex__container--mob-reverse.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 1023px) {
.flex__container--mob-reverse {
flex-direction: row-reverse;
}
.flex__container--mob-reverse:not(.ct-section):not(.oxy-easy-posts),
.flex__container--mob-reverse.oxy-easy-posts .oxy-posts,
.flex__container--mob-reverse.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:flex-start;
}
}

.flex__text--row-mobile-stack {
 gap:12px;
}
.flex__text--row-mobile-stack:not(.ct-section):not(.oxy-easy-posts),
.flex__text--row-mobile-stack.oxy-easy-posts .oxy-posts,
.flex__text--row-mobile-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
justify-content:center;
gap:12px;
}
@media (max-width: 639px) {
.flex__text--row-mobile-stack {
}
.flex__text--row-mobile-stack:not(.ct-section):not(.oxy-easy-posts),
.flex__text--row-mobile-stack.oxy-easy-posts .oxy-posts,
.flex__text--row-mobile-stack.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
}
}

.text--strong {
 font-weight:600;
}
.grid__gallery--1-col {
}
.grid__gallery--1-col:not(.ct-section):not(.oxy-easy-posts),
.grid__gallery--1-col.oxy-easy-posts .oxy-posts,
.grid__gallery--1-col.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
.grid__gallery--1-col:not(.ct-section):not(.oxy-easy-posts) > *,
.grid__gallery--1-col.ct-section .ct-section-inner-wrap > *,
.grid__gallery--1-col.oxy-easy-posts .oxy-posts > *{
height: 100%;}
.padding-y-l {
 padding-top:32px;
 padding-bottom:32px;
}
.border-radius-xy {
 border-radius:var(--radius) ;
}
.shadow-soft {
}
.margin-y-l {
 margin-top:var(--space-l) ;
 margin-bottom:var(--space-l) ;
}
.padding-x-s {
 padding-left:var(--space-s) ;
 padding-right:var(--space-s) ;
}
.heading--default {
 font-family:'Raleway';
 font-weight:300;
}
@media (max-width: 639px) {
.heading--default {
}
}

.grid-related-project {
 width:100%;
}
.grid-related-project:not(.ct-section):not(.oxy-easy-posts),
.grid-related-project.oxy-easy-posts .oxy-posts,
.grid-related-project.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;justify-items: stretch;align-items: stretch;grid-template-columns: repeat(4, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
@media (max-width: 1440px) {
.grid-related-project {
}
.grid-related-project:not(.ct-section):not(.oxy-easy-posts),
.grid-related-project.oxy-easy-posts .oxy-posts,
.grid-related-project.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(2, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

@media (max-width: 767px) {
.grid-related-project {
}
.grid-related-project:not(.ct-section):not(.oxy-easy-posts),
.grid-related-project.oxy-easy-posts .oxy-posts,
.grid-related-project.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

.grid-item-related-projects {
 width:100%;
 gap:var(--space-xs) ;
 max-width:400px;
 text-align:center;
}
.grid-item-related-projects:not(.ct-section):not(.oxy-easy-posts),
.grid-item-related-projects.oxy-easy-posts .oxy-posts,
.grid-item-related-projects.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
gap:var(--space-xs) ;
}
.related-projects-img:hover{
 filter:grayscale(0%);
 transition-duration:0.4s;
 transition-delay:0.2s;
 transition-timing-function:ease-in;
}
.related-projects-img {
 object-fit:cover;
 width:100%;
 filter:grayscale(100%);
}
@media (max-width: 767px) {
.related-projects-img {
 filter:grayscale(100%);
 transition-duration:0.5s;
 transition-delay:0.1s;
}
}

.dark {
}
.light {
}
.header--sticky {
position: sticky; top: 12px; /* Sticks to the top of the container */
}
.w-full {
 width:100%;
}
.top-2 {
top: 1rem;
}
.sticky {
position: sticky;
}
.relative {
 position:relative;
}
.bottom-2 {
bottom: 2rem;
}
.text-white {
 color:#ffffff;
}
.pl-0 {
 padding-left:0px;
}
.mh-24 {
 max-height:12rem;
}
.link-module {
}
.bottom-0 {
bottom: 0;
}
.pb-2 {
 padding-bottom:2rem;
}
.py-2 {
 padding-bottom:2rem;
 padding-top:2rem;
}
.discipline-component:hover{
 color:rgba(0,0,0,0.8);
 opacity:0.8;
 transition-duration:0.2s;
 transition-timing-function:ease-in;
}
.discipline-component {
 width:100%;
 border-top-style:solid;
 border-top-color:#999999;
 border-top-width:1px;
 padding-top:8px;
 padding-bottom:8px;
 color:#000000;
 margin-bottom:1rem;
}
.discipline-component:not(.ct-section):not(.oxy-easy-posts),
.discipline-component.oxy-easy-posts .oxy-posts,
.discipline-component.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:center;
justify-content:space-between;
}
@media (max-width: 767px) {
.discipline-component {
 text-align:justify;
 gap:8px;
}
.discipline-component:not(.ct-section):not(.oxy-easy-posts),
.discipline-component.oxy-easy-posts .oxy-posts,
.discipline-component.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
gap:8px;
}
}

.discipline-component-img {
 object-fit:cover;
 object-position:center;
 width:100%;
 height:100px;
 position:relative;
 min-width:200px;
}
@media (max-width: 767px) {
.discipline-component-img {
 min-width:300px;
 height:200px;
}
}

.p-2 {
 padding-top:2rem;
 padding-right:2rem;
 padding-bottom:2rem;
 padding-left:2rem;
}
@media (max-width: 639px) {
.p-2 {
 padding-top:2rem;
 padding-right:2rem;
 padding-bottom:2rem;
 padding-left:2rem;
}
}

.btn-light:hover{
 opacity:0.8;
 transition-duration:0.2s;
 transition-timing-function:ease-in;
}
.btn-light {
 gap:8px;
 background-color:#ffffff;
 padding-left:12px;
 padding-right:12px;
 padding-top:2px;
 padding-bottom:2px;
 color:#000000;
}
.btn-light:not(.ct-section):not(.oxy-easy-posts),
.btn-light.oxy-easy-posts .oxy-posts,
.btn-light.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
gap:8px;
}
.btn-dark:hover{
 opacity:0.8;
 transition-duration:0.2s;
 transition-timing-function:ease-in;
 color:rgba(255,255,255,0.85);
}
.btn-dark {
 gap:8px;
 background-color:#999999;
 padding-left:12px;
 padding-right:12px;
 padding-top:2px;
 padding-bottom:2px;
 color:#ffffff;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
}
.btn-dark:not(.ct-section):not(.oxy-easy-posts),
.btn-dark.oxy-easy-posts .oxy-posts,
.btn-dark.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
gap:8px;
}
.mt-2 {
 margin-top:2rem;
}
.px-2 {
 padding-right:1em;
 padding-left:1em;
}
.hero {
 min-height:30vh;
}
.hero:not(.ct-section):not(.oxy-easy-posts),
.hero.oxy-easy-posts .oxy-posts,
.hero.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
.responsive-grid {
}
.responsive-grid:not(.ct-section):not(.oxy-easy-posts),
.responsive-grid.oxy-easy-posts .oxy-posts,
.responsive-grid.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(3, minmax(300px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;grid-auto-rows: minmax(min-content,1fr);}
@media (max-width: 1440px) {
.responsive-grid {
}
.responsive-grid:not(.ct-section):not(.oxy-easy-posts),
.responsive-grid.oxy-easy-posts .oxy-posts,
.responsive-grid.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(3, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

@media (max-width: 1023px) {
.responsive-grid {
display: grid; grid-template-columns: repeat(2, minmax(300px, 1fr)); gap: 1rem;
}
.responsive-grid:not(.ct-section):not(.oxy-easy-posts),
.responsive-grid.oxy-easy-posts .oxy-posts,
.responsive-grid.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(2, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

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

.absolute {
 position:absolute;
 gap:16px;
}
.absolute:not(.ct-section):not(.oxy-easy-posts),
.absolute.oxy-easy-posts .oxy-posts,
.absolute.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
gap:16px;
}
.flex-col {
}
.flex-col:not(.ct-section):not(.oxy-easy-posts),
.flex-col.oxy-easy-posts .oxy-posts,
.flex-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
}
.items-center {
}
.items-center:not(.ct-section):not(.oxy-easy-posts),
.items-center.oxy-easy-posts .oxy-posts,
.items-center.ct-section .ct-section-inner-wrap{
display:flex;
align-items:center;
}
.object-cover {
 object-fit:cover;
}
.object-center {
 object-position:center center;
}
@media (max-width: 1440px) {
.object-center {
 min-height:400px;
}
}

.tile-hover:hover{
 opacity:0.8;
 transition-duration:0.2s;
 transition-timing-function:ease-in;
}
.tile-hover {
}
.h-full {
 background-color:rgba(0,0,0,0.3);
 height:100%;
}
.gap-1 {
gap: 1rem;
}
.top-0 {
top: 0;
}
.right-0 {
right: 1em;
}
.right-1 {
right: 1em;
}
.top-1 {
top: 1em;
}
.bg-yellow {
 background-color:#f4be00;
}
.px-1 {
 padding-left:1rem;
 padding-right:1rem;
}
.text-sm {
 font-size:.75rem;
}
.responsive-grid-lg {
}
.responsive-grid-lg:not(.ct-section):not(.oxy-easy-posts),
.responsive-grid-lg.oxy-easy-posts .oxy-posts,
.responsive-grid-lg.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;justify-items: stretch;align-items: start;grid-template-columns: repeat(2, minmax(300px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;grid-auto-rows: minmax(min-content,1fr);}
@media (max-width: 1023px) {
.responsive-grid-lg {
}
.responsive-grid-lg:not(.ct-section):not(.oxy-easy-posts),
.responsive-grid-lg.oxy-easy-posts .oxy-posts,
.responsive-grid-lg.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

.text-lg {
 font-size:1.5rem;
}
@media (max-width: 1023px) {
.text-lg {
 font-size:2rem;
}
}

.mw-sm {
 max-width:800px;
 width:100%;
}
.flex {
}
.flex:not(.ct-section):not(.oxy-easy-posts),
.flex.oxy-easy-posts .oxy-posts,
.flex.ct-section .ct-section-inner-wrap{
display:flex;
}
.oxy-stock-content-styles {
}
.text-xl {
 font-size:3em;
}
.text-center {
 text-align:center;
}
@media (max-width: 639px) {
.text-center {
}
}

.bg-center {
background-position: center;
}
.content-end {
justify-content: flex-end;
}
.gap-2 {
 gap:2rem;
}
.gap-2:not(.ct-section):not(.oxy-easy-posts),
.gap-2.oxy-easy-posts .oxy-posts,
.gap-2.ct-section .ct-section-inner-wrap{
gap:2rem;
}
.mh-md {
 min-height:40vh;
}
.mb-2 {
 margin-bottom:2rem;
}
.md-text--md {
}
@media (max-width: 1440px) {
.md-text--md {
}
}

@media (max-width: 1023px) {
.md-text--md {
 font-size:1.6rem;
}
}

@media (max-width: 639px) {
.md-text--md {
}
}

.med-text--lg {
}
@media (max-width: 1023px) {
.med-text--lg {
 font-size:2rem;
}
}

.leading-tight {
 line-height:1.25;
}
.c-form {
}
.c-form:not(.ct-section):not(.oxy-easy-posts),
.c-form.oxy-easy-posts .oxy-posts,
.c-form.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(2, minmax(200px, 1fr));grid-column-gap: 45px;grid-row-gap: 20px;}
@media (max-width: 767px) {
.c-form {
}
.c-form:not(.ct-section):not(.oxy-easy-posts),
.c-form.oxy-easy-posts .oxy-posts,
.c-form.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

.c-form_textarea {
}
.c-form_textarea:not(.ct-section):not(.oxy-easy-posts),
.c-form_textarea.oxy-easy-posts .oxy-posts,
.c-form_textarea.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(300px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
.c-form_footer {
}
.c-form_footer:not(.ct-section):not(.oxy-easy-posts),
.c-form_footer.oxy-easy-posts .oxy-posts,
.c-form_footer.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(2, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
@media (max-width: 767px) {
.c-form_footer {
}
.c-form_footer:not(.ct-section):not(.oxy-easy-posts),
.c-form_footer.oxy-easy-posts .oxy-posts,
.c-form_footer.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

.flex-row {
}
.flex-row:not(.ct-section):not(.oxy-easy-posts),
.flex-row.oxy-easy-posts .oxy-posts,
.flex-row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.space-between {
}
.space-between:not(.ct-section):not(.oxy-easy-posts),
.space-between.oxy-easy-posts .oxy-posts,
.space-between.ct-section .ct-section-inner-wrap{
display:flex;
justify-content:space-between;
}
.md-flex-col {
}
@media (max-width: 1023px) {
.md-flex-col {
}
.md-flex-col:not(.ct-section):not(.oxy-easy-posts),
.md-flex-col.oxy-easy-posts .oxy-posts,
.md-flex-col.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
}
}

.mw-md {
 max-width:1200px;
 width:100%;
}
.mw-lg {
 max-width:1800px;
}
.gallery-2-columns {
}
.gallery-2-columns:not(.ct-section):not(.oxy-easy-posts),
.gallery-2-columns.oxy-easy-posts .oxy-posts,
.gallery-2-columns.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(2, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;grid-auto-rows: minmax(min-content,1fr);}
.text-md {
 font-size:1rem;
}
.fade-aos--1st {
}
.fade-aos--2nd {
}
.fade-aos--3rd {
}
.fade-aos--4th {
}
.fade-aos--5th {
}
.fade-aos--6th {
}
.bg-dark {
 background-color:#0d1b2a;
}
.mb-1 {
 margin-bottom:1rem;
}
.footer-link:hover{
 color:rgba(255,255,255,0.85);
}
.footer-link {
 color:#ffffff;
 transition-duration:0.5s;
}
.heading--hero-shadow {
 text-shadow:1px 1px 5px rgba(0,0,0,0.75);
}
.wrapper_flexible-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.noClick {
   pointer-events: none;
}

.shadow-soft {
box-shadow:
  2px 2px 1.7px rgba(0, 0, 0, 0.012),
  6.7px 6.7px 5.6px rgba(0, 0, 0, 0.018),
  30px 30px 25px rgba(0, 0, 0, 0.03)
;
}

.border-radius-xy {
  border-radius: 3px;
}

.med-text--med {}

@media (max-width: 1023px) {
    .med-text--med {
        font-size: 1.25rem;
    }
}

.hero-wrapper {
    width: 100%;
    max-width: 1240px;
    margin: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.hero-section {
    position: relative;
    width: 100%;
    min-height: 900px;
    overflow: hidden;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.background-slideshow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    animation: slideshow 60s infinite; /* Slower animation */
    opacity: 0;
    transition: opacity 4s ease-in-out; /* Smooth fade-in/out */
}

.background-slideshow .slide:nth-child(1) {
    animation-delay: 0s;
}
.background-slideshow .slide:nth-child(2) {
    animation-delay: 15s;
}
.background-slideshow .slide:nth-child(3) {
    animation-delay: 30s;
}
.background-slideshow .slide:nth-child(4) {
    animation-delay: 45s;
}
.background-slideshow .slide:nth-child(5) {
    animation-delay: 60s;
}

@keyframes slideshow {
    0% {
        opacity: 0;
        transform: scale(1) translate(0, 0);
    }
    10% {
        opacity: 1;
    }
    40% {
        opacity: 1;
        transform: scale(1.1) translate(10px, -10px); /* Slow zoom and movement */
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

.background-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 2;
}

.hero-content {
    position: absolute;
    margin: 0 auto;
    max-width: 1200px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    color: #fff;
    padding: var(--space-xl) var(--space-l);
}

.hero-content-wrapper {
  margin: 0 auto; 
  position: relative; 
  z-index: 2; 
  display: flex; 
  align-items: center; 
  flex-direction: column;
  max-width: 900px;
  text-align: center;
  font-family: 'mulish', 
}


/* Discipline menu hero */
.discipline-list {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
    gap: var(--space-l); /* Space between items */
    list-style-type: none; /* Remove bullets */
    padding: 0;
    margin: 0;
    max-width: 1200px;
    margin: auto;
}

.discipline-list li {
    padding: 5px;
    width: 100%;
    max-width: 300px;
}

.grid-title--link {
    color: #222; /* Ensure text is white even in links */
    text-decoration: none;
    font-size: var(--text-s);
    transition: background-color 0.3s ease;
    padding: 2px 12px;
    display: block; /* Ensures full width for each grid item */
    border-left: 2px solid rgba(0,0,0,0.5);
}

.grid-title--link:hover {
    background-color: rgba(0, 0, 0, 0.1); /* Hover background with transparent white */
    border-left: 2px solid #000;
}

/* Responsive styles */
@media (max-width: 769px) {
    .discipline-list {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
  .discipline-list li {
    padding: 5px;
    width: 100%;
    max-width: 500px;
}
}

@media (max-width: 480px) {
    .discipline-list {
        grid-template-columns: 1fr; /* Single column */
    }
}

/* Zoom effect for tile-hover images */
.tile-hover {
    overflow: hidden; /* Prevent zoom from spilling out */
}

.tile-hover img {
    transition: transform 0.4s ease; /* Smooth zoom transition */
    will-change: transform; /* Optimise performance */
}

.tile-hover:hover img {
    transform: scale(1.1); /* Slight zoom */
    filter: brightness(1.05); /* Slightly brighten */
}

::selection {
    background-color: black;
    color: white;
}

.light ::selection {
    background-color: black;
    color: white;
}

.dark ::selection {
    background-color: white;
    color: black;
}

:root {
  /* colors */
--c-primary: ;
--c-primaryDark: ;
--c-primaryLight: ;

--c-secondary: ;
--c-secondaryDark: ;
--c-secondaryLight: ;

--c-accent: ;
--c-accentDark: ;
--c-accentLight: ;

--c-grey1: ;

--c-textLight: ;
--c-textDark: ;
--c-textDarkContrasted: ;
  
  /* typography */
--baseTextSize: 1rem;
--textSizeIncrement: 1.6;

--text-xs: calc(var(--baseTextSize) / var(--textSizeIncrement));
--text-s: var(--baseTextSize);
--text-m: calc(var(--text-s) * var(--textSizeIncrement));
--text-l: calc(var(--text-m) * var(--textSizeIncrement));
--text-xl: calc(var(--text-l) * var(--textSizeIncrement));

--lineHeightFixedAmount: 0.35rem;
--lineHeightRelativeAmount: 1.1em;
--globalLineHeight: calc(var(--lineHeightFixedAmount) + var(--lineHeightRelativeAmount));

--fontDisplay: ;
--fontHeading: ;
--fontAccent: ;

  /* spacing */
--unit: 1rem;
--spaceIncrement: 1.4;

--space-3xs: calc(var(--space-2xs) / var(--spaceIncrement));
--space-2xs: calc(var(--space-xs) / var(--spaceIncrement));
--space-xs: calc(var(--space-s) / var(--spaceIncrement));
--space-s: var(--unit);
--space-m: calc(var(--space-s) * var(--spaceIncrement));
--space-l: calc(var(--space-m) * var(--spaceIncrement));
--space-xl: calc(var(--space-l) * var(--spaceIncrement));
--space-2xl: calc(var(--space-xl) * var(--spaceIncrement));
--space-3xl: calc(var(--space-2xl) * var(--spaceIncrement));
--space-4xl: calc(var(--space-3xl) * var(--spaceIncrement));

  /* text frame*/
--textFrameRatio: 3;
--textFrameY: 1em;
--textFrameX: calc(var(--textFrameY) * var(--textFrameRatio));

  /* layer */
--radius: 4px;
--fieldBorderWidth: 4px;
}

.c-form_item input[type='text'], .c-form_item input[type='email'] {
  width: 100%;
  border: none;
  margin-top: 0.5rem;
  outline: none; 
  font-family: inherit;
  border-bottom: 1px solid black;
  padding: 0.5rem 0.25rem
}

.c-form_textarea {
width: 100%;
  border: none;
  border-bottom: 1px solid black;
  height: auto; 
  resize: none;
  font-family: inherit;
  outline: none;
  margin-top: 0.5rem;
  padding: 0.5rem 0.25rem;
}

.c-form_item_text-area {
  margin-top: 2rem;
}

.c-form_label {
  font-size: 11px;
  font-family: inherit;
}

.wrapper_flexible-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.noClick {
   pointer-events: none;
}

.shadow-soft {
box-shadow:
  2px 2px 1.7px rgba(0, 0, 0, 0.012),
  6.7px 6.7px 5.6px rgba(0, 0, 0, 0.018),
  30px 30px 25px rgba(0, 0, 0, 0.03)
;
}

.border-radius-xy {
  border-radius: 3px;
}

.hero-wrapper {
    width: 100%;
    max-width: 1240px;
    margin: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.hero-section {
    position: relative;
    width: 100%;
    min-height: 800px;
    overflow: hidden;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.background-slideshow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    animation: slideshow 60s infinite; /* Slower animation */
    opacity: 0;
    transition: opacity 4s ease-in-out; /* Smooth fade-in/out */
}

.background-slideshow .slide:nth-child(1) {
    animation-delay: 0s;
}
.background-slideshow .slide:nth-child(2) {
    animation-delay: 15s;
}
.background-slideshow .slide:nth-child(3) {
    animation-delay: 30s;
}
.background-slideshow .slide:nth-child(4) {
    animation-delay: 45s;
}
.background-slideshow .slide:nth-child(5) {
    animation-delay: 60s;
}

@keyframes slideshow {
    0% {
        opacity: 0;
        transform: scale(1) translate(0, 0);
    }
    10% {
        opacity: 1;
    }
    40% {
        opacity: 1;
        transform: scale(1.1) translate(10px, -10px); /* Slow zoom and movement */
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

.background-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 2;
}

.hero-content {
    position: absolute;
    margin: 0 auto;
    max-width: 1200px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    color: #fff;
    padding: var(--space-xl) var(--space-l);
}

.hero-content-wrapper {
  margin: 0 auto; 
  position: relative; 
  z-index: 2; 
  display: flex; 
  align-items: center; 
  flex-direction: column;
  max-width: 900px;
  text-align: center;
  font-family: 'mulish', 
}


/* Discipline menu hero */
.discipline-list {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
    gap: var(--space-l); /* Space between items */
    list-style-type: none; /* Remove bullets */
    padding: 0;
    margin: 0;
    max-width: 1200px;
    margin: auto;
}

.discipline-list li {
    padding: 5px;
    width: 100%;
    max-width: 300px;
}

.grid-title--link {
    color: #222; /* Ensure text is white even in links */
    text-decoration: none;
    font-size: var(--text-s);
    transition: background-color 0.3s ease;
    padding: 2px 12px;
    display: block; /* Ensures full width for each grid item */
    border-left: 2px solid rgba(0,0,0,0.5);
}

.grid-title--link:hover {
    background-color: rgba(0, 0, 0, 0.1); /* Hover background with transparent white */
    border-left: 2px solid #000;
}

/* Responsive styles */
@media (max-width: 769px) {
    .discipline-list {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
  .discipline-list li {
    padding: 5px;
    width: 100%;
    max-width: 500px;
}
}

@media (max-width: 480px) {
    .discipline-list {
        grid-template-columns: 1fr; /* Single column */
    }
}

/* Zoom effect for tile-hover images */
.tile-hover {
    overflow: hidden; /* Prevent zoom from spilling out */
}

.tile-hover img {
    transition: transform 0.4s ease; /* Smooth zoom transition */
    will-change: transform; /* Optimise performance */
}

.tile-hover:hover img {
    transform: scale(1.1); /* Slight zoom */
    filter: brightness(1.05); /* Slightly brighten */
}

.wpcf7-submit:hover {
  cursor:pointer;
}

.text-overlay-box {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  max-width: 90%;
  margin: 0 auto 0.5rem;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}