/* MAIN WP CSS FILE -- DESKTOP FIRST STYLESHEET */
@font-face{ font-family: 'Mega'; src: url('../fonts/Mega_Trial-Centi.otf') format('opentype'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face{ font-family: 'Graphik'; src: url('../fonts/Graphik-Regular.otf') format('opentype'); font-weight: normal; font-style: normal; font-display: swap; }
@font-face{ font-family: 'Graphik'; src: url('../fonts/Graphik-Medium.otf') format('opentype'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face{ font-family: 'FragmentMono'; src: url('../fonts/FragmentMono-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; }

:root{
	--contentpad: 10px;
	--contentpad2x: 20px;
   --contentpad3x: 30px;
	--contentpad4x: 40px;
	--sectionpad05x: 40px;
	--sectionpad: 80px;
	--sectionpad2x: 160px;
	/* var(--colw) & var(--site-headh) in document */
   --site-headh: 110px;
   --colw: 148px;
	--colw05x: calc( var(--colw) / 2 );
	--colw2x: calc( var(--colw) * 2 );
   --colw3x: calc( var(--colw) * 3 );
   --colw4x: calc( var(--colw) * 4 );
	/* sides */
	--gridgutter: 70px;
	--gridedge: calc( (100vw - 1920px) / 2);
	/* font */
	--fontfam-heading: serif;
	--fontfam-text: sans-serif;
	--fontfam-button: monospace;
   --size-tagline: 6.5rem; /* px, 6.66rem */
   --size-h1: 6.5rem; /* 120px, 6.66rem */
	--size-h2: 4.4rem; /* 80px, 4.44rem */
	--size-h3:  3.0rem; /* 45px, 3.00rem */
	--size-h4: 2.5rem; /* 45px, 2.50rem */
	--size-h5: 2.1rem; /* 38px, 2.11rem */
   --size-h6: 1.5rem; /* 28px, 1.55rem */
	--size-p: 1.0rem; /* 18px, 1.00rem */
   --size-p-xlrg: 2.1rem; /* 38px, 2.11rem */
	--size-p-lrg: 1.5rem; /* 28px, 1.55rem */
	--size-p-sml: 14px; /* 14px, 0.77rem */
	--size-p-xsml: 12px; /* 12px, 0.66rem */
	--size-caption: 14px; /* 14px, 0.77rem */
	--size-button: 14px; /* 14px, 0.77rem */
   /* font */
   --fontfam-heading: 'Mega', sans-serif;
   --fontfam-text: 'Graphik', sans-serif;
   --fontfam-caption: 'FragmentMono', mono;
   --fontfam-button: 'FragmentMono', mono;
	/* elements */
	--radius-button: 0px;
	--radius-box: 0px;
   /* colors */
   --theme-white: #FFFFFF;
   --theme-black: #000000;
   --theme-lightgrey: #E5E5E5;
   --theme-charcoal: #242025;
   --theme-purple: #4A0DC7;
   --theme-lightpurple: #F7F3FC;
   --theme-darkpurple: #352737;
   --theme-brown: #9E402B;
   --theme-lightbrown: #F7EDDD;
   --theme-darkbrown: #573030;
   --theme-green: #787347;
   --theme-lightgreen: #F4EFCE;
   --theme-darkgreen: #40422F;
   --theme-fluoyellow: #D9F00F;
}


html, body {
	margin: 0;
	padding: 0;
   font-family: var(--fontfam-text);
	font-size: 18px;
	font-size: calc( 15px + (19 - 15) * (100vw - 980px) / (1920 - 980) );
	font-weight: normal;
   line-height: 1.3;
	min-width: 320px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
   background-color: var(--theme-charcoal);
}
   @media only screen and (max-width : 1919px){
      :root{
         --gridedge: 0px;
      }
   }
	@media only screen and (min-width : 1921px) {
		html, body {
			font-size: 18px; /* do not scale at larger screen sizes */
		}
	}
   @media only screen and (max-width : 980px) {
      html, body {
         font-size: 16px; /* do not scale at smaller screen sizes */
      }
   }


body.menu-open{}
body.is-mobile.menu-open,
body.no-scroll,
body.sticky-open{ 
	overflow: hidden!important; 
}
body.scrolling #wpadminbar,
body.no-scroll #wpadminbar,
body.menu-open #wpadminbar,
body.sticky-open #wpadminbar{ 
	display: none;
}

h1, h2, h4, .h1, .h2, .h4, .text-tagline {
	font-family: var(--fontfam-heading);
   font-weight: bold;
   margin: var(--contentpad) 0;
   line-height: 1.0;
   letter-spacing: 0.5px;
   text-transform: uppercase;
}
	h1, .h1{
      font-size: var(--size-h1);
   }
      .text-tagline{
        font-size: var(--size-tagline);
      }
	h2, .h2{
      font-size: var(--size-h2);
   }
/*	h3, .h3{
      font-size: var(--size-h3);
   }*/
	h4, .h4{
      font-size: var(--size-h3);
      /*font-size: var(--size-h4);*/
   }
	h5, .h5{
      font-size: var(--size-h5);
   }
   h6, .h6{
      font-size: var(--size-h5);
   }

h5, .h5,
.text-xlarge{
   font-family: var(--fontfam-text);
   font-size: var(--size-p-xlrg);
   text-transform: initial;
   line-height: 1.3;
   margin: var(--contentpad) 0;
}

h6, .h6,
.text-large,
.content.b-1st-para > p:first-child{
	font-family: var(--fontfam-text);
   font-size: var(--size-p-lrg);
	text-transform: initial;
	line-height: 1.3;
   margin: var(--contentpad) 0;
}
   h5, .h5, h6, .h6{
      font-weight: bold;
   }


.text-normal{
	font-family: var(--fontfam-text);
   font-size: var(--size-p);
	text-transform: initial;
	font-weight: normal;
	line-height: 1.3;
}
.text-small{
   font-family: var(--fontfam-text);
   font-size: var(--size-p-sml);
   text-transform: initial;
   font-weight: normal;
   line-height: 1.3;   
}

small{
	font-size: var(--size-p-sml);
}
sup, sub{
   font-size: var(--size-p-xsml);
}

h3, .h3,
.text-caption,
.text-tag,
.tag{
	font-family: var(--fontfam-caption);
	font-size: var(--size-button);
   font-weight: normal;
	line-height: 1.3;
   text-transform: uppercase;
}
.shutter-tag{
   font-family: var(--fontfam-caption);
   font-size: var(--size-button);
   font-weight: normal;
   font-size: 24px;
   line-height: 24px;
   text-transform: uppercase;
}


/*--------------------------------------------------------- Wrapper / Inner */
.section { width: 100%; margin: 0 auto; clear: both; position: relative; box-sizing: border-box; }
.section .inner{ max-width: 1920px; width: 100%; margin: 0 auto; position: relative; box-sizing: border-box; }

/*--------------------------------------------------------- Clearfix */
.group{ zoom: 1; position: relative; }
.group::before, .group::after{ content: ''; display: table; clear: both; } 
.screenheight{ height: 100vh; height: var(--vh100); }

/* some issues with Page Speed Insights viewing elements with 'opacity:0' on load */
[data-aos^=fade][data-aos^=fade]:not(.aos-animate){
	opacity: 0.01;
}

.unselectable{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.unclickable{ pointer-events: none; }
.visually-hidden, .gfield_visibility_hidden, .gform_required_legend{ 
    position: absolute!important; height: 1px!important; width: 1px!important; overflow: hidden!important;
    clip: rect(1px 1px 1px 1px)!important; clip: rect(1px, 1px, 1px, 1px)!important; white-space: nowrap!important;
}
.print-only{ display: none!important; }

.text-center{ text-align: center; }
.text-left{ text-align: left; }
.text-right{ text-align: right; }

/* Slider Firefox issue - https://github.com/kenwheeler/slick/issues/982 */
*{ min-height: 0; min-width: 0; }

/* blue outline on focus fields */
*:focus{ outline: none; }

/* blue background on focus fields mobile */
*:focus, *:active{ -webkit-tap-highlight-color: transparent; }

/* highlight on content select */
*::selection{
   color: #352737; background-color: rgba(217, 240, 15, 0.99);
}
*::-moz-selection{
   color: #352737; background-color: rgba(217, 240, 15, 0.99);
}

.bg-yellow-fluo:not(.boxed) *::selection{
   color: #F7F3FC; background-color: rgba(74, 13, 199, 0.99);
}
.bg-yellow-fluo:not(.boxed) *::-moz-selection{
   color: #F7F3FC; background-color: rgba(74, 13, 199, 0.99);
}
/*
img::selection{}
img::-moz-selection{}

*/


div, nav, aside, section, header, footer{ box-sizing: border-box; }
img{ max-width: 100%; height: auto; box-shadow: #000 0em 0em 0em; border: 0; box-sizing: border-box; }
img.alignleft{ display: block; margin-left: 0; margin-right: auto; }
img.alignright{ display: block; margin-left: auto; margin-right: 0; }
img.aligncenter{ display: block; margin-left: auto; margin-right: auto; }
a.block, span.block, img.block, svg.block{ display: block; width: 100%; height: auto; color: inherit; fill: inherit; box-sizing: border-box; }
img.object-fill, svg.object-fill{ display: block; height: 100%; width: 100%; object-fit: cover; object-position: center;  }
img.object-contain, svg.object-contain{ display: block; height: 100%; width: 100%; object-fit: contain; object-position: center; }

table{ width: 100%; }
table.alignright, table.alignleft{ width: auto; }
td, th{ padding: 6px 6px; }

video{ 
	display: block; 
	width: 100%; 
	max-width: 100%; 
	height: auto; 
	object-fit: cover; 
	object-position: center; 
}

iframe{ 
	width: 100%; 
	max-width: 100%; 
	min-height: 320px; 
}
iframe[src*="vimeo"]{} 
iframe[src*="youtube"]{}
iframe[src*="google.com/maps"]{
	display: block;
}

input, 
input[type="submit"], 
input[type="button"], 
button{ 
	font-family: var(--fontfam-text);
	border-radius: 0; 
	-webkit-appearance: none; 
	-webkit-border-radius:0px; 
	transition: all 0.35s ease;
}
select{
	font-family: var(--fontfam-text);
	border-radius: 0; 	
}
textarea{
	font-family: var(--fontfam-text);
}
button{
   cursor: pointer;
}

svg{
   display: inline-block;
   vertical-align: baseline;
	color: inherit;
	fill: inherit;
}
   svg .fill-text{
      fill: currentColor;   
   }

a{ 
	position: relative;
	color: inherit; 
	text-decoration: none; 
	transition: all 0.35s ease 0s; 
}
a > span{
	display: inline-block;
	vertical-align: middle;
}
a > span:not(.visually-hidden) + span:not(.visually-hidden){
	margin-left: 8px;
}

ul:not([class]), 
ol:not([class]){ 
	margin: 1.4rem 0 1.4rem 0; 
}
ul:not([class]) li:not(:first-child), 
ol:not([class]) li:not(:first-child){ 
	margin-top: 0.4rem; 
}

/* list styles */
ul.inline{
	list-style-type: none; 
	margin: 1em 0;
	padding: 0;
}
ul.inline li{ 
	margin: ;
	display: inline-block; 
	vertical-align: middle; 
	margin: 0; 
	padding: 0;
}
ul.inline li + li{
	margin-left: 8px;
	margin-top: 0;
}

/* for global site style on list, use ul:not([class]) */
ul:not([class]){
	list-style-type: none;
	padding-inline-start: 30px;
}
ul:not([class]) li{}
ul:not([class]) li::before{
	content: '\2013';
    position: absolute;
    margin-left: -28px;
}

ol:not([class]){
	list-style-type: none;
	padding-inline-start: 30px;
	counter-reset: ol-counter;	
}
ol:not([class]) > li{
	counter-increment: ol-counter;
}
ol:not([class]) > li::before{
	content: counter(ol-counter) ".";	
	position: absolute;
    margin-left: -28px;
}
ol:not([class]) > li > ol > li::before{
	content: counter(ol-counter,lower-roman) ".";
}

.divline{
   padding: 0 var(--contentpad);
}
hr,
.divline > .line{
   display: block;
   width: 100%;
   height: 0px;
   border: 0;
   border-bottom: 1px solid currentColor;
   margin: var(--contentpad2x) 0;
}

/*--------------------------------------------------------- THEME: COLOURS */
.bg-white{ 
	background-color: var(--theme-white); 
}
	.bg-white:not(.boxed){
		color: var(--theme-charcoal); 
		fill: var(--theme-charcoal); 
	}
.bg-grey-pale{
   background-color: var(--theme-lightgrey);
}
   .bg-grey-pale:not(.boxed){
      color: var(--theme-charcoal); 
      fill: var(--theme-charcoal); 
   }
.bg-grey-dark{ 
	background-color: var(--theme-charcoal); 
}
	.bg-grey-dark:not(.boxed){
		color: var(--theme-white); 
		fill: var(--theme-white); 
	}


.bg-yellow-fluo{
   background-color: var(--theme-fluoyellow);
}
   .bg-yellow-fluo:not(.boxed){
      color: var(--theme-darkpurple); 
      fill: var(--theme-darkpurple); 
   }
   .text-yellow-fluo{
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow); 
   }


/* purple = commercial */
.bg-purple-pale{
   background-color: var(--theme-lightpurple);
}
   .bg-purple-pale:not(.boxed){
      color: var(--theme-charcoal); 
      fill: var(--theme-charcoal); 
   }
.bg-purple-dark{
   background-color: var(--theme-darkpurple);
}
   .bg-purple-dark:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }
.bg-purple{
   background-color: var(--theme-purple);
}
   .bg-purple:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }

/* brown = recidential */
.bg-brown-pale{
   background-color: var(--theme-lightbrown);
}
   .bg-brown-pale:not(.boxed){
      color: var(--theme-charcoal); 
      fill: var(--theme-charcoal); 
   }
.bg-brown-dark{
   background-color: var(--theme-darkbrown);
}
   .bg-brown-dark:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }
.bg-brown{
   background-color: var(--theme-brown);
}
   .bg-brown:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }

/* green = about */
.bg-green-pale{
   background-color: var(--theme-lightgreen);
}
   .bg-green-pale:not(.boxed){
      color: var(--theme-charcoal); 
      fill: var(--theme-charcoal); 
   }
.bg-green-dark{
   background-color: var(--theme-darkgreen);
}
   .bg-green-dark:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }
.bg-green{
   background-color: var(--theme-green);
}
   .bg-green:not(.boxed){
      color: var(--theme-white); 
      fill: var(--theme-white); 
   }


/*--------------------------------------------------------- THEME: BUTTONS */
.btn-limelight{
   appearance: none;
   font-family: var(--fontfam-button);
   display: inline-block;
   vertical-align: baseline;
   position: relative;
   box-sizing: border-box;
   font-size: var(--size-button);
   line-height: 28px;  
   padding: 8px 12px;
   border-radius: var(--radius-button);
   white-space: nowrap;
   text-decoration: none!important;
   text-transform: uppercase;
   border: 0;
/*   border: 1px solid;*/
/*   border-color: var(--theme-fluoyellow);*/
   background-color: var(--theme-fluoyellow);
   color: var(--theme-charcoal);
   fill: var(--theme-charcoal);
   transition: all 0.35s ease 0s; 
}
   .btn-limelight:not(.plain)::after{
      content: '\A0+';
      display: inline;
   }
   .btn-limelight > .icon{
      display: inline-block;
      vertical-align: middle;
      height: 28px;
      width: auto;
   }

   .bg-yellow-fluo:not(.boxed) .btn-limelight{
      background-color: var(--theme-charcoal);
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow);
   }


.btn-clear{
   appearance: none;
   font-family: var(--fontfam-button);
   display: inline-block;
   vertical-align: baseline;
   box-sizing: border-box;
   font-size: var(--size-button);
   line-height: 28px;  
   padding: 0px 0px;
   border-radius: 0;
   white-space: nowrap;
   text-decoration: none!important;
   text-transform: uppercase;
   border: 0;
   background-color: transparent;
   color: currentColor;
   fill: currentColor;
   transition: all 0.35s ease 0s; 
}
   .btn-clear > .icon{
      display: block;
      height: 44px;
      width: auto;
   }

.tag-limelight,
.gfield_radio > .gchoice,
.gfield_checkbox > .gchoice{
   display: inline-block;
   vertical-align: baseline;
   position: relative;
   box-sizing: border-box;
   white-space: nowrap;
}

   .tag-limelight > .label,
   .gfield_radio > .gchoice > label,
   .gfield_checkbox > .gchoice > label{
      display: block;
      font-family: var(--fontfam-button);
      font-size: var(--size-button);
      line-height: 28px;  
      padding: 8px 12px;
      border-radius: var(--radius-button);
      white-space: nowrap;
      text-decoration: none!important;
      text-transform: uppercase;
      border: 1px solid var(--theme-charcoal);
      background-color: var(--theme-lightgrey);
      color: var(--theme-charcoal);
      fill: var(--theme-charcoal);
      box-sizing: border-box;
      transition: all 0.35s ease 0s; 
   }
   .tag-limelight > input,
   .gfield_radio > .gchoice > input,
   .gfield_checkbox > .gchoice > input{
      appearance: none;
      -webkit-appearance: none;
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      margin: 0;
      padding: 0;
      border: 0;
      box-sizing: border-box;
      background: transparent;
   }

      .tag-limelight > input:checked + .label,
      .gfield_radio > .gchoice > input:checked + label,
      .gfield_checkbox > .gchoice > input:checked + label{
         background-color: var(--theme-fluoyellow);
         border-color: var(--theme-fluoyellow);
      }

      @media( hover: hover ){
         .tag-limelight > input:hover + .label,
         .gfield_radio > .gchoice > input:hover + label,
         .gfield_checkbox > .gchoice > input:hover + label,
         .tag-limelight > input:checked:hover + .label,
         .gfield_radio > .gchoice > input:checked:hover + label,
         .gfield_checkbox > .gchoice > input:checked:hover + label{
            background-color: var(--theme-purple);
            border-color: var(--theme-purple);
            color: var(--theme-fluoyellow);
            fill: var(--theme-fluoyellow);
         }
      }

      .tag-limelight > input:not(:checked) + .label::after,
      .gfield_radio > .gchoice > input:not(:checked) + label::after,
      .gfield_checkbox > .gchoice > input:not(:checked) + label::after{
         content: '\A0+';
         display: inline;
      }
      .tag-limelight > input:checked + .label::after,
      .gfield_radio > .gchoice > input:checked + label::after,
      .gfield_checkbox > .gchoice > input:checked + label::after{
         content: '\A0-';
         display: inline;
      }

         .bg-yellow-fluo:not(.boxed) .tag-limelight > .label,
         .bg-yellow-fluo:not(.boxed) .gfield_radio > .gchoice > label,
         .bg-yellow-fluo:not(.boxed) .gfield_checkbox > .gchoice > label{
            color: var(--theme-purple);
            fill: var(--theme-purple);
            background-color: var(--theme-fluoyellow);
            border-color: var(--theme-purple);
         }
         .bg-yellow-fluo:not(.boxed) .tag-limelight > input:checked + .label,
         .bg-yellow-fluo:not(.boxed) .gfield_radio > .gchoice > input:checked + label,
         .bg-yellow-fluo:not(.boxed) .gfield_checkbox > .gchoice > input:checked + label{
            color: var(--theme-fluoyellow);
            fill: var(--theme-fluoyellow);
            background-color: var(--theme-purple);
            border-color: var(--theme-purple);
         }

         .bg-yellow-fluo:not(.boxed) .tag-limelight > input:hover + .label,
         .bg-yellow-fluo:not(.boxed) .gfield_radio > .gchoice > input:hover + label,
         .bg-yellow-fluo:not(.boxed) .gfield_checkbox > .gchoice > input:hover + label{
            color: var(--theme-charcoal);
            fill: var(--theme-charcoal);
            background-color: var(--theme-fluoyellow);
            border-color: var(--theme-charcoal);
         }
         .bg-yellow-fluo:not(.boxed) .tag-limelight > input:checked:hover + .label,
         .bg-yellow-fluo:not(.boxed) .gfield_radio > .gchoice > input:checked:hover + label,
         .bg-yellow-fluo:not(.boxed) .gfield_checkbox > .gchoice > input:checked:hover + label{
            color: var(--theme-fluoyellow);
            fill: var(--theme-fluoyellow);
            background-color: var(--theme-charcoal);
            border-color: var(--theme-charcoal);
         }

@media (hover: hover){

   body:not(.is-device_android) a:not([class]):hover{
/*      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;*/
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow);
      text-decoration: none;
      transition: all 0.35s ease 0s;
   }
      body:not(.is-device_android) .bg-white:not(.boxed) a:not([class]):hover,
      body:not(.is-device_android) .bg-grey-pale:not(.boxed) a:not([class]):hover,
      body:not(.is-device_android) .bg-purple-pale:not(.boxed) a:not([class]):hover,
      body:not(.is-device_android) .bg-green-pale:not(.boxed) a:not([class]):hover,
      body:not(.is-device_android) .bg-brown-pale:not(.boxed) a:not([class]):hover{
         color: var(--theme-purple);
         fill: var(--theme-purple);
      }

   body:not(.is-device_android) .bg-yellow-fluo:not(.boxed) a:not([class]):hover{
      color: var(--theme-purple);
      fill: var(--theme-purple);
   }


   body:not(.is-device_android) a.row-link:hover,
	body:not(.is-device_android) a.btn-limelight:hover,
   body:not(.is-device_android) .bg-yellow-fluo:not(.boxed) .btn-limelight:hover,
	body:not(.is-device_android) button.btn-limelight:hover{
      background-color: var(--theme-purple);
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow);
		transition: all 0.35s ease 0s; 
	}

}

/*--------------------------------------------------------- GRID: FOR BODY LAYOUR */
/* 12 parts grid @ max-width 1920px */
.grid-container{
	display: grid;
	grid-template-columns: [screenleft] var(--gridedge) [edgeleft] var(--gridgutter) [c0] 1fr [c1] 1fr [c2] 1fr [c3] 1fr [c4] 1fr [c5] 1fr [c6] 1fr [c7] 1fr [c8] 1fr [c9] 1fr [c10] 1fr [c11] 1fr [c12] var(--gridgutter) [edgeright] var(--gridedge) [screenright];
	grid-template-rows: auto;
	grid-auto-rows: auto;
	grid-auto-flow: row; 
	align-items: stretch;
	justify-content: stretch; 
	align-content: stretch; 
    margin: 0 auto;
    padding: 0 0;
}
.grid-container .grid-item{
	grid-column-start: c0; 
	grid-column-end: c12;
  	grid-row-start: auto; 
  	grid-row-end: auto;
  	position: relative;
}
	.grid-container .grid-item .content,
	.flex-container .flex-item .content,
   .content-wrapper{
		padding: var(--contentpad) var(--contentpad);
	}

	.content.text > *:first-child,
   .box.text > *:first-child,
   .content.text.b-1st-para > p:first-child{ margin-top: 0; }
	.content.text > *:last-child,
   .box.text > *:last-child,
   .content.text.b-1st-para > p:last-child{ margin-bottom: 0; }	

   .box{
      padding: var(--contentpad2x);
   }
   .content.fullheight,
   .content.fullheight > .block,
   .content.fullheight > .box,
   .content.fullheight > .flex-container,
   .content-wrapper.fullheight,
   .content-wrapper.fullheight > .box,
   .content-wrapper.fullheight > .flex-container{
      height: 100%;
   }



/*--------------------------------------------------------- FLEX: FOR SECTIONS LAYOUT */

.flex-container{
	width: 100%; max-width: 100%; height: 100%; min-height: inherit; position: relative; padding: 0; margin: 0; box-sizing: border-box;
	display: flex; flex-wrap: nowrap; flex-direction: row; 
	align-items: flex-start;  align-content: flex-start;  justify-content: flex-start;
}
	.flex-container.flex-nowrap{ flex-wrap: nowrap!important; }
	.flex-container.flex-wrap{ flex-wrap: wrap; }
	.flex-container.flex-row{ flex-direction: row; }	
	.flex-container.flex-row-reverse{ flex-direction: row-reverse; }	
	.flex-container.flex-center{ align-items: center; align-content: center; justify-content: flex-start; }
	.flex-container.flex-end{ align-items: flex-end; align-content: flex-end; justify-content: flex-start; }
	.flex-container.flex-stretch{ align-items: stretch; align-content: flex-start; justify-content: stretch; }
	.flex-container.flex-edges{ align-items: flex-start; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-center{ align-items: center; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-stretch{ align-items: stretch; align-content: space-between; justify-content: space-between; }

		/* note IE can't handle left/right padding on flex-item - ignores border-box */
		.flex-container .flex-item{ 
			display: block; flex-basis: auto; flex-grow: 0; flex-shrink: 0; position: relative; 
			box-sizing: border-box; box-shadow: none; text-decoration: none; border: 0px none; margin: 0 0; padding: 0 0; max-width: 100%; 
		}
		.flex-container .flex-item.flex-grow{ flex-grow: 1; }
      .flex-container .flex-item.flex-shrink{ flex-shrink: 1; }
         .flex-container .flex-item.flex-parts-fill{ flex-grow: 1; flex-shrink: 1; }
			.flex-container .flex-item.flex-parts-auto{ flex-grow: 0; flex-shrink: 1; }
			.flex-container .flex-item.flex-parts-100,
         .flex-container .flex-item.flex-parts-12{ flex-basis: 100%; width:100%; }
			.flex-container .flex-item.flex-parts-75,
         .flex-container .flex-item.flex-parts-9{ flex-basis: 75%; width: 75%; }
			.flex-container .flex-item.flex-parts-50,
         .flex-container .flex-item.flex-parts-6{ flex-basis: 50%; width: 50%; }
			.flex-container .flex-item.flex-parts-25,
         .flex-container .flex-item.flex-parts-3{ flex-basis: 25%; width: 25%; }
			.flex-container .flex-item.flex-parts-66,
         .flex-container .flex-item.flex-parts-8{ flex-basis: 66.66%; width: 66.66%; }
			.flex-container .flex-item.flex-parts-33,
         .flex-container .flex-item.flex-parts-4{ flex-basis: 33.33%; width: 33.33%; }
         .flex-container .flex-item.flex-parts-2{ flex-basis: 16.66%; width: 16.66%; }

         .flex-container .flex-item.flex-parts-60{ flex-basis: 60%; width: 60%; }
         .flex-container .flex-item.flex-parts-40{ flex-basis: 40%; width: 40%; }
         .flex-container .flex-item.flex-parts-80{ flex-basis: 80%; width: 80%; }
         .flex-container .flex-item.flex-parts-20{ flex-basis: 20%; width: 20%; }


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*---------------------------------------------- WEBSITE SECTION PAGE STYLES */
/*---------------------------------------------------------------------------*/

/*-------- HEADER ------------------------------------------- */

#site-header{
	/*position: absolute;*/
	position: fixed;
	z-index: 404;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 404;
	transition: all 0.35s ease;
}
	body:not(.scrolling) #site-header,
	body.scrolling.menu-open #site-header{
		background-color: transparent;
	}
	body.menu-open #site-header,
	body.scrolling.menu-open #site-header{
		background-color: transparent;
		color: var(--theme-white);
		fill: var(--theme-white);
	}
	body.scrolling:not(.scroll-up):not(.menu-open) #site-header{
		top: -120px;
		transition: all 0.35s ease;
	}

.section_site_header{}
.section_site_header .container_body{
   padding: var(--contentpad3x) 0 var(--contentpad) 0;
}
   .section_site_header .container_body .item_menu{
      grid-column: c0/c4;
      grid-row: 1/2;
      z-index: 2;
   }
      .section_site_header .container_body .item_menu > .content{
         padding-top: 0;
         padding-bottom: 0;
      }

   .section_site_header .container_body .item_logo{
      grid-column: c0/c12;
      grid-row: 1/2;
      text-align: center;
      z-index: 1;
   }
      .section_site_header .container_body .logo{
/*         display: inline-block;
         vertical-align: middle;
         width: 100%;
         height: auto;
         max-height: 32px;*/
         display: block;
         width: var(--colw4x);
         max-width: 100%;
         height: auto;
/*       padding: 0 20px;*/
         padding: 0;
         margin: 0 auto;
         box-sizing: border-box;
         transition: all 0.35s ease;
      }
      .section_site_header .container_body .btn-limelight{
         /*padding: 2px 8px;*/
      }

   .section_site_header .container_body .item_actions{
      grid-column: c8/c12;
      grid-row: 1/2;
      text-align: right;
      z-index: 2;
   }

      body.menu-open .section_site_header .container_body .item_logo,
      body.menu-open .section_site_header .container_body .item_actions{
         opacity: 0;
         visibility: hidden;
         pointer-events: none;
         -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
      }

/*-------- MAIN MENU ------------------------------------------- */

#site-menu{
	position: fixed;
	z-index: 403;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
}
   body:not(.menu-open) .section_site_header button.site-menu-toggle .icon .toggle-open{ display: block; }
   body:not(.menu-open) .section_site_header button.site-menu-toggle .icon .toggle-close{ display: none; }
   body.menu-open .section_site_header button.site-menu-toggle .icon .toggle-open{ display: none; }
   body.menu-open .section_site_header button.site-menu-toggle .icon .toggle-close{ display: block; }

.section_site_menu .container_body{
   height: 100%;
   overflow: auto;
   padding: var(--site-headh)0 var(--contentpad3x) 0;
}
.section_site_menu .container_body .item_nav{
   grid-column: c4/c12;
   padding-top: var(--contentpad3x);
}
.section_site_menu .container_body .item_actions{
   display: none;
}
.section_site_menu .container_body .item_footer{
   align-self: end;
}


ul#menu-mainnav{
   display: block;
   position: relative;
   list-style-type: none;
   margin: 0;
   padding: 0;
/*   font-family: var(--fontfam-heading);
   font-size: var(--size-tagline);
   font-weight: bold;
   line-height: 1.0;
   letter-spacing: 0.5px;
   text-transform: uppercase;*/
}
   ul#menu-mainnav > li{
      display: block;
      margin: 0;
      padding: 0;
   }
      ul#menu-mainnav > li:not(:last-child){
         margin-bottom: var(--contentpad2x);
      }
      ul#menu-mainnav > li > a{}
/*
ul.menu-mainnav > li.current-page-parent > a,
ul.menu-mainnav > li.current-page-ancestor > a{}
ul.menu-mainnav > li.current-menu-item > a,
ul.menu-mainnav > li.current-menu-parent > a,
ul.menu-mainnav > li.current-menu-ancestor > a{}

ul.menu-mainnav > li.menu-item-has-children{}
ul.menu-mainnav > li.menu-item-has-children ul{}
ul.menu-mainnav > li.menu-item-has-children ul li{}
ul.menu-mainnav > li.menu-item-has-children ul li > a{}

ul.menu-mainnav > li.menu-item-has-children ul li.current-page-parent > a,
ul.menu-mainnav > li.menu-item-has-children ul li.current-page-ancestor > a{}
ul.menu-mainnav > li.menu-item-has-children ul li.current-menu-item > a,
ul.menu-mainnav > li.menu-item-has-children ul li.current-menu-parent > a,
ul.menu-mainnav > li.menu-item-has-children ul li.current-menu-ancestor > a{}*/

ul#menu-subnav{
   display: block;
   position: relative;
   list-style-type: none;
   margin: 0;
   padding: 0;
/*   font-family: var(--fontfam-caption);
   font-size: var(--size-caption);
   font-weight: normal;
   line-height: 1.3;
   text-transform: uppercase;*/
}
   ul#menu-subnav > li{
      display: inline-block;
      vertical-align: middle;
      margin: 0;
      padding: 0;
   }
      ul#menu-subnav > li:not(:last-child){
         margin-right: var(--contentpad2x);
      }
      ul#menu-subnav > li > a{}


@media (hover: hover){
	body:not(.is-device_android) ul#menu-mainnav a:hover,
	body:not(.is-device_android) ul#menu-subnav a:hover,
   body:not(.is-device_android) ul.menu-footnav a:hover,
   body:not(.is-device_android) ul.menu-headnav a:hover,
   body:not(.is-device_android) .section_site_footer a:hover{
      text-decoration: none;
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow);
   }
}

/*-------- FOOTER + MENU --------------------------------------------------- */

.section_site_footer{
   padding: var(--sectionpad2x) 0 var(--sectionpad05x) 0;
}
   .section_site_footer .container_body{
      align-items: end;
   }
   .section_site_footer .container_body .item_contact{
      grid-column: c0/c4;
      grid-row: 1/2;
   }
   .section_site_footer .container_body .item_scroll{
      grid-column: c4/c8;
      grid-row: 1/2;
      text-align: center;
   }
   .section_site_footer .container_body .item_social{
      grid-column: c8/c12;
      grid-row: 1/2;
      text-align: right;
   }
      .section_site_footer .item_social ul.menu-inline{
         justify-content: flex-end;
      }


ul.menu-inline{
   list-style-type: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-wrap: wrap;
   flex-direction: row;
   row-gap: var(--contentpad);
   column-gap: var(--contentpad2x);
   position: relative;
}
ul.menu-inline > li{
   display: block;
   margin: 0;
   padding: 0;
}
ul.menu-inline > li > a{}

@media (hover: hover){
   body:not(.is-device_android) .section_site_footer a:hover{
      color: var(--theme-fluoyellow);
      fill: var(--theme-fluoyellow);
   }
}

/*-------- BANNER ---------------------------------------------------------- */
/* VH options: vh (old/onload), svh (smallest), lvh (tallest), dvh (dynamic) */

.section_banner_page,
.section_banner_home,
.section.section_showcase,
.section.section_nopad{
   padding: 0 0;
   margin: 0 0;
}

.section_banner_home .banner_nav_split,
.section_banner_page .banner_img_split,
.section_banner_page .banner_proj_split,
.section_showcase .container_body{
   height: 100vh;
   height: 100svh;
   color: var(--theme-white);
   fill: var(--theme-white);
   overflow: hidden;
}
   .section_banner_home .banner_nav_split .item_tags{
      grid-column: c0/c12;
      grid-row: 1/4;
      align-self: center;
      z-index: 3;
      opacity: 0;
   }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags{
         align-items: flex-start;
         align-content: space-between;
         justify-content: space-between;
         flex-wrap: nowrap;
      }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item{}
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item .content{}

   .section_banner_home .banner_nav_split .item_showcase,
   .section_banner_page .banner_img_split .item_showcase,
   .section_banner_page .banner_proj_split .item_showcase,
   .section_showcase .container_body .item_showcase{
      grid-column: screenleft/screenright;
      grid-row: 1/4;
      z-index: 1;
   }
      .item_showcase .flexcontainer_showcase{
         align-items: stretch;
         align-content: stretch;
         justify-content: stretch;
      }
      .item_showcase .showcase-slide{
         height: 100%;
         position: relative;
      }
      .item_showcase .showcase-slide .showcase-img{
         display: block;
         width: 100%;
         height: 100%;
         object-fit: cover;
         position: relative;
      }

      .item_showcase .showcase-slide .showcase-img.desktop-only{ display: block; }
      .item_showcase .showcase-slide .showcase-img.mobile-only{ display: none; }
      /*.item_showcase .showcase-slide::after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.2);
      }
*/

      .item_showcase.split-2 .showcase-slide .showcase-text{
         display: block;
/*         width: 50vw;*/
         width: 100%;
         height: auto;
         position: absolute;
         top: calc( 50% - var(--size-h2) );
         overflow: hidden;
         z-index: 4;
        width: calc(var(--colw) * 6);
      }
      .item_showcase.split-3 .showcase-slide .showcase-text{
         display: block;
/*         width: 33.3vw;*/
         width: 100%;
         height: auto;
         position: absolute;
         top: calc( 50% - var(--size-h2) );
         overflow: hidden;
          z-index: 4;
      }

      .item_showcase .showcase-slide .showcase-hover,
      .item_showcase .showcase-slide .showcase-static{
         display: block;
         position: relative;
         box-sizing: border-box;
         padding-top: var(--sectionpad05x);
         padding-bottom: var(--sectionpad05x);
      }

         /* Default: 2 SHOWCASES */
         .item_showcase.split-2 .showcase-slide.left .showcase-text{
            left: 0;
            z-index: 4;
         }
            .item_showcase.split-2 .showcase-slide.left .showcase-hover,
            .item_showcase.split-2 .showcase-slide.left .showcase-static{
               padding-left: calc( var(--gridedge) + var(--gridgutter) );
            }
         .item_showcase.split-2 .showcase-slide.right .showcase-text{
            right: 0;
         }
            .item_showcase.split-2 .showcase-slide.right .showcase-hover,
            .item_showcase.split-2 .showcase-slide.right .showcase-static{
               padding-right: calc( var(--gridedge) + var(--gridgutter) );
            }

        .item_showcase .showcase-slide .tag{
            display: block;
            white-space: nowrap;
        }
         .item_showcase .showcase-slide .showcase-title{
            margin: 0;
            padding: 0;
         }
            .item_showcase.split-3 .showcase-slide .showcase-title{
               font-size: var(--size-h4);
            }
            
            .item_showcase.split-2 .showcase-slide .showcase-title{
                max-width: calc(var(--colw) * 6);
            }
            .item_showcase.split-2 .showcase-slide.right .showcase-title{ margin-left: auto; }
            .item_showcase.split-2 .showcase-slide.left .showcase-title{ margin-right: auto; }
            

         .item_showcase .showcase-slide .showcase-readmore{
            opacity: 1;
            transform: translate(0px, 0px);
            transition: all 0.35s ease;
         }
         .item_showcase .flexitem_showcase{
            overflow: hidden;
         }
         .item_showcase .flexitem_showcase:not(:hover) .showcase-slide .showcase-readmore{
            opacity: 0;
            transform: translate(0px, 50px);
            transition: all 0.35s ease;
         }
         /*.item_showcase.split-2 .flexitem_showcase:hover,*/
         .item_showcase.split-2 .flexitem_showcase.hover{
            flex-basis: 88vw;
            width: 88vw;
            flex-grow: 1;
            flex-shrink: 0;
            z-index: 2;
            transition: all 0.5s ease;
         }
         /*.item_showcase.split-2 .flexitem_showcase:not(:hover)*/
         .item_showcase.split-2 .flexitem_showcase:not(.hover){
            flex-basis: 50vw;
            width: 50vw;
            flex-grow: 0;
            flex-shrink: 1;
            transition: all 0.5s ease;
         }

      .item_showcase .flexitem_showcase .showcase-slide.left{}
         .item_showcase .flexitem_showcase .showcase-slide.left .showcase-img{
            object-position: top left;
         }

      .item_showcase .flexitem_showcase .showcase-slide.right{
         text-align: right;
      }
         .item_showcase .flexitem_showcase .showcase-slide.right .showcase-img{
            object-position: top right;
         }

      .item_showcase .flexitem_showcase .showcase-slide.mid{
         text-align: center;
      }
         .item_showcase .flexitem_showcase .showcase-slide.mid .showcase-img{
            object-position: top center;
         }

   /* Override: 3 SHOWCASE */
   .item_showcase.split-3 .showcase-slide.left .showcase-text{
      left: 0;
      z-index: 4;
   }
      .item_showcase.split-3 .showcase-slide.left .showcase-hover,
      .item_showcase.split-3 .showcase-slide.left .showcase-static{
         padding-left: calc( var(--gridedge) + var(--gridgutter) );
      }

   .item_showcase.split-3 .showcase-slide.mid .showcase-text{}
      .item_showcase.split-3 .showcase-slide.mid .showcase-hover,
      .item_showcase.split-3 .showcase-slide.mid .showcase-static{
         padding-left: var(--contentpad2x);
         padding-right: var(--contentpad2x);
      }

   .item_showcase.split-3 .showcase-slide.right .showcase-text{
      right: 0;
   }
      .item_showcase.split-3 .showcase-slide.right .showcase-hover,
      .item_showcase.split-3 .showcase-slide.right .showcase-static{
         padding-right: calc( var(--gridedge) + var(--gridgutter) );
      }


      .item_showcase.split-3 .flexitem_showcase.hover{
         flex-basis: 60vw;
         width: 60vw;
         flex-grow: 1;
         flex-shrink: 0;
         z-index: 2;
         transition: all 0.5s ease;
      }
      .item_showcase.split-3 .flexitem_showcase:not(.hover){
         flex-basis: 33.3vw;
         width: 33.3vw;
         flex-grow: 0;
         flex-shrink: 1;
         transition: all 0.5s ease;
      }

   /*.item_showcase.split-3.hover-wrapper .flexitem_showcase:not(.hover) .showcase-text,
   .item_showcase.split-2.hover-wrapper .flexitem_showcase:not(.hover) .showcase-text{
      opacity: 0;
      transition: none;
   }
*/



   .section_banner_home .banner_nav_split .item_foot,
   .section_banner_page .banner_img_split .item_foot,
   .section_banner_page .banner_proj_split .item_foot{
      grid-column: c0/c12;
      grid-row: 3/4;
      align-self: end;
      z-index: 4;
      text-align: center;
      padding: var(--contentpad) 0 var(--contentpad2x) 0;
   }

   #page-shutter-top,
   #page-shutter-btm{
      display: block;
      position: fixed;
      left: 0;
      width: 100%;
      height: 50vh;
      height: 50dvh;
      z-index: 999;
      background-color: var(--theme-fluoyellow);
      color: var(--theme-white);
      fill: var(--theme-white);
   }
      .elem_shutter .container_tags{ 
         position: relative; 
         height: 100%; 
         overflow: hidden;
      }
      .elem_shutter .container_tags .item_tags{ grid-column: c0/c12; }
      .elem_shutter .container_tags .item_tags .content{ 
         padding-top: 0; 
         padding-bottom: 0; 
      }


   #page-shutter-top{
     /* top: 0;
      bottom: auto;*/
      transition: none;
   }
      #page-shutter-top .container_tags{
         align-items: end;
      }
         #page-shutter-top .container_tags .item_tags{
            top: 12px;
         }
      
   #page-shutter-btm{
      /*top: auto;
      bottom: 0;*/
      transition: none;
   }
      #page-shutter-btm .container_tags{
         align-items: start;
      }
         #page-shutter-btm .container_tags .item_tags{
            top: -12px;
         }

  .elem_shutter .container_tags .flexcontainer_tags{
      align-items: flex-start;
      align-content: space-between;
      justify-content: space-between;
      flex-wrap: nowrap;
      gap: 0px;
   }


.section_banner_page .banner_img_split{}

.section_banner_page .banner_img_hero{
   align-items: center;
   align-content: center;
}
   .section_banner_page .banner_img_hero .item_bgimage{
      grid-column: screenleft/screenright;
      grid-row: 1/2;
      height: 100vh;
      height: 100lvh;
   }
      .section_banner_page .banner_img_hero .item_bgimage img{}


   .section_banner_page .banner_img_hero .item_heading{
      grid-column: c0/c8;
      grid-row: 1/2;
      padding: var(--sectionpad) 0;
      z-index: 2;
   }

.section_banner_page .banner_img{
   min-height: calc( var(--site-headh) + (var(--sectionpad) * 3) + var(--size-h1) );
}
   .section_banner_page .banner_img .item_bgimage{
      grid-column: screenleft/screenright;
      grid-row: 1/2;
      height: 70vh;
      height: 70lvh;
      min-height: 100%;
   }
      .section_banner_page .banner_img .item_bgimage img{}

      .section_banner_page .item_bgimage img[data-speed]{}
      .section_banner_page .banner_img_hero .item_bgimage img[data-speed]{}
      .section_banner_page .banner_img .item_bgimage img[data-speed]{
         position: relative;
         height: 110%;
         top: -10%;
      }


      .section_banner_page .banner_img_hero .item_bgimage::after,
      .section_banner_page .banner_img .item_bgimage::after{
         content: '';
         display: block;
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background-color: rgba(0, 0, 0, 0.2);
      }

   .section_banner_page .banner_img .item_heading{
      grid-column: c0/c8;
      grid-row: 1/2;
      align-self: center;/*center instead of top?*/
      padding: calc( var(--site-headh) + var(--sectionpad)) 0 var(--sectionpad2x) 0;
      z-index: 2;
   }

.section_banner_page .banner_text{
   padding-top: var(--site-headh);
}
   .section_banner_page .banner_text .item_heading{
      grid-column: c0/c8;
      padding: var(--sectionpad) 0 0 0;
   }

.section_banner_page .banner_none{
   padding-top: var(--site-headh);
}


/*-------- SECTION BUILDER ------------------------------------------------- */

.section{
	position: relative;
	box-sizing: border-box;
	padding: var(--sectionpad) 0;
}
	.section.bg-white:not(.section_nopad):not(.section_fullpad) + .section.bg-white:not(.section_fullpad),
   .section.bg-grey-pale:not(.section_nopad):not(.section_fullpad) + .section.bg-grey-pale:not(.section_fullpad),
   .section.bg-grey-dark:not(.section_nopad):not(.section_fullpad) + .section.bg-grey-dark:not(.section_fullpad),
   .section.bg-yellow-fluo:not(.section_nopad):not(.section_fullpad) + .section.bg-yellow-fluo:not(.section_fullpad),
   .section.bg-purple-pale:not(.section_nopad):not(.section_fullpad) + .section.bg-purple-pale:not(.section_fullpad),
   .section.bg-purple-dark:not(.section_nopad):not(.section_fullpad) + .section.bg-purple-dark:not(.section_fullpad),
   .section.bg-purple:not(.section_nopad):not(.section_fullpad) + .section.bg-purple:not(.section_fullpad),
   .section.bg-brown-pale:not(.section_nopad):not(.section_fullpad) + .section.bg-brown-pale:not(.section_fullpad),
   .section.bg-brown-dark:not(.section_nopad):not(.section_fullpad) + .section.bg-brown-dark:not(.section_fullpad),
   .section.bg-brown:not(.section_nopad):not(.section_fullpad) + .section.bg-brown:not(.section_fullpad),
   .section.bg-green-pale:not(.section_nopad):not(.section_fullpad) + .section.bg-green-pale:not(.section_fullpad),
   .section.bg-green-dark :not(.section_nopad):not(.section_fullpad)+ .section.bg-green-dark:not(.section_fullpad),
   .section.bg-green:not(.section_nopad):not(.section_fullpad) + .section.bg-green:not(.section_fullpad){
		padding-top: 0;
	}


.section.section_box_form{}
.section.section_box_stats{}
   .section_box_form .container_body,
   .section_box_stats .container_body{}
   .section_box_form .container_body .item_box,
   .section_box_stats .container_body .item_box{}

   .section_box_form .box,
   .section_box_stats .box,
   .section_box_stakeholders .box{
      padding: var(--colw05x);
   }

      .box .flexcontainer_body{
         column-gap: var(--colw);
         row-gap: 0;
         /*row-gap: var(--sectionpad05x);*/
      }
      .box .flexcontainer_body .flexitem_heading{}
      .box .flexcontainer_body .flexitem_text{
         flex-grow: 1;
         flex-shrink: 1;
      }

      .box .flexcontainer_feed{}
      .box .flexcontainer_feed .flexitem_col{}


.section.section_box_stakeholders{}
   .section_box_stakeholders .container_body{}
   .section_box_stakeholders .container_body .item_box{}

      .section_box_stakeholders .flexcontainer_body,
      .section_box_stats .flexcontainer_body{
         /*padding-bottom: var(--sectionpad05x);*/
         margin-bottom: var(--sectionpad05x);
      }
      .section_box_stakeholders .flexcontainer_body .flexitem_heading{}
      .section_box_stakeholders .flexcontainer_body .flexitem_text{}
      .section_box_stakeholders .flexcontainer_feed{}
      .section_box_stakeholders .flexcontainer_feed .flexitem_col{}

         .section_box_stakeholders .border-wrapper,
         .section_box_stats .border-wrapper{
            display: block;
            border: 1px solid currentColor;
            box-sizing: border-box;
            position: relative;
         }
         .section_box_stakeholders .border-wrapper img{
            display: block;
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 270px;
            padding: var(--contentpad3x) var(--contentpad4x);
            margin: 0 auto;
            box-sizing: border-box;
         }


.section.section_faq{}
   .section_faq .container_body{}
   .section_faq .container_body .item_heading{
      grid-column: c0/c3;
      grid-row: 1/4;
   }
   .section_faq .container_body .item_text{
      grid-column: c3/c12;
      grid-row: 1/2;
   }
   .section_faq .container_body .item_layout{
      grid-column: c3/c12;
      grid-row: 2/4;
   }

.section.section_hero{
   padding: 0 0;
   overflow: hidden;
}

   .section_hero .container_body{}
   .section_hero .container_body .item_media{
      grid-column: screenleft/screenright;
      max-height: 100vh;
      overflow: hidden;
   }

   .section_hero .parallax-wrapper{}
   .section_hero .parallax-wrapper > iframe{
      position: relative;
      width: 140vw !important;
      height: 78vw;
      max-width: unset;
      top: -20vw;
      margin-bottom: -20vw;
      left: -20vw;
      height: 77vw;
      /* youtube - 1280/720 -- asume those are the default dimensions */
   }

   .section_hero img[data-speed].parallax,
   .section_hero video[data-speed].parallax{
      position: relative;
      height: 140%;
      width: 140%;
      max-width: unset;
      top: -20%;
      margin-bottom: -20%;
      pointer-events: none;
   }


.section.section_intro{}
   .section_intro .container_body{
      padding: var(--sectionpad2x) 0;
   }
   .section_intro .container_body .item_heading{
      grid-column: c1/c11;
      text-align: center;
   }
   .section_intro .container_body .item_text{
      grid-column: c4/c8;
      text-align: center;
   }


.section.section_splitlinks{
   overflow: hidden;
}


.section.section_team{}
   .section_team .container_head{
      padding-bottom: var(--sectionpad05x);
   }
   .section_team .container_head .item_heading{
      grid-column: c0/c8;
   }

   .section_team .container_body{}
   .section_team .container_body .item_profiles{
      grid-column: c0/c12;
   }
      .card-profile{
         position: relative;
      }
      .card-profile .card-image{
         aspect-ratio: 3/4;
      }
      .card-profile .card-image img{}
      .card-profile .card-meta{
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         box-sizing: border-box;
         padding: inherit;
      }
      .card-profile .card-meta .flexcontainer_overlay{
         background-color: rgba(0,0,0,0.3);
         color: var(--theme-white);
      }
      .card-profile .card-hover{
         color: var(--theme-white);
         fill: var(--theme-white);
      }



.section.section_cta{}
.section.section_cta.cat_banner{
   padding: 0 0;
}

   .text-light, .section_cta .content.text-light{
      color: var(--theme-white);
      fill: var(--theme-white);
   }
   .text-dark, .section_cta .content.text-dark{
      color: var(--theme-black);
      fill: var(--theme-black);
   }

   .section_cta .container_cat_banner{
      grid-template-rows: [img-top] var(--sectionpad2x) [cont-srt] auto [cont-mid] auto [cont-end] var(--sectionpad2x) [img-btm];
      align-items: center;
   }
   .section_cta .container_cat_banner .item_image{
      grid-column: c0/c12;
      grid-row: img-top/img-btm;
   }
      .section_cta .container_cat_banner .item_image img{
         padding: var(--sectionpad) var(--colw);
      }

   .section_cta .container_cat_banner .item_image_expand{
      grid-column: screenleft/screenright;
      grid-row: img-top/img-btm;
      align-self: stretch;
   }
      .section_cta .container_cat_banner .item_image_expand > .content{
         padding: 0 0;
      }

      .section_cta .container_cat_banner .item_image_expand img.placeholder{
         position: relative;
         opacity: 0;
         visibility: hidden;
         pointer-events: none;
      }
      .section_cta .container_cat_banner .item_image_expand img.expand{
         position: absolute;
         height: 100%;
         width: 100%;
         object-fit: cover;
         object-position: center;
         box-sizing: border-box;
         top: 0;
         left: 0;
      }
      .section_cta .container_cat_banner .item_image_expand:not(.aos-animate) img.expand{
         height: 100%;
         padding: var(--sectionpad) calc( var(--gridgutter) + var(--gridedge) + var(--colw) );
         transition: padding 0.8s ease 0.35s;
      }
      .section_cta .container_cat_banner .item_image_expand.aos-animate img.expand{
         padding: 0 0;
         transition: padding 0.8s ease 0.35s;
      }

   .section_cta .container_cat_banner .item_tagline{
      grid-column: c2/c5;
      grid-row: cont-srt/cont-end;
   }
   .section_cta .container_cat_banner .item_text{
      grid-column: c6/c10;
      grid-row: cont-srt/cont-end;
   }


   .section_cta .container_cta_tagline{}
   .section_cta .container_cta_tagline .item_tagline{
      grid-column: c1/c11;
      text-align: center;
      padding-top: var(--colw05x);
   }
   .section_cta .container_cta_tagline .item_text{
      grid-column: c4/c8;
      text-align: center;
   }

.section.section_slider{}
.section.section_feed_projects{}
.section.section_slider_process{}
.section.section_gallery{}

   .section_slider .container_head,
   .section_gallery .container_head{
      padding-bottom: var(--sectionpad05x);
   }
      .section_slider .container_head .item_text{
         grid-column: c0/c8;
      }
      .section_slider .container_head .item_readmore{
         grid-column: c8/c12;
         text-align: right;
      }
   .section_slider .container_body,
   .container_layout.layout_slider{
      overflow: hidden;
   }
      .section_slider .container_body .item_slider,
      .container_layout.layout_slider .item_slider{
         grid-column: c0/c12;
      }
         .item_slider .multicol-slider,
         .container_layout.layout_slider .gallery-slider{
            min-width: 100%;
            position: relative;
            /*overflow: visible!important;*/
         }
         .item_slider .multicol-slider .slide{}

            .card .flexcontainer_stat{
               gap: var(--sectionpad05x);
            }
            .card .flexcontainer_stat .flexitem_label{}
            .card .flexcontainer_stat .flexitem_value{
               min-height: 33%;
            }

            .card.feed_port,
            .card.feed_project{
               display: block;
/*               aspect-ratio: 3/4;*/
               aspect-ratio: 7/9;
            }
            .card.feed_land{
               display: block;
/*               aspect-ratio: 4/3;*/
               aspect-ratio: 9/7;
            }
            .card.feed_stat{
               display: block;
/*               aspect-ratio: 4/3;*/
               aspect-ratio: 9/7;
            }


      .section_slider .container_body .item_slider_nav,
      .container_layout.layout_slider .item_slider_nav{
         padding-top: var(--contentpad2x);
      }
         .item_slider_nav .navigation-wrapper{
            display: flex;
            flex-wrap: nowrap;
            gap: var(--contentpad2x);
/*            justify-content: flex-end;*/
            justify-content: space-between;
         }
         .item_slider_nav .navigation-wrapper > .nw-inner{}
         .item_slider_nav .navigation-wrapper > .nw-inner > .arrow{
            display: inline-block;
            vertical-align: middle;
         }
         .item_slider_nav .navigation-wrapper > .nw-inner > .arrow:not(:last-child){
            margin-right: 20px;
         }

         .item_slider_nav .navigation-wrapper .arrow > .icon-box > .arrow-bg{
            fill: var(--theme-fluoyellow);
            /*transition: all 0.35s ease;*/
         }
         .item_slider_nav .navigation-wrapper .arrow > .icon-box > .arrow-text{
            fill: var(--theme-darkpurple);
            /*transition: all 0.35s ease;*/
         }

         .item_slider_nav .navigation-wrapper .arrow{
            display: block;
            width: auto;
            flex-basis: auto;
         }
            .item_slider_nav .navigation-wrapper[data-loop="false"] .arrow.arrow--disabled{
               opacity: 0.5;
               pointer-events: none;
            }
            .item_slider_nav .navigation-wrapper .arrow svg{
               display: block;
            }

         .item_slider_nav .navigation-wrapper .dots{
            display: flex;
            height: 100%;
            row-gap: 12px;
            column-gap: 12px;
            align-items: center;
         }
            .item_slider_nav .navigation-wrapper .dots .dot{
               width: 8px;
               height: 8px;
               background-color: transparent;
/*               color: var(--theme-fluoyellow);*/
               color: currentColor;
               border: 1px solid;
               transition: all 0.35s ease;
            } 
            .item_slider_nav .navigation-wrapper .dots .dot.dot--active{
/*               background-color: var(--theme-fluoyellow);*/
               background-color: currentColor;
            }



.card .card-link{
   display: block;
   position: relative;
   width: 100%;
   height: 100%;
   color: var(--theme-white);
   fill: var(--theme-white);
}
.card .card-link > .card-preview{
   display: block;
   width: 100%;
   height: 100%;
}
   .card .card-link > .card-preview::after{
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: rgba(0,0,0,0.2);
   }

.card .card-link > .card-hover{
   opacity: 0;
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   transition: all 0.35s ease;
}
   .card .card-link > .card-preview .card-image,
   .card .card-link > .card-hover .card-image{
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
   }

.card .card-link > .card-meta{
   position: absolute;
   left: 0;
   bottom: 0;
   color: var(--theme-white);
   fill: var(--theme-white);
   z-index: 3;
}

@media (hover: hover){

   body:not(.is-device_android) .card-profile .card-hover{
      opacity: 0;
      transition: all 0.35s ease;
   }
   body:not(.is-device_android) .card-profile .card-hover:hover{
      opacity: 1;
      transition: all 0.35s ease;
   }
   body:not(.is-device_android) .card .card-link:hover > .card-hover{
      opacity: 1;
      color: var(--theme-white);
      fill: var(--theme-white);
      transition: all 0.35s ease;
   }
  /* body:not(.is-device_android) .card .card-link:not(:hover) > .card-meta{
      opacity: 0;
      transition: all 0.35s ease;
   }
   body:not(.is-device_android) .card .card-link:hover > .card-meta{
      opacity: 1;
      transition: all 0.35s ease;
   }*/

   body:not(.is-device_android) .item_slider_nav .navigation-wrapper .dots .dot:hover,
   body:not(.is-device_android) .item_slider_nav .navigation-wrapper .dots .dot:hover.dot--active{
      color: var(--theme-purple);
      background-color: var(--theme-purple);
      transition: all 0.35s ease;
   }
      body:not(.is-device_android) .section.bg-purple .item_slider_nav .navigation-wrapper .dots .dot:hover,
      body:not(.is-device_android) .section.bg-purple .item_slider_nav .navigation-wrapper .dots .dot:hover.dot--active{
         color: var(--theme-fluoyellow);
         background-color: var(--theme-fluoyellow);
         transition: all 0.35s ease;
      }

   body:not(.is-device_android) .item_slider_nav .navigation-wrapper .arrow:hover > .icon-box > .arrow-bg{
      fill: var(--theme-purple);
      /*transition: all 0.35s ease;*/
   }
   body:not(.is-device_android) .item_slider_nav .navigation-wrapper .arrow:hover > .icon-box > .arrow-text{
      fill: var(--theme-fluoyellow);
      /*transition: all 0.35s ease;*/
   }

}



/*-------- CONTENT / LAYOUT / GRID BUILDER --------------------------------- */

.grid-item[data-aos] .h-wave{ position: relative; }
.grid-item[data-aos] .h-wave > .word{ 
   position: relative;
   overflow: hidden; 
   display: inline-block;
    vertical-align: top;
    height: 1em;
    line-height: 1em;
}
.grid-item[data-aos] .h-wave > .word > .word-slide{
   position: relative;
   transition: top 0.5s ease, opacity 0.5s ease;
}
.grid-item[data-aos] .h-wave > .word > .word-slide{
   top: 50px;
   opacity: 0;
}
.grid-item[data-aos].aos-animate .h-wave > .word > .word-slide{
   top: 0;
   opacity: 1;
   transition: top 0.5s ease, opacity 0.5s ease;
}
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(1) > .word-slide{
      transition-delay: 50ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(2) > .word-slide{
      transition-delay: 100ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(3) > .word-slide{
      transition-delay: 150ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(4) > .word-slide{
      top: 0;
      transition-delay: 200ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(5) > .word-slide{
      top: 0;
      transition-delay: 250ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(6) > .word-slide{
      transition-delay: 300ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(7) > .word-slide{
      transition-delay: 350ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(8) > .word-slide{
      transition-delay: 400ms;
   }
   .grid-item[data-aos].aos-animate .h-wave > .word:nth-child(n+9) > .word-slide{
      transition-delay: 450ms;
   }


.section.section_grid{
   padding-bottom: 0;
}
   .section_grid .container_layout{
      padding-bottom: var(--sectionpad);
   }
   .section_grid .container_layout.layout_hero:last-child{
      padding-bottom: 0;
   }
   .section.section_grid:not(.section_nopad):not(.section_fullpad) + .section:not(.section_grid):not(.section_nopad):not(.section_fullpad){
      padding-top: var(--sectionpad);
   }

.container_layout.layout_image{}
   .container_layout.layout_image.colw_10 .item_media{
      grid-column: c1/c11;
   }
   .container_layout.layout_image.colw_7 .item_media{
      grid-column: c2/c10;
      padding: 0 var(--colw05x);
   }

.container_layout.layout_hero{}
   .container_layout.layout_hero .item_media_expand{
      grid-column: screenleft/screenright;
   }
   .container_layout.layout_hero .item_media_expand .content{ padding: 0 0; }

   .container_layout.layout_hero .item_media_expand img.placeholder{
      position: relative;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
   }
   .container_layout.layout_hero .item_media_expand img.expand{
      position: absolute;
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center;
      box-sizing: border-box;
      top: 0;
      left: 0;
   }
      .container_layout.layout_hero .item_media_expand:not(.aos-animate) img.expand{
         height: 100%;
         padding: var(--sectionpad) calc( var(--gridgutter) + var(--gridedge) + var(--colw) );
         transition: padding 0.8s ease 0.35s;
      }
      .container_layout.layout_hero .item_media_expand.aos-animate img.expand{
         padding: 0 0;
         transition: padding 0.8s ease 0.35s;
      }


.container_layout.layout_images{}
   .container_layout.layout_images.port_land{}
   .container_layout.layout_images.port_land .item_image_port{
      grid-column: c0/c4;
      grid-row: 1/2;
      padding-top: var(--sectionpad);
   }
   .container_layout.layout_images.port_land .item_image_land{
      grid-column: c5/c12;
      grid-row: 1/2;
   }

   .container_layout.layout_images.land_port{}
   .container_layout.layout_images.land_port .item_image_land{
      grid-column: c0/c7;
      grid-row: 1/2;
   }
   .container_layout.layout_images.land_port .item_image_port{
      grid-column: c8/c12;
      grid-row: 1/2;
      padding-top: var(--sectionpad);
   }


.container_layout.layout_text{}
   .container_layout.layout_text .item_text{
      grid-column: c0/c9;
   }

.container_layout.layout_blockquote{}
   .container_layout.layout_blockquote .item_quote{
      grid-column: c0/c9;
   }
   blockquote{
      display: block;
      margin: var(--contentpad2x) 0;
      padding: 0;
   }
   blockquote p{
      margin: 0 0 var(--contentpad2x) 0;
   }
   blockquote footer{
      margin: var(--contentpad2x) 0 0 0;
   }


.container_layout.layout_text_wimage{}
   .container_layout.layout_text_wimage.text_left .item_text{
      grid-column: c0/c6;
      grid-row: 1/2;
   }
   .container_layout.layout_text_wimage.text_left .item_image{
      grid-column: c6/c12;
      grid-row: 1/2;
   }

   .container_layout.layout_text_wimage.text_right .item_text{
      grid-column: c6/c12;
      grid-row: 1/2;
   }
   .container_layout.layout_text_wimage.text_right .item_image{
      grid-column: c0/c6;
      grid-row: 1/2;
   }


.container_layout.layout_slider{}
   .container_layout.layout_slider .gallery-slider{}
   .container_layout.layout_slider .gallery-slider .slide{
      height: auto;
      width: auto;
      min-width: fit-content;
      max-width: fit-content;
   }
   .container_layout.layout_slider .gallery-slider .slide img{
      display: block;
      height: calc(var(--colw) * 5);
      width: auto;
   }

.section.section_contents_2col{}
   .section_contents_2col .container_body{}
   .section_contents_2col .container_body .item_heading{
/*      grid-column: c0/c6;*/
      grid-column: c0/c5;
   }
   .section_contents_2col .container_body .item_layout{
      grid-column: c6/c12;
   }
      .section_contents_2col .container_body .item_layout.text_w6{
         grid-column: c6/c12;
      }
      .section_contents_2col .container_body .item_layout.text_w5{
         grid-column: c6/c11;
      }
      .section_contents_2col .container_body .item_layout.text_w4{
         grid-column: c6/c10;
      }


      .item_layout .wrapper_layout{}
      .item_layout .wrapper_layout:not(:last-child){
         padding-bottom: var(--contentpad3x);
      }

      .wrapper_layout.layout_text{}

      .wrapper_layout.layout_accordion{}
         .wrapper_layout.layout_accordion .item_acc .acc-head{
            display: block;
            width: 100%;
            max-width: 100%;
            height: auto;
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            appearance: none;
            -webkit-appearance: none;
            text-align: left;
            color: currentColor;
            fill: currentColor;
         }
            .wrapper_layout.layout_accordion .item_acc .acc-icon{
               display: inline-block;
               vertical-align: baseline;
               width: 12px;
               height: 12px;
               position: relative;
            }
               .wrapper_layout.layout_accordion .item_acc .acc-icon::before,
               .wrapper_layout.layout_accordion .item_acc .acc-icon::after{
                  display: block;
                  content: '';
                  background-color: currentColor;
                  width: 12px;
                  height: 2px;
                  position: absolute;
               }
                  .wrapper_layout.layout_accordion .item_acc .acc-icon::before{
                     top: 5px;
                     left: 0px;
                  }
                  .wrapper_layout.layout_accordion .item_acc .acc-icon::after{
                     top: 5px;
                     left: 0px;
                     transform: rotate(90deg);
                     transition: transform 0.35s ease 0s;
                  }
                     .wrapper_layout.layout_accordion .item_acc.open .acc-icon::after{
                        transform: rotate(180deg);
                        transition: transform 0.35s ease 0s;
                     }


         .wrapper_layout.layout_accordion .item_acc .acc-body{}

      .wrapper_layout.layout_list{}
         .wrapper_layout.layout_list .item_row{}

         .wrapper_layout.layout_list .item_row .icon{
            display: block;
         }

      .wrapper_layout.layout_accordion .item_acc:last-child .divline, 
      .wrapper_layout.layout_list .item_row:last-child .divline{ display: none; }



/*-------- POST / PROJECT / SINGLE --------------------------------------------------- */

.section.section_info{}
   .section_info .container_body .item_summary{
      grid-column: c0/c8;
   }
   .section_info .container_body .item_meta{
      grid-column: c9/c12;
   }

   ul.post-meta{
      display: block;
      list-style-type: none;
      padding: 0;
      position: relative;
   }
   ul.post-meta li{
      display: block;
      margin: 0;
      padding: 0;
      position: relative;
   }
   ul.post-meta li:not(:last-child){
      margin-bottom: var(--contentpad2x);
      /*padding-bottom: var(--contentpad);*/
   }
   ul.post-meta li h3{
      margin: 0 0 var(--contentpad) 0;
   }
   ul.post-meta .current{
      font-weight: bold;
   }


/*-------- ARCHIVE --------------------------------------------------------- */

.section.section_archive_posts{}
   .section_archive_posts .container_body{}
   .section_archive_posts .container_body .item_filters{
      padding-bottom: var(--sectionpad05x);
   }

   .form_filters{}   
      .form_filters .flexcontainer_filters{
         row-gap: var(--contentpad);
         column-gap: var(--contentpad);
      }
      .form_filters .flexcontainer_filters .flexitem_title{
         padding-right: var(--contentpad2x);
      }
      .form_filters .flexcontainer_filters .flexitem_filter{}


   .section_archive_posts .container_body .item_feed{}

   .flexcontainer_articles > .card.feed_project:nth-child(9n+3),
   .flexcontainer_articles > .card.feed_project:nth-child(9n+5),
   .flexcontainer_articles > .card.feed_project:nth-child(9n+7){
      aspect-ratio: 9/7;
   }


   .ajax-load-more-wrap{}
   .ajax-load-more-wrap > .alm-listing{}
   .ajax-load-more-wrap > .alm-btn-wrap{
      text-align: center;
   }
      .ajax-load-more-wrap > .alm-btn-wrap .alm-load-more-btn{
         margin-top: var(--sectionpad);
      }
      .ajax-load-more-wrap > .alm-btn-wrap .alm-load-more-btn.done{ display: none; }

   .ajax-load-more-wrap > .alm-no-results{}


/*-------- FORMS  / GFORM -------------------------------------------------- */


body.terra-theme .gform_wrapper.gravity-theme .gform_fields{
   grid-column-gap: var(--contentpad2x);
   grid-row-gap: var(--contentpad2x);
}

body.terra-theme .gform_wrapper.gravity-theme .gform_footer, 
body.terra-theme .gform_wrapper.gravity-theme .gform_page_footer{
   margin: 0;
   padding: var(--sectionpad05x) 0 0 0;
}


body.terra-theme .gform_wrapper.gravity-theme input[type=color], 
body.terra-theme .gform_wrapper.gravity-theme input[type=date], 
body.terra-theme .gform_wrapper.gravity-theme input[type=datetime-local], 
body.terra-theme .gform_wrapper.gravity-theme input[type=datetime], 
body.terra-theme .gform_wrapper.gravity-theme input[type=email], 
body.terra-theme .gform_wrapper.gravity-theme input[type=month], 
body.terra-theme .gform_wrapper.gravity-theme input[type=number], 
body.terra-theme .gform_wrapper.gravity-theme input[type=password], 
body.terra-theme .gform_wrapper.gravity-theme input[type=search], 
body.terra-theme .gform_wrapper.gravity-theme input[type=tel], 
body.terra-theme .gform_wrapper.gravity-theme input[type=text], 
body.terra-theme .gform_wrapper.gravity-theme input[type=time], 
body.terra-theme .gform_wrapper.gravity-theme input[type=url], 
body.terra-theme .gform_wrapper.gravity-theme input[type=week],
body.terra-theme .gform_wrapper.gravity-theme select,
body.terra-theme .gform_wrapper.gravity-theme textarea{
   display: block;
   padding: 8px 0;
   border: 0;
   color: inherit;
   border-bottom: 1px solid currentColor;
   background-color: transparent;
   font-family: var(--fontfam-text);
   font-size: var(--size-p);
   line-height: 28px;
}
   body.terra-theme .gform_wrapper.gravity-theme textarea{
      padding: 12px 12px;
      border: 1px solid currentColor;
   }

   body.terra-theme .gform_wrapper.gravity-theme .description, 
   body.terra-theme .gform_wrapper.gravity-theme .gfield_description, 
   body.terra-theme .gform_wrapper.gravity-theme .gsection_description, 
   body.terra-theme .gform_wrapper.gravity-theme .instruction{
      color: inherit;
      margin: 8px 0;
      padding: 0;
      font-family: var(--fontfam-text);
      font-size: 12px;
      line-height: 1.2;
      text-transform: uppercase;
   }


body.terra-theme .gform_wrapper.gravity-theme .gfield_radio,
body.terra-theme .gform_wrapper.gravity-theme .gfield_checkbox{
   display: flex;
   flex-wrap: wrap;
   row-gap: var(--contentpad2x);
   column-gap: var(--contentpad2x);
}
   body.terra-theme .gform_wrapper.gravity-theme .gfield.gfield--input-type-radio,
   body.terra-theme .gform_wrapper.gravity-theme .gfield.gfield--input-type-checkbox{
      padding-bottom: var(--contentpad2x);
   }
   body.terra-theme .gform_wrapper.gravity-theme .gfield--input-type-consent{
      padding-top: var(--contentpad2x);
   }
      body.terra-theme .gform_wrapper.gravity-theme .gfield--input-type-consent input{
         appearance: auto;
         width: 20px;
         height: 20px;
         margin: 2px 10px 2px 0;
         padding: 0;
         float: left;
         accent-color: var(--theme-purple);
      }
      body.terra-theme .gform_wrapper.gravity-theme .gfield--input-type-consent label{
         display: block;
         font-family: var(--fontfam-button);
         font-size: var(--size-button);
         line-height: 26px;
         text-transform: uppercase;
      }


   body.terra-theme .gform_wrapper.gravity-theme .gfield-choice-input+label,
   body.terra-theme .gform_wrapper.gravity-theme .gfield_radio  > .gchoice label,
   body.terra-theme .gform_wrapper.gravity-theme .gfield_checkbox > .gchoice label{
      max-width: 100%;
   }

body.terra-theme .gform_wrapper.gravity-theme .gfield_label{
   font-family: var(--fontfam-text);
   font-size: var(--size-p);
   font-weight: normal;
   line-height: 1.2;
}


body.terra-theme .gform_wrapper.gravity-theme .gfield_required{
   color: inherit;
}


body.terra-theme .gform_wrapper.gravity-theme input[type="submit"], 
body.terra-theme .gform_wrapper.gravity-theme input[type="button"], 
body.terra-theme .gform_wrapper.gravity-theme button{
   appearance: none;
   font-family: var(--fontfam-button);
   display: inline-block;
   vertical-align: baseline;
   position: relative;
   box-sizing: border-box;
   font-size: var(--size-button);
   line-height: 28px;
   padding: 8px 12px;
   margin: 0;
   border-radius: var(--radius-button);
   white-space: nowrap;
   text-decoration: none !important;
   text-transform: uppercase;
   border: 0;
   /* border: 1px solid; */
   /* border-color: var(--theme-purple); */
   background-color: var(--theme-purple);
   color: var(--theme-fluoyellow);
   fill: var(--theme-fluoyellow);
   transition: all 0.35s ease 0s;
}
   /* <INPUT> does not support "::after" -- add manually or change into <button> */
  /* body.terra-theme .gform_wrapper.gravity-theme input[type="submit"]::after, 
   body.terra-theme .gform_wrapper.gravity-theme input[type="button"]::after,*/
   body.terra-theme .gform_wrapper.gravity-theme button::after{
      content: '\A0+';
   }


body.terra-theme .gform_validation_errors{
   position: absolute!important; height: 1px!important; width: 1px!important; overflow: hidden!important;
   clip: rect(1px 1px 1px 1px)!important; clip: rect(1px, 1px, 1px, 1px)!important; white-space: nowrap!important;
}
body.terra-theme .gform_wrapper.gravity-theme .gfield_validation_message, 
body.terra-theme .gform_wrapper.gravity-theme .validation_message{
   background-color: transparent;
   border: 0;
   color: red;
}
body.terra-theme .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, 
body.terra-theme .gform_wrapper.gravity-theme .gfield_error label, 
body.terra-theme .gform_wrapper.gravity-theme .gfield_error legend, 
body.terra-theme .gform_wrapper.gravity-theme .gfield_validation_message, 
body.terra-theme .gform_wrapper.gravity-theme .validation_message, 
body.terra-theme .gform_wrapper.gravity-theme [aria-invalid=true]+label, 
body.terra-theme .gform_wrapper.gravity-theme label+[aria-invalid=true]{
   color: red;
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*-------------------------------------------------------- RESPONSIVE STYLES */
/*---------------------------------------------------------------------------*/
/* Desktop/Laptop */
@media only screen and (max-width : 1366px) {
	:root{
		--gridgutter: 40px;
	}
}

@media only screen and (max-width : 1280px) {
	:root{
		--gridgutter: 20px;
	}
}

/* Tablet/iPad - fully switch to responsive @980 */
@media only screen and (max-width : 980px) {
	/* globals */
	:root{
		--gridgutter: 10px;
/*      
      --contentpad: 10px;
      --contentpad2x: 20px;
      --contentpad3x: 30px;
*/
      --contentpad4x: 30px;
      --sectionpad05x: 20px;
      --sectionpad: 40px;
      --sectionpad2x: 80px;
      --size-tagline: 2.625rem;
      --size-h1: 2.625rem; /* 42px */
      --size-h2: 2.0rem; /* 32px */
      --size-h3:  1.375rem; /* 22px */
      --size-h4: 1.375rem; /* 22px */
      --size-h5: 1.5rem; /* 24px */
      --size-h6: 1.125rem; /* 18px */
      --size-p-xlrg: 1.5rem; /* 24px */
      --size-p-lrg: 1.125rem; /* 18px */
      --size-p-sml: 14px; 
      --size-p-xsml: 12px; 
      --size-caption: 14px;
      --size-button: 14px;
	}
	html, body { font-size: 16px; }

   .shutter-tag{
      font-size: 18px;
      line-height: 18px;
   }
      #page-shutter-top .container_tags .item_tags{
         top: 9px;
      }
      #page-shutter-btm .container_tags .item_tags{
         top: -9px;
      }
	
   /* GRID & FLEX */
	.flex-container:not(.flex-nowrap){ flex-wrap: wrap; }
   .flex-container:not(.flex-nowrap) .flex-item.flex-parts-80,
   .flex-container:not(.flex-nowrap) .flex-item.flex-parts-20,
   .flex-container:not(.flex-nowrap) .flex-item.flex-parts-60,
   .flex-container:not(.flex-nowrap) .flex-item.flex-parts-40,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-75,
   .flex-container:not(.flex-nowrap) .flex-item.flex-parts-25,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-50,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-66,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-33{ flex-basis: 100%; width: 100%; }

	/* SECTIONS & LAYOUTS */
   .section_box_stakeholders .flexcontainer_body .flexitem_heading .h-wave .word{
      display: block;
   }


   .section_slider .container_head .item_text,
   .section_slider .container_head .item_readmore{
      grid-column: c0 / c12;
      text-align: left;
   }

   .card.feed_stat{
      /*aspect-ratio: 9 / 6;*/
      aspect-ratio: unset;
   }
   .card.feed_stat > .flex-container{
      /*row-gap: var(--sectionpad);*/
      row-gap: var(--sectionpad2x);
   }

   .section_box_stakeholders .flexcontainer_feed{}
   .section_box_stakeholders .flexcontainer_feed.flex-container:not(.flex-nowrap) .flexitem_col{
      flex-basis: 50%; width: 50%;
   }
   .section_box_stakeholders .border-wrapper img{}

   .section_team .container_head.has-filler{
      padding-bottom: 0;
   }
   .flex-container:not(.flex-nowrap).flexcontainer_profiles .flex-item.feed_filler{
      flex-basis: 100%; width: 100%;
      padding-bottom: var(--sectionpad05x);
   }
   .flex-container:not(.flex-nowrap).flexcontainer_profiles .flex-item.feed_profile{
      flex-basis: 50%; width: 50%;
   }

   .section_contents_2col .container_body .item_heading{
      grid-column: c0 / c12;
      /*padding-bottom: var(--sectionpad05x);*/
   }
      .section_team .container_body .card-profile .h4,
      .section_contents_2col .container_body .item_heading .h4,
      .section_faq .container_body .item_heading .h4,
      .section_cta .container_cat_banner .item_tagline .h4,
      .section_slider .container_head .h4, 
      .section_gallery .container_head .h4{
         font-size: var(--size-h2);
         line-height: 1.0;
      }

   .section_contents_2col .container_body .item_layout,
   .section_contents_2col .container_body .item_layout.text_w6,
   .section_contents_2col .container_body .item_layout.text_w5,
   .section_contents_2col .container_body .item_layout.text_w4{
      grid-column: c0 / c12;
   }

   .section_cta .container_cat_banner{}
   .section_cta .container_cat_banner .item_image_expand{}
   .section_cta .container_cat_banner .item_tagline{
      grid-column: c2 / c10;
      grid-row: cont-srt/cont-mid;
   }
   .section_cta .container_cat_banner .item_text{
      grid-column: c2 / c10;
      grid-row: cont-mid/cont-end;
   }

   .section_cta .container_cta_tagline .item_tagline{
      grid-column: c0 / c12;
   }
   .section_cta .container_cta_tagline .item_text{
      grid-column: c2 / c10;
   }

   .section_hero .container_body .item_media img{
      min-height: 320px;
   }

   .section_faq .container_body .item_heading{
      grid-column: c0/c12;
      grid-row: auto;
      padding-bottom: var(--sectionpad05x);
   }
   .section_faq .container_body .item_layout{
      grid-column: c0/c12;
      grid-row: auto;
   }

   .section.section_showcase .container_body{
      height: 50vh;
   }
   .section_showcase .flexitem_showcase .showcase-slide.right .showcase-img,
   .section_showcase .flexitem_showcase .showcase-slide.left .showcase-img{
      height: 80vh;
      top: -20vh;
      position: relative;
   }

   /* only show 2/3? depends in slider kicks in at 3+ or 4+; should be fine, we have 'view all'! */
   .section_feed_projects .flexcontainer_multicol{}
   .section_feed_projects .flexcontainer_multicol.flex-container .flex-item.card{
      flex-basis: 50%;
      width: 50%;
   }
   .section_feed_projects .flexcontainer_multicol.flex-container .flex-item.card:nth-child(n+3){
      display: none;
   }
   .section_feed_projects .card .card-meta .card-title{
      font-size: var(--size-h2);
      line-height: 1.0;
   }

   .section_archive_posts .flexcontainer_articles.flex-container .flex-item.card{
      flex-basis: 50%;
      width: 50%;
      /*aspect-ratio: 4 / 3;*/
      /*aspect-ratio: 7 / 9;*/
   }
   .section_archive_posts .card .card-meta .card-title{
      font-size: var(--size-h2);
      line-height: 1.0;
   }

   .card.feed_port, 
   .card.feed_project,
   .section_slider_process .card.feed_port{
      /*aspect-ratio: 4 / 3;*/
      /*aspect-ratio: 7 / 6;*/
   }

   /*.section_slider_process .card.feed_port{
      aspect-ratio: unset;
   }
   .section_slider_process .card.feed_port .flexcontainer_stat{
      row-gap: var(--sectionpad2x);
   }*/

   .section_box_form .box, 
   .section_box_stats .box, 
   .section_box_stakeholders .box{
      padding: var(--contentpad);
   }

   .section_box_form .flexitem_heading,
   .section_box_stats .flexitem_heading,
   .section_box_stakeholders .flexitem_heading{
      /*padding-bottom: var(--sectionpad05x);*/
   }
   .section_box_form .flexitem_heading .h4,
   .section_box_stats .flexitem_heading .h4,
   .section_box_stakeholders .flexitem_heading .h4{
      font-size: var(--size-h2);
      line-height: 1.0;
   }

   .section_box_form .flexitem_text{
      padding-top: var(--sectionpad05x);
   }

   .section_intro .container_body .item_heading{
      grid-column: c1/c11;
   }
   .section_intro .container_body .item_text{
      grid-column: c2/c10;
   }

   .container_layout.layout_image.colw_10 .item_media{
      grid-column: c0/c12;
   }
   .container_layout.layout_image.colw_7 .item_media{
      grid-column: c0/c12;
      padding: 0;
   }

   .section_info .container_body .item_summary{
      grid-column: c0/c12;
      padding-bottom: var(--sectionpad05x);
   }
   .section_info .container_body .item_meta{
      grid-column: c0/c12;
   }

   .container_layout.layout_text_wimage.text_left .item_image,
   .container_layout.layout_text_wimage.text_right .item_image{
      grid-column: c0/c12;
      grid-row: auto;
   }

   .container_layout.layout_text_wimage.text_left .item_text,
   .container_layout.layout_text_wimage.text_right .item_text{
      grid-column: c0/c12;
      grid-row: auto;
      padding-bottom: var(--sectionpad05x);
   }

   .section_grid .container_layout:not(:last-child){
      padding-bottom: 0;
   }

   .container_layout.layout_blockquote .item_quote{
      grid-column: c0/c12;
      padding: var(--sectionpad) 0;
   }

   .container_layout.layout_slider{
      padding: var(--sectionpad) 0;
   }
   .container_layout.layout_slider .gallery-slider .slide img{
      width: 100%;
      height: auto;
      aspect-ratio: 7 / 9;
      object-fit: cover;
      object-position: center;
   }

   /* HEADER */
   /* set max height on banner so doesnt get out of control in responsive? */
   .section_banner_home .banner_nav_split, 
   .section_banner_page .banner_img_split, 
   .section_banner_page .banner_proj_split{
      max-height: 1024px;
      min-height: 680px;
   }
   .section_banner_page .banner_img_hero .item_bgimage{
      max-height: 1024px;
      min-height: 320px;
   }
   .section_banner_page .banner_img_hero .item_heading,
   .section_banner_page .banner_img .item_heading{
      grid-column: c0 / c12;
   }


   .section_site_menu .container_body .item_nav{
      grid-column: c0 / c12;
   }

   .section_site_menu .flexcontainer_navmeta{
      flex-wrap: wrap;
   }
   .section_site_menu .flexcontainer_navmeta .flexitem_copyr,
   .section_site_menu .flexcontainer_navmeta .flexitem_social,
   .section_site_menu .flexcontainer_navmeta .flexitem_policy{
      flex-basis: 100%; width: 100%;
      text-align: center;
   }  
   .section_site_menu .flexcontainer_navmeta ul.menu-inline{
      justify-content: center;
   }
   .section_site_menu .flexcontainer_navmeta .content{
      padding-top: 0;
   }

   /* FOOTER */
   .section_site_footer{
      padding-top: var(--sectionpad);
      /*padding-top: var(--sectionpad05x);*/
   }
   .section_site_footer .container_body .item_contact,
   .section_site_footer .container_body .item_scroll,
   .section_site_footer .container_body .item_social{
      grid-column: c0/c12;
      grid-row: auto;
      text-align: center;
   }
   .section_site_footer .item_social ul.menu-inline{
      justify-content: center;
   }

}

/* Mobile */
@media only screen and (max-width : 720px) {
   /* HOME LANDING + BANNER */
   #page-shutter-top .container_tags{}
      #page-shutter-top .container_tags .item_tags{
         height: 100%;
         top: 0;
      } 
         #page-shutter-top .container_tags .item_tags .item_tag1{}
         #page-shutter-top .container_tags .item_tags .item_tag2{}
         #page-shutter-top .container_tags .item_tags .item_tag3{
            display: none;
         }
   #page-shutter-btm .container_tags{}
      #page-shutter-btm .container_tags .item_tags{
         height: 100%;
         top: 0;
      }
         #page-shutter-btm .container_tags .item_tags .item_tag1{
            display: none;
         }
         #page-shutter-btm .container_tags .item_tags .item_tag2{}
         #page-shutter-btm .container_tags .item_tags .item_tag3{}

   .elem_shutter .container_tags .flexcontainer_tags{
     flex-wrap: wrap;
     align-items: stretch;
     align-content: stretch;
     justify-content: stretch;
     height: 100%;
     gap: 0;
     text-align: center;
   }
      .elem_shutter .container_tags .flexcontainer_tags > .flex-item{
         flex-basis: 100%;
         width: 100%;
         height: 50%;
         flex-grow: 0;
         flex-shrink: 0;
      }
         #page-shutter-top .container_tags .flexcontainer_tags > .flex-item .content{
            width: 100%;
            position: absolute;
            top: auto;
            bottom: 0;
         }
            #page-shutter-top .container_tags .flexcontainer_tags > .flex-item.item_tag2 .content{
               bottom: -9px;
            }
         #page-shutter-btm .container_tags .flexcontainer_tags > .flex-item .content{
            width: 100%;
            position: absolute;
            top: 0;
            bottom: 0;
         }
             #page-shutter-btm .container_tags .flexcontainer_tags > .flex-item.item_tag2 .content{
               top: -9px;
            }

   .section_banner_home .banner_nav_split .item_tags{
      height: 100%;
   }
   .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags{
      flex-wrap: wrap;
      align-items: stretch;
      align-content: stretch;
      justify-content: stretch;
      height: 100%;
      gap: 0;
      text-align: center;
   }
   .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item{
      flex-basis: 100%;
      width: 100%;
      height: 33.33%;
      flex-grow: 0;
      flex-shrink: 0;
   }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item .content{
         width: 100%;
         position: absolute;
      }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item.item_tag1 .content{
         top: calc(50% + 2em);
         bottom: auto;
      }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item.item_tag2 .content{
         top: calc(50% - 1em);
         bottom: auto;
      }
      .section_banner_home .banner_nav_split .item_tags .flexcontainer_tags .flex-item.item_tag3 .content{
         top: auto;
         bottom: calc(50% + 2em);
      }


   .item_showcase .showcase-slide .showcase-img.desktop-only{ display: none; }
   .item_showcase .showcase-slide .showcase-img.mobile-only{ display: block; }



   /* SECTIONS & LAYOUTS */
   .flex-container:not(.flex-nowrap).flexcontainer_profiles .flex-item.feed_profile{
      flex-basis: 100%; width: 100%;
   }
   .section_box_stakeholders .flexcontainer_feed.flex-container:not(.flex-nowrap) .flexitem_col{
      flex-basis: 100%; width: 100%;
   }
   .section_archive_posts .flexcontainer_articles.flex-container .flex-item.card{
      flex-basis: 100%; width: 100%;
   }

   .section_intro .container_body .item_heading,
   .section_intro .container_body .item_text{
      grid-column: c0/c12;
   }

   .section_intro .container_body{
      padding: 0;
   }

   .section_cta .container_cta_tagline .item_tagline,
   .section_cta .container_cta_tagline .item_text{
      grid-column: c0/c12;
   }

   .container_layout.layout_hero .item_media_expand{
      aspect-ratio: 7 / 9;
   }
   .container_layout.layout_hero .item_media_expand img{}

   .container_layout.layout_images.land_port .item_image_port,
   .container_layout.layout_images.land_port .item_image_land,
   .container_layout.layout_images.port_land .item_image_port,
   .container_layout.layout_images.port_land .item_image_land{
      grid-column: c0 / c12;
      grid-row: auto;
      padding-top: 0;
   }

   .section_feed_projects .flexcontainer_multicol.flex-container .flex-item.card{
      flex-basis: 100%; width: 100%;
   }
   .section_feed_projects .flexcontainer_multicol.flex-container .flex-item.card:nth-child(n+2){
      display: none;
   }

   /* item_showcase height = 50vh... no do [4:3] or [7:6] x2 */
   .section.section_showcase .container_body{
      /*height: calc( (100vw / 4) * 6 );*/
/*      height: calc( (100vw / 7) * 12 );*/
      height: 100vh;
   }


   .section_banner_home .item_showcase.split-2 .flexcontainer_showcase.flex-nowrap,
   .section_banner_home .item_showcase.split-3 .flexcontainer_showcase.flex-nowrap,
   .section_banner_page .item_showcase.split-2 .flexcontainer_showcase.flex-nowrap,
   .section_showcase .item_showcase.split-2 .flexcontainer_showcase.flex-nowrap{
      /*flex-direction: column;*/
      flex-wrap: wrap !important;
   }
   .section_banner_home .item_showcase.split-2 .flexitem_showcase:not(.hover),
   .section_banner_home .item_showcase.split-2 .flexitem_showcase.hover,
   .section_banner_home .item_showcase.split-3 .flexitem_showcase:not(.hover),
   .section_banner_home .item_showcase.split-3 .flexitem_showcase.hover,
   .section_banner_page .item_showcase.split-2 .flexitem_showcase:not(.hover),
   .section_banner_page .item_showcase.split-2 .flexitem_showcase.hover,
   .section_showcase .item_showcase.split-2 .flexitem_showcase:not(.hover),
   .section_showcase .item_showcase.split-2 .flexitem_showcase.hover{
      flex-basis: 100%;
      width: 100%;
      height: 50%;
      flex-grow: 0;
      flex-shrink: 0;
      overflow: hidden;
   }
      .section_banner_home .item_showcase.split-3 .flexitem_showcase:not(.hover) .showcase-text,
      .section_banner_home .item_showcase.split-3 .flexitem_showcase.hover .showcase-text{
         opacity: 1;
      }

   .section_banner_home .item_showcase.split-3 .flexitem_showcase:not(.hover),
   .section_banner_home .item_showcase.split-3 .flexitem_showcase.hover{
      flex-basis: 100%;
      width: 100%;
      height: 33.4%;
      flex-grow: 0;
      flex-shrink: 0;
      overflow: hidden;
   }


      .section_banner_home .item_showcase.split-2 .showcase-slide.left .showcase-hover, 
      .section_banner_home .item_showcase.split-2 .showcase-slide.left .showcase-static,
      .section_banner_home .item_showcase.split-2 .showcase-slide.right .showcase-hover, 
      .section_banner_home .item_showcase.split-2 .showcase-slide.right .showcase-static,
      .section_banner_home .item_showcase.split-3 .showcase-slide.left .showcase-hover, 
      .section_banner_home .item_showcase.split-3 .showcase-slide.left .showcase-static,
      .section_banner_home .item_showcase.split-3 .showcase-slide.right .showcase-hover, 
      .section_banner_home .item_showcase.split-3 .showcase-slide.right .showcase-static,
      .section_banner_home .item_showcase.split-3 .showcase-slide.mid .showcase-hover, 
      .section_banner_home .item_showcase.split-3 .showcase-slide.mid .showcase-static,
      .section_banner_page .item_showcase.split-2 .showcase-slide.left .showcase-hover, 
      .section_banner_page .item_showcase.split-2 .showcase-slide.left .showcase-static,
      .section_banner_page .item_showcase.split-2 .showcase-slide.right .showcase-hover, 
      .section_banner_page .item_showcase.split-2 .showcase-slide.right .showcase-static,
      .section_showcase .item_showcase.split-2 .showcase-slide.left .showcase-hover, 
      .section_showcase .item_showcase.split-2 .showcase-slide.left .showcase-static,
      .section_showcase .item_showcase.split-2 .showcase-slide.right .showcase-hover, 
      .section_showcase .item_showcase.split-2 .showcase-slide.right .showcase-static{
         padding-left: calc( var(--gridedge) + var(--gridgutter) );
         padding-right: calc( var(--gridedge) + var(--gridgutter) );
      }
      .section_banner_home .item_showcase.split-2 .showcase-slide.left .showcase-text,
      .section_banner_home .item_showcase.split-2 .showcase-slide.right .showcase-text,
      .section_banner_home .item_showcase.split-3 .showcase-slide.left .showcase-text,
      .section_banner_home .item_showcase.split-3 .showcase-slide.right .showcase-text,
      .section_banner_home .item_showcase.split-3 .showcase-slide.mid .showcase-text,
      .section_banner_page .item_showcase.split-2 .showcase-slide.left .showcase-text,
      .section_banner_page .item_showcase.split-2 .showcase-slide.right .showcase-text,
      .section_showcase .item_showcase.split-2 .showcase-slide.left .showcase-text,
      .section_showcase .item_showcase.split-2 .showcase-slide.right .showcase-text{
         width: 100%;
         right: auto;
         left: 0;
         text-align: left;
         top: auto;
         bottom: var(--sectionpad);
         /*top: calc( 25% + var(--sectionpad) );*/
      }
        .item_showcase.split-2 .showcase-slide .showcase-title{
            max-width: unset;
        }
        .item_showcase.split-2 .showcase-slide.right .showcase-title,
        .item_showcase.split-2 .showcase-slide.left .showcase-title{
            margin-left: 0;
            margin-right: 0;
        }
      /*
      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.left .showcase-img,
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img, 
      .section_banner_page .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img{
         height: 150%;
         top: -50%;
         object-position: bottom center;
      }
      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.mid .showcase-img,
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img, 
      .section_banner_page .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img{
         height: 150%;
         top: -25%;
         object-position: bottom center;
      }
      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.right .showcase-img{
         height: 150%;
         top: 0%;
         object-position: bottom center;
      }
      */
      /* ^ This was off because the parallax effect was removed alltogether -- make sure fix image pos if that's the case! */
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img, 
      .section_banner_page .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img{
         height: 150%;
         top: -50%;
         object-position: bottom center;
      }
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img, 
      .section_banner_page .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img{
         height: 150%;
         top: -25%;
         object-position: bottom center;
      }


      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.left .showcase-img,
      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.mid .showcase-img,
      .section_banner_home .item_showcase.split-3 .flexitem_showcase .showcase-slide.right .showcase-img,
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img, 
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img, 
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.left .showcase-img,
      .section_banner_home .item_showcase.split-2 .flexitem_showcase .showcase-slide.right .showcase-img{
         height: 100%;
         width: 100%;
         top: 0;
         translate: none!important;
         rotate: none!important;
         scale: none!important;
         transform: none!important;
         will-change: unset!important;
         object-position: bottom center;
      }

      .section_showcase .flexitem_showcase .showcase-slide.mid .showcase-img, 
      .section_showcase .flexitem_showcase .showcase-slide.right .showcase-img, 
      .section_showcase .flexitem_showcase .showcase-slide.left .showcase-img,
      .section_showcase .flexitem_showcase .showcase-slide.left .showcase-img{
         /*height: calc( (100vw / 7) * 12 );
         width: 100%;
         top: -25%;*/
         height: 100%;
         width: 100%;
         top: 0;
         translate: none!important;
         rotate: none!important;
         scale: none!important;
         transform: none!important;
         will-change: unset!important;
         object-position: bottom center;
      }

      .section_banner_home .banner_nav_split .item_foot, 
      .section_banner_page .banner_img_split .item_foot, 
      .section_banner_page .banner_proj_split .item_foot{
         display: none;
      }


   .section_cta .container_cat_banner{
      min-height: 170vw;
   }
   .section_cta .container_cat_banner .item_image_expand{}
   .section_cta .container_cat_banner .item_tagline{
      /*grid-column: c1 / c11;*/
      grid-column: c0 / c12;
      padding: 0 var(--contentpad2x);
      align-self: end;
      text-align: center;
   }
   .section_cta .container_cat_banner .item_text{
      /*grid-column: c1 / c11;*/
      grid-column: c0 / c12;
      padding: 0 var(--contentpad2x);
      align-self: start;
      text-align: center;
   }

   .form_filters .flexcontainer_filters{}
   .form_filters .flexcontainer_filters .flexitem_title{
      width: 100%;
      padding-right: 0;
      /*padding-bottom: 8px;*/
   }
   .form_filters .tag-limelight > .label{
      font-size: 12px;
      padding: 4px 8px;
   }


   /* HEADER */
   .section_site_header .container_body{
      padding: var(--contentpad2x) 0 var(--contentpad) 0;
      align-items: center;
   }
   .section_site_header .container_body .item_logo{
      grid-column: c0/c8;
      grid-row: 1/2;
      text-align: left;
   }
      .section_site_header .container_body .logo{
         width: 100%;
         height: auto;
         margin: 0 auto 0 0;
      }

   .section_site_header .container_body .item_actions{
      display: none;
   }
   .section_site_header .container_body .item_menu{
      grid-column: c8/c12;
      grid-row: 1/2;
      text-align: right;
   }

   ul#menu-subnav{
      line-height: 1.1;
   }
   ul#menu-subnav > li{
      display: block;
      margin-top: var(--contentpad2x);
   }
   ul#menu-subnav > li:not(:last-child){
      margin-right: 0;
   }



   /* FOOTER */
}
@media only screen and (max-width : 430px) {}


