/* --------------------------------
PRIMARY STYLES
-------------------------------- */
*, *::after, *::before { box-sizing: border-box; }
body { 
	font-family: sans-serif;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	line-height: 1;
	color: black;
}

h1, h2, h3, h4, h5 {
	font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	line-height: 1;
	color: #2a5f49;
	margin-bottom: .5em;
}
h1 { font-size: 32px; }
h2 { font-size: 28px; }
h3 { font-size: 20px; }
h4 { font-size: 16px; }

table { width: 100%; margin-bottom: 2em; }
th { text-align: left; }
th, td {
	font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	font-size: 16px;
	line-height: 1.6;
	color: black;
}

ul, ol, p { 
	font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	font-size: 16px;
	line-height: 1.6;
	color: black;
}

a { text-decoration: none; transition: all .5s ease; }
a:hover { }

b, strong { font-weight: 700; }
i, em { font-style: italic; }

/* --------------------------------
EFFECTS
-------------------------------- */
.txt-shadow { text-shadow: 1px 1px 40px black; }
.bx-shadow,
.bx-shadow-hover:hover {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
}
.opacity-hover:hover { opacity: .5; }

/* --------------------------------
BUTTONS
-------------------------------- */
.btns { cursor: pointer; }
.btn-more { 
	position: relative;
	display: inline-block;
	color: white;
  font-weight: 700;
  display: inline-block;
  border: 1px solid #f39122;
	border-radius: .5em;
	transition: all .5s ease;
	padding: .3em 1em;
}
.btn-more:hover { transform: scale(1.1); }
.btn-more:hover,
.btn-more.bg { color: white; background: #f39122; }

#backtotop {
	display: none;
	z-index: 999;
	position: fixed;
	top: calc(50% - 1.5em); right: 1em;
	width: 3em;
	height: 3em;
	line-height: 3em;
	color: white;
	text-align: center;
	background: #f39122;
	border-radius: 100%;
	transition: all .5s ease;
}
#backtotop:hover { transform: scale(1.1); }

/* -------------------------------- 
VIDEO
-------------------------------- */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin: auto;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------
FORMS
-------------------------------- */
form { position: relative; width: 100%; }
textarea,
select,
.input-text,
.input-submit {
	display: inline-block;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	color: black;
	font-size: 16px;
	line-height: 1;
	width: 100%;
	padding: .5em 1em;
	margin-bottom: .3em;
	border-radius: .3em;
	outline: none;
	border: none;
	transition: all .5s ease;
}
input[type=checkbox],
input[type=radio] { float: left; margin: .3em 1em 2em 0; }
textarea { height: 100px; }

.input-submit {
	color: white;
	background: #f39122;
	float: right;
	width: auto;
}
.input-submit:hover { transform: scale(1.1); }

.wpcf7-list-item { 
	color: white;
	margin: .5em 2em !important;
	line-height: 1.6;
}
.wpcf7-not-valid-tip {
	font-family: "Open Sans", sans-serif;
	line-height: 1;
	padding: 0 1em 1em;
}
.wpcf7-response-output {
	font-family: "Open Sans", sans-serif;
  line-height: 1;
  color: white;
  display: inline-block;
  padding: 1em !important;
}

/* --------------------------------
HEADER
-------------------------------- */
header {
	z-index: 99;
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	transition: all .5s ease;
	padding: 2em 0;
}
header.active {
	background: rgb(0,0,0);
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}

/* -------------------------------- 
SLIDER
-------------------------------- */
.slider { margin: 0 !important; }
.slider img { z-index: 1; width: 100%; }

.slick-list { padding-bottom: 2em !important; }
.slick-dots { bottom: 3em; }
.slick-dots li { margin: 0; }
.slick-dots li button { 
	background: white;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.slick-dots li.slick-active button { transform: scale(1.5); }
.slick-dots li button:before { content: ""; }

/* --------------------------------
ARTICLE & SECTIONS
-------------------------------- */
article { overflow: hidden; }
section { 
	position: relative;
	width: 100%;
	line-height: 0;
	padding: 2em 0;
}
section p,
section ul { margin-bottom: 2em; }
section ul { list-style: disc; margin-left: 1em; }
section p strong { color: #2a5f49; }
section a { }
section a:hover {}
section img { border-radius: .5em; }

.super-container,
.container { margin: 0 auto; position: relative; }
.inner { padding: 0 1.5em; }

.desktop-hide {}
.desktop-show { display: none; }

.table-align { display: table; width: 100%; height: 100%; }
.table-cell-align { display: table-cell; vertical-align: middle; }
.table-cell-align.bottom { vertical-align: bottom; }

.last { margin-bottom: 0 !important; }
.align-h { height: 100%; }
.center { text-align: center; }

.hero { padding: 0; }
.hero img { margin: auto; }
.hero .hero-overlay {
	z-index: 2;
	position: relative;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	padding: 8em 0 0;
	background: #2a5f49;
}
.hero .hero-overlay h2,
.hero .hero-overlay p { color: white; }
.hero .hero-img { position: relative; }

.intro { }
.intro.home { padding-bottom: 0; }

.green { background: #2a5f49; }
.green h2,
.green p,
.green p strong { color: white; }

.light { background: rgba(42,95,73,.1); }

.practical {}
.practical ul { }
.practical i {
	font-size: 3em;
	color: #2A5F4D;
}

/* --------------------------------
FOOTER
-------------------------------- */
footer {
	position: relative;
	width: 100%;
	background: #2a5f49 url('img/bg-footer.jpg') no-repeat center;
	background-size: cover;
	background-blend-mode: multiply;
	padding: 5em 0 3em;
}

footer h2 { color: white; }
footer p,
footer ul { color: white; margin-bottom: 2em; }
footer ul li { position: relative; padding-left: 1em; }
footer ul li::after {
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-size: 60%;
  font-weight: 900;
  content: "\f105";
  position: absolute;
  top: 55%;
  left: 0;
  line-height: 0;
  color: #f39122;
}
footer ul li a { display: inline-block; }

footer a { text-decoration: underline; color: white; }
footer a:hover { text-decoration: none; }

footer hr {
	width: 70%;
	border: 1px solid rgba(255,255,255,.2);
	margin: 2em 0;
}

/* --------------------------------
MEDIA QUERIES
-------------------------------- */
@media screen and (min-width: 35.5em) {
	.container { width: 568px; }
}
@media screen and (min-width: 48em) {
	.container { width: 768px; }
}
@media screen and (min-width: 64em) {
	.container { width: 1024px; }

	.desktop-hide { display: none; }
	.desktop-show { display: block; }

	.inner { padding: 0 2em; }

	h1,
	h2 { font-size: 50px; }
	h3 { font-size: 24px; }
	ul, ol, p { font-size: 18px; }

	section { padding: 5em 0; }

	.hero .hero-overlay { 
		position: absolute;
		padding: 0;
		background: transparent;
	}
	.hero .hero-img::before {
		position: absolute;
		top: 0; left: 0;
		width: 50%;
		height: 100%;
		content: "";
		background: #2A5F49;
		background: linear-gradient(90deg, rgba(42, 95, 73, 1) 0%, rgba(42, 95, 73, 1) 50%, rgba(42, 95, 73, 0.9) 100%);
	}
	.hero.no-img .hero-overlay {
		position: relative;
		background: #2a5f49;
		padding: 9em 0 5em;
	}
}
@media screen and (min-width: 80em) {
	.container { width: 1200px; }
}
@media screen and (min-width: 120em) {
	.super-container,
	.embed-container { width: 1920px; }
}

/* IE11
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	[data-aos^=fade][data-aos^=fade],
	[data-aos^=zoom][data-aos^=zoom] { opacity: 1; }
}*/