html {

}
body {
	font-family: 'europa', 'Helvetica', 'Arial', sans-serif;
	font-weight: 300;
}
body.show-menu {
	overflow: hidden;
	height: 100vh;
}


p {
	
}
p:empty {
	
}
img {
	border: 0;
}
a {
	color: inherit;/*#4c9258;*/
	text-decoration: none;
}
main a:not([class]) {
	font-weight: bolder;
	text-decoration: underline;
}
a:hover,
a:focus {
	/*color: #777777;*/
	/*text-decoration: none;*/
}


/* headings */
h1, h2, h3, h4, h5, h6 {
	font-weight: 300;
	margin: 0 0 1rem;
 }
h1 {
	font-size: 1.4rem;
}
h2 {
	font-size: 1.3rem;
}
h3 {
	font-size: 1.2rem;
}
h4, h5, h6 {
	font-size: 1.1rem;
}
h1:not(:first-child), h2:not(:first-child), h3:not(:first-child), h4:not(:first-child), h5:not(:first-child), h6:not(:first-child) {
	margin-top: 2.5rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	font-weight: inherit !important;
	text-decoration: underline !important;
}


::-moz-selection {
	background: #4c9258;
	color: #FFFFFF;
}
::selection {
	background: #4c9258;
	color: #FFFFFF;
}


/* pagination */
.pagination {
	font-weight: 700;
	letter-spacing: .1em;
	padding: 0;
	text-transform: uppercase;
}
	.pagination .screen-reader-text {
		
	}
	.pagination a,
	.pagination .page-numbers {
		border: 1px solid transparent;
		border-radius: 50%;
		color: inherit;
		display: inline-block;
		margin: 0 .1em;
		padding: 0;
		text-align: center;
		width: 2.5rem; height: 2.5rem; line-height: 2.5rem;
	}
	.pagination .page-numbers.current {
		border-color: #4c9258;
	}
	.pagination .nav-links::before {
		content: 'Pages';
		display: inline-block;
		margin-right: 1.3em;
	}


/* screen readers */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}


/* ----------------------------- PAGE STRUCTURE ----------------------------- */


#alert_banner_container {
	padding: .5rem 0;
	text-align: center;
}
	#alert_banner_container a {
		color: inherit;
	}
	#alert_banner_container p:last-child {
		margin: 0;
	}


.page-header {
	position: relative;
	transition: all .3s ease;
	z-index: 1001;
}

	.page-header a {
		color: inherit;
	}
	.page-header a:hover,
	.page-header a:focus {
		color: inherit;
	}



.menu-toggle {
	cursor: pointer;
	display: inline-block;
	transform: rotate(0deg);
	transition: .5s ease-in-out;
	margin-left: 1em;
	position: relative;/*position: fixed; top: 2rem; right: 1.5rem;*/
	vertical-align: middle;
	width: 1.8em; height: 1.5em;
	z-index: 1004;
}
/*body.show-menu .menu-toggle {
	position: fixed; top: 2rem; right: 1.5rem;
}*/
	.menu-toggle span {
		background: currentColor;
		display: block;
		position: absolute; left: 0;
		transform: rotate(0deg);
		transition: .25s ease-in-out;
		width: 100%; height: 4px;
	}
	.menu-toggle span:nth-child(1) { top: 0; }
	.menu-toggle span:nth-child(2), .menu-toggle span:nth-child(3) { top: calc(50% - 2px); }
	.menu-toggle span:nth-child(4) { top: calc(100% - 4px); }
	body.show-menu .menu-toggle span:nth-child(1), body.show-menu .menu-toggle span:nth-child(4) { left: 50%; width: 0%; }
	body.show-menu .menu-toggle span:nth-child(2) { transform: rotate(45deg); }
	body.show-menu .menu-toggle span:nth-child(3) { transform: rotate(-45deg); }


.menu-main-menu-container {
	background: #2c5433;
	display: block;
	font-size: 1em;
	font-weight: bold;
	margin: 0; margin-left: -105%;
	padding: 8%;
	position: fixed; top: 5rem; left: 0;
	transition: all .3s ease;
	width: 100vw; height: calc(100vh - 5rem);
	z-index: 1003;
}
body.show-menu .menu-main-menu-container {
	margin-left: 0;
	overflow-x: hidden;
	overflow-y: auto;
}
	#menu-main-menu {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
	.page-header #menu-main-menu li {
		display: table;
		margin: 0 .5em;
	}
		.page-header #menu-main-menu li a,
		.page-header #menu-main-menu li a:visited {
			display: table;
			padding: .3em 0;
			position: relative;
			text-decoration: none;
		}
		.page-header #menu-main-menu li:first-child > a {

		}
		.page-header #menu-main-menu li:last-child > a {

		}
		.page-header #menu-main-menu li.current-menu-item > a,
		.page-header #menu-main-menu li.current-menu-parent > a,
		.page-header #menu-main-menu li.current-menu-ancestor > a {
			/*background-color: #00FF00;
			color: #FFFFFF;
			text-decoration: none;*/
		}
		.page-header #menu-main-menu li:hover > a,
		.page-header #menu-main-menu li a:hover,
		.page-header #menu-main-menu li a:focus {
			/*background-color: #00FF00;
			color: #FFFFFF;
			text-decoration: none;*/
		}
			.page-header #menu-main-menu > li > a::after {
				border-bottom: 2px solid #4c9258;
				content: '';
				position: absolute; top: 100%; left: 0%;
				/*transform: translateX(-50%);*/
				transition: width .3s ease;
				width: 0; height: 0;
				z-index: 20;
			}
			.page-header #menu-main-menu li.current-menu-item > a::after,
			.page-header #menu-main-menu li.current-menu-parent > a::after,
			.page-header #menu-main-menu li.current-menu-ancestor > a::after,
			.page-header #menu-main-menu li:hover > a::after,
			.page-header #menu-main-menu li a:hover::after,
			.page-header #menu-main-menu li a:focus::after {
				width: 100%;
			}

		.page-header #menu-main-menu ul.sub-menu {
			font-weight: 300;
			padding: .3em 0 1em 1em;
			position: static; top: auto; left: auto;
			visibility: visible;
			width: auto;
		}
			.page-header #menu-main-menu ul.sub-menu li {
				padding: 0;
			}
				.page-header #menu-main-menu ul.sub-menu a,
				.page-header #menu-main-menu ul.sub-menu a:visited {
					padding: .2em .5em;
				}
				.page-header #menu-main-menu ul.sub-menu li:first-child > a {

				}
				.page-header #menu-main-menu ul.sub-menu li:last-child > a {

				}
				.page-header #menu-main-menu ul.sub-menu a:hover,
				.page-header #menu-main-menu ul.sub-menu a:focus {
					text-decoration: underline;
				}
				.page-header #menu-main-menu ul.sub-menu li.current-menu-item > a, 
				.page-header #menu-main-menu ul.sub-menu li.current-menu-parent > a, 
				.page-header #menu-main-menu ul.sub-menu li.current-menu-ancestor > a,
				.page-header #menu-main-menu ul.sub-menu li.current-page-ancestor > a {
					text-decoration: underline;
				}



main {
	display: block;
}


iframe {
	border: 0;
}
.aligncenter iframe {
	margin-right: auto; margin-left: auto;
}




.childpage-root {
	margin: 0 0 3rem;
}




/* slick carousel */
.slick-slider {
	margin: 0;
}
	.slick-slider .slick-arrow {
		background: rgba(0,0,0,.3);
		padding: .8rem !important;
		width: auto; height: auto;
	}
		.slick-slider .slick-arrow::before {
			background: center/contain no-repeat transparent;
			filter: brightness(0) invert(1);
			width: 1rem; height: 1rem;
		}
	.slick-slider .slick-arrow.slick-prev {
		left: 0;
	}
		.slick-slider .slick-arrow.slick-prev::before {
			background-image: url('../images/arrow-left.svg');
		}
	.slick-slider .slick-arrow.slick-next {
		right: 0;
	}
		.slick-slider .slick-arrow.slick-next::before {
			background-image: url('../images/arrow-right.svg');
		}

.slick-dotted.slick-slider {
	margin: 0;
}
	.slick-dots {
		margin: 0;
		padding: 0 1.5rem 2rem;
		position: absolute; bottom: 0; left: 0; /*position: absolute; bottom: 2em; left: 50%;
		transform: translateX(-50%);*/
		text-align: left;
		z-index: 2;
	}
		.slick-dots li {
			margin: 0 .2em;
		}
			.slick-dots li button {
				background-color: transparent;
				border: 1px solid #FFFFFF;
				border-radius: 50%;
				display: block;
				padding: 0;
				width: 1rem; height: 1rem;
			}
			.slick-dots li.slick-active button {
				background-color: #FFFFFF;
			}
			/*.has-white-color .slick-dots li button {
				border-color: #FFFFFF;
			}
			.has-white-color .slick-dots li.slick-active button {
				background-color: #FFFFFF;
			}*/
				.slick-dots li button::before {
					display: none;
				}

	.case-study-carousel .slick-dots {
		margin: 1rem 0 -1rem;
		padding: 0;
		position: static;
		text-align: center;
	}
			.case-study-carousel .slick-dots li button {
				border-color: #2c5433;
			}
			.case-study-carousel .slick-dots li.slick-active button {
				background-color: #2c5433;
			}

	.slick-slide:focus {
		outline: none !important;
	}




/* FOOTER */

.page-footer {
	border-top: 1px solid #f0f0f0;/*f5f5f5;*/
}
	.page-footer a {
		color: inherit;
	}
	.page-footer a:hover,
	.page-footer a:focus {
		color: inherit;
		text-decoration: underline;
	}

	.page-footer #menu-footer-menu {
		display: flex;
		flex-wrap: wrap;

		list-style-type: none;
		margin: 0;
		padding: 0;
	}
		.page-footer #menu-footer-menu li {
			margin: 0;
			padding: 0 3em 0 0;
			/*max-width: 33.33%;*/
		}
			.page-footer #menu-footer-menu li > a {
				display: block;
				padding: .1rem 0;
			}
			.page-footer #menu-footer-menu > li > a {
				display: none;
			}
				.page-footer #menu-footer-menu ul.sub-menu {
					display: block;
					font-size: 1.2rem;
					font-weight: 700;
					padding: 0;
					list-style-type: none;
				}
					.page-footer #menu-footer-menu ul.sub-menu li {
						margin: 0;
						padding: 0;
						max-width: none;
					}
						.page-footer #menu-footer-menu ul.sub-menu ul.sub-menu {
							font-size: 1rem;
							font-weight: 300;
							padding: .5em 0 1.5em;
						}

	#menu-legal-menu {
		display: block;
		list-style-type: none;
		margin: 0 -.7em;
		padding: 0;
	}
		#menu-legal-menu li {
			display: inline-block;
			margin: 0;
			padding: 0 .7em;
		}
		#menu-legal-menu li:not(:first-of-type) {
			border-left: 1px solid currentColor;
			padding-left: .9em;
		}
			#menu-legal-menu li a {
				display: block;
				text-decoration: none;
			}
			#menu-legal-menu li ul.sub-menu {
				display: none;
			}




/* --------------------- FORMS --------------------- */
form {
	text-align: initial;
}

fieldset {
	border: 0;
}

label {

}
label:empty {
	display: none;
}

input,
textarea,
select {
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	font-weight: 300;
	letter-spacing: inherit;
	vertical-align: middle;
}


input[type="text"],
input[type="number"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="submit"],
input[type="tel"],
.select-style,
textarea,
.gform_drop_area {
	-webkit-appearance: none;
	border-radius: 0;
	display: inline-block;
	font-size: 1em;
	margin: .3em 0;
	padding: .5rem 1.2rem;
}
.gform_drop_area {
	margin: 0;
	padding-top: 0; padding-right: 0; padding-bottom: 0;
}


input[type="text"],
input[type="number"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="tel"],
.select-style,
textarea,
.gform_drop_area {
	border: 1px solid #d0d0d0;
	background-color: #FFFFFF;
	border-radius: 2rem;
}
textarea {
	min-height: 6em;
}


::-webkit-input-placeholder {
	color: inherit;
	font-weight: 300;
	opacity: .5;
}
:-moz-placeholder {
	color: inherit;
	font-weight: 300;
	opacity: .5;
}
::-moz-placeholder {
	color: inherit;
	font-weight: 300;
	opacity: .5;
}
:-ms-input-placeholder {
	color: inherit;
	font-weight: 300;
	opacity: .5;
}


input[type="radio"],
input[type="checkbox"] {
	display: inline-block;
	margin: .3em .5em .3em 0;
	vertical-align: top;
}
input[type="radio"] + label,
input[type="checkbox"] + label {
	display: inline-block;
	overflow: visible;
	height: auto;
	max-width: calc(100% - 4em);
}



/* image */
input[type="image"] {
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: inline-block;
	margin: .3em 0;
	padding: .5em;
	width: auto; height: 2.44em;
	vertical-align: middle;
}
input[type="image"]:hover,
input[type="image"]:focus {

}



/* select style (requires wrapper .select-style) */
.select-style {
	padding: 0;
	margin: .3em 0;
	overflow: hidden;
	position: relative;
	vertical-align: middle;
}
	.select-style select {
		-webkit-appearance: none;
		background: none;
		border: 0;
		border-radius: 0;
		color: inherit;
		display: block;
		padding: .5em 2.5em .5em .5em;
		position: relative;
		width: calc(100% + 2em);
	}
		.select-style select option {
			color: inherit;
			padding: 0 2em 0 0;
		}
	.select-style::after {
		background: url('../images/arrow-down.svg') center/50% auto no-repeat #FFFFFF;
		content: '';
		display: block;
		pointer-events: none;
		position: absolute; top: 0; right: 0;
		width: 2em; height: 100%;
	}



.radio-style,
.checkbox-style {
	background: #dddddd;
	border: .2em solid #dddddd;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	margin-right: .5em;
	position: relative;
	transition: all .3s ease;
	vertical-align: middle;
	width: 1em; height: 1em;
}
.checkbox-style {
	border-radius: .1em;
}
.radio-style.checked,
.checkbox-style.checked {
	background: #ff0000;
}
	.radio-style input[type="radio"],
	.checkbox-style input[type="checkbox"] {
		display: block;
		margin: 0;
		position: absolute; top: -.2em; left: -.2em;
		width: 1em; height: 1em;
	}




/* ----------------------------------------------------------------------------- */
/* -------------------------------- BREAKPOINTS -------------------------------- */
/* ----------------------------------------------------------------------------- */


/* smartphones, touchscreens (devices with no hover state and 'coarse' i.e. finger-based cursor position) */
@media (hover: none) and (pointer: coarse) {



}



/* 
@media (max-width: 575.98px) { ... } xs
@media (max-width: 767.98px) { ... } sm
@media (max-width: 991.98px) { ... } md
@media (max-width: 1199.98px) { ... } lg
larger xl
*/



/* xs and sm only */
@media only screen and (max-width: 767.98px) {

.container {
	padding-right: 8vw; padding-left: 8vw;
}
.col-12.is-style-text-column {
	padding-right: calc(8vw + 15px) !important; padding-left: calc(8vw + 15px) !important;
}

.page-header {
	padding-bottom: .5rem;
}

.fixed-header .page-header {
	position: fixed; top: 0; right: 0; left: 0;
}
.fixed-header .page-header,
.fixed-header .page-header-height {
	height: 5rem;
}

body.scrolled .menu-main-menu-container {
	top: 4rem;
	height: calc(100vh - 4rem);
}

.page-footer #menu-footer-menu > li:not(:last-of-type) {
	display: none;
}

.fixed-footer-mobile {
	position: fixed; right: 0; bottom: 0; left: 0;
	text-align: center;
	z-index: 1000;
}
	.fixed-footer-mobile p:last-child {
		margin-bottom: 0;
	}

.fixed-footer-space {
	height: 4rem;
}


}



/* sm (small) + */
@media only screen and (min-width: 575.98px) {





}


/* md (medium) + */
@media only screen and (min-width: 767.98px) {

/* headings */
h1, h2, h3, h4, h5, h6 { 
	
}
h1 { 
	font-size: 2.5em;
}
h2 { 
	font-size: 2em;
}
h3 { 
	font-size: 1.4em;
}
h4, h5, h6 { 
	font-size: 1.2em;
}



/* ----------------------------- PAGE STRUCTURE ----------------------------- */
.page-header { 
	
}



/* fixed header */
.fixed-header .page-header {
	position: absolute; top: 0; right: 0; left: 0;
}
.fixed-header.scrolled .page-header {
	position: fixed;
	height: auto;
}
.fixed-header.scrolled.admin-bar .page-header { /* when wordpress admin bar is present */
	top: 32px;
}
.fixed-header .page-header,
.fixed-header .page-header-height {
	height: 12.4rem;
}


.menu-main-menu-container,
body.show-menu .menu-main-menu-container {
	background: transparent;
	box-shadow: none;
	color: inherit;
	font-size: 1rem;
	font-weight: 300;
	margin: 0;
	overflow: visible;
	padding: .7rem 0;
	position: relative; top: auto; right: auto; bottom: auto; left: auto;
	text-align: center;
	white-space: nowrap;
	width: auto; height: auto;
	z-index: 1002;
}
	.page-header #menu-main-menu li { 
		display: inline-block;
		margin: .2em .8em;
		position: relative;
		/*text-align: initial;*/
	}
		.page-header #menu-main-menu li a, 
		.page-header #menu-main-menu li a:visited { 
			display: block;
			padding: .1em 0;
		}
		.page-header #menu-main-menu li:first-child > a { 
			margin-left: 0;
		}
		.page-header #menu-main-menu li:last-child > a { 
			margin-right: 0;
		}
		.page-header #menu-main-menu li.current-menu-item > a,
		.page-header #menu-main-menu li.current-menu-parent > a,
		.page-header #menu-main-menu li.current-menu-ancestor > a { 
			
		}
		.page-header #menu-main-menu li:hover > a,
		.page-header #menu-main-menu li a:hover,
		.page-header #menu-main-menu li a:focus { 
			
		}

		.page-header #menu-main-menu ul.sub-menu {
			background-color: #2c5433;
			/*border-bottom-right-radius: 2rem; border-bottom-left-radius: 2rem;*/
			padding: .5em 0;
			position: absolute; top: 100%; left: 50%;
			transform: translateX(-50%);
			visibility: hidden;
			white-space: normal;
			width: 12em;
		}
		.page-header #menu-main-menu li:first-child ul.sub-menu {
			/*left: -.7em;*/
		}
		.page-header #menu-main-menu li:last-child ul.sub-menu {
			/*left: auto; right: -.7em;*/
		}
		.page-header #menu-main-menu li:hover > ul.sub-menu, 
		.page-header #menu-main-menu a:focus + ul.sub-menu,
		.page-header #menu-main-menu li[aria-expanded="true"] > ul.sub-menu,
		.page-header #menu-main-menu.sub-menu[data-has-focus="true"] {
			visibility: visible;
		}
			.page-header #menu-main-menu ul.sub-menu li { 
				display: block;
				margin: 0 0;
			}
				.page-header #menu-main-menu ul.sub-menu a, 
				.page-header #menu-main-menu ul.sub-menu a:visited { 
					display: block;
					margin: 0;
					padding: .3em .7em;
					/*text-align: initial;
					text-transform: none;*/
				}
				.page-header #menu-main-menu ul.sub-menu li:first-child > a { 
					
				}
				.page-header #menu-main-menu ul.sub-menu li:last-child > a { 
					
				}
				.page-header #menu-main-menu ul.sub-menu a:hover,
				.page-header #menu-main-menu ul.sub-menu a:focus { 
					
				}
				.page-header #menu-main-menu ul.sub-menu li.current-menu-item > a,
				.page-header #menu-main-menu ul.sub-menu li.current-menu-parent > a,
				.page-header #menu-main-menu ul.sub-menu li.current-menu-ancestor > a { 
					
				}

				.page-header #menu-main-menu ul.sub-menu ul.sub-menu {
					padding: 0 0;
					position: absolute; top: 0; left: 100%;
				}
					.page-header #menu-main-menu ul.sub-menu ul.sub-menu a {
						/*text-decoration: none;*/
					}


	.slick-slider .slick-arrow {
		padding: 1rem !important;
	}
		.slick-slider .slick-arrow::before {
			width: 1.5rem; height: 1.5rem;
		}


.page-footer { 
	
}




/* md+ gravity forms */
.gfield.third {
	width: 33.3333%;
}
.gfield.two-thirds {
	width: 66.6666%;
}
.gfield.half {
	width: 50%;
}


}



/* lg (large) + */
@media only screen and (min-width: 991.98px) {


.menu-main-menu-container,
body.show-menu .menu-main-menu-container {
	font-size: 1.1rem;
}
	.page-header #menu-main-menu li { 
		display: inline-block;
		margin: .2em 1.2em;
	}


}


/* xl (extra large) + */
@media only screen and (min-width: 1199.98px) {





}


/* 'xxl' (custom large size) + */
@media only screen and (min-width: 1599.98px) {

body {
	font-size: 20px;
}




}

