
/* @group Clear Stylesheet */
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,img,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{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;background-image:none;}body{line-height:1;color:black;background:white;text-align:left;}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0;}caption,th,td{text-align:left;font-weight:normal;}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:"" "";}
/* @end */


body {
	font-family: var(--font-default-family);
	min-width: 340px;
	font-size: 16px;
	color: var(--color-black);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	‑webkit‑text‑size‑adjust: 100%;
}

	@media ( max-width: 680px ) {

		body {
			font-size: 14px;
		}

	}

a {
	text-decoration: none;
}

b, strong {
	font-weight: var(--font-default-weight-bold);
}

i, em {
	font-style: var(--font-default-italic);
}

figure {
	margin: 0;
}

h1, h2, h3, h4, h5 {
	font-weight: var(--font-default-weight-bold);
}

	h1 {
		font-size: 2.6rem;
		font-family: var(--font-condensed-family);
		text-align: center;
		display: block;
	}

	h2 {
		font-size: 2.6rem;
		color: var(--color-green);
		margin-bottom: 20px;
		font-family: var(--font-condensed-family);
		text-align: center;
		display: block;
	}

	h3 {
		font-size: 1.8rem;
	}

	h4, h5, h6 {
		font-size: 1.3rem;
	}

	@media ( max-width: 680px ) {

		h1 {
			font-size: 2rem;
		}

		h2 {
			font-size: 2rem;
		}

		h3 {
			font-size: 1.6rem;
		}

		h4, h5, h6 {
			font-size: 1.15rem;
		}

	}

	@media ( max-width: 480px ) {

		h1 {
			font-size: 1.8rem;
		}

		h2 {
			font-size: 1.8rem;
		}

		h3 {
			font-size: 1.4rem;
		}

		h4, h5, h6 {
			font-size: 1.15rem;
		}

	}

small {
	font-size: 0.8em;
	opacity: 0.8;
}

input,
textarea,
button,
select {
	box-sizing: border-box;
	font: inherit;
	color: var(--color-black);
	background: var(--color-white);
	padding: 5px 10px;
	border-radius: 0;
	border: 1px solid var(--color-grey-medium-dark);
	margin-right: 5px;
	display: inline-block;
	width: 100%;
	max-width: 150px;
	vertical-align: middle;
}

	input[type="text"],
	input[type="email"],
	textarea,
	button {
		appearance: none;
		-moz-appearance: none;
		-webkit-appearance: none;
	}

	input[type="radio"],
	input[type="checkbox"] {
		width: auto;
	}

	input[type="submit"] {
		cursor: pointer;
		width: auto;
		background: var(--color-black-0);
		color: var(--color-white);
	}

		input[type="submit"]:hover {
			background: var(--color-white);
			color: var(--color-black-0);
		}

	select {
		height: 4ch;
	}

	input[disabled],
	select[disabled] {
		opacity: 0.5;
	}

/* number field: hide spin buttons */
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	-moz-appearance: textfield;
}

input[type="submit"]
button {
	border: 0;
	background: none;
	font: inherit;
	padding: 0;
	border-radius: 0;
	vertical-align: middle;
}

input[type="submit"][disabled],
button[disabled],
button.disabled,
.button.disabled {
	opacity: 0.5;
	cursor: wait;
}

	input[type="submit"][disabled]:after,
	button[disabled]:after,
	button.disabled:after,
	.button.disabled:after {
		width: 100% !important;
	}

.content a {
	color: var(--color-green-light);
	text-decoration: underline;

	-webkit-transition: color 200ms ease-in-out;
	-moz-transition: color 200ms ease-in-out;
	-o-transition: color 200ms ease-in-out;
	-ms-transition: color 200ms ease-in-out;
	transition: color 200ms ease-in-out;
}

	.content a:hover {
		color: var(--color-green);
	}

	.content a {
		overflow-wrap: break-word;
		word-wrap: break-word;
		-ms-word-break: break-all;
		word-break: break-all;
		word-break: break-word;
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	}

a.anchor {
	position: absolute;
	top: -160px;
}

hr {
	margin: 2em 0;
	height: 1px;
	background: var(--color-black);
	border: 0;
}

.button,
button,
input[type="submit"],
.header .important a {
	display: inline-block;
	color: var(--color-white) !important;
	text-transform: uppercase;
	font-family: var(--font-condensed-family);
	font-weight: var(--font-condensed-weight-bold);
	font-size: 16px;
	line-height: 1;
	padding: 10px 20px;
	cursor: pointer;
	position: relative;
	z-index: 5;
	border: 0;
	text-decoration: none !important;
}

	input[type="submit"] {
		background: var(--color-green-light);

		-webkit-transition: all 250ms ease-in-out;
		-moz-transition: all 250ms ease-in-out;
		-o-transition: all 250ms ease-in-out;
		-ms-transition: all 250ms ease-in-out;
		transition: all 250ms ease-in-out;
	}

		input[type="submit"]:hover {
			background: var(--color-green);
		}

	.button:before,
	.button:after,
	button:before,
	button:after,
	.header .important a:before,
	.header .important a:after {
		content: "";
		background: var(--color-green-light);
		position: absolute;
		z-index: -2;
		height: 100%;
		width: 100%;
		bottom: 0;
		left: 0;
	}

		.button:after,
		button:after,
		.header .important a:after {
			z-index: -1;
			width: 0%;
			background: var(--color-green);

			-webkit-transition: width 250ms ease-in-out;
			-moz-transition: width 250ms ease-in-out;
			-o-transition: width 250ms ease-in-out;
			-ms-transition: width 250ms ease-in-out;
			transition: width 250ms ease-in-out;
		}

			.button:hover:after,
			button:hover:after,
			.button-wrapper:hover .button:after,
			.header .important a:hover:after {
				width: 100%;
			}

			.button.orange:before,
			.header .important a:before {
				background: var(--color-orange);
			}

				.button.orange:after,
				.header .important a:after {
					background: var(--color-orange-dark);
				}

.wpcf7 {
}

	.wpcf7 form .wpcf7-response-output {
		margin: 1em 0;
	}

.button.copy-to-clipboard {
	display: none;
}

.sort-button {
	overflow: hidden;
	position: relative;
	border: 1px solid var(--color-black);
	padding: 5px 40px 5px 20px;
	cursor: pointer;
	min-width: 200px;
	box-sizing: border-box;
}

	.sort-button:after {
		content: "";
		display: block;
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -2px;
		border: 7px solid transparent;
		border-color: var(--color-black) transparent transparent transparent;
		pointer-events: none;
	}

		.sort-button:hover:after {
			border-color: var(--color-grey-mid-dark) transparent transparent transparent;
		}

	.sort-button.sort-desc:after {
		border-color: transparent transparent var(--color-black) transparent;
		margin-top: -10px;
	}

		.sort-button.sort-desc:hover:after {
			border-color: transparent transparent var(--color-grey-mid-dark) transparent;
		}

.dropdown {
}

	.dropdown.inited {
		overflow: hidden;
		position: relative;
		border: 1px solid var(--color-black);
		padding: 5px 40px 5px 20px;
		cursor: pointer;
		min-width: 200px;
		box-sizing: border-box;
	}

		.dropdown.inited ul {
			margin: 0;
			display: none;
			position: absolute;
			left: -1px;
			width: calc(100% + 2px);
			box-sizing: border-box;
			top: 30px;
			z-index: 50;
			background: var(--color-white);
			border: 1px solid var(--color-black);
			border-top: 0;
			padding: 10px;
			list-style-type: none;
		}

		.dropdown.inited.open {
			overflow: visible;
		}

			.dropdown.inited.open ul {
				display: block;
			}

			.dropdown.inited.open ul li a {
				display: block;
				padding: 4px;
			}

				.dropdown.inited.open ul li a:hover {
					color: var(--color-green-light);
				}

		.dropdown.inited:after {
			content: "";
			display: block;
			position: absolute;
			right: 8px;
			top: 8px;
			pointer-events: none;
			width: 18px;
			height: 18px;
			background: url(../img/icons/arrow-down-small.svg) no-repeat center center / contain;
		}

			.dropdown.inited:hover:after {
			}

		.dropdown.inited.open:after {
			background-image: url(../img/icons/arrow-up-small.svg);
		}

			.dropdown.inited.open:hover:after {
			}

	@media ( max-width: 880px ) {

		.dropdown.inited {
			min-width: 140px;
			padding-left: 10px;
			padding-right: 30px;
		}

	}

.content .flag {
	display: inline-block;
	padding: 5px 10px;
	background: var(--color-grey-mid-dark);
	color: var(--color-white) !important;
	margin-right: 5px;
	margin-bottom: 5px;
	position: relative;
	font-size: 12px;
	font-weight: var(--font-default-weight-bold);
	line-height: 1;
	z-index: 5;
	text-decoration: none;

	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	transition: all 250ms ease-in-out;
}

	.container .content .flag {
		color: var(--color-white) !important;
	}

	.flag.term-region-color-red {
		background-color: var(--color-main-red);
	}

	.flag.term-region-color-green {
		background-color: var(--color-main-green);
	}

	.flag.term-region-color-yellow {
		background-color: var(--color-main-yellow);
	}

	.flag.term-region-color-blue {
		background-color: var(--color-main-blue);
	}

	.content .active-filters .flag {
		color: var(--color-black);
	}

	.flag:before,
	.flag:after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -2;
	}

		.flag:after {
			z-index: -1;
			width: 0%;
			background: var(--color-black);
			opacity: 0.6;

			-webkit-transition: width 250ms ease-in-out;
			-moz-transition: width 250ms ease-in-out;
			-o-transition: width 250ms ease-in-out;
			-ms-transition: width 250ms ease-in-out;
			transition: width 250ms ease-in-out;
		}

			.flag:hover:after {
				width: 100%;
			}

			.flag.flag-no-hover:after {
				width: 0% !important;
			}

	.flag.tax-article_tag:before,
	.flag.tax-article_category:before {
		background: var(--color-grey-mid-dark);
	}

.embed-container {
	display: block;
	width: 100%;
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	height: auto;
	background: var(--color-black-0);
	display: flex;
	justify-content: center;
	align-items: center;
}

	.embed-container iframe,
	.embed-container object,
	.embed-container embed,
	.embed-container video {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.embed-container .load-warning {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		padding: 14px;
		box-sizing: border-box;
		text-align: center;
		background: rgba(0,0,0,.7);
		color: var(--color-white);
		z-index: 40;
	}

		.embed-container .load-warning p + p {
			margin-top: 10px;
		}

		@media ( max-width: 580px ) {

			.embed-container .load-warning {
				padding: 6px;
			}

				.embed-container .load-warning p + p {
					margin-top: 3px;
				}

				.embed-container .load-warning .button {
					font-size: 0.9em;
					padding: 6px 12px;
				}

		}

	.embed-container a.video-embed {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

		.embed-container a.video-embed img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.embed-container a.video-embed:after {
			content: "";
			display: block;
			position: absolute;
			width: 60px;
			margin-left: -30px;
			height: 60px;
			margin-top: -30px;
			background: url(../img/icons/play-white.svg) no-repeat center center / contain;
			left: 50%;
			top: 50%;
			z-index: 50;
		}

.box {
	background: var(--color-white);
	box-shadow: 0 0 15px rgba(0,0,0,.2);
	padding: 20px;
	box-sizing: border-box;
}

.width {
	width: 100%;
	max-width: 1000px;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.content {
	line-height: 1.5;
}

	.content p,
	.content ul,
	.content ol,
	.content h1,
	.content h2,
	.content h3,
	.content h4,
	.content h5,
	.content h6 {
		margin-top: 1em;
	}

		.content *:first-child  {
			margin-top: 0;
		}

	.content h1,
	.content h2,
	.content h3,
	.content h4,
	.content h5,
	.content h6 {
		line-height: 1.3;
	}

	.content ul,
	.content ol {
		padding-left: 20px;
	}

		.content ul {
			list-style-type: disc;
		}

		.content ol {
			list-style-type: decimal;
		}

.columns {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

	.columns-2 .column { width: calc(100% / 2 - 40px); }
	.columns-3 .column { width: calc(100% / 3 - 30px); }
	.columns-4 .column { width: calc(100% / 4 - 20px); }
	.columns-5 .column { width: calc(100% / 5 - 10px); }

#lightbox {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 5000;
	background: var(--color-black-0);
	background: rgba(0,0,0,.8) url(../img/icons/loading_white.svg) no-repeat center center / 40px auto;
	padding: 60px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}

	#lightbox:after {
		content: "×";
		font-size: 50px;
		color: var(--color-white);
		position: absolute;
		right: 19px;
		top: 10px;
		cursor: pointer;
	}

	#lightbox-content {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

		#lightbox-content img {
			max-width: 100%;
			height: auto;
			max-height: 100%;
			width: auto;
		}

	@media( max-width: 800px ) {

		#lightbox {
			padding: 20px;
		}

	}

.menu-social {
	list-style-type: none;
	padding: 0 !important;
	margin: 0;
}

	.menu-social li {
		display: inline-block;
	}

	.menu-social li a {
		display: inline-block;
		color: var(--color-black);
		margin: 0;
		font: inherit;
		font-weight: var(--font-condensed-weight-bold);
		font-size: 14px;
		text-align: center;
		min-width: 72px;
		position: relative;
		text-decoration: none;
	}

		.menu-social li a:before,
		.menu-social li a:after {
			content: "";
			background: no-repeat center center / contain;
			display: block;
			width: 100%;
			height: 34px;
			margin: 0 auto 10px;
			z-index: 1;

			-webkit-transition: opacity 200ms ease-in-out;
			-moz-transition: opacity 200ms ease-in-out;
			-o-transition: opacity 200ms ease-in-out;
			-ms-transition: opacity 200ms ease-in-out;
			transition: opacity 200ms ease-in-out;
		}

			.menu-social li a:after {
				z-index: 2;
				opacity: 0;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}

				.menu-social li a:hover:after {
					opacity: 1;
				}

		.menu-social li.facebook a:before {
			background-image: url(../img/social-icons/facebook_white.svg);
		}

			.menu-social li.facebook a:after {
				background-image: url(../img/social-icons/facebook_green.svg);
			}

		.menu-social li.instagram a:before {
			background-image: url(../img/social-icons/instagram_white.svg);
		}

			.menu-social li.instagram a:after {
				background-image: url(../img/social-icons/instagram_green.svg);
			}

		.menu-social li.linkedin a:before {
			background-image: url(../img/social-icons/linkedin_white.svg);
		}

			.menu-social li.linkedin a:after {
				background-image: url(../img/social-icons/linkedin_green.svg);
			}

		.menu-social li.twitter a:before {
			background-image: url(../img/social-icons/twitter_white.svg);
		}

			.menu-social li.twitter a:after {
				background-image: url(../img/social-icons/twitter_green.svg);
			}

		.menu-social li.youtube a:before {
			background-image: url(../img/social-icons/youtube_white.svg);
		}

			.menu-social li.youtube a:after {
				background-image: url(../img/social-icons/youtube_green.svg);
			}

	@media ( max-width: 480px ) {

		.menu-social li a {
			min-width: 0;
		}

	}

.breadcrumb {
	margin: 40px 0 0 0;
}

	.breadcrumb ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
		border-bottom: 1px solid var(--color-black);
	}

		.breadcrumb ul:before {
			content: "";
			display: block;
			width: 18px;
			height: 18px;
			display: inline-block;
			background: url(../img/icons/home-small.svg) no-repeat center center / contain;
			vertical-align: middle;
			margin-bottom: 3px;
		}

		.breadcrumb ul li {
			display: inline;
		}

		.breadcrumb ul li a {
			display: inline;
			text-decoration: none;
		}

			.breadcrumb ul li a:after {
				content: " › ";
				color: var(--color-black);
			}

				.breadcrumb ul li:last-child a:after {
					display: none;
				}

	@media ( max-width: 580px ) {

		.breadcrumb {
			display: none;
		}

	}

.breadcrumb-teaser {
	position: relative;
}

	.breadcrumb-teaser a,
	.breadcrumb-teaser span {
		position: absolute;
		right: 20px;
		text-decoration: none;
		bottom: 0;
	}

	@media ( max-width: 580px ) {

		.breadcrumb-teaser {
			text-align: right;
		}

		.breadcrumb-teaser a,
		.breadcrumb-teaser span {
			position: relative;
			right: 0;
		}

	}

.main {
	box-sizing: border-box;
	padding: 100px 0 0;
	min-height: calc(100vh - 100px - 57px);
}

.main.error404 {
	padding: 180px 0 40px;
	text-align: center;
}

.child-pages {
	margin: -20px 0 40px;
}

	.child-pages .menu {
		list-style-type: none;
		padding: 0;
		margin: 0;
	}

		.child-pages .menu li {
			display: inline;
		}

			.child-pages .menu li a {
				display: inline-block;
				padding: 10px;
				color: var(--color-black);
			}

				.child-pages .menu li.current-menu-item a {
					font-weight: var(--font-condensed-weight-bold);
				}

.project-navigation {
	position: relative;
	margin-top: -84px;
	z-index: 70;
	width: 100%;
	padding: 0 10px 20px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.project-navigation a {
		background: rgba(255,255,255,.8);
		text-decoration: none;
		padding: 5px 10px;
		display: inline-block;

		-webkit-transition: background 200ms ease-in-out;
		-moz-transition: background 200ms ease-in-out;
		-o-transition: background 200ms ease-in-out;
		-ms-transition: background 200ms ease-in-out;
		transition: background 200ms ease-in-out;
	}

		.project-navigation a:hover {
			background: rgba(255,255,255,1);
		}

	@media ( max-width: 580px ) {

		.project-navigation {
			display: none;
		}

	}

.slider-line {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	margin: -20px 0;
}

	.slider-line .slide {
		width: calc(100% / 5 - 10px);
	}

	.slider-line.inited .slick-track {
		display: flex;
		align-items: stretch;
	}

	.slider-line.inited .slide {
		padding: 20px 10px;
		height: auto;
	}

		.slider-line.inited .slick-arrow {
			position: absolute;
			background: rgba(0,0,0,.1);
			display: block;
			top: 20px;
			height: calc(100% - 20px - 20px);
			z-index: 50;
			color: transparent;
			cursor: pointer;
			width: 40px;

			-webkit-transition: background 200ms ease-in-out;
			-moz-transition: background 200ms ease-in-out;
			-o-transition: background 200ms ease-in-out;
			-ms-transition: background 200ms ease-in-out;
			transition: background 200ms ease-in-out;
		}

			.slider-line.inited .slick-arrow:hover {
				background: rgba(0,0,0,.3);
			}

			.slider-line.inited .slick-arrow:before,
			.slider-line.inited .slick-arrow:after {
				content: "";
				display: block;
				width: 30px;
				margin-left: -15px;
				height: 30px;
				margin-top: -15px;
				background: no-repeat center center / contain;
				position: absolute;
				left: 50%;
				top: 50%;

				-webkit-transition: opacity 200ms ease-in-out;
				-moz-transition: opacity 200ms ease-in-out;
				-o-transition: opacity 200ms ease-in-out;
				-ms-transition: opacity 200ms ease-in-out;
				transition: opacity 200ms ease-in-out;
			}

				.slider-line.inited .slick-arrow:after {
					opacity: 0;
				}

					.slider-line.inited .slick-arrow:hover:after {
						opacity: 1;
					}

					.slider-line.inited .slick-arrow:hover:before {
						opacity: 0;
					}

			.slider-line.inited .slick-prev {
				left: 0;
			}

				.slider-line.inited .slick-prev:before {
					background-image: url(../img/icons/arrow-left-white.svg);
				}

				.slider-line.inited .slick-prev:after {
					background-image: url(../img/icons/arrow-left.svg);
				}

			.slider-line.inited .slick-next {
				right: 0;
			}

				.slider-line.inited .slick-next:before {
					background-image: url(../img/icons/arrow-right-white.svg);
				}

				.slider-line.inited .slick-next:after {
					background-image: url(../img/icons/arrow-right.svg);
				}

	@media ( max-width: 1040px ) {

		.slider-line {
			margin-left: -20px;
			margin-right: -20px;
		}

	}
