/* MAIN WP CSS FILE -- DESKTOP FIRST STYLESHEET */
:root{
   /*--headH: 44px;*/
   /*colour*/
	--color-white: #FFFFFF; 
	--color-black: #161616;
	--color-sand: #EEEBDC;
	--color-green: #695C3C;
	--color-red: #F0492A;
   /*font*/
   --fontfam-head: 'obviously-wide', 'obviously', sans-serif;
   --fontwei-head: 600;
   --fontfam-text: 'obviously', sans-serif;
   --fontwei-text: 400;
   --fontfam-btn: 'obviously-narrow', 'obviously', sans-serif;
   --fontwei-btn: 400;
   --size-h1: 2.19rem;/* 35px, 2.187rem */
   --size-h2: 1.25rem;/* 20px, 1.25rem */
   --size-h3: 1.25rem;/* 20px, 1.25rem */
   --size-h4: 1.5rem;/* 24px, 1.5rem */
   --size-h5: 1.0rem;/* 16px, 1rem */
   --size-h6: 0.94rem;/* 16px, 0.937rem */
   --size-p: 1.0rem;/* 16px, 1rem */
   --size-p-large: 1.5rem;/* 24px, 1.5rem */
   --size-p-small: 12px;/* 12px, 0.75rem */
   --size-button: 15px;/* 15px, 0.937rem */
   /*pad*/
   --contentpad05x: 10px;
   --contentpad: 15px;
   --contentpad2x: 30px;
   --sectionpad05x: 30px;
   --sectionpad: 60px;
   --sectionpad2x: 120px;
   --gridgutter: 60px;
   --gridedge: 0;
}

html, body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-size: calc( 15px + (21 - 15) * (100vw - 980px) / (1920 - 980) );
	font-family: var(--fontfam-text);
	font-weight: var(--fontwei-text);
   line-height: 1.5;
   letter-spacing: 0;
	min-width: 340px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
   background-color: var(--color-sand);
   color: var(--color-green);
}
@media only screen and (min-width: 1920px){
   html, body {
      font-size: 21px;
   }
}


html[data-wpadminbar="0"]{
	margin-top: 0!important;
}

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

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5{
	margin: calc( 1rem + var(--contentpad2x) ) 0;	
	font-family: var(--fontfam-head);
	font-weight: var(--fontwei-head);
   text-transform: uppercase;
	line-height: 1.2;
   letter-spacing: 6px;/*0.3em*/
}
	h1, .h1{
		font-size: var(--size-h1);
	}
	h2, .h2{
		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);
	}

		h2 > span.underline,
		.h2 > span.underline,
		h3 > span.underline,
		.h3 > span.underline{
			text-decoration: underline;
    		text-decoration-thickness: 2px;
    		text-underline-offset: 0.09em;
    		text-underline-position: from-font;
		}


small, .text-small, .gfield_description{
   font-size: var(--size-p-small);
   font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
   text-transform: uppercase;
   letter-spacing: 0;
}
.text-large{
   font-size: var(--size-p-large);
   font-family: var(--fontfam-text);
   font-weight: var(--fontwei-text);
   text-transform: initial;
   letter-spacing: 0;
}
h6, .h6, .text-button{
   font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
   text-transform: uppercase;
   font-size: 15px;
   line-height: 20px;
}


/*--------------------------------------------------------- Clearfix */
.section { width: 100%; margin: 0 auto; clear: both; position: relative; box-sizing: border-box; }
.group{ zoom: 1; position: relative; }
.group::before, .group::after{ content: ''; display: table; clear: both; } 
.screenheight{ 
	height: 100vh; 
	height: 100dvh; 
}

.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; opacity: 0; visibility: hidden; }

.text-center{ text-align: center; }
.text-left{ text-align: left; }
.text-right{ text-align: right; }
.text-upper{ text-transform: uppercase; }


/* 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: var(--color-white); background-color: rgba(240, 73, 42, 0.99);
}
*::-moz-selection{
	color: var(--color-white); background-color: rgba(240, 73, 42, 0.99);
}

img::selection{
	background-color: rgba(238, 235, 220, 0.33);
}
img::-moz-selection{
	background-color: rgba(238, 235, 220, 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; }
img.block{ display: block; width: 100%; height: auto; }
img.object-cover{ display: block; width: 100%; object-fit: cover; object-position: center; }
img.square{  display: block; aspect-ratio: 1/1; object-fit: cover; object-position: center; }

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

.css-table{
	display: table;
	width: 100%;
	position: relative;
    border-collapse: collapse;
}
.css-table > div{
	display: table-row;
}
.css-table > div > div{
	display: table-cell;
	border-top: 1px solid;
    border-bottom: 1px solid;
    color: currentColor;
}	
	.css-table > div:first-child > div{ border-top: 0; }
	.css-table > div:last-child > div{ border-bottom: 0; }

	.css-table .cell{
		display: block;
		padding: 13px 13px 13px 0px;
	}
	.css-table .cell > *:first-child{
		margin-top: 0;
	}
	.css-table .cell > *:last-child{
		margin-bottom: 0;
	}


iframe[src*="youtube"]{}
iframe[src*="vimeo"]{}
video{ display: block; width: 100%; max-width: 100%; height: auto; object-fit: cover; object-position: center; }

input:not([type="checkbox"]):not([type="radio"]), 
input[type="submit"], 
button,
select{ 
   font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
   appearance: none; -webkit-appearance: none; 
   border-radius: 0; -webkit-border-radius: 0px; 
   color: currentColor;
   fill: currentColor;
}

input[type="checkbox"], input[type="radio"]{
   font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
   appearance: auto;
   -webkit-appearance: auto;
   color: currentColor;
   accent-color: var(--color-red);
}


a{ 
	color: inherit; 
	text-decoration: none; 
	transition: all 0.4s ease 0s; 
}
@media (hover: hover){
	a:hover{ 
		transition: all 0.4s ease 0s; 
	}	
}

ul, ol{ margin: 1.5rem 0 1rem 0; }
ul li, ol li{ margin-bottom: 0.5rem; }

p{ margin: 1rem 0; }
p + h2, p + h3, p + h4{
	margin-top: 2rem;
}
	p + h2 > img, p + h3 > img, p + h4 > img{
		margin-bottom: 1rem;
	}
	p > a{
		text-decoration: underline;
	}

/* 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:not(:last-of-type){
	margin-right: 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{ 
	background-color: var(--color-white); 
	color: var(--color-green); 
	fill: var(--color-green);
}
.text-white{ 
	color: var(--color-white); 
	fill: var(--color-white);
}

.bg-black{ 
	background-color: var(--color-black); 
	color: var(--color-sand); 
	fill: var(--color-sand);
}
.text-black{ 
	color: var(--color-black); 
	fill: var(--color-black);
}

.bg-sand{
	background-color: var(--color-sand);
	color: var(--color-green); 
	fill: var(--color-green);
}
.text-sand{
	color: var(--color-sand);
	fill: var(--color-sand);
}

.bg-green{
	background-color: var(--color-green);
	color: var(--color-sand); 
	fill: var(--color-sand);
}
.text-green{
	color: var(--color-green);
	fill: var(--color-green);
}

.bg-red{
   background-color: var(--color-red);
   color: var(--color-sand); 
   fill: var(--color-sand);
}
.text-red{
   color: var(--color-red);
   fill: var(--color-red);
}


/*--------------------------------------------------------- THEME: BUTTONS */
div.btn{
	display: block;
	margin: 1rem 0;
}
	.section.section-pad .content > div.btn{
		padding: 10px 0 0 0;
	}

div.btn p{ 
	margin: 0; 
}
div.btn a span{
	display: inline-block;
	vertical-align: middle;
}
div.btn a span + span{
	margin-left: 13px;
}
div.btn a span svg{
	display: block;
	height: 0.66rem;
	width: auto;
}

button,
input[type="submit"],
input[type="button"],
div.btn a,
div.btn.btn-black a
.bg-white div.btn a{
	display: inline-block;
	vertical-align: middle;
    box-sizing: border-box;
/*	height: 44px;*/
	font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
	text-transform: uppercase;
   font-size: 15px;
	line-height: 20px;
	padding: 9px 30px 11px 30px;
	margin: 0 0;
	border-radius: 0px;
	text-align: center;
	color: var(--color-sand);
	fill: var(--color-sand);
	border-color: var(--color-red);
	border: 1px solid var(--color-red);;
	background-color: var(--color-red);
	transition: all 0.4s ease 0s; 
	white-space: nowrap;
}


div.btn.btn-readmore a{
	padding-left: 0;
	padding-right: 0;
    border: 0!important;
    background-color: transparent!important;
}



@media (hover: hover){

	button:hover,
	input[type="submit"]:hover,
	input[type="button"]:hover,
	div.btn a:hover,
	div.btn.btn-black a:hover
	.bg-white div.btn a:hover{
		color: var(--color-red);
		fill: var(--color-red);
		background-color: var(--color-sand);
    	border-color: var(--color-red);
		transition: all 0.4s ease 0s; 
		cursor: pointer;
	}

	.bg-green div.btn a:hover{
		border-color: var(--color-sand);
	}

}

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

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


.grid-container .grid-item{
	grid-column: c1 / c11;
  	grid-row-start: auto; 
  	grid-row-end: auto;
  	position: relative;
}
	.grid-container .grid-item.grid-item-1_9{
		grid-column: c2 / c10;
	}
	.grid-container .grid-item.grid-item-1_5{
		grid-column: c1 / c5;		
	}
	.grid-container .grid-item.grid-item-5_11{
		grid-column: c5 / c11;
	}
	.grid-container .grid-item.grid-item-0_12{
		grid-column: c0 / c12;
	}	
	.grid-container .grid-item.grid-item-1_6{
		grid-column: c1 / c6;		
	}
	.grid-container .grid-item.grid-item-6_11{
		grid-column: c6 / c11;		
	}


   .grid-container .grid-item.grid-item-half:nth-child(2n+1){
      grid-column: screenleft/c6;
   }
   .grid-container .grid-item.grid-item-half:nth-child(2n+2){
      grid-column: c6/screenright;
   }


.grid-container .grid-item .content,
.flex-container .flex-item .content{
	padding: var(--contentpad);	
}
	.grid-container .grid-item .content.pad-double,
	.flex-container .flex-item .content.pad-double{
		padding: var(--contentpad2x); 
	}
	.grid-container .grid-item .content.pad-half,
	.flex-container .flex-item .content.pad-half{
		padding: var(--contentpad05x);
	}
	.grid-container .grid-item .content.pad-none,
	.flex-container .flex-item .content.pad-none{
		padding: 0px 0px;	
	}

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



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

.section.section-has-bgimg{
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
}
.section-pad.section-has-bgimg{
	padding: var(--sectionpad2x) 0;
}

.section_1col_heading_content{}

.section_1col_heading_content.text_alt .grid-container{
   padding-bottom: var(--sectionpad);
}
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-image{
      grid-column: c0/c12;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-graphic{
      grid-column: c0/c8;
      margin-top: -16%;
      z-index: 4;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-heading{
      grid-column: c0/c5;
      text-align: center;
      align-self: end;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-text{
      grid-column: c7/c12;
      padding-bottom: var(--sectionpad2x);
      font-size: var(--size-p-large);
   }

.section_1col_heading_content.text_center .grid-container{
   padding: var(--sectionpad) 0;
}

.section_1col_heading_content:not(.text_alt) .grid-container .grid-item.grid-item-1_9{
	grid-column-start: c2;
    grid-column-end: c10;
    align-self: center;
}
	.section_1col_heading_content:not(.text_alt).text_left .grid-container .grid-item.grid-item-1_9{
		text-align: left;
	}
	.section_1col_heading_content:not(.text_alt).text_center .grid-container .grid-item.grid-item-1_9{
		text-align: center;
	}


.section_2col_heading_content{}

	.section_2col_heading_content .grid-container .grid-item.grid-item-6_11{
		align-self: center;
	}

   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-1_6,
   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-6_11,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-6_11,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-1_6{
		grid-row: 1/2;
	}

	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-1_6{
		grid-column: c7/c11;
	}
   .section_2col_heading_content.image_right .grid-container .grid-item.grid-item-6_11{
      grid-column: c1/c6;
   }
	.section_2col_heading_content.image_left .grid-container .grid-item.grid-item-1_6{
      grid-column: c1/c5;
   }


.section_2row_2col_content .grid-container .grid-item.grid-item-1_9{
	grid-column-start: c3;
    grid-column-end: c9;	
    text-align: center;
}

.section_2col_images{}
   .section_2col_images .grid-container{}
   .section_2col_images .grid-container .grid-item-half{}
   .section_2col_images .grid-container .grid-item-half img{}

.section_feat_map{}

	.section_feat_map .grid-item.item-map{
		grid-column: c2/c10;
		grid-row: 2/5;
	}
	.section_feat_map .grid-item.item-map-text-left{
		grid-column: c1/c4;
		grid-row: 1/3;
	}
	.section_feat_map .grid-item.item-map-text-right{
		grid-column: c8/c12;
		grid-row: 4/6;
	}


.section_feat_image_banner{}
	.section_feat_image_banner .content-media{}
	.section_feat_image_banner .content-media img{}
	.section_feat_image_banner .content-text{}

	.section_feat_image_banner .content-media + .content-text{
		position: absolute;
	    top: 0;
	    left: 0;
	    z-index: 2;
	    width: 100%;
	    height: 100%;
	}

.section_feat_image_gallery{}

.section_feed_project_slider{}


/*-------- HEADER + MENU ------------------------------------------- */
#site-header{ 
	z-index: 106;
	position: fixed; 
	top: 0; 
	left: 0;
	width: 100%;
	height: auto;
	padding: 26px 0 0px 0; 	
	background-color: transparent;
}
	#site-header .content{
		padding-top: 10px;
		padding-bottom: 0;
	}

.grid-container .grid-item.item-header-left{
	grid-column-start: c0;
    grid-column-end: c6;
}
.grid-container .grid-item.item-header-right{
	grid-column-start: c6;
    grid-column-end: c12;
}


/*-------- FOOTER --------------------------------------------------- */

#site-footer{}
#site-footer .footer-section.footer-contact{
	padding: var(--sectionpad2x) 0 var(--sectionpad) 0;
}
#site-footer .footer-section.footer-siteinfo{
	font-family: var(--fontfam-text);
	padding: 10px 0;
	font-size: 12px;
	text-transform: uppercase;
}

.grid-container .grid-item.item-footer-contact-left{
    grid-column-start: c1;
    grid-column-end: c5;
}
.grid-container .grid-item.item-footer-contact-right{
    grid-column-start: c7;
    grid-column-end: c11;
}

.grid-container .grid-item.item-footer-siteinfo-left{
    grid-column-start: c0;
    grid-column-end: c6;
}
.grid-container .grid-item.item-footer-siteinfo-right{
    grid-column-start: c6;
    grid-column-end: c12;
}




/*-------- HOME  / PAGE ------------------------------------------------------------ */
#site-main{
/*	min-height: 100vh;
	min-height: 100svh;*/
}
section.section-pad{
	padding: var(--sectionpad) 0;
}
	section.section-pad.section-has-bgimg{
		padding: var(--sectionpad2x) 0;
	}

section.section-pad.bg-white + .bg-white,
section.section-pad.bg-palegreen + .bg-palegreen,
section.section-pad.bg-green + .bg-green,
section.section-pad.bg-black + .bg-black{
	padding-top: 0;
}
section.section-pad > .grid-container + .grid-container{
	padding-top: var(--sectionpad05x);
}	
	section.section-pad.section-has-bgimg > .grid-container + .grid-container{
		padding-top: var(--sectionpad2x);
	}


.grid-container .grid-item.item-banner{
	grid-column-start: screenleft;
	grid-column-end: screenright;
}

.grid-container-banner .grid-item.item-banner{
	grid-row-start: 1;
	grid-row-end: 2;
}	
	.grid-container-banner .grid-item.item-banner .content{
		height: 100%;
	}
	.grid-container-banner .grid-item.item-banner img{
		height: 100%;
		object-fit: cover;
	}


.grid-container-banner .grid-item.item-banner-text{
	grid-row-start: 1;
	grid-row-end: 2;
	align-self: center;
	padding: var(--sectionpad05x) 0px;
}
	.grid-container-banner.colw_edge .grid-item.item-banner-text{
		grid-column: screenleft/screenright;
	}
	.grid-container-banner.colw_12 .grid-item.item-banner-text{
		grid-column: c0/c12;
	}
	.grid-container-banner.colw_10 .grid-item.item-banner-text{
		grid-column: c1/c11;
	}
	.grid-container-banner.colw_8 .grid-item.item-banner-text{
		grid-column: c2/c10;
	}


.grid-container-banner .grid-item.item-banner.item-overlay{
	color: var(--color-sand);
	fill: var(--color-sand);
}

	.grid-container-banner .grid-item.item-banner.item-overlay .banner-overlay_arrow{
		z-index: 4;
	}
		.grid-container-banner .grid-item.item-banner.item-overlay .banner-overlay_arrow svg{
			display: block;
			margin: 0 auto;
			height: 1.1rem;
			min-height: 24px;
			width: auto;
		}
	.grid-container-banner .grid-item.item-banner.item-overlay .banner-overlay_text{
    	position: absolute;
    	bottom: 0;
    	line-height: 1;
    	text-transform: uppercase;
	}
	.grid-container-banner .grid-item.item-banner.item-overlay .banner-overlay_text.banner-overlay_left{
		text-align: left;
		left: 0;
	}
	.grid-container-banner .grid-item.item-banner.item-overlay .banner-overlay_text.banner-overlay_right{
		text-align: right;
		right: 0;
	}


#page-banner{
   overflow: hidden;
}
   #page-banner .banner-slider{
   	line-height: 0;
   }

   #page-banner.section_default-head{
      padding-top: calc( var(--headH) + var(--sectionpad2x) );
   }
   section.section-pad.section_default-body{
      /*padding: var(--sectionpad2x) 0;*/
      min-height: 320px;
   }


#page-banner img,
#page-banner video,
#page-banner iframe,
#page-banner .banner-video,
#page-banner .banner-image,
#page-banner .banner-slide{
	display: block;
	width: 100%;
	height: 100%;
	height: 100vh;
	height: 100dvh;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	object-fit: cover;
}
   #page-banner .banner-video::after{
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      background: rgba(0,0,0,0.25);
   }


svg#banner-logo{
	display: inline-block;
	vertical-align: middle;
    width: 34vw;
    height: auto;
    margin: 20vh 0;
    max-width: 852px;
    max-height: 66vh;
}

#banner-slider-nav{
	pointer-events: all!important;
}

#banner-slider-nav ul.slick-dots, 
ul.slick-dots{
	display: block;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#banner-slider-nav ul.slick-dots li, 
ul.slick-dots li{
	margin: 4px 8px;
	padding: 0;
	display: inline-block;
    vertical-align: middle;
}
	#banner-slider-nav ul.slick-dots li button,
	ul.slick-dots li button{
		display: block;
		margin: 14px 0;
		padding: 0;
		height: 4px;
		width: 24px;
		overflow: hidden;
		text-indent: 40px;
		color: var(--color-sand);
		background-color: var(--color-sand);
		border: 0;
		border-radius: 0;
	}

#banner-slider-nav ul.slick-dots li.slick-active,
ul.slick-dots li.slick-active{

}
	#banner-slider-nav ul.slick-dots li.slick-active button,
	ul.slick-dots li.slick-active button{
		color: #4A6658;
		background-color: #4A6658;
	}

.grid-container-logos{}
.grid-container-logos a.logo-link{
	display: block;
    border-radius: 0px;
    border: 1px solid transparent;
    box-sizing: border-box;
}
.grid-container-logos img.logo-image{
	display: block;
	/*padding: 13px 13px;*/
	padding: 0 20px 0 0;
	margin: 0 auto;
	box-sizing: content-box;
}


.grid-container .grid-item.grid-item-feed-head{
	padding-bottom: 20px;
}
.grid-container .grid-item.grid-item-feed-body{
	grid-column-start: c1;
	grid-column-end: screenright;
}
.grid-container .grid-item.grid-item-feed-foot{
	padding-top: 20px;
}


.grid-container .grid-item.grid-item-feed-head-left{
	grid-column: c1 /c6;
	align-self: center;
	padding-bottom: 40px;
	padding-right: 30px;
}
.grid-container .grid-item.grid-item-feed-body-right{
	grid-column-start: c6;
	grid-column-end: screenright;
}
.grid-container .grid-item.grid-item-feed-slidenav{
	grid-column: c1 / c12;
}
	.grid-container .grid-item.grid-item-feed-slidenav .content{
		padding: 15px 40px 15px 30px;
	}

.feed-slider{}
.feed-slider .feed-slide{
	width: calc( 7 * var(--colw) - 40px )!important;
}
/*@media only screen and (min-width : 1440px){
	.feed-slider .feed-slide{}
}*/


.feed-slider .feed-slide .feed-slide-inner{
	display: block;
    /*width: calc( 100% - var(--colw) );*/
    margin: 0 auto 0 0;
    padding: 20px 10px 10px 20px;
    box-sizing: border-box;
}
.feed-slider .feed-slide a{}
.feed-slider .feed-slide img{
	display: block;
	width: 100%;
	height: auto;
}
.feed-slider .feed-slide .flex-container-slide-meta{
	padding-top: 20px;
}
.feed-slider .feed-slide .flex-container-slide-meta .feed-label{ 
	padding-right: 20px; 
	margin: 0 0;
}


.feed-slider .slick-slide .feed-slide img{
	transition: all 0.4s ease;
}
.feed-slider .slick-slide .feed-slide .flex-container-slide-meta{
	transition: all 0.4s ease;
   color: currentColor;
   fill: currentColor;
}
   .section_feed_project_slider.bg-white .feed-slider .slick-slide .feed-slide .flex-container-slide-meta,
   .section_feed_project_slider.bg-sand .feed-slider .slick-slide .feed-slide .flex-container-slide-meta,
   .section_feed_project_slider.bg-white .grid-container .grid-item.grid-item-feed-slidenav,
   .section_feed_project_slider.bg-sand .grid-container .grid-item.grid-item-feed-slidenav{
      color: var(--color-red);
   }


	/* override this style on hover - click does not show PREV/NEXT when all slides visible */
	.feed-slider .slick-slide:not(.slick-current):not(:hover) .feed-slide img{
		/*filter: grayscale(1);*/
		transition: all 0.4s ease;
	}
	.feed-slider .slick-slide:not(.slick-current):not(:hover) .feed-slide .flex-container-slide-meta{
		opacity: 0;
		transition: all 0.4s ease;
	}


.slider-nav + .slider-nav{
	margin-left: 13px;
}
.slider-nav.slider-prev, 
.slider-nav.slider-next{
	display: inline-block;
    vertical-align: baseline;
    height: auto;
}
.slider-nav.slider-prev svg, 
.slider-nav.slider-next svg{
	display: block;
    height: 1.1rem;
    min-height: 24px;
    width: auto;
}
@media (hover: hover){
	.slider-nav.slider-prev:hover, .slider-nav.slider-next:hover {
		fill: var(--color-red);
    	cursor: pointer;
	}
}

.grid-container-gallery img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.grid-container-gallery .grid-item.grid-image-1{
	grid-column-start: c3;
    grid-column-end: c11;
}
.grid-container-gallery .grid-item.grid-image-2{
	grid-column-start: c1;
    grid-column-end: c6;
}
	.grid-container-gallery .grid-item.grid-image-2 img{
		margin-bottom: var(--colw);
	}
.grid-container-gallery .grid-item.grid-image-3{
	grid-column-start: c6;
    grid-column-end: c11;
}
	.grid-container-gallery .grid-item.grid-image-3 img{
		margin-top: var(--colw);
	}




/*-------- PROJECT ---------------------------------------------------------- */

section.section-pad > .grid-container.proj-container-title + .grid-container.proj-container-gallery{
	padding-top: var(--sectionpad05x);
}


/*-------- FORMS / GRAVITY GFORMS ------------------------------------------- */

body.canopy-theme .gform_wrapper.gravity-theme input[type=color], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=date], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=datetime-local], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=datetime], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=email],
body.canopy-theme .gform_wrapper.gravity-theme input[type=month], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=number], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=password], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=search], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=tel], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=text], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=time], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=url], 
body.canopy-theme .gform_wrapper.gravity-theme input[type=week], 
body.canopy-theme .gform_wrapper.gravity-theme select, 
body.canopy-theme .gform_wrapper.gravity-theme textarea{
	display: block;
	position: relative;	
	box-sizing: border-box;
	width: 100%;
	font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
   text-transform: uppercase;
	font-size: 15px;
	line-height: 20px;
	border-radius: 0px;
	padding: 11px 16px;
   border: 1px solid var(--color-white);
	background-color: var(--color-white);
   color: var(--color-black);
   fill: var(--color-black);
   appearance: none;
   webkit-appearance: none;
}
	body.canopy-theme .gform_wrapper.gravity-theme a{
		text-decoration: underline;
	}
	body.canopy-theme .gform_wrapper.gravity-theme select{
		background-image: url('../images/icon-select-1.svg');
		background-repeat: no-repeat;
		background-position: top 16px right 16px;
		background-size: auto 12px;
		padding-right: 36px;
	}
   body.canopy-theme .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]{
      border-color: var(--color-white);
   }

body.canopy-theme .gform_wrapper.gravity-theme input::placeholder, 
body.canopy-theme .gform_wrapper.gravity-theme select::placeholder, 
body.canopy-theme .gform_wrapper.gravity-theme textarea::placeholder{
	color: currentColor;		
}

body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_consent,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_checkbox,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_radio,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_consent label,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_checkbox label,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_radio label{
	font-family: var(--fontfam-btn);
   font-weight: var(--fontwei-btn);
	font-size: var(--size-button);
   text-transform: uppercase;
	line-height: 20px;
	display: inline-block;
   vertical-align: middle;
}

body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_checkbox .gchoice + .gchoice,
body.canopy-theme .gform_wrapper.gravity-theme .ginput_container_radio .gchoice + .gchoice{
	margin-top: 8px;
}


body.canopy-theme .gform_wrapper.gravity-theme input[type="checkbox"],
body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"]{
	position: relative;
	display: inline-block;
    vertical-align: middle;
    border: 1px solid currentColor;
    border-radius: 5px;
    width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    padding: 0 0;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
}

	body.canopy-theme .gform_wrapper.gravity-theme input[type="checkbox"]:checked,
	body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"]:checked{
		background-color: currentColor;
		transition: all 0.3s ease;
	}
	body.canopy-theme .gform_wrapper.gravity-theme input[type="checkbox"]::after,
	body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"]::after{
		content: '';
	    display: block;
	    border: 0px solid currentColor;
	    z-index: 2;
	    width: 16px;
	    height: 16px;
	    position: absolute;
	    top: 0;
	    left: 0;
	    box-sizing: border-box;
	    transition: all 0.3s ease;
	}
	body.canopy-theme .gform_wrapper.gravity-theme input[type="checkbox"]:checked::after,
	body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"]:checked::after{
		border: 3px solid currentColor;
		transition: all 0.3s ease;
		border-radius: 5px;
		border-color: var(--color-green);
	}
		body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"],
		body.canopy-theme .gform_wrapper.gravity-theme input[type="radio"]::after{
			border-radius: 50%;
		}

body.canopy-theme .gform_wrapper.gravity-theme .gform_footer, 
body.canopy-theme .gform_wrapper.gravity-theme .gform_page_footer{
	margin: 10px 0;
    padding: 20px 0 0 0;
}


body.canopy-theme .gform_wrapper.gravity-theme .gfield_required{
	color: currentColor;
}


body.canopy-theme .gform_wrapper .gform_validation_errors{
   position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
   background: var(--color-red);
   color: var(--color-sand);
   border: var(--color-sand);
   border-radius: 0px;
   margin-bottom: 16px;
   border-radius: 0px;
}
body.canopy-theme .gform_wrapper .gform_validation_errors>h2.hide_summary{
	color: inherit;
}
body.canopy-theme .gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message{
	/*background: transparent;*/
   border: 0;
   padding: 8px 8px;
   margin: 0;
   font-size: 12px;
   color: var(--color-red);
   background: var(--color-sand);
}


@media only screen and (max-width: 641px){
	body.canopy-theme .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]){
		line-height: 1;
		min-height: unset;
	}
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*-------------------------------------------------------- RESPONSIVE STYLES */
/*---------------------------------------------------------------------------*/
/* Laptop */
@media only screen and (max-width : 1366px) {
   :root{
      --gridgutter: var(--contentpad2x);
   }
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_9{
		grid-column-start: c2;
    	grid-column-end: c10;
	}
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_6{
		grid-column-start: c1;
    	grid-column-end: c5;
	}
	.section_2row_2col_content .grid-container .grid-item.grid-item-6_11{
		grid-column-start: c5;
    	grid-column-end: c11;
	}

	.grid-container .grid-item.item-footer-contact-left{
		grid-column-start: c1;
    	grid-column-end: c6;
	}
	.grid-container .grid-item.item-footer-contact-right{
		grid-column-start: c6;
    	grid-column-end: c11;
	}
}

/* Tablet/iPad */
@media only screen and (max-width : 980px) {
   :root{
      --gridgutter: var(--contentpad);
   } 

	.section_1col_heading_content:not(.text_alt) .grid-container .grid-item.grid-item-1_9,
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_9,
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_6,
	.section_2row_2col_content .grid-container .grid-item.grid-item-6_11,
   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-1_6,
   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-6_11,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-1_6,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-6_11,
	.grid-container .grid-item.grid-item-1_9,
	.grid-container .grid-item.grid-item-1_5,
	.grid-container .grid-item.grid-item-5_11,
	.grid-container .grid-item.grid-item-1_6,
	.grid-container .grid-item.grid-item-6_11{
		grid-column: c1 / c11;
	}
		.section_1col_heading_content:not(.text_alt) .grid-container .grid-item.grid-item-1_9{}
		.section_2row_2col_content .grid-container .grid-item.grid-item-1_9,
		.section_2row_2col_content .grid-container .grid-item.grid-item-1_6,
		.section_2row_2col_content .grid-container .grid-item.grid-item-6_11{
			text-align: left;
		}
		.section_1col_heading_content:not(.text_alt).text_center .grid-container .grid-item.grid-item-1_9 h2{
			padding-bottom: 30px;
		}

      .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-6_11,
		.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-6_11{	
			/*grid-row: 1/2;*/
         grid-row: auto;
		}
      .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-1_6,
		.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-1_6{
			/*grid-row: 2/3;*/
         grid-row: auto;
		}


	.grid-container-banner.colw_10 .grid-item.item-banner-text{
		grid-column: c0/c12;
	}
	.grid-container-banner.colw_8 .grid-item.item-banner-text{
		grid-column: c1/c11;
	}

	.grid-container .grid-item.grid-item-feed-head-left{
		grid-column: c1/c11;
		padding-bottom: 15px;
    	padding-right: 0px;
	}
	.grid-container .grid-item.grid-item-feed-body-right{
		grid-column: c1/screenright;
	}
	.grid-container .grid-item.grid-item-feed-slidenav{
		grid-column: c0/c12;
	}
	.grid-container .grid-item.grid-item-feed-slidenav .content{
		padding: 15px;
	}

	.section_feat_map .grid-item.item-map{
		grid-column: c1/c11;
	}
	.section_feat_map .grid-item.item-map-text-left{
		grid-column: c0/c4;
	}
	.section_feat_map .grid-item.item-map-text-right{
		grid-column: c8/c12;
	}
		.section_feat_map .item-map-text h2,
		.section_feat_map .item-map-text .h2{
			font-size: 1.45rem;/*H3*/
		}


   .section_1col_heading_content.text_alt .grid-container{
      padding-bottom: 0;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-graphic{
      grid-column: c0 / c11;
      margin-top: -24%;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-heading{
      grid-column: c0 / c12;
   }
   .section_1col_heading_content.text_alt .grid-container .grid-item.grid-item-text{
      grid-column: c0 / c12;
      padding-bottom: 0;
      font-size: var(--size-p);
   }


	.grid-container .grid-item.item-footer-contact-left{
		grid-column: c1 / c11;
	}
	.grid-container .grid-item.item-footer-contact-left h2{
		padding-bottom: 30px;
	}

	.grid-container .grid-item.item-footer-contact-right{
		grid-column-start: c1;
    	grid-column-end: c11;
	}
	.feed-slider .feed-slide{
		width: calc( 10 * var(--colw) - 40px )!important;
	}

	svg#banner-logo{
		max-height: 340px;
	}

	section.section-pad.section-has-bgimg{
		padding: var(--sectionpad) 0;
	}	
		section.section-pad.section-has-bgimg > .grid-container + .grid-container{
			padding-top: var(--sectionpad05x);
		}
}

/* Mobile */
@media only screen and (max-width : 760px) {
   :root{
      --gridgutter: 0px;
      --contentpad05x: 10px;
      --contentpad: 15px;
      --contentpad2x: 30px;
      --sectionpad05x: 20px;
      --sectionpad: 40px;
      --sectionpad2x: 80px;
   }
	/* grid & flex */
	.grid-container .grid-item{
		grid-column: c0 / c12;
	}
	.section_1col_heading_content:not(.text_alt) .grid-container .grid-item.grid-item-1_9,
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_9,
	.section_2row_2col_content .grid-container .grid-item.grid-item-1_6,
	.section_2row_2col_content .grid-container .grid-item.grid-item-6_11,
   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-1_6,
   .section_2col_heading_content.image_left .grid-container .grid-item.grid-item-6_11,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-1_6,
	.section_2col_heading_content.image_right .grid-container .grid-item.grid-item-6_11,
	.grid-container .grid-item.grid-item-1_9,
	.grid-container .grid-item.grid-item-1_5,
	.grid-container .grid-item.grid-item-5_11,
	.grid-container .grid-item.grid-item-1_6,
	.grid-container .grid-item.grid-item-6_11{
		grid-column: c0 / c12;
	}

	.grid-container .grid-item.grid-item-feed-head-left{
		grid-column: c0/c12;
	}
	.grid-container .grid-item.grid-item-feed-body-right{
		grid-column: c0/screenright;
	}

	.section_feat_map .grid-item.item-map{
		grid-column: c0/c12;
	}
	.section_feat_map .grid-item.item-map-text-left{
		grid-column: c0/c6;
	}
	.section_feat_map .grid-item.item-map-text-right{
		grid-column: c6/c12;
	}

   .grid-container .grid-item.grid-item-half:nth-child(2n+1),
   .grid-container .grid-item.grid-item-half:nth-child(2n+2){
      grid-column: screenleft/screen;
   }


	.grid-container .grid-item.item-footer-contact-left,
	.grid-container .grid-item.item-footer-contact-right{
		grid-column: c0 / c12;
	}
	.grid-container .grid-item.item-header-left{
		grid-column-start: screenleft;
	}
	.grid-container .grid-item.item-header-right{
		grid-column-end: screenright;
	}

	.feed-slider .feed-slide{
		width: calc( 12 * var(--colw) )!important;
	}
	.grid-container-gallery .grid-item.grid-image-1{
		grid-column: c1 / c12;
	}
	.grid-container-gallery .grid-item.grid-image-2{
		grid-column: c0 / c6;
	}
	.grid-container-gallery .grid-item.grid-image-3{
		grid-column: c6 / c12;
	}
	.grid-container .grid-item.grid-item-feed-body{
		grid-column: c0 / screenright;
	}

	.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 */
	html.scrolling #wpadminbar{
		display: none;
	}
	#site-header{
		padding: 8px 0 0 0;
	}
	#site-header .grid-container{
		align-items: center;
	}
	#site-header div.btn a{
		padding: 8px 16px;
		font-size: 14px;
	}

	svg#header-logo{
		height: 32px;
    	width: auto;
	}
	svg#banner-logo{
		max-height: 230px;
	}

	/* layouts */
	.grid-container .grid-item .content, .flex-container .flex-item .content,
	.grid-container .grid-item .content.pad-double, .flex-container .flex-item .content.pad-double{
		padding: 20px 20px;
	}
	.grid-container .grid-item .content.pad-half, .flex-container .flex-item .content.pad-half{
		padding: 10px 10px;
	}

}

@media only screen and (max-width : 460px) {
   :root{}
	html, body { font-size: 16px; }

	svg#banner-logo{
		max-height: 120px;
	}

	section.section-pad:not(.section_default-head){
		padding: var(--sectionpad) 0;
	}
		section.section-pad.section_default-head{
			padding: var(--sectionpad2x) 0 var(--sectionpad) 0;
		}
		section.section-pad > .grid-container + .grid-container{
			padding-top: var(--sectionpad);
		}
	section.section-pad.section-has-bgimg{
		padding: var(--sectionpad) 0;
	}
		section.section-pad.section-has-bgimg > .grid-container + .grid-container{
			padding-top: var(--sectionpad);
		}
	.grid-container.proj-container-blank{
		height: 4px;
	}

	.grid-container .grid-item.item-footer-siteinfo-left,
	.grid-container .grid-item.item-footer-siteinfo-right{
		grid-column: c0 / c12;
	}
	.grid-container .grid-item.item-footer-siteinfo-left .content{
		padding-top: 0;
		padding-bottom: 0;
	}
	.grid-container .grid-item.item-footer-siteinfo-right .content{
		padding-top: 10px;
		padding-bottom: 30px;
		text-align: left;
	}


}


