/* nunito-sans-regular - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/nunito-sans-v6-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-regular.svg#NunitoSans') format('svg'); /* Legacy iOS */
}
/* nunito-sans-italic - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/nunito-sans-v6-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-italic.svg#NunitoSans') format('svg'); /* Legacy iOS */
}
/* nunito-sans-700 - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/nunito-sans-v6-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-700.svg#NunitoSans') format('svg'); /* Legacy iOS */
}
/* nunito-sans-700italic - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/nunito-sans-v6-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-700italic.svg#NunitoSans') format('svg'); /* Legacy iOS */
}
/* nunito-sans-900 - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/nunito-sans-v6-latin-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-900.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-900.svg#NunitoSans') format('svg'); /* Legacy iOS */
}


/*-----------------------------------------------------------------------------------*
/* = Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
/*-----------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	background: #fff;
	line-height: 1;
}
ol, ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a img {
	border: 0;
}
img {
	max-width: 100%;
	height:auto;
}


/* Block elements */
header, hgroup, footer, section, article, aside {
	display: block;
}

.clear { clear: both }
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
}
* html .clearfix{ zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
.remove-margin { margin-right: 0 !important }

/*-----------------------------------------------------------------------------------*
/* General
/*-----------------------------------------------------------------------------------*/

html, body {
  height: 100%;
}
#page {
	background-image:url(img/background.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
body {
  font-family: 'Nunito Sans', sans-serif;
  font-weight:400;
  color:#444;
  font-size:18px;
  line-height: 1.25em;
}
p {
	margin-bottom: 1.5em;
}
header {
	min-height: 100vh;
	display: flex;
  	flex-direction: column;
	position: relative;
}
header > div {
  flex: 1 1 auto
}
.container {
	margin:0 auto;
	max-width:1200px;
	padding:120px 30px;
}
footer .container {
	padding:20px;
}
.footer-content {
	display:none;
    margin-top: 1.5em;
}
h3.footer-title {
    margin: 0;
}
#logo {
	height:34%;
	display: flex;
    align-items: center;
	justify-content: flex-end;
	margin:1em 0;
	z-index:2
}
.logo-container {
	border-right: 30px solid #becd37;
	padding-right:50px;
	margin:0;
	width:50%;
	max-width:600px;
	align-self: center;
	line-height: 0;
}
#intro {
	height:66%;
	display: flex;
    align-items: flex-end;
	z-index:2
}
.intro-container {
	width:90%;
	margin:5em auto;
}
.intro-text {
	font-size:#FFF;
}
main {
}
section {
	padding:0;
	color:#FFF;
}
section.section-green {
	background-color:#becd37;
	color:#444;
}
section.section-wide .container {
	margin: 0 auto;
    max-width: 1600px;
    padding: 120px 30px;
}
section.section-full .container {
	display: flex;
  	flex-direction: row;
  	flex-wrap: wrap;
  	width: 100%;
	max-width: 100%;
    padding: 0;
}
section.section-full:nth-of-type(2n) .container {
	flex-direction: row-reverse;
}
.column {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex: 1;
  justify-content: center;
}
.grid-container {
	display: grid;
	grid-auto-flow: column;
    grid-auto-columns: 1fr;
	gap: 2%;
	margin-bottom:4em;
}
.grid-container .column {
	padding:30px;
	background-color:#444;
	color:#FFF;
	justify-content: flex-start;
}
.text-column div {
	max-width:800px;
	padding:60px 30px;
	margin:0 auto;
}
.image-column img {
	max-width: 100%;
	height:100%;
	object-fit:cover;
}
main p, main ul {
	font-size:24px;
	font-weight:400;
	line-height: 1.5em;
}
.container p:last-child {
	margin-bottom:0;
}
span.link a {
	color:#444;
	font-size:40px;
	text-decoration: none;
	line-height: 1.25em;
	word-break: break-all;
	font-weight:700;
}
span.web-link a {
	font-size:24px;
}
h1, h2, h3, h4 {
	/*text-transform: uppercase;*/
}
h1 {
	color:#fff;
	font-size:100px;
	line-height: 1em;
	font-weight:900;
	margin-bottom:0em;
}
h2 {
	font-size:40px;
	line-height: 1.25em;
	font-weight:700;
	margin-bottom:1.25em;
}
h3 {
	font-size:32px;
	font-weight:700;
	line-height: 1.25em;
	margin-bottom:1.25em;
}
h4 {
	font-size:24px;
	font-weight:700;
	line-height: 1.25em;
	margin-bottom:1em;
}
h2,h3,h4 {
	color:#becd37;
}
.section-green h2, .section-green h3, .section-green h4 {
	color:#444;
}
strong {
	font-weight:700;
}

ul {
	list-style: disc outside;
	padding-left:1em;
	margin-bottom:1.5em;
}
.video-desktop {
	position: absolute;
	right:0;
	bottom:0;
	min-width: 100%;
	min-height: 100%;
	z-index:1;
	display:block;
}
.video-mobile {
	display: none;
}
#scroll-arrow {
	position: absolute;
	right:5%;
	bottom:6em;
	height: 60px;
    width: 48px;
	animation: bounce 2s infinite;
	z-index: 99;
}
#scroll-arrow:before {
  content: '';
  border: solid #FFF;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 16px;
  transform: rotate(45deg);
  position: absolute;
  bottom: 5px;
}
#scroll-arrow:after {
  content: '';
  position: absolute;
  display: block;
  width: 2px;
  height: 60px;
  bottom: 0;
  left: 16px;
  background-color: #FFF;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
#header-bar {
	display: flex;
	position: fixed;
	z-index: 100;
	background-color: #FFF;
	width:calc(100% - 30px);
	flex-direction: row;
	align-items:center;
	justify-content: space-between;
	padding:10px 0 10px 30px;
	top:-100px;
	transition: top .3s ease-out;
}
#header-bar.sticky {
	top:0;
}
#header-logo {
	width:300px;
}
#header-logo img {
	line-height: 0
}
.header-actions a {
	color:#becd37;
	text-decoration: none;
	font-weight:700;
	margin-right:30px;
	padding-left:30px;
	display:inline-block;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 24px 24px;
}
.header-phone {
	background-image:url(img/phone.svg);
}
.header-mail {
	background-image:url(img/mail.svg);
}
/*---Accordion---*/

.accordion-container {
	width: 100%;
}
.accordion {
	width: 100%;
	cursor: pointer;
	padding: 15px 40px 0 0;
	text-align: left;
	outline: none;
	color: #fff;
	background:transparent;
	font-weight: 700;
	font-size:24px;
	border: none;
	margin-bottom: 10px;
	position: relative;
}
.accordion:after {
	content:'+';
	font-weight: 400;
	font-size:32px;
	position: absolute;
	top:12px;
	right:0;
}
.accordion:hover {
	color: #becd37;
}
.panel {
	display: none;
	padding: 15px 0;
	border-radius: 8px;
	margin-top: -5px;
	margin-bottom: 15px;
}
.panel.show {
	display: block;
}
.cta-button {
	display: block;
    background: #FFF;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    padding: 0.5em 1em;
    margin: 0 auto;
    width: fit-content;
	color:#444;
}
.cta-button:hover {
    background: #2d4b41;
	color:#FFF;
}

@media screen and (max-width: 1199px) {
	
	#intro h1 {
		font-size:100px;
		margin:0;
	}
}
@media screen and (max-width: 999px) {
	#header-bar {
		top:0;
		width:calc(100% - 20px);
		padding:10px 0 10px 20px;
	}
	#logo {
		display: none;
	}
	#header-logo {
		width:240px;
	}
	.header-actions a {
		height:32px;
		width:32px;
		background-size: 32px 32px;
		padding-left:0;
		margin-right:20px;
	}
	.header-actions a span {
		display:none;
	}
	header {
		min-height: auto;
	}
	.intro-container {
		margin:1em 20px 0;
	}
	.logo-container {
		width:66%;
	}
	#intro {
		height:auto;
		margin-top:100px;
	}
	#intro h1 {
		font-size:7.5vw;
		margin:0.5em 0;
	}
	main {
		padding:0;
	}
	h2,
	span.phone-link a,
	span.mail-link a {
		font-size:32px;
	}
	h3 {
		font-size:22px;
	}
	.video-mobile {
		display: block;
		margin:1em 20px 2em;
	}
	.video-desktop {
		display: none;
	}
	#scroll-arrow {
		display: none;
	}
	header > div {
		flex: none;
	}
	.accordion, main p, main ul,
	span.web-link a {
		font-size:20px;
	}
	.accordion:after {
		font-size:24px;
	}
	section.section-full .container {
		flex-direction: column !important;
	}
	.container,
	.text-column div {
		padding: 60px 20px;
		max-width: 100%;
	}
	.grid-container {
		grid-auto-flow: row;
	}
	section.section-wide .container {
		padding: 80px 20px;
	}
}
@media screen and (max-width: 599px) {
	#header-bar {
		top:0;
		width:calc(100% - 15px);
		padding:10px 0 10px 15px;
	}
	#header-logo {
		width:200px;
	}
	.header-actions a {
		height:32px;
		width:32px;
		background-size: 32px 32px;
		padding-left:0;
		margin-right:15px;
	}
	.intro-container {
		margin:1em 15px 0;
		width:auto;
	}
	.video-mobile {
    	margin: 1em 15px;
	}
	.container,
	.text-column div {
		padding:40px 15px;
	}
	.logo-container {
		border-right: 20px solid #becd37;
		width:calc(100% - 80px);
		padding-right:40px;
	}
	main p, main ul, span.web-link a, .accordion {
		font-size: 18px;
	}
	h2,
	span.phone-link a,
	span.mail-link a {
		font-size:24px;
	}
	h3 {
		font-size:21px;
	}
	h4 {
		font-size: 17.5px;
	}
	.intro-text {
		width: 100%;
	}
	body {
	  font-size:14px;
	}
	.grid-container .column {
		padding: 15px;
	}
	section.section-wide .container {
		padding: 60px 15px;
	}
}
@media screen and (max-width: 479px) {
	span.phone-link a,
	span.mail-link a {
		font-size:18px;
	}
}