/* MAIN WP CSS FILE -- DESKTOP FIRST STYLESHEET */

@font-face{ font-family: 'InstrumentSerif'; src: url('../fonts/InstrumentSerif-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face{ font-family: 'InstrumentSerif'; src: url('../fonts/InstrumentSerif-Italic.ttf') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face{ font-family: 'InstrumentSans'; src: url('../fonts/InstrumentSans-Regular.ttf') format('truetype'), font-weight: 400; font-style: normal; font-display: swap; }
@font-face{ font-family: 'AgrandirVariable'; 
   src: url('../fonts/AgrandirVariable-Regular.ttf') format('truetype'), 
   src: url('../fonts/AgrandirVariable-Regular.woff') format('woff'), 
   font-weight: 400; font-style: normal; font-display: swap; 
}

:root{
	--contentpad: 10px;
	--contentpad2x: 20px;
	--contentpad4x: 40px;
	--sectionpad05x: 60px;
	--sectionpad: 120px;
	--sectionpad2x: 240px;
	--boxpad: 40px;
	--boxpad2x: 80px;
	/* var(--colw) & var(--headh) in document */
   --colw: 160px;
   --headh: 84px;
   --footh: 380px;
	--colw05x: calc( var(--colw) / 2 );
	--colw2x: calc( var(--colw) * 2 );
   --colw3x: calc( var(--colw) * 3 );
   --colw4x: calc( var(--colw) * 4 );
	/* sides */
	--gridgutter: 10px;
	--gridedge: 0;
	/* colours */
   --theme-white: #FFFFFF;
	--theme-porcelain: #F6F1EB;
	--theme-clay: #888578;
	--theme-stone: #41433A;
	--theme-charcoal: #222424;
	--theme-olive: #4D3C23;
	--theme-mustard: #785020;
	--theme-jarrah: #5D2013;
	--theme-mahogany: #361D16;
	--theme-cherry: #89172D;
	/* font */
	--fontfam-heading: 'InstrumentSerif', serif;
	--fontfam-text:'AgrandirVariable','InstrumentSans', sans-serif;
   --size-logo: 5.28rem;
	--size-h1: 4.8rem;
	--size-menu: 4.8rem;
	--size-h2: 3.6rem;
	--size-h3:  2.4rem;
	--size-h4: 1.2rem;
	--size-h5: 1.0rem;
	--size-h6: 15px;
	--size-p: 1.0rem;
	--size-p-lrg: 1.2rem;
	--size-p-sml: 0.8rem;
	--size-p-xsml: 15px;
	--size-caption: 15px;
}



html, body {
	margin: 0;
	padding: 0;
	font-size: 25px;
	font-size: calc( 16px + (25 - 16) * (100vw - 980px) / (1920 - 980) );
   font-family: var(--fontfam-text);
	font-weight: 400;
	line-height: 1.4;
	min-width: 320px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
   text-rendering: optimizeLegibility;
   transition: background 0.5s linear;
}



	@media only screen and (min-width : 1921px) {
		html, body {
			font-size: 25px; /* do not scale at larger screen sizes */
		}
	}

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

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--fontfam-heading);
	font-weight: 400;
	line-height: 1.0;
	text-transform: uppercase;
}
	h1, h2, h3, h4, h5, h6{
		margin: var(--contentpad2x) 0;
	}
   .content > h2:not(:last-child), .box > h2:not(:last-child),
   .content > h3:not(:last-child), .box > h3:not(:last-child),
   .content > h4:not(:last-child), .box > h4:not(:last-child),
   .content > h5:not(:last-child), .box > h5:not(:last-child),
   .content > h6:not(:last-child), .box > h6:not(:last-child){
      margin-bottom: var(--contentpad4x);
   }

	h1, .h1{ 
		font-size: var(--size-h1);
	}
	h2, .h2{
		font-size: var(--size-h3);
	}
      h2.larger, .h2.larger,
      h1.smaller, .h1.smaller{
         font-size: var(--size-h2);
      }
	h3, .h3{
		font-size: var(--size-h3);
	}
	h4, .h4{
		font-size: var(--size-h4);
	}
	h5, .h5{
		font-size: var(--size-h5);
	}
	h6, .h6{
		font-size: var(--size-h6);
	}


.text-large{
	font-size: var(--size-p-lrg);
	font-family: var(--fontfam-text);
	text-transform: initial;
	font-weight: 400;
	line-height: 1.3;
}
.text-normal{
	font-size: var(--size-p);
	font-family: var(--fontfam-text);
	text-transform: initial;
	font-weight: 400;
	line-height: 1.3;
}
small,
.text-xsmall{
   font-size: var(--size-p-xsml);
   text-transform: initial;
   font-weight: 400;
   line-height: 1.3;  
}
.text-small{
	font-size: var(--size-p-sml);
	text-transform: initial;
	font-weight: 400;
	line-height: 1.3;
}
.text-caption{
	font-family: var(--fontfam-text);
	font-size: var(--size-caption);
   text-transform: uppercase;
	line-height: 1.3;
}
.text-uppercase{
   text-transform: uppercase;
}

/*--------------------------------------------------------- Wrapper / Inner */
.section { width: 100%; margin: 0 auto; clear: both; position: relative; box-sizing: border-box; }
.section .inner{ max-width: 2560px; 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{
   background-color: rgba(246, 241, 235, 0.99);
   color: #5D2013;
}
*::-moz-selection{
   background-color: rgba(246, 241, 235, 0.99);
   color: #5D2013;
}

img::selection{
   background-color: rgba(93, 32, 19, 0.33);
}
img::-moz-selection{
   background-color: rgba(93, 32, 19, 0.33);
}


div, nav, aside, section, header, footer{ box-sizing: border-box; }
img{ max-width: 100%; height: auto; box-shadow: #000 0em 0em 0em; border: 0; }
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, img.block, svg.block{ display: block; width: 100%; height: auto; }
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.6s ease;
}
button{
   cursor: pointer;
}
select{
	font-family: var(--fontfam-text);
	border-radius: 0; 	
}
textarea{
	font-family: var(--fontfam-text);
}

svg{
	color: inherit;
	fill: inherit;
}

a{ 
	position: relative;
	color: inherit; 
   fill: inherit;
	text-decoration: none; 
	transition: color 0.6s ease 0s, fill 0.6s 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: var(--contentpad) 0;
	padding: 0;
}
ul.inline li{ 
	display: inline-block; 
	vertical-align: middle; 
	margin: 0; 
	padding: 0;
}
ul.inline li:not(:last-child){
	margin-right: var(--contentpad2x);
}

ul.stacked{
	list-style-type: none; 
	margin: var(--contentpad) 0;
	padding: 0;
}
ul.stacked li{ 
	display: block; 
	margin: 0; 
	padding: 0;
}
ul.stacked li:not(:last-child){
	margin-bottom: 8px;
}


/* 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) ".";
}

/*--------------------------------------------------------- THEME: COLOURS */

.bg-white,
.bg-white:not(body) .bg-inherit
.bg-white:not(body) .ajax-load-more-wrap .alm-btn-wrap{
   background-color: var(--theme-white);
}

.bg-porcelain,
.bg-porcelain:not(body) .bg-inherit,
.bg-porcelain:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-porcelain);
}
	.bg-porcelain:not(.boxed),
   .bg-porcelain:not(body) .bg-inherit{
		color: var(--theme-charcoal); fill: var(--theme-charcoal);
	}
	.text-porcelain{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.bg-porcelain:not(.boxed) .text-highlight{
		color: var(--theme-clay); fill: var(--theme-clay);
	}

.bg-clay,
.bg-clay:not(body) .bg-inherit,
.bg-clay:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-clay);
}
	.bg-clay:not(.boxed),
   .bg-clay:not(body) .bg-inherit{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.text-clay{
		color: var(--theme-clay); fill: var(--theme-clay);
	}
	.bg-clay:not(.boxed) .text-highlight{}

.bg-stone,
.bg-stone:not(body) .bg-inherit,
.bg-stone:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-stone);
}
	.bg-stone:not(.boxed),
   .bg-stone:not(body) .bg-inherit{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.text-stone{
		color: var(--theme-stone); fill: var(--theme-stone);
	}
	.bg-stone:not(.boxed) .text-highlight{}

.bg-charcoal,
.bg-charcoal:not(body) .bg-inherit,
.bg-charcoal:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-charcoal);
}
	.bg-charcoal:not(.boxed),
   .bg-charcoal:not(body) .bg-inherit{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.text-charcoal{
		color: var(--theme-charcoal); fill: var(--theme-charcoal);
	}
	.bg-charcoal:not(.boxed) .text-highlight{
		color: var(--theme-clay); fill: var(--theme-clay);
	}

.bg-olive,
.bg-olive:not(body) .bg-inherit,
.bg-olive:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-olive);
}
	.bg-olive:not(.boxed),
   .bg-olive:not(body) .bg-inherit{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.text-olive{
		color: var(--theme-olive); fill: var(--theme-olive);
	}
	.bg-olive:not(.boxed) .text-highlight{
		color: var(--theme-clay); fill: var(--theme-clay);
	}

.bg-jarrah,
.bg-jarrah:not(body) .bg-inherit,
.bg-jarrah:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-jarrah);
}
	.bg-jarrah:not(.boxed),
   .bg-jarrah:not(body) .bg-inherit{
		color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}
	.text-jarrah{
		color: var(--theme-jarrah); fill: var(--theme-jarrah);
	}
	.bg-jarrah:not(.boxed) .text-highlight{
		color: var(--theme-clay); fill: var(--theme-clay);
	}


.bg-mahogany,
.bg-mahogany:not(body) .bg-inherit,
.bg-mahogany:not(body) .ajax-load-more-wrap .alm-btn-wrap{
	background-color: var(--theme-mahogany);
}
	.bg-mahogany:not(.boxed),
   .bg-mahogany:not(body) .bg-inherit{
		/*color: var(--theme-porcelain); fill: var(--theme-porcelain);*/
      color: var(--theme-clay); fill: var(--theme-clay);
	}
	.text-mahogany{
		color: var(--theme-mahogany); fill: var(--theme-mahogany);
	}
	.bg-mahogany:not(.boxed):not(footer) .text-highlight{
		/*color: var(--theme-clay); fill: var(--theme-clay);*/
      color: var(--theme-porcelain); fill: var(--theme-porcelain);
	}


.text-cherry{
	color: var(--theme-cherry); fill: var(--theme-cherry);
}

/* fix overlap in colour change sections? Might be dependencies in inheriting colour... */
/*
.section[data-bg],
.grid-container[data-scroll-call="changeBG"]{
   background-color: transparent!important;
}
*/



/*--------------------------------------------------------- THEME: BUTTONS */
.btn-inline,
.btn-clear{
   display: inline-block;
   vertical-align: baseline;
   border: 0;
   border-radius: 0;
   box-sizing: border-box;
   text-decoration: none!important;
   font-family: var(--fontfam-heading);
   font-weight: 400;
   line-height: 1.0;    
   font-size: var(--size-h4);
   text-transform: uppercase;
   padding: 0 0;
   color: inherit;
   fill: inherit;
   transition: all 0.6s ease;
}
	.btn-inline{
		display: block;
	}
	.btn-clear{
		background-color: transparent;
	}


p.readmores{
	display: block;
	position: relative;
	min-height: calc( var(--size-h4) * 4 );
   padding-bottom: var(--size-h4)
	box-sizing: border-box;
   padding-left: 10px;
   left: -10px;
   overflow: hidden;
}
   p.readmores::before{
   	content: '';
   	display: block;
   	position: absolute;
   	width: 0px;
   	height: 100%;
   	border-left: 1px solid currentColor;
   	top: 0;
    	left: 0;
   }
   p.readmores *:not(:last-child){
   	margin-bottom: 10px;
   }

   p.readmores[data-scroll]:not(.is-inview)::before{
      height: 0px;
      opacity: 0;
      transition: height 0.6s ease, opacity 0.6s ease;
   }
   p.readmores[data-scroll].is-inview::before{
      height: 100%;
      opacity: 1;
      transition: height 0.6s ease, opacity 0.2s ease;
   }



@media (hover: hover){

	body:not(.is-device_android) a:not([class]):hover{
/*      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;*/
      /*font-style: italic;*/
      color: var(--theme-porcelain); fill: var(--theme-porcelain);
      text-decoration: none;
      transition: color 0.6s ease 0s, fill 0.6s ease 0s; 
   }
      body:not(.is-device_android) .bg-porcelain:not(.boxed) a:not([class]):hover{
         color: var(--theme-clay); fill: var(--theme-clay);
      }
      body:not(.is-device_android) .section_site_footer.bg-porcelain:not(.boxed) a:not([class]):hover,
      body:not(.is-device_android) .section_site_header.bg-porcelain:not(.boxed) a:not([class]):hover{
         color: var(--theme-charcoal); fill: var(--theme-charcoal);
      }

      body:not(.is-device_android) .section_site_footer:not(.bg-porcelain) a:hover,
      body:not(.is-device_android) .section_site_header:not(.bg-porcelain) .text-highlight a:not([class]):hover,
      body:not(.is-device_android) .section_site_header:not(.bg-porcelain) .text-highlight button:hover{
         color: var(--theme-porcelain); fill: var(--theme-porcelain);
      }

/*
   body:not(.is-device_android) a.card_link:hover .line{
      font-style: italic;
      text-decoration: none;
      transition: color 0.35s ease 0s, fill 0.35s ease 0s; 
   }
*/
   body:not(.is-device_android) a.card_link .card-image,
   body:not(.is-device_android) a.slide_link .slide-image{
      transform: scale(1.0);
      transition: all 0.6s ease; 
   }
      body:not(.is-device_android) a.card_link:hover .card-image,
      body:not(.is-device_android) a.slide_link:hover .slide-image{
         transform: scale(1.08);
         transition: all 0.95s ease; 
      }

   body:not(.is-device_android) a.card_link .text-wrapper,
   body:not(.is-device_android) a.slide_link .text-wrapper{
      transition: padding 0.6s ease; 
   }
      body:not(.is-device_android) .section_archive_projects .container_projects .item_project:nth-child(2n+1) a.card_link:hover .text-wrapper,
      body:not(.is-device_android) a.slide_link:hover .text-wrapper{
         padding-left: 10px;
         transition: padding 0.6s ease; 
      }
      body:not(.is-device_android) .section_archive_projects .container_projects .item_project:nth-child(2n+2) a.card_link:hover .text-wrapper{
         padding-right: 10px;
         transition: padding 0.6s ease; 
      }


   body:not(.is-device_android) a.btn-inline:hover,
   body:not(.is-device_android) button.btn-inline:hover{
      padding-left: 10px;
      transition: all 0.6s ease; 
      /*font-style: italic;
      text-decoration: none;
      transition: color 0.35s ease 0s, fill 0.35s ease 0s; */
   }
   /*
      body:not(.is-device_android) a.btn-inline::before,
      body:not(.is-device_android) button.btn-inline::before{
         content: '';
         display: block;
         position: absolute;
         mask-image: url('../images/icon-arrow_slider_right.svg');
         -webkit-mask-image: url('../images/icon-arrow_slider_right.svg');
         mask-size: auto 100%;
         -webkit-mask-size: auto 100%;
         mask-position: center right;
         -webkit-mask-position: center right;
         background-color: currentColor;
         width: 30px;
         height: 20px;
         left: -40px;
         top: 5px;
         opacity: 0;
         transition: all 0.6s ease; 
      }
         body:not(.is-device_android) a.btn-inline:hover::before,
         body:not(.is-device_android) button.btn-inline:hover::before{
            left: -10px;
            opacity: 1;
            transition: all 0.6s ease; 
         }
      */


}

/*--------------------------------------------------------- GRID: FOR BODY LAYOUR */

/* 12 parts grid @ max-width 2560px */
.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;
}
	@media only screen and (min-width: 2562px){
		:root{
			--gridedge: calc( (100vw - 2560px) / 2);
		}
	}

.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{
		display: block;
		padding: var(--contentpad) var(--contentpad);
		box-sizing: border-box;
	}
	.content > .box{
		padding: var(--boxpad2x) var(--boxpad);
	}

	.content.text > *:first-child,
	.box.text > *:first-child{ margin-top: 0; }
	.content.text > *:last-child,
	.box.text > *:last-child{ margin-bottom: 0; }	


.container_items.colw_12 .item_col{
	grid-column: c0/c12;	
}
	.container_items.colw_12 .item_col:not(:last-child){
		padding-bottom: var(--sectionpad05x);
	}

.container_items.colw_edge .item_col{
	grid-column: screenleft/screenright;	
}
	.container_items.colw_edge .item_col .content{
		padding: 0 0;
	}

@media only screen and (min-width : 981px) {

	.container_items.colw_3_9 .item_col{
		grid-column: c3/c9;
	}
	.container_items.colw_2_10 .item_col{
		grid-column: c2/c10;
	}

	.container_items.colw_6 .item_col:nth-child(2n+1){
		grid-column: c0/c6;
	}
	.container_items.colw_6 .item_col:nth-child(2n+2){
		grid-column: c6/c12;
	}

	.container_items.colw_4 .item_col:nth-child(3n+1){
		grid-column: c0/c4;
	}
	.container_items.colw_4 .item_col:nth-child(3n+2){
		grid-column: c4/c8;
	}
	.container_items.colw_4 .item_col:nth-child(3n+3){
		grid-column: c8/c12;
	}

	.container_items.colw_3 .item_col:nth-child(4n+1){
		grid-column: c0/c3;
	}
	.container_items.colw_3 .item_col:nth-child(4n+2){
		grid-column: c3/c6;
	}
	.container_items.colw_3 .item_col:nth-child(4n+3){
		grid-column: c6/c9;
	}
	.container_items.colw_3 .item_col:nth-child(4n+4){
		grid-column: c9/c12;
	}
}

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

	.container_items.colw_6 .item_col,
	.container_items.colw_4 .item_col,
	.container_items.colw_3 .item_col{
		grid-column: c0/c12;
	}
		.container_items.colw_6 .item_col:not(:last-child),
		.container_items.colw_4 .item_col:not(:last-child),
		.container_items.colw_3 .item_col:not(:last-child){
			padding-bottom: var(--sectionpad05x);
		}
}


.grid-container-inner{
   display: grid;
   grid-template-columns: [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];
   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-inner .grid-item-inner{
      grid-column: c0/c12;
      grid-row: auto;
      position: relative;
      box-sizing: border-box;
   }
   .grid-container-inner .grid-item-inner.item_wedge,
   .grid-container-inner .grid-item-inner.item_w12{
      grid-column: auto/span 12;
   }
   .grid-container-inner .grid-item-inner.item_w11{
      grid-column: auto/span 11;
   }
   .grid-container-inner .grid-item-inner.item_w10{
      grid-column: auto/span 10;
   }
   .grid-container-inner .grid-item-inner.item_w9{
      grid-column: auto/span 9;
   }
   .grid-container-inner .grid-item-inner.item_w8{
      grid-column: auto/span 8;
   }
   .grid-container-inner .grid-item-inner.item_w7{
      grid-column: auto/span 7;
   }
   .grid-container-inner .grid-item-inner.item_w6{
      grid-column: auto/span 6;
   }
   .grid-container-inner .grid-item-inner.item_w5{
      grid-column: auto/span 5;
   }
   .grid-container-inner .grid-item-inner.item_w4{
      grid-column: auto/span 4;
   }
   .grid-container-inner .grid-item-inner.item_w3{
      grid-column: auto/span 3;
   }
   .grid-container-inner .grid-item-inner.item_w2{
      grid-column: auto/span 2;
   }
   .grid-container-inner .grid-item-inner.item_w1{
      grid-column: auto/span 1;
   }
   /* align */
   .grid-container-inner .grid-item-inner.self_bottom{
      align-self: end;
   }
   .grid-container-inner .grid-item-inner.self_center{
      align-self: center;
   }
   /* left/right pad */
   .grid-container-inner .grid-item-inner.left_1{
      padding-left: var(--colw);
   }
   .grid-container-inner .grid-item-inner.left_2{
      padding-left: var(--colw2x);
   }
   .grid-container-inner .grid-item-inner.left_3{
      padding-left: var(--colw3x);
   }
   .grid-container-inner .grid-item-inner.right_1{
      padding-right: var(--colw);
   }
   .grid-container-inner .grid-item-inner.right_2{
      padding-right: var(--colw2x);
   }
   .grid-container-inner .grid-item-inner.right_3{
      padding-right: var(--colw3x);
   }


/*--------------------------------------------------------- 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-parts-auto{ flex-grow: 1; flex-shrink: 1; }
			.flex-container .flex-item.flex-parts-100{ flex-basis: 100%; width:100%; }
			.flex-container .flex-item.flex-parts-75{ flex-basis: 75%; width: 75%; }
			.flex-container .flex-item.flex-parts-50{ flex-basis: 50%; width: 50%; }
			.flex-container .flex-item.flex-parts-25{ flex-basis: 25%; width: 25%; }
			.flex-container .flex-item.flex-parts-66{ flex-basis: 66.66%; width: 66.66%; }
			.flex-container .flex-item.flex-parts-33{ flex-basis: 33.33%; width: 33.33%; }


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*---------------------------------------------- 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;
   /* until fix scroll - do not add bg */
   /*background-color: transparent;*/
}
   body:not(.scrolling) #site-header{
      top: 0;
      background-color: transparent;
   }
	body.menu-open #site-header,
   body:not(.scrolling).menu-open #site-header,
	body.scrolling.menu-open #site-header{
      top: 0;
      background-color: transparent;
      color: var(--theme-clay);
      fill: var(--theme-clay);
   }

	body.scrolling:not(.scroll-up):not(.menu-open) #site-header{
		top: -100px;
		transition: all 0.35s ease;
	}

.section_site_header{}
   .section_site_header .container_body{
      align-items: center;
   }
	.section_site_header .container_body .item_logo{
		grid-column: c5/c7;
      text-align: center;
	}
       .section_site_header .container_body .item_logo .logo{
         display: inline-block;
         vertical-align: middle;
         max-height: 26px;
         width: auto;
         max-width: 100%;
         height: auto;
       }
	.section_site_header .container_body .item_menu{
		grid-column: c10/c12;
		justify-self: end;
	}
      .section_site_header #toggle_site-menu{
         /*padding-right: var(--contentpad2x);*/
      }

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

#site-menu{
	position: fixed;
	z-index: 403;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
}

.section_site_menu{}
.section_site_menu .container_nav{
   height: 100%;
   padding: var(--sectionpad) 0;
  /* overflow: hidden;
   overflow-y: auto;*/
   overflow: auto;
   align-items: center;
   -ms-overflow-style: none;
   scrollbar-width: none; 
   -webkit-overflow-scrolling: touch
}
   .section_site_menu .container_nav::-webkit-scrollbar{
      display: none;
      width: 0;
      height: 0;
      background: transparent;
   }


.section_site_menu .container_nav .item_nav{
   grid-column: c1/c11;
   text-align: center;
}
   .section_site_menu .container_nav .item_nav > .content:not(:last-child){
      padding-bottom: var(--sectionpad05x);
   }


ul.menu-mainnav{
   list-style-type: none;
   margin: 0;
   padding: 0;
   font-size: var(--size-h1);
   font-family: var(--fontfam-heading);
   font-weight: 400;
   line-height: 1.0;
   text-transform: uppercase;
   position: relative;
}
ul.menu-mainnav > li{
   display: block;
   position: relative;
   margin: 0;
}
   ul.menu-mainnav > li:not(:last-child){
      margin-bottom: 8px;
   }
   ul.menu-mainnav > li > a{}

   /* ERROR - these animations do not run??? */
   body:not(.menu-open) #site-menu #menu-mainnav li{
      top: -30px;
      opacity: 0;
      transition: top 0.6s ease, opacity 0.6s ease;
   }
   body.menu-open #site-menu #menu-mainnav li{
      top: 0;
      opacity: 1;
      /*transition: top 0.6s ease, opacity 0.2s ease;*/
   }
      body.menu-open #site-menu #menu-mainnav li:nth-child(1){
        transition: top 0.6s ease 0.70s, opacity 0.2s ease 0.70s;
      }
      body.menu-open #site-menu #menu-mainnav li:nth-child(2){
         transition: top 0.6s ease 0.80s, opacity 0.2s ease 0.80s;
      }
      body.menu-open #site-menu #menu-mainnav li:nth-child(3){
         transition: top 0.6s ease 0.90s, opacity 0.2s ease 0.90s;
      }
      body.menu-open #site-menu #menu-mainnav li:nth-child(4){
         transition: top 0.6s ease 1.00s, opacity 0.2s ease 1.00s;
      }
      body.menu-open #site-menu #menu-mainnav li:nth-child(5){
         transition: top 0.6s ease 1.10s, opacity 0.2s ease  1.10s;
      }
      body.menu-open #site-menu #menu-mainnav li:nth-child(n+6){
         transition: top 0.6s ease 1.20s, opacity 0.2s ease  1.20s;
      }

   body #site-menu #menu-header_social{
      position: relative;
      top: -30px;
      opacity: 0;
      transition: top 0.6s ease, opacity 0.6s ease;
   }
   body.menu-open #site-menu #menu-header_social{
      position: relative;
      top: 0;
      opacity: 1;
      transition: top 0.6s ease 1.30s, opacity 0.2s ease 1.30s;
   }

/*
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{}
*/

@media (hover: hover){

   body:not(.is-device_android) ul.menu-mainnav > li > a{
      transition: color 0.6s ease 0s, fill 0.6s ease 0s; 
   }
	body:not(.is-device_android) ul.menu-mainnav > li > a:hover{
      color: var(--theme-porcelain);
      text-decoration: none;
      transition: color 0.95s ease 0s, fill 0.95s ease 0s; 
   }

   body:not(.is-device_android) #toggle_site-menu:hover{}
   body:not(.is-device_android) #toggle_site-menu:hover svg{
      animation: spin 9.0s linear infinite;
      transform-origin: center;
   }
}

@keyframes spin { 100%{ transform: rotate(360deg); } }
@-moz-keyframes spin { 100%{ -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100%{ -webkit-transform: rotate(360deg); } }

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

/*
#page-main{
   position: relative;
   z-index: 2;
   padding-bottom: var(--footh);
}
#site-footer{
   position: fixed;
   bottom: 0;
}
*/

.section_site_footer{
   padding: var(--sectionpad2x) 0 var(--contentpad) 0;
	font-size: var(--size-p-sml);
   line-height: 1.2;
}
.section_site_footer .container_body{}
	.section_site_footer .container_body .item_logo{
		grid-column: c0/c5;
		grid-row: 1/3;
	}
      .section_site_footer .flexcontainer_logo{
         width: 100%;
         max-width: 100%;
      }
         .section_site_footer .flexcontainer_logo svg{
            display: block;
            width: 100%;
            height: var(--size-logo);
            max-height: initial;
            max-width: 100%;
         }
         .section_site_footer .flexcontainer_logo .flexitem_l1{
            max-width: 30%;
         }
         .section_site_footer .flexcontainer_logo .flexitem_l2{
            flex-grow: 1;
            flex-shrink: 1;
         }
         .section_site_footer .flexcontainer_logo .flexitem_l3{
            max-width: 30%;
         }

	.section_site_footer .container_body .item_acknowl{
		grid-column: c6/c11;
		grid-row: 1/2;
		padding-right: var(--colw05x);
	}
	.section_site_footer .container_body .item_social{
		grid-column: c11/c12;
		grid-row: 1/2;
	}
      .section_site_footer ul.stacked li{
         line-height: 1.0;
      }
      .section_site_footer ul.stacked li:not(:last-child){
         margin-bottom: 0.28em;
      }

	.section_site_footer .container_body .item_copyr{
		grid-column: c6/c11;
		grid-row: 2/3;
		font-size: var(--size-p-xsml);
	}
	.section_site_footer .container_body .item_siteby{
		grid-column: c11/c12;
		grid-row: 2/3;
		font-size: var(--size-p-xsml);
	}


ul.menu-footernav{}
ul.menu-footernav > li{}
ul.menu-footernav > li > a{}

@media (hover: hover){
	body:not(.is-device_android) ul.menu-footernav > li > a:hover{}
}

/*-------- BANNER ---------------------------------------------------------- */

.section.section_banner_page{
   text-align: center;
}
   .section_banner_page .content.blurb-wrapper{
      position: relative;
      padding-top: var(--contentpad4x);
      max-width: calc( var(--colw) * 4 );
      margin: 0 auto;
   }
   .section_banner_page .content.summary-wrapper{
      position: relative;
      padding-top: var(--contentpad4x);
      max-width: calc( var(--colw) * 6 );
      margin: 0 auto;
   }

   .section_banner_page .content.blurb-wrapper[data-scroll]:not(.is-inview),
   .section_banner_page .content.summary-wrapper[data-scroll]:not(.is-inview),
   .section_banner_page .content.actions-wrapper[data-scroll]:not(.is-inview){
      top: -30px;
      opacity: 0;
      transition: top 0.6s ease, opacity 0.6s ease;
   }
   .section_banner_page .content.blurb-wrapper[data-scroll].is-inview,
   .section_banner_page .content.summary-wrapper[data-scroll].is-inview,
   .section_banner_page .content.actions-wrapper[data-scroll].is-inview{
      top: 0;
      opacity: 1;
      transition: top 0.6s ease, opacity 0.6s ease;
   }

.section_banner_page.banner_image{
   padding: 0;
}
   .section_banner_page.banner_image .container_tall_image{
      height: 100vh;
   }
   .section_banner_page.banner_image .container_tall_image .item_image{
      grid-column: screenleft/screenright;
      grid-row: 1/2;
   }
   .section_banner_page.banner_image .container_tall_image .item_heading{
      grid-column: c1/c11;
      grid-row: 1/2;
      align-self: end;
      /*padding-bottom: var(--contentpad);*/
      padding-bottom: var(--sectionpad05x);
      color: var(--theme-porcelain);
      fill: var(--theme-porcelain);
   }

.section_banner_page.banner_text_tall{
   padding: 0;   
}
   .section_banner_page.banner_text_tall .container_tall_text{
      height: calc( 100vh - var(--sectionpad) );
      grid-template-rows: auto 1fr auto
   }
   .section_banner_page.banner_text_tall .container_tall_text .item_heading{
      grid-column: c1/c11;
      padding-top: calc( var(--sectionpad) + var(--headh) );
      padding-bottom: var(--boxpad);
/*      align-self: start;*/
   }
   .section_banner_page.banner_text_tall .container_tall_text .item_line{}

.section_banner_page.banner_text_short{
   padding: calc( var(--sectionpad) + var(--headh) ) 0 var(--sectionpad) 0;
}
   .section_banner_page.banner_text_short .container_text{}
   .section_banner_page.banner_text_short .container_text .item_heading{
      grid-column: c1/c11;
   }
   .section_banner_page.banner_text_short .container_text .item_details{
      padding-top: var(--sectionpad);
      padding-bottom: 0;
   }
      button.toggle_project-details{
         white-space: nowrap;
      }
      button.toggle_project-details::after{
         content: '';
         display: inline-block;
         vertical-align: top;
         font-size: inherit;
         line-height: var(--size-h4);
         font-family: inherit;
      }
      button.toggle_project-details[aria-expanded="false"]::after{
         content: '\A0\A0+';
      }
      button.toggle_project-details[aria-expanded="true"]::after{
         content: '\A0\A0-';
      }


.section.section_banner_page.section_banner_project{}
.section.section_project_details{
   padding: 0;
   padding-bottom: var(--sectionpad05x);
}
   .section_project_details .container_details{
      padding: var(--sectionpad) 0 var(--sectionpad) 0;
   }
      .section_project_details .container_details .item_text{
         grid-column: c3/c9;
         font-size: var(--size-p-sml);
         text-align: left;
      }
         .section_project_details .container_details .item_text h2{
            display: block;
            text-align: center;
            color: var(--theme-clay);
            /*margin-bottom: var(--contentpad2x);*/
         }
         .section_project_details .container_details .item_text ul:not([class]),
         .section_project_details .container_details .item_text ol:not([class]){
            font-size: var(--size-p-xsml);
         }
         .section_project_details .container_details .item_text .content:not(:last-child){
            margin-bottom: var(--sectionpad05x);
         }
      .section_project_details .container_details .item_actions{
         padding-top: var(--sectionpad);
         text-align: center;
      }

   .section_project_details .container_article_summary{
      padding-top: var(--sectionpad);
   }
      .section_project_details .container_article_summary .item_image{
         grid-column: c2/c10;
      }
      .section_project_details .container_article_summary .item_text{
         grid-column: c3/c9;
         text-align: center;
      }
         .section_project_details .container_article_summary .item_text:not(:first-child){
            padding-top: var(--sectionpad05x);
         }

         ul.project-overview{
            position: relative;
         }
         ul.project-overview h3{
            margin: 0 0 4px 0;
         }
         ul.project-overview p{
            margin: 0;
         }
         ul.project-overview li{
            display: block;
            position: relative;
         }
         ul.project-overview li:not(:last-child){
            margin-bottom: var(--contentpad2x);
         }

         /* data-scroll data-scroll-offset="10%,10%" data-scroll-call="fadeUp" */
         *[data-scroll][data-scroll-call="fadeUp"]:not(.is-inview){
            position: relative;
            top: -30px;
            opacity: 0;
            /*transition: top 0.6s ease, opacity 0.6s ease;*/
            transition: all 0.6s ease;
         }
         *[data-scroll][data-scroll-call="fadeUp"].is-inview{
            position: relative;
            top: 0;
            opacity: 1;
            /*transition: top 0.6s ease, opacity 0.6s ease;*/
            transition: all 0.6s ease;
         }


.section_banner_page.banner_none{
   /*padding: 0;*/
   padding: calc( var(--sectionpad05x) + var(--headh) ) 0 0 0;
   /*padding: var(--headh) 0 0 0;*/
}


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

.section{
	position: relative;
	box-sizing: border-box;
	padding: var(--sectionpad2x) 0;
   /*transition: background 0.5s linear;*/
   transition: background 0.6s ease;
}
	.section[data-bg="bg-porcelain"]:not(.banner_none):not(.section_hero) + [data-bg="bg-porcelain"]:not(.section_site_footer),
	.section[data-bg="bg-clay"]:not(.banner_none):not(.section_hero) + [data-bg="bg-clay"]:not(.section_site_footer),
	.section[data-bg="bg-stone"]:not(.banner_none):not(.section_hero) + [data-bg="bg-stone"]:not(.section_site_footer),
	.section[data-bg="bg-charcoal"]:not(.banner_none):not(.section_hero) + [data-bg="bg-charcoal"]:not(.section_site_footer),
	.section[data-bg="bg-olive"]:not(.banner_none):not(.section_hero) + [data-bg="bg-olive"]:not(.section_site_footer),
	.section[data-bg="bg-jarrah"]:not(.banner_none):not(.section_hero) + [data-bg="bg-jarrah"]:not(.section_site_footer),
	.section[data-bg="bg-mahogany"]:not(.banner_none):not(.section_hero) + [data-bg="bg-mahogany"]:not(.section_site_footer){
/*		padding-top: 0;*/
      padding-top: var(--sectionpad05x);
	}

   .bg-inherit{
      /*transition: background 0.5s linear;*/
      transition: background 0.6s ease;
   }

/* LINE */
.scroll-wrapper{
   width: 100%;
   overflow: visible;
}
   .section__line{
      position: absolute;
      top: 0;
      bottom: auto;
      left: 50%;
      transform: translate(-50%,0);
      height: 0px;
      width: 0px;
      border-right: 1px solid currentColor;
      transition: height 1.2s ease, width 1.2s ease;
      margin-left: 0.5px;
      color: var(--theme-clay);
   }
   .section__line-horrizontal{
      position: absolute;
      top: 0;
      bottom: auto;
      left: 0;
      transform: translate(0,0);
      height: 0px;
      width: 0px;
      border-bottom: 1px solid currentColor;
      transition: height 1.2s ease, width 1.2s ease;
      color: var(--theme-clay);
   }


   /* V1 LINE - DRAW ON LOAD */
  .scroll-wrapper.draw-wrapper[data-scroll]:not([data-scroll-call]):not(.is-inview) > .section__line{
      height: 0px;
      transition: height 1.2s ease, width 1.2s ease;
  }
  .scroll-wrapper.draw-wrapper[data-scroll]:not([data-scroll-call]).is-inview > .section__line{
      height: 100%;
      transition: height 1.2s ease, width 1.2s ease;
  }

  .scroll-wrapper.draw-wrapper[data-scroll]:not([data-scroll-call]):not(.is-inview) > .section__line-horrizontal{
      width: 0px;
      transition: height 1.2s ease, width 1.2s ease;
  }
  .scroll-wrapper.draw-wrapper[data-scroll]:not([data-scroll-call]).is-inview > .section__line-horrizontal{
      width: 100%;
      transition: height 1.2s ease, width 1.2s ease;
  }



  /* V2 LINE - DRAW ON SCROLL SPEED */
  .scroll-wrapper[data-scroll-call="scrollDrawLine"] .section__line:not(.is-inview){
      transition: none;
  }
  .scroll-wrapper[data-scroll-call="scrollDrawLine"] .section__line.is-inview{
      transition: none;
  }

  .scroll-wrapper:not(.draw-wrapper)[data-scroll]:not([data-scroll-call]) > .section__line{
      height: 100%;
  }


  /*
      .section.draw-line .section__line{
         height: 100%;
         transition: height 0.6s ease, width 0.6s ease;
      }

      .section_hero_scaleup.draw-line .container_hero_scale .item_image .image-animation{
         width: 100%;
         transition: width 0.5s ease;
      }
      .section__line:not([data-aos]){
         height: 100%;
      }
      .section_hero_scaleup:not([data-aos]) .container_hero_scale .item_image .image-animation{
         width: 100%;
         transition: width 0.5s ease;
      }
      *.aos-init:not(.aos-animate)[data-aos="drawline"]{
         height: 0%;
         opacity: 0;
         transition: height 0.6s ease, width 0.6s ease, opacity: 0.2s ease;
      }
      *.aos-init.aos-animate[data-aos="drawline"] {
         height: 100%;
         opacity: 1;
         transition: height 0.6s ease, width 0.6s ease, opacity: 0.2s ease;
      }
*/


.lerp[data-scroll]{
   display: block;
   position: relative;
}
   .lerp[data-scroll] .line{
      display: block;
      position: relative;
      opacity: 0;
      top: -30px;
      transition: inherit;
      white-space: nowrap;
      transition: all 0.6s ease;
      animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
   }
.lerp[data-scroll].is-inview{}
   .lerp[data-scroll].is-inview .line{
      opacity: 1;
      top: 0px;
      transition: all 0.6s ease;
      animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
   }
   .lerp[data-scroll].is-inview .line:nth-child(1){
      transition-delay: 0.15s;
   }
   .lerp[data-scroll].is-inview .line:nth-child(2){
      transition-delay: 0.30s;
   }
   .lerp[data-scroll].is-inview .line:nth-child(3){
      transition-delay: 0.45s;
   }
   .lerp[data-scroll].is-inview .line:nth-child(4){
      transition-delay: 0.60s;
   }
   .lerp[data-scroll].is-inview .line:nth-child(n+5){
      transition-delay: 0.75s;
   }



.section.section_feat_list{
   padding: var(--sectionpad2x) 0;
}
   .section_feat_list .container_heading{
      /*padding-bottom: var(--sectionpad);*/
   }
   .section_feat_list .container_heading .item_heading{
      grid-column: c2/c10;
      text-align: center;
   }

   .section_feat_list .container_feats{
      text-align: center;
      padding: var(--sectionpad) 0 0 0;
   }
   .section_feat_list .container_feats .item_feat{
      padding: var(--contentpad) 0;
      position: relative;
   }
      .section_feat_list .container_feats .item_feat.is-inview{}

      .section_feat_list .container_feats .item_feat::before{
         content: '';
         display: block;
         width: calc( 100% - var(--contentpad2x) );
         height: 0px;
         border-top: 1px solid currentColor;
         position: absolute;
         top: 0;
         left: var(--contentpad);
      }
         .section_feat_list .container_feats .item_feat[data-scroll]:not(.is-inview){
            top: -30px;
            opacity: 0;
            transition: top 0.6s ease, opacity 0.6s ease;
         }
         .section_feat_list .container_feats .item_feat[data-scroll].is-inview{
            top: 0;
            opacity: 1;
            transition: top 0.6s ease, opacity 0.6s ease;
         }

         .section_feat_list .container_feats .item_feat[data-scroll]:not(.is-inview)::before,
         .section_feat_list .container_feats .item_feat[data-scroll]:not(.is-inview)::after{
            width: 0px;
            opacity: 0;
            transition: width 0.6s ease, opacity 0.6s ease;
         }
         .section_feat_list .container_feats .item_feat[data-scroll].is-inview::before,
         .section_feat_list .container_feats .item_feat[data-scroll].is-inview::after{
            width: calc( 100% - var(--contentpad2x) );
            opacity: 1;
            transition: width 0.6s ease, opacity 0.2s ease;
         }


      .section_feat_list .container_feats .item_feat:last-child::after{
         content: '';
         display: block;
         width: calc( 100% - var(--contentpad2x) );
         height: 0px;
         border-bottom: 1px solid currentColor;
         position: absolute;
         bottom: 0;
         left: var(--contentpad);
      }
   .section_feat_list .container_feats .item_feat .image-hover{
      display: block;
      position: absolute;
      z-index: 111;
      width: var(--colw2x);
      right: var(--colw);
      top: calc( var(--sectionpad) * -1 );
      opacity: 0;
      transition: opacity 0.35s ease 0s; 
   }  
      /* first N */
      .section_feat_list .container_feats .item_feat:nth-child(-n + 3) .image-hover{}
      /* last N */
      .section_feat_list .container_feats .item_feat:nth-last-child(-n + 3) .image-hover{}

      .section_feat_list .container_feats .item_feat .image-hover img{
         display: block;
         width: 100%;
         height: auto;
         aspect-ratio: 9/12;
         object-fit: cover;
      }
   .section_feat_list .container_feats .item_feat h3{
      margin: 0;
      font-family: var(--fontfam-text);
      text-transform: uppercase;
      margin-top: 0.18em;
   }

.section.section_feat_waterfall{
	padding: var(--sectionpad2x) 0;
}

	.section_feat_waterfall .container_feats{
		grid-template-rows: 
			[tag-t] var(--size-h3)
			[img1-t] auto
			[tag-b] var(--size-h3)
			[img2-t] var(--sectionpad2x)
			[img1-b] auto
			[img3-t] var(--size-h3) 
			[img2-b] auto
			[img4-t] var(--sectionpad2x)
			[img3-b] auto
			[img4-b] auto
	}
	.section_feat_waterfall .container_feats .item_heading{
		grid-column: c4/c8;
		text-align: center;
		grid-row: tag-t/tag-b;
      align-self: start;
/*		z-index: 5;*/
      padding: var(--boxpad) 0;
      margin-top: calc( var(--boxpad) * -1 );
	}
      .section_feat_waterfall .container_feats .item_heading > .content{
         z-index: 15;
         position: relative;
      }

 	.section_feat_waterfall .container_feats .item_feat{}
		.section_feat_waterfall .container_feats .item_feat.feat-1{
			grid-column: c7/c11;
			grid-row: img1-t/img1-b;
			/*padding-top: calc( var(--size-h1) / 2 );*/
		}
		.section_feat_waterfall .container_feats .item_feat.feat-2{
			grid-column: c1/c5;
			grid-row: img2-t/img2-b;
		}
		.section_feat_waterfall .container_feats .item_feat.feat-3{
			grid-column: c7/c10;
			grid-row: img3-t/img3-b;
		}
		.section_feat_waterfall .container_feats .item_feat.feat-4{
			grid-column: c2/c5;
			grid-row: img4-t/img4-b;
		}

.section.section_hero{
   z-index: 1;
}
.section.section_hero_box{
   padding: 0;
}
   .section_hero_box .container_hero_box{
      grid-template-rows: [top] 1fr [mid] 1fr [btm] auto [box] var(--sectionpad2x) [pad];
   }
   .section_hero_box .container_hero_box .item_bg{
      grid-column: screenleft/screenright;
      grid-row: mid / pad;
   }
   .section_hero_box .container_hero_box .item_image{
      grid-column: c0/c12;
      grid-row: top / btm;
   }
   .section_hero_box .container_hero_box .item_box{
      grid-column: c4/c8;
      grid-row: mid / pad;
      text-align: center;
      align-self: end;
      /*top: var(--sectionpad2x);*/
   }
      /*.section_hero_box .container_hero_box .item_box .box{}*/
      .box > .box-flex-container{
         display: flex;
         flex-wrap: wrap;
         align-items: center;
         height: 100%;
         padding: 0;
         /*min-height: 16vw;*/
         min-height: var(--sectionpad2x);
      }
      .box > .box-flex-container .box-flex-inner{}

   .section_hero_box .container_hero_inline{}
   .section_hero_box .container_hero_inline .item_image{
      grid-column: c0/c12;
   }
   .section_hero_box .container_hero_inline .item_caption{
      grid-column: c0/c3;
      height: 0;
      overflow: visible;
   }

.section.section_hero_scaleup{
   padding: 0!important;
}
   .section_hero_scaleup .container_hero_scale .item_image{
      grid-column: c0/c12;
   }
      .section_hero_scaleup .container_hero_scale .item_image .image-animation{
         position: relative;
         margin: 0 auto;
         /*width: var(--colw4x);*/
         transition: width 0.2s linear;
      }
         .section_hero_scaleup .container_hero_scale .item_image .image-animation[data-scroll-call="scrollScaleUp"]{
            width: var(--colw4x);
         }


      .section_hero_scaleup .container_hero_scale .item_image .image-animation img{
         position: absolute;
         transition: none;
      }
      .section_hero_scaleup .container_hero_scale .item_image .image-wrapper{
         opacity: 0;
         visibility: hidden;
      }
/*         .section_hero_scaleup .container_hero_scale .item_image .image-animation.is-scaleup,*/
         .section_hero_scaleup .container_hero_scale .item_image[data-scroll-call="stickyScaleUp"]:not(.is-scaleup) .image-animation{
            width: var(--colw2x);
            transition: width 0.6s ease;
         }
         .section_hero_scaleup .container_hero_scale .item_image[data-scroll-call="stickyScaleUp"].is-scaleup .image-animation{
            width: 100%;
            transition: width 1.2s ease;
         }


   .section_hero_scaleup .container_hero_scale .item_image.imgw10{
      grid-column: c1/c11;
   }
   .section_hero_scaleup .container_hero_inline .item_caption{
      grid-column: c0/c3;
      height: 0;
      overflow: visible;
   }

.section.section_slider_carousel{
   padding: var(--sectionpad05x) 0;
}
   .section_slider_carousel .container_body{}
   .section_slider_carousel .container_body .item_slider{
      grid-column: screenleft/screenright;
      overflow: hidden;
      padding-bottom: var(--sectionpad);
   }
      .section_slider_carousel .carousel-slider{}

.section.section_feed_projects{}
.section.section_slider_projects{
   padding: var(--sectionpad05x) 0;
   overflow: hidden;
}
   .section_slider_projects .container_heading,
   .section_slider_carousel .container_heading{
      padding-bottom: var(--sectionpad05x);
   }
   .section_slider_projects .container_heading .item_tagline,
   .section_slider_carousel .container_heading .item_tagline{
      grid-column: c2/c10;
      text-align: center;
   }
   .section_slider_projects .container_body{}
   .section_slider_projects .container_body .item_slider{
      /*grid-column: c8/screenright;*/
      grid-column: c0/c12;
/*      overflow: hidden;*/
      /*padding-bottom: var(--sectionpad05x);*/
      padding-bottom: var(--contentpad2x);
   }
      .section_slider_projects .fixed__slider{
         position: relative;
         transition: left 0.35s ease;
      }
      .section_slider_projects .fixed__slider.is-inview{
         transition: left 0.35s ease;
      }

      .section_slider_projects .fixed__slider .flexcontainer__tabs{
         flex-wrap: nowrap;
      }
      .section_slider_projects .fixed__slider .flexcontainer__tabs .flex-item.flex-parts-25{
         flex-basis: 25%;
         width: 25%;
      }


   	.section_slider_projects .gallery-slider{
   		/* hack to create overflow with perView=1, since perView=auto doesn't work properly */
   		/*width: calc( var(--colw) * 3 + var(--contentpad2x) )!important;*/
  			overflow: visible!important;
   	}
	   	.section_slider_projects .slide-wrapper{} 
	   	.section_slider_projects .slide-wrapper .text-wrapper{
	   		color: var(--theme-porcelain);
				position: absolute;
				top: 40%;
				left: var(--boxpad);
				width: 75%;
            z-index: 2;
	   	} 
            .section_slider_projects .slide-wrapper .text-wrapper h3{
               margin: 0;
            }
	   	.section_slider_projects .slide-wrapper .image-wrapper{
	   		display: block;
	   		overflow: hidden;
	   	} 
	   	.section_slider_projects .image-wrapper img,
         .section_slider_projects .slide-wrapper .image-wrapper img{
	   		display: block;
	         width: 100%;
	         /*width: calc( var(--colw) * 3 );*/
	         height: auto;
	         aspect-ratio: 9/12;
	         object-fit: cover;
	   	}
	   .section_slider_projects .slider-counter{
	   	display: block;
	   	width: 100%;
	   	padding: 0 var(--contentpad);
	   	position: absolute;
  			bottom: 0;
  			left: 0;
         display: none;
	   }

   .section_slider_projects .container_body .item_heading,
   .section_slider_carousel .container_body .item_heading,
   .section_cta .container_cta_inline .item_heading,
   .section_pagination .container_next .item_heading{
      grid-column: c0/c3;
   }
   .section_slider_projects .container_body .item_text,
   .section_slider_carousel .container_body .item_text,
   .section_cta .container_cta_inline .item_text,
   .section_pagination .container_next .item_text{
      grid-column: c3/c5;
      font-size: var(--size-p-sml);
   }
   .section_slider_projects .container_body .item_link,
   .section_slider_carousel .container_body .item_link,
   .section_cta .container_cta_inline .item_link,
   .section_pagination .container_next .item_link{
      grid-column: c6/c12;
   }

.section.section_cta{
   padding: var(--contentpad) 0;
}
   .section_cta .container_cta_inline{
      padding: var(--sectionpad05x) 0 var(--sectionpad05x) 0;
   }
   .section_cta .container_cta_image{
      color: var(--theme-porcelain);
      fill: var(--theme-porcelain);
   }
   .section_cta .container_cta_image .item_image{
      grid-column: c0/c12;
      grid-row: 1/3;
   }
      .section_cta .container_cta_image .item_image .content{
         height: 100%;
      }
      .section_cta .container_cta_image .item_image .content img{
         height: 100%;
         width: 100%;
         object-fit: cover;
         object-position: top center;
      }

   .section_cta .container_cta_image .item_tagline{
      grid-column: c2/c10;
      grid-row: 1/2;
      padding: var(--sectionpad2x) 0;
      align-self: center;
      text-align: center;
   }
   .section_cta .container_cta_image .item_text{
      grid-column: c6/c12;
      grid-row: 2/3;
      padding-bottom: var(--contentpad2x);
   }


.section.section_sticky_portfolio{
   padding: 0;
}
.section_sticky_portfolio .container_portfolio{
   height: 100vh;
   grid-template-rows: 1fr 1fr;
   padding: var(--contentpad) 0;
   /*align-items: start;*/
}
   .section_sticky_portfolio .container_portfolio[data-scroll]{
      min-height: 100vh;
      height: auto;
      /*padding: 0 0 var(--sectionpad) 0;*/
      padding: 0;
   }

   .section_sticky_portfolio .container_portfolio.sticky,
   .section_sticky_portfolio .sticky{
      position: sticky;
      top: 0;
   }

      /*.section_sticky_portfolio .container_portfolio .item_line{
         grid-row: 1/3;
      }*/
      .section_sticky_portfolio .container_portfolio .item_thumbs{
         grid-column: c8/c12;
         grid-row: 1/2;
         padding-top: var(--sectionpad05x);
      }
         .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs{
            /*flex-wrap: nowrap;*/
         }
         .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs .flex-item.flex-parts-50{
            flex-basis: 50%; width: 50%;
         }

      .section_sticky_portfolio .container_portfolio .item_heading{
         grid-column: c4/c8;
         grid-row: 2/3;
         text-align: center;
         /*align-self: start;*/
         padding: var(--boxpad) 0;
         margin-top: calc( var(--boxpad) * -1 );
      }
      .section_sticky_portfolio .container_portfolio .item_text{
         grid-column: c8/c12;
         grid-row: 2/3;
         font-size: var(--size-p-sml);
      }
         .section_sticky_portfolio .container_portfolio .item_text[data-scroll]:not(.is-inview){
            top: -30px;
            opacity: 0;
            transition: top 0.6s ease, opacity 0.6s ease;
         }
         .section_sticky_portfolio .container_portfolio .item_text[data-scroll].is-inview{
            top: 0;
            opacity: 1;
            transition: top 0.6s ease, opacity 0.6s ease;
         }

.section.section_grid{
   overflow: hidden;
   padding-bottom: var(--sectionpad);
}
.section_grid .grid-container-inner .grid-item-inner{
   padding-bottom: var(--sectionpad);
}


@media only screen and (min-width : 981px) {
   /* CODE DEBUG TEST */
   /*   
   .grid-item-inner::before{
      display: block;
      content: attr(data-row);
      position: absolute;
      top: 0;
      left: 0;
      color: red;
      z-index: 10;
      font-weight: bold;
   }*/
   .section_grid .grid-container-inner .grid-item-inner{
      transition: left 0.6s ease, right 0.6s ease;
      left: auto;
      right: auto;
   }
   .section_grid .grid-container-inner .grid-item-inner[data-tab="left"]:not(.push-left){
      left: 0;
      right: auto;
   }
   .section_grid .grid-container-inner .grid-item-inner[data-tab="left"].push-left,
   .section_grid .grid-container-inner .grid-item-inner.push-left{
      left: var(--colw2x);
      right: auto;
      transition: left 0.6s ease, right 0.6s ease;
   }
      .section_grid .grid-container-inner .grid-item-inner.push-left .row_tab.float_left.active{
         right: auto;
         left: calc( var(--colw2x) * -1);
      }

   .section_grid .grid-container-inner .grid-item-inner[data-tab="right"]:not(.push-right){
      left: auto;
      right: 0;
   }
   .section_grid .grid-container-inner .grid-item-inner[data-tab="right"].push-right,
   .section_grid .grid-container-inner .grid-item-inner.push-right{
      left: auto;
      right: var(--colw2x);
      transition: left 0.6s ease, right 0.6s ease;
   }
      .section_grid .grid-container-inner .grid-item-inner.push-right .row_tab.float_right.active{
         left: auto;
         right: calc( var(--colw2x) * -1);
      }

}

   .section_grid .column_text{}
   .section_grid .column_image{}

   .section_grid .column_slider .fullwidth-slider{
      overflow: visible!important;
   }
      .section_grid .column_slider .fullwidth-slider .slide{}
      .section_grid .column_slider .fullwidth-slider .slide .image-wrapper{
         display: block;
         position: relative;
         overflow: hidden;
      }
      .section_grid .column_slider .fullwidth-slider .slide .image-wrapper img{
         display: block;
         aspect-ratio: 12/9;
      }
      .section_grid .column_slider .slider-counter{
         height: 0px;
         overflow: visible;
      }
      .section_grid .column_slider .slider-nav{}
         .section_grid .column_slider .slider-nav .arrow{
            position: absolute;
            top: 0;
            width: 40%;
            height: calc(100% - var(--sectionpad));
            box-sizing: border-box;
            cursor: pointer;
         }
         .section_grid .column_slider .slider-nav .arrow.arrow--left{
            left: 0;
            cursor: url('../images/icon-arrow_slider_left.svg') 0 10, url('../images/icon-arrow_slider_left-2.svg') 0 16, w-resize;
         }
         .section_grid .column_slider .slider-nav .arrow.arrow--right{
            right: 0;
            cursor: url('../images/icon-arrow_slider_right.svg') 70 10, url('../images/icon-arrow_slider_right-2.svg') 32 16, e-resize;
         }


   .section_grid .row_tab{
      display: block;
      width: var(--colw3x);
      min-height: calc( var(--size-h4) * 4);
      position: absolute;
      top: 0;
      z-index: 2;
      transition: all 0.6s ease 0s;
   }

   .section_grid .row_tab.float_left{
/*      left: 0;*/
      left: calc( var(--colw2x) * -1);
      padding-right: var(--contentpad);
   }  
      .section_grid .row_tab.float_left .tab__line{}
      .section_grid .row_tab.float_left .tab__line::after{
         content: '';
         display: block;
         position: absolute;
         top: var(--contentpad);
         right: 0;
/*         right: calc( var(--contentpad) * -1 );*/
         width: 0px;
         height: calc( 100% - var(--contentpad) );
         border-right: 1px solid currentColor;
      }
      .section_grid .row_tab .content.actions{}
      .section_grid .row_tab .content.actions .toggle_tab{
         display: block;
         width: 100%;
         text-align: inherit;
      }
      .section_grid .row_tab.float_left .content.actions{ text-align: right; }

   .section_grid .row_tab.float_right{
/*      right: 0;*/
      right: calc( var(--colw2x) * -1);
      padding-left: var(--contentpad);
   }
      .section_grid .row_tab.float_right .tab__line{}
      .section_grid .row_tab.float_right .tab__line::after{
         content: '';
         display: block;
         position: absolute;
         top: var(--contentpad);
         left: 0;
/*         left: calc( var(--contentpad) * -1 );*/
         width: 0px;
         height: calc( 100% - var(--contentpad) );
         border-left: 1px solid currentColor;
      }
      .section_grid .row_tab.float_right .content.actions{}


   .section_grid .row_tab.float_left.active{
      left: 0;
      transition: all 0.6s ease 0s;
   }
   .section_grid .row_tab.float_right.active{
      right: 0;
      transition: all 0.6s ease 0s;
   }
      .section_grid .row_tab:not(.active) .content.text{
         display: none;
      }
      .section_grid .row_tab.active .content.text{
         display: block;
      }


@media (hover: hover){
   body:not(.is-device_android) .section_feat_list:not(.bg-porcelain) .container_feats .item_feat:hover .feat-title{
      color: var(--theme-porcelain);
      fill: var(--theme-porcelain);
   }
   body:not(.is-device_android) .section_feat_list.bg-porcelain .container_feats .item_feat:hover .feat-title{
      color: var(--theme-charcoal);
      fill: var(--theme-charcoal);
   }
   body:not(.is-device_android) .section_feat_list .container_feats .item_feat:hover .image-hover{ 
      opacity: 1;
      transition: opacity 0.35s ease 0s; 
   }  

   body:not(.is-device_android) .section_grid .row_tab.float_left .content.actions .toggle_tab:hover{
      padding-right: 10px;
   }
   body:not(.is-device_android) .section_grid .row_tab.float_right .content.actions .toggle_tab:hover{
      padding-left: 10px;
   }
}

/*-------- LAYOUT BUILDER ------------------------------------------------- */

.section.section_layblocks{
/*   padding: var(--sectionpad) 0;*/
}
   .section.section_layblocks.no_line{
      padding: var(--sectionpad) 0;
   }

   /*.section_layblocks .grid-container{
      padding-top: var(--sectionpad2x);
   }*/
	.section_layblocks .grid-container:not(:last-child){
		padding-bottom: var(--sectionpad);
	}
   /*.section_layblocks .grid-container:last-child{
      padding-bottom: var(--sectionpad2x);
   }*/


.container_layout_textarea.space-sec{
   padding: var(--sectionpad) 0;
}
.container_layout_textarea.space-sec2{
   padding: var(--sectionpad2x) 0;
}
   .container_layout_textarea.space-sec + .space-sec,
   .container_layout_textarea.space-sec2 + .space-sec2{
      padding-top: 0;
   }


.container_layout_textarea .item_text{
   padding: var(--boxpad) 0;
}
   .section_layblocks.no_line .container_layout_textarea .item_text,
   .section_layblocks.no_line .container_layout_textarea .item_text.wide{
      padding: 0;
   }

   .container_layout_textarea .item_text.wide{
   	grid-column: c2/c10;
      text-align: center;
      padding: var(--boxpad) 0;
   }
   .container_layout_textarea .item_text.right{
   	grid-column: c7/c11;
   }
   .container_layout_textarea .item_text.left{
   	grid-column: c1/c5;
   }
   .container_layout_textarea .item_text.center{
   	grid-column: c2/c10;
      text-align: center;
   }
   .container_layout_textarea .item_text.center.narrow{
      grid-column: c4/c8;
      text-align: center;
   }

.container_layout_textbox .item_text{
	grid-column: c4/c8;
}
   .container_layout_textbox .item_text.icon-asterix {
      font-size: var(--size-p-sml);
      text-transform: uppercase;
   }

.container_layout_media .item_image.imgw2{
	grid-column: c5/c7;
}
.container_layout_media .item_image.imgw4{
	grid-column: c4/c8;
}
   .container_layout_media .item_image{
      padding: var(--boxpad) 0;
   }

.caption-wrapper{ 
	display: block; 
	position: relative; 
	padding-left: 30px; 
	line-height: 20px;
	text-transform: uppercase;
}
.caption-wrapper::before{
	content: '';
	mask-image: url('../images/icon-asterix.svg');
	-webkit-mask-image: url('../images/icon-asterix.svg');
	mask-size: contain;
	-webkit-mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	display: block;
	transition: none;	
}


.icon-wrapper{
	padding-bottom: var(--boxpad);
   line-height: 1.0;
}
.icon-wrapper .icon{
   display: inline-block;
   vertical-align: middle;
   width: 20px;
   height: 20px;
}


/*-------- ARCHIVE / SINGLE / ARTICLE ------------------------------------------------ */

.section.section_archive_projects{}
.section_archive_projects .container_projects{}
   .section_archive_projects .container_projects .item_project{
      padding-top: var(--sectionpad);
      grid-row: auto / span 2;
   }
/*   .section_archive_projects .container_projects .item_project:first-child{}*/
   .section_archive_projects .container_projects .item_project:nth-child(2n+1){
      grid-column: c7/c11;
   }
   .section_archive_projects .container_projects .item_project:nth-child(2n+2){
      grid-column: c1/c5;
   }
   .section_archive_projects .container_projects .item_project:last-child:not(:nth-child(2)){
      grid-row: auto / span 1;
   }

.card_project{}
   .card_project .text-wrapper{
/*      color: var(--theme-porcelain);*/
      color: inherit;
      position: absolute;
      top: 40%;
      left: var(--boxpad);
      right: auto;
      width: calc( 100% - var(--colw) );
      z-index: 4;
   }
      .card_project .text-wrapper .card-title{
         margin: 0;
      }
      .section_archive_projects .container_projects .item_project:nth-child(2n+1) .text-wrapper{
         left: calc( ( var(--colw05x) - var(--contentpad2x) ) * -1 );
      }
      .section_archive_projects .container_projects .item_project:nth-child(2n+2) .text-wrapper{
         right: calc( ( var(--colw05x) - var(--contentpad2x) ) * -1 );
         text-align: right;
         left: auto;
      }

   .card_project .image-wrapper,
   .image-wrapper{
      display: block;
      position: relative;
      overflow: hidden;
   }
      .card_project .image-wrapper .card-image{
         display: block;
         width: 100%;
         height: auto;
         aspect-ratio: 9/12;
         object-fit: cover;
      }

.ajax-load-more-wrap{}
.ajax-load-more-wrap .alm-listing{}
.ajax-load-more-wrap .alm-btn-wrap{
   text-align: center;
   position: relative;
   margin-top-top: var(--sectionpad05x);
} 
   .ajax-load-more-wrap .alm-btn-wrap .alm-load-more-btn{
     padding: var(--boxpad) 0;
   }
   .ajax-load-more-wrap .alm-btn-wrap .alm-load-more-btn.loading{}
   .ajax-load-more-wrap .alm-btn-wrap .alm-load-more-btn.done{
      display: none;
   }

.ajax-load-more-wrap .alm-no-results{
   text-align: center;
} 


.section.section_pagination{
   padding: var(--sectionpad) 0;
}

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


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*-------------------------------------------------------- RESPONSIVE STYLES */
/*---------------------------------------------------------------------------*/

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

@media only screen and (max-width : 1600px) {
   .section_site_footer .container_body .item_acknowl,
   .section_site_footer .container_body .item_copyr{
      grid-column: c6 / c10;
   }
   .section_site_footer .container_body .item_social,
   .section_site_footer .container_body .item_siteby{
       grid-column: c10 / c12;
   }
}

/* Tablet/iPad - fully switch to responsive @980 */
@media only screen and (max-width : 980px) {
	/* globals */
	:root{
      --contentpad: 10px;
      --contentpad2x: 20px;
      --contentpad4x: 40px;
      --sectionpad05x: 50px;
      --sectionpad: 100px;
      --sectionpad2x: 200px;
      --boxpad: 40px;
      --boxpad2x: 40px;
      --colw: 80px;
      --headh: 54px;
      --footh: 180px;
      --size-logo: 2.0rem;
      --size-h1: 4.0rem;
      --size-menu: 3.0rem;
      --size-h2: 3.0rem;
      --size-h3:  2.0rem;
      --size-h4: 1.0rem;
      --size-h5: 1.0rem;
      --size-h6: 0.8rem;
      --size-p: 1.0rem;
      --size-p-lrg: 1.0rem;
      /*--size-p-sml: 0.8rem;*/
      --size-p-sml: 1.0rem;
      --size-p-xsml: 12px;
      --size-caption: 12px;
   }
	html, body { font-size: 15px; }
	/* grid & flex */
	.flex-container:not(.flex-nowrap){ flex-wrap: wrap; }
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-75,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-50,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-25,
	.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%; }

   /* header & menus */
   .section_site_header{}
   .section_site_header .container_body{}
   .section_site_header .container_body .item_logo{
      grid-column: c3/c9;
   } 
   .section_site_header .container_body .item_menu{
      grid-column: c9/c12;
   }
   .section_site_header .container_body .item_menu .logo{
      max-height: 26px;
      width: auto;
   }

   .scroll-wrapper[data-scroll-call="scrollDrawLine"] .section__line:not(.is-inview),
   .scroll-wrapper[data-scroll-call="scrollDrawLine"] .section__line.is-inview{
      height: 100%!important;
   }


   /* banner */
   .section.section_banner_page{}
      .section_banner_page .content.blurb-wrapper{ max-width: unset; }
      .section_banner_page .content.summary-wrapper{ max-width: unset; }

   .section_banner_page.banner_image{}
      .section_banner_page.banner_image .container_tall_image{
         height: auto;
         /*aspect-ratio: 3/4;*/
         aspect-ratio: 9/16;
         max-height: 100vh;
         min-height: 360px;
         width: 100%;
      }
      .section_banner_page.banner_image .container_tall_image .item_image{}
      .section_banner_page.banner_image .container_tall_image .item_heading{
         grid-column: c0/c12;
      }

   .section_banner_page.banner_text_tall{}
      .section_banner_page.banner_text_tall .container_tall_text{}
      .section_banner_page.banner_text_tall .container_tall_text .item_heading{
         grid-column: c0/c12;
      }

   .section_banner_page.banner_text_short{}
      .section_banner_page.banner_text_short .container_text{}
      .section_banner_page.banner_text_short .container_text .item_heading{
         grid-column: c0/c12;
      }
      .section_banner_page.banner_text_short .container_text .item_details{}


   /* sections */
   .section.section_feat_list{}
      .section_feat_list .container_heading{}
         .section_feat_list .container_heading .item_heading{ }

      .section_feat_list .container_feats{}
         .section_feat_list .container_feats .item_feat{}
            .section_feat_list .container_feats .item_feat .image-hover{}
            .section_feat_list .container_feats .item_feat .image-hover img{}

   .section.section_feat_waterfall{}
      .section_feat_waterfall .container_feats{
         grid-template-rows: [tag-t] auto [tag-b] var(--sectionpad) [img1-t] auto [img2-t] var(--sectionpad2x) [img1-b] auto [img3-t] var(--sectionpad2x) [img2-b] auto [img4-t] var(--sectionpad2x) [img3-b] auto [img4-b] auto;
      }
         .section_feat_waterfall .container_feats .item_heading{
            grid-column: c1/c11;
         }

      .section_feat_waterfall .container_feats .item_feat{}
         .section_feat_waterfall .container_feats .item_feat:not(:last-child){
            padding-bottom: var(--sectionpad);
         }
         .section_feat_waterfall .container_feats .item_feat.feat-1{
/*            grid-column: c8/screenright;*/
            grid-column: c8/c12;
         }
            /*.section_feat_waterfall .container_feats .item_feat.feat-1 .content{
               padding-right: 0;
            }*/
         .section_feat_waterfall .container_feats .item_feat.feat-2{
/*            grid-column: screenleft/c5;*/
               grid-column: c0/c5;
         }
            /*.section_feat_waterfall .container_feats .item_feat.feat-2 .content{
               padding-left: 0;
            }*/
         .section_feat_waterfall .container_feats .item_feat.feat-3{
            grid-column: c7/c12;
         }
         .section_feat_waterfall .container_feats .item_feat.feat-4{
            grid-column: c0/c6;
         }

   .section.section_hero_box{}
      .section_hero_box .container_hero_box{
         grid-template-rows: [top] 1fr [mid] 1fr [box-top] var(--sectionpad) [btm] auto [box] var(--sectionpad) [pad];
      }
      .section_hero_box .container_hero_box .item_bg{}
      .section_hero_box .container_hero_box .item_image{
         grid-column: screenleft/screenright;
         grid-row: top / btm;
      }
         .section_hero_box .container_hero_box .item_image .content{
            padding: 0;
         }
         .section_hero_box .container_hero_box .item_image img{
            aspect-ratio: 1 / 1;
         }
      .section_hero_box .container_hero_box .item_box{
         grid-column: c0/c12;
         grid-row: box-top / pad;
      }

      .section_hero_box .container_hero_inline{}
         .section_hero_box .container_hero_inline .item_image{}
         .section_hero_box .container_hero_inline .item_caption{
            grid-column: c0 / c6;
         }

   .section.section_hero_scaleup{}
      .section_hero_scaleup .container_hero_scale .item_image{}
         .section_hero_scaleup .container_hero_scale .item_image .image-animation{
            /*width: var(--colw4x);*/
         }
            .section_hero_scaleup .container_hero_scale .item_image .image-animation[data-scroll-call="scrollScaleUp"]{
               /*width: var(--colw4x);*/
               width: 100%!important;
            }

         .section_hero_scaleup .container_hero_scale .item_image .image-animation img{}
         .section_hero_scaleup .container_hero_scale .item_image .image-wrapper{}

         .section_hero_scaleup .container_hero_scale .item_image.imgw10{
/*            grid-column: c0/c12;*/
         }

      .section_hero_scaleup .container_hero_inline .item_caption{}

   .section.section_slider_carousel{}
      .section_slider_carousel .container_body{}
      .section_slider_carousel .container_body .item_slider{}

   .section.section_slider_projects{}
      .section_slider_projects .container_body .item_slider{}
/*      .section_slider_projects .fixed__slider .flexcontainer__tabs{}
      .section_slider_projects .fixed__slider .flexcontainer__tabs .flex-item.flex-parts-25{
         flex-basis: 50%;
         width: 50%;
      }
      .section_slider_projects .fixed__slider .flexcontainer__tabs .flex-item:nth-child(n+3){
         display: none;
      }*/

   .section.section_feed_projects{}

      .section_slider_projects .container_heading,
      .section_slider_carousel .container_heading{}

      .section_slider_projects .container_heading .item_tagline,
      .section_slider_carousel .container_heading .item_tagline{
         grid-column: c0/c12;
      }
      .section_slider_projects .container_body .item_heading,
      .section_slider_carousel .container_body .item_heading,
      .section_cta .container_cta_inline .item_heading,
      .section_pagination .container_next .item_heading{
         /*grid-column: c0/c6;
         grid-row: 2/3;*/
         grid-column: c0/c12;
         grid-row: 2/3;
         text-align: center;
      }
         .section_slider_projects .container_body .item_heading,
         .section_cta .container_cta_inline .item_heading{
             padding-top: var(--sectionpad);
         }

      .section_slider_projects .container_body .item_text,
      .section_slider_carousel .container_body .item_text,
      .section_cta .container_cta_inline .item_text,
      .section_pagination .container_next .item_text{
         /*grid-column: c0/c5;
         grid-row: 3/4;*/
         grid-column: c1/c11;
         grid-row: 3/4;
         text-align: center;
      }

      .section_slider_projects .container_body .item_link,
      .section_slider_carousel .container_body .item_link,
      .section_cta .container_cta_inline .item_link,
      .section_pagination .container_next .item_link{
         /*grid-column: c6/c12;
         grid-row: 2/4;*/
         grid-column: c6/c12;
         grid-row: 4/5;
         padding-top: var(--sectionpad05x);
      }
/*         .section_slider_projects .container_body .item_link .content,
         .section_slider_carousel .container_body .item_link .content,
         .section_cta .container_cta_inline .item_link .content,
         .section_pagination .container_next .item_link .content{
            height: 100%;
         }
         .section_slider_projects .container_body .item_link .readmores,
         .section_slider_carousel .container_body .item_link .readmores,
         .section_cta .container_cta_inline .item_link .readmores,
         .section_pagination .container_next .item_link .readmores{
            height: 100%;
         }*/

   .section.section_cta{
      padding: var(--sectionpad05x) 0;
   }
      .section_cta .container_cta_inline,
      .section_cta .container_cta_image{
         /*color: inherit;
         fill: inherit;*/
         color: var(--theme-clay);
         fill: var(--theme-clay);
      }
         .section_cta .container_cta_image .item_image{
            grid-column: c0/c12;
            grid-row: 1/2;
         }
         .section_cta .container_cta_image .item_tagline{
            grid-column: c1/c11;
            grid-row: 2/3;
            /*padding: var(--sectionpad05x) 0;*/
            padding: var(--sectionpad) 0 var(--sectionpad05x) 0;
         }
            .section_cta .container_cta_image .item_tagline h2,
            .section_cta .container_cta_image .item_tagline .h1{
               font-size: var(--size-h3);
            }

         .section_cta .container_cta_image .item_text{
            grid-column: c6/c12;
            grid-row: 3/4;
            padding-bottom: 0;
         }

   .section.section_sticky_portfolio{
      padding-top: var(--sectionpad)!important;
      padding-bottom: var(--sectionpad);
   }
      .section_sticky_portfolio .scroll-wrapper .section__line-horrizontal{}
      .section_sticky_portfolio .scroll-wrapper .section__line{
         display: none;
      }

      .section_sticky_portfolio .container_portfolio,
      .section_sticky_portfolio .container_portfolio[data-scroll]{
         min-height: unset;
         grid-template-rows: auto;
      }
      /*
      .section_sticky_portfolio .container_portfolio.sticky{
         position: relative;
         height: auto;
         grid-template-rows: auto;
         padding: var(--sectionpad) 0;
      }
      */
         .section_sticky_portfolio .container_portfolio .item_thumbs{
            grid-column: c4/c12;
            grid-row: 1/2;
            padding-top: 0;
            padding-bottom: var(--sectionpad05x);
         }
         .section_sticky_portfolio .container_portfolio .item_heading{
            grid-column: c0/c12;
            grid-row: 2/3;
            text-align: left;
            margin: 0;
         }
         .section_sticky_portfolio .container_portfolio .item_text{
            grid-column: c0/c12;
            grid-row: 3/4;
            padding: 0;
            font-size: var(--size-p);
            padding-bottom: var(--sectionpad05x);
         }


   .section.section_grid{}
   .section_grid .grid-container-inner .grid-item-inner{}
      .section_grid .column_text{}
      .section_grid .column_image{}
      .section_grid .column_slider .fullwidth-slider{}
         .section_grid .column_slider .fullwidth-slider .slide{}
         .section_grid .column_slider .fullwidth-slider .slide .image-wrapper{}
         .section_grid .column_slider .fullwidth-slider .slide .image-wrapper img{}
         .section_grid .column_slider .slider-counter{}
         .section_grid .column_slider .slider-nav{
            display: none;
         }

      .grid-container-inner .grid-item-inner.left_1{
         padding-left: 0;
      }
      .grid-container-inner .grid-item-inner.left_2{
         padding-left: 0;
      }
      .grid-container-inner .grid-item-inner.left_3{
         padding-left: 0;
      }
      .grid-container-inner .grid-item-inner.right_1{
         padding-right: 0;
      }
      .grid-container-inner .grid-item-inner.right_2{
         padding-right: 0;
      }
      .grid-container-inner .grid-item-inner.right_3{
         padding-right: 0;
      }


  .section_grid .row_tab{}
  
   .section_grid .row_tab.float_left{
      display: block;
      width: 100%;
      left: 0;
      position: relative;
      padding-right: 0;
      margin-top: var(--sectionpad);  
   }  
      .section_grid .row_tab.float_left .tab__line{
         display: none;
      }
      .section_grid .row_tab.float_left .tab__line::after{
         display: none;
      }
      .section_grid .row_tab .content.actions{
         display: none;
      }
      /*.section_grid .row_tab .content.actions .toggle_tab{}
      .section_grid .row_tab.float_left .content.actions{}*/

   .section_grid .row_tab.float_right{
      display: block;
      width: 100%;
      right: 0;
      position: relative;
      padding-left: 0;  
      margin-top: var(--sectionpad);  
   }
      .section_grid .row_tab.float_right .tab__line{
         display: none;
      }
      /*.section_grid .row_tab.float_right .tab__line::after{}
      .section_grid .row_tab.float_right .content.actions{}*/


   .section_grid .row_tab.float_left.active{}
   .section_grid .row_tab.float_right.active{}
      .section_grid .row_tab:not(.active) .content.text{
         display: block;
      }
      .section_grid .row_tab.active .content.text{}
      

   /* layouts */
   .section.section_layblocks{}
      .section_layblocks > .grid-container:not(:last-child){}

      .container_layout_textarea .item_text{}
         .container_layout_textarea .item_text.wide{
            grid-column: c0/c12;
         }
         .container_layout_textarea .item_text.right{
            grid-column: c0/c12;
         }
         .container_layout_textarea .item_text.left{
            grid-column: c0/c12;
         }
         .container_layout_textarea .item_text.center,
         .container_layout_textarea .item_text.center.narrow{
            grid-column: c0/c12;
         }

      .container_layout_textbox .item_text{
         grid-column: c1/c11;
      }

      .container_layout_media .item_image.imgw2{
         grid-column: c3/c9;
      }
      .container_layout_media .item_image.imgw4{
         grid-column: c2/c10;
      }

         .caption-wrapper{}
         .caption-wrapper::before{
            width: 15px;
            height: 15px;
         }
         .icon-wrapper{
            padding-bottom: var(--contentpad);
         }
            .icon-wrapper .icon{
               width: 15px;
               height: 15px;
            }
            .caption-wrapper{
               line-height: 15px;
               padding-left: 25px;
            }


   /* archives & articles */
   .section_project_details .container_details{}
      .section_project_details .container_details .item_text{
         grid-column: c0/c12;
      }
      .section_project_details .container_details .item_actions{}

   .section_project_details .container_article_summary{}
      .section_project_details .container_article_summary .item_image{
         grid-column: c0/c12;
      }
      .section_project_details .container_article_summary .item_text{
         grid-column: c1/c11;
      }

   .section.section_archive_projects{}
   .section_archive_projects .container_projects{}
      .section_archive_projects .container_projects .item_project{}
      /*.section_archive_projects .container_projects .item_project:first-child{}*/
      .section_archive_projects .container_projects .item_project:nth-child(2n+1),
      .section_archive_projects .container_projects .item_project:nth-child(2n+2){
         grid-column: c0/c12;
      }
      /*.section_archive_projects .container_projects .item_project:last-child{}*/
         .section_archive_projects .container_projects .item_project .card_project{
            /*max-width: 720px;*/
            height: auto;
            margin: 0 auto;
         }
         body:not(.is-device_android) .section_archive_projects .container_projects .item_project:nth-child(2n+1) a.card_link:hover .text-wrapper, 
         body:not(.is-device_android) .section_archive_projects .container_projects .item_project:nth-child(2n+2) a.card_link:hover .text-wrapper,
         body:not(.is-device_android) a.slide_link:hover .text-wrapper{
            padding-left: 0;
            padding-right: 0;
         }

   .card_project{}
      .card_project .text-wrapper{}
         .card_project .text-wrapper .card-title{}
         .section_archive_projects .container_projects .item_project:nth-child(2n+1) .text-wrapper,
         .section_archive_projects .container_projects .item_project:nth-child(2n+2) .text-wrapper{
            width: 100%;
            left: 0;
            right: 0;
            text-align: center;
         }
      .card_project .image-wrapper{}
         .card_project .image-wrapper .card-image{}

   .section.section_pagination{
      padding-bottom: var(--sectionpad05x);
   }

   .section_project_details .container_details .item_text ul:not([class]),
   .section_project_details .container_details .item_text ol:not([class]){
      font-size: var(--size-p-sml);
   }

   /* footer */
   .section_site_footer{
      padding-top: var(--sectionpad);
      padding-bottom: var(--contentpad);
   }
      .section_site_footer .container_body .item_logo{
         grid-column: c0/c6;
         grid-row: 1/4;
      }
      .section_site_footer .container_body .item_acknowl{
         display: none;
      }
      .section_site_footer .container_body .item_copyr{
         grid-column: c7/c12;
         grid-row: 2/3;
         align-self: end;
      }
         .section_site_footer .container_body .item_copyr .content{
            padding-bottom: 4px;
         }
      .section_site_footer .container_body .item_siteby{
         grid-column: c7/c12;
         grid-row: 3/4;
         align-self: end;
      }
         .section_site_footer .container_body .item_siteby .content{
            padding-top: 0;
         }
      .section_site_footer .container_body .item_social{
         display: none;
      }
}

/* Mobile breakpoints */
@media only screen and (max-width : 440px) {
   :root{
      --contentpad: 10px;
      --contentpad2x: 20px;
      --contentpad4x: 40px;
      --sectionpad05x: 25px;
      --sectionpad: 50px;
      --sectionpad2x: 100px;
      --boxpad: 20px;
      --boxpad2x: 40px;
      --size-logo: 2.0rem;
      --size-h1: 3.0rem;
   }
/*   .section_banner_page.banner_text_short,
   .section_banner_page.banner_none{
      padding-top: calc( var(--sectionpad) + 54px );
   }
*/
   .grid-container-inner .grid-item-inner.item_wedge, 
   .grid-container-inner .grid-item-inner.item_w12,
   .grid-container-inner .grid-item-inner.item_w11,
   .grid-container-inner .grid-item-inner.item_w10,
   .grid-container-inner .grid-item-inner.item_w9,
   .grid-container-inner .grid-item-inner.item_w8,
   .grid-container-inner .grid-item-inner.item_w7,
   .grid-container-inner .grid-item-inner.item_w6,
   .grid-container-inner .grid-item-inner.item_w5,
   .grid-container-inner .grid-item-inner.item_w4,
   .grid-container-inner .grid-item-inner.item_w3,
   .grid-container-inner .grid-item-inner.item_w2,
   .grid-container-inner .grid-item-inner.item_w1{
      grid-column: auto / span 12;
   }

   .container_layout_textbox .item_text{
      grid-column: c0 / c12;
   }

   .section_cta .container_cta_image .item_tagline{
      grid-column: c0 / c12;
   }

   .section_slider_projects .fixed__slider .flexcontainer__tabs{}
   .section_slider_projects .fixed__slider .flexcontainer__tabs .flex-item.flex-parts-25{
      flex-basis: 50%;
      width: 50%;
   }
   .section_slider_projects .fixed__slider .flexcontainer__tabs .flex-item:nth-child(n+3){
      display: none;
   }

   .grid-container .grid-item .content + .content.text-caption, 
   .flex-container .flex-item .content + .content.text-caption{
      padding-top: 0;
   }


   .section_sticky_portfolio .container_portfolio,
   .section_sticky_portfolio .container_portfolio[data-scroll]{
      padding-top: var(--sectionpad);
   }
   .section_sticky_portfolio .container_portfolio .item_thumbs{
      grid-column: c2 / c12;
   }
   .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs{}
   .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs .flex-item.flex-parts-50{
      /*flex-basis: 100%; width: 100%;*/
   }
   .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs .text-caption{
      /*position: absolute; height: 1px; width: 1px;overflow: hidden; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
      padding: 0; margin: 0;*/
   }

   .section_sticky_portfolio .container_portfolio .flexcontainer-thumbs .flex-item:not(:last-child){
      margin-bottom: var(--sectionpad05x);
   }

   .section_site_footer{
      padding-top: var(--sectionpad2x);
   }
   .section_site_footer .container_body .item_copyr,
   .section_site_footer .container_body .item_siteby{
      grid-column: c6 / c12;
   }

}


