/* @override
	https://preview.umweltanalytik-ebersbach.de/wp/wp-content/themes/umweltanalytik/style.css */


/*
Theme Name: TEAM UMWELTANALYTIK
Theme URI:
Description:
Version: 1.0
Author: PD
Author URI:
Tags:
*/




/*	IMPORTS
-------------------------------------------------------------------------------*/


@import url("css/columns.css");
@import url("css/swiper.min.css");



/* @group WEBFONTS */

/*	WEBFONTS
-------------------------------------------------------------------------------*/



/* roboto-100 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: local(''),
       url('webfonts/roboto-v29-latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('webfonts/roboto-v29-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('webfonts/roboto-v29-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('webfonts/roboto-v29-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('webfonts/roboto-v29-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('webfonts/roboto-v29-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v29-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}



/* @end */

/* @group RESET */

/*	RESET
-------------------------------------------------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

article, aside, figure, footer, header, hgroup, nav, section {display: block;}
img, object, embed {max-width: 100%;height:auto;}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted.
	don't forget to restore the bullets within content. */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before,
blockquote:after,
q:before,
q:after {content: ''; content: none;}

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: 800; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

input, select {vertical-align: middle;}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
input:focus, textarea:focus, select:focus { outline: none;}

input { /* remove top input shadow */
-webkit-appearance: none;
-moz-appearance: none;
}

table {font-size: inherit; font: 100%;}

a:hover, a:active {outline: none;}
small {font-size: 85%;}
strong, th {font-weight: 800;}
td, td img {vertical-align: top;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0; border-radius: 0; font-family: inherit;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible; outline: none;}

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clear { clear: both; height: 0px; overflow: hidden;}
.clr:after { content: ""; display: table; clear: both;}
.cf:after {	content: ""; display: table; clear: both; }

/* prevent flickering on touch */
* {
	-webkit-tap-highlight-color:transparent;
}

/* natural box layout model to all elements */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 /* subscript and superscript */
sub { vertical-align: sub; font-size: 70%; line-height: 0; }
sup { vertical-align: super; font-size: 70%; line-height: 0; }

/* @end */



/*	VARS
-------------------------------------------------------------------------------*/


/* Color Info

TUA blue			#00A5DD
TUA lightblue 	#70C8E4
TUA green		#7FB627
TUA lightgreen	#B5CA0C

lightblue BG		#EDF8FB

text			#4B4C4E

*/


 :root {
	--base-font-size: 18px;
	--base-line-height: 1.65;

	--text-color: #4B4C4E; /*4B4C4E*/
	--link-color: #00A5DD;
	--link-color-hover: #7FB627;

	--border-color: #CCC;

	--primary-color: #00A5DD;
	--primary-bg: #EDF8FB;

	--secondary-color: #7FB627;
	--secondary-bg: #F6F6F6;

	--text-gray: #ABABAC;


	--font-sans: 'Roboto', sans-serif;

	--text-small: 0.9rem;

	--container-width: 1200px;
	--aligndefault-width: var(--container-width); /* same as container ... tzz*/

	--container-padding: 30px;

	--main-padding-top: 90px;
	--main-padding-bottom: 120px;

	--vspace: 1.8rem; /*stack margin-top */
	--vspace-lg: 4rem;
	--vspace-xl: 5.5rem;
	--vspace-xxl: 8rem;


	--block-vspace: 3rem;
	--block-vspace-lg: 6rem;
	--block-vspace-xl: 8rem;
	--block-vspace-xxl: 10rem;

	--box-padding: 2rem;
 }


 @media screen and (max-width: 600px) {
	:root {
		--base-font-size: 16px;

		--container-padding: 20px;


		--main-padding-top: 50px;
		--main-padding-bottom: 90px;


		--block-vspace: 3rem;
		--block-vspace-lg: 6rem;
		--block-vspace-xl: 5rem;
		--block-vspace-xxl: 8rem;
	}
}




/* @group GENERAL */

/* GENERAL
---------------------------------------------------------------------------------*/


html {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	 -webkit-text-size-adjust: 100%;
	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
	color: var(--text-color);
}

body {
	height: 100%;
	font-family: var(--font-sans);
	background: #FFF;
}


a {
	position: relative;
	color: var(--link-color);
	text-decoration: none;
}

a, input {
	transition: all 200ms ease;
}

a:visited {
}

a:active {
}

a:hover {
	color: var(--link-color-hover);
}


img {
	display: block;
	max-width: 100%;
    transition: all 300ms ease;
}

a:hover img {
	transition: all 300ms ease;
}


article > * + * { /* the lobotomized owl selector */
	margin-top: var(--vspace);
}

.main > *:first-child,
.stack > *:first-child {
	margin-top: 0;
}


/* TYPOGRAPHY
---------------------------------------------------------------------------------*/


h1 {
	font-size: 47px;
	font-weight: 300;
	line-height: 1.2;
	margin-top: var(--vspace);
	margin-bottom: var(--vspace-lg);
}

h2 {
	font-size: 28px;
	line-height: 1.4;
	margin-top: calc(var(--vspace) + 1rem);
}

h3 {
	font-size: 22px;
	line-height: 1.4;
	margin-top: calc(var(--vspace) + 0.0rem);
}

h4 {
	line-height: 1.4;
	font-size: 1rem;
	margin-top: var(--vspace);
}

h4 + p,
h4 + ul  {
	margin-top: calc(var(--vspace) - 0.2rem);
}

p {
	margin-top: var(--vspace);
}

p + p  {
	margin-top: calc(var(--vspace) - 0.2rem);
}

hr {
	position: relative;
	display: block;
	height: 1px;
	border: 0;
	background: transparent;
	border-bottom: 1px solid var(--border-color);
	margin: 2.5rem 0;
}



@media screen and (max-width: 980px) {

}


@media screen and (max-width: 768px) {

}


@media screen and (max-width: 600px) {
	h1 {
		font-size: 36px;
		margin-bottom: 3rem;
	}

	h2 {
		font-size: 22px;
	}

	h3 {
		font-size: 18px;
	}

}


@media screen and (max-width: 360px) {

}


/* LAYOUT
----------------------------------------------------------------------------------*/


/* # Container */

.page-wrap {
	position: relative;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	overflow: hidden;
	/*sticky footer*/
	display: flex;
	flex-direction: column;
}


.container,
.container-wide,
.container-fluid {
	position: relative;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

.container-wide {
	max-width: 100%;
	padding: 0 50px;
}

.container-fluid {
	max-width: none;
	width: 100%;
	padding: 0;
}


@media screen and (max-width: 980px) {
	.container-wide {
		padding: 0 var(--container-padding);
	}
}


@media screen and (max-width: 360px) {
html, body {
	--container-padding: 15px;
}

}

/* @end */



/* @group HEADER */

/* HEADER
--------------------------------------------------------------------------------- */


#header {
	position: relative;
	height: 170px;
	background: #FFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-bottom: 0px solid #DDD;
}

.header-top {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: var(--container-width);
	display: flex;
	justify-content: flex-end;
	padding: 0 var(--container-padding);
}

.lang-menu {
}

.lang-menu ul {
	display: flex;
}

.lang-menu li a {
	display: block;
	font-size: 14px;
	line-height: 1;
	padding: 15px;
	text-transform: uppercase;
	color: var(--text-color);
	transition: color 300ms ease;
}

.lang-menu li a:hover {
	color: var(--primary-color);
}

.lang-menu li.current-lang a {
	color: #FFF;
	background: var(--text-color);
}


.search-trigger {
	border: none;
	overflow: hidden;
	padding: 0 8px;
	font-size: 23px;
	line-height: 1.1;
	color: var(--text-color);
	margin: 0 -13px 0 10px;
	background: #FFF;
	padding: 10px;
	margin-bottom: auto;
	transition: color 250ms ease;
}

.search-trigger:hover {
	color: var(--primary-color);
}

.search-trigger.open {
}



.header-main {
	width: 100%;
	max-width: var(--container-width);
	padding: 0 var(--container-padding);
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 0;
	border: 0px solid #333;
}


@media screen and (max-width: 980px) {
	#header {
		height: 130px;
	}

	.header-top {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	#header {
		height: 100px;
	}

}

/* Logo */


.logo {
	flex: 0 0 auto;
	width: 390px;
	margin-left: -62px; /*swirl offset*/
    transition: all 0.3s ease;
	border: 0px solid RED;
}

.logo a {
	display: block;
}

.logo img {
	display: block;
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 1320px) {
	.logo {
		margin-left: -5px;
	}
}

@media screen and (max-width: 980px) {
	.logo {
		width: 320px;
	}
}


@media screen and (max-width: 600px) {
	.logo {
		width: 240px;
		max-width: 70vw;
	}
}

/* @end */



/* @group SEARCH */

/* Search */


.site-search  {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	visibility: hidden;
	height: 0;
	background: var(--primary-color);
	overflow: hidden;
	transition: all 250ms ease-in-out;
}

.search-open .site-search {
	visibility: visible;
	height: 8rem;
}


.searchform {
	position: relative;
	width: 100%;
	max-width: 600px;
	overflow: hidden;
	border-radius: 100px;
}

.searchform input.s {
	width: 100%;
	height: 3.3rem;
	padding: 20px;
	padding-right: 3rem;
	background: #FFF;
	font-size: 1.1rem;
	line-height: 100%;
	color: var(--text-color);
	border:  none;
	box-shadow: none /*remove red border */;
}

.searchform input.s:focus {
	box-shadow: inset 0px 3px 15px -8px rgba(0,0,0, .2);
}


.searchform .searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	padding: 0 20px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	overflow: hidden;
	width: 3rem;
	height: 3.3rem;
	z-index: 1;
	background: transparent;
}

.searchform i {
	position: absolute;
	top: 0;
	right: 0;
	width: 3rem;
	height: 3.3rem;
	text-align: center;
	line-height: 3.3rem;
	font-size: 1.4rem;
	color: var(--primary-color);
	background: CYAN;
}

/* @end */



/* @group MENU */

/* MENU
--------------------------------------------------------------------------------- */


#nav {
	padding: 0 0;
	flex: 1 1 auto;
	display: flex;
	align-self: flex-end;
	justify-content: flex-end;
	flex-wrap: nowrap;
	background: #FFF;
}


#nav ul {
	display: flex;
	flex-wrap: nowrap;
}

#nav ul li {
	position: relative;
	margin: 0 40px 0 0;
	border-bottom: none;
}

#nav > ul li:last-child {
	margin-right: 0;
	padding-right: 0;
}


#nav ul li a {
	position: relative;
	margin: 0;
	display: block;
	padding: 0 0;
	padding-top: 10px;
	color: var(--text-color);
	font-weight: normal;
	font-size: 17px;
	transition: color 300ms ease;
}


#nav ul li a::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	height: 2px;
	width: 100%;
	background: transparent;
	transition: none;
}

#nav > ul li.menu-item-has-children {
	position: relative;
}

#nav ul li:hover > a {
}


#nav ul li.current-menu-item > a {
}

#nav ul li.current-menu-item > a:after {
	background: var(--primary-color);
}

#nav ul li.current-menu-item.active > a:after,
#nav ul li.current-menu-item:hover > a:after {
	z-index: 100;
	background: var(--primary-color);
}

#nav ul li.current-page-ancestor > a:after {
	z-index: 100;
	background: var(--primary-color);
}

#nav ul li a:hover {
	color: var(--primary-color);
	text-decoration: none;
}

#nav ul li.menu-item-has-children:hover > a,
#nav ul li.menu-item-has-children.active > a {
	color: var(--primary-color);
}

/* 2nd level */

#nav ul ul {
	display: block;
	position: absolute;
	top: 100%;
	margin-top: 0px;
	left: -40px;
	padding: 30px 40px;

	z-index: 20;
	background: var(--primary-bg);
	box-shadow: 0px 20px 30px -10px rgba(0,0,0, .0);

	min-width: 16rem;

	opacity: 0;
	visibility: hidden;
	transition: all 300ms ease;
}


#nav ul li.menu-item-has-children:hover a::before { /*hover space - prevent submenu gap */
	content: "";
	position: absolute;
    width: 100%;
    height: 25px;
	bottom: -25px;
	left: 0;
	background: transparent;
}


#nav ul ul::before { /*triangle*/
	content: "";
    display: inline-block;
	position: absolute;
    width: 0;
    height: 0;
	top: -15px;
	left: 35px;
    border-style: solid;
    border-width: 0 22px 22px 22px;
    border-color: transparent transparent var(--primary-bg) transparent;

}

#nav ul li:hover > ul { /*submenu on hover … arghh*/
	opacity: 1;
	visibility: visible;
	margin-top: 25px;
}


/* align last menu item to the right to avoid off screen position*/

#nav ul li:last-child ul {
	left: auto;
	right: 0;
}

#nav ul li:last-child ul::before {
	left: auto;
	right: 20px;
}

#nav ul ul li {
	width: 100%;
}

#nav ul ul li a {
	display: block;
	text-transform: none;
	font-size: 16px;
	line-height: 1.5;
	padding: 5px 0;
}

#nav ul ul li a::after {
	display: none;
}

#nav ul ul li:last-child a {
	padding-bottom: 0;
	border-bottom: none;
}

#nav ul ul li.current-menu-item a {
	color: var(--primary-color);
}

#nav ul ul li.menu-item-has-children > a {
}

#nav ul ul li.menu-item-has-children > a:hover {

}

/* 3rd level */

#nav ul ul ul {
	display: none;
}

@media screen and (max-width: 980px) {
	#nav {
		display: none;
	}
}




/* Mobile Menu
--------------------------------------------------------------------------------- */


.mob-menu {
	display: none; /*js trigger*/
	position: absolute;
   	top: 130px; /*header height*/
   	left: 0;
	width: 100%;
	z-index: 10;
	opacity: 0;
	background: #FFF;
	animation: navfadeIn 400ms ease-in-out 1 forwards;
	padding-bottom: 70px;
}


.mob-menu::after { /*drop shadow*/
	content: "";
	position: absolute;
	bottom: -50px;
	left: 0;
	right: 0;
	height: 50px;
	background: linear-gradient(to bottom,  rgba(0,0,0,.2) 0%,rgba(0,0,0,0) 100%);
}

@media screen and (max-width: 980px) {
	.mob-menu-open .mob-menu {
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

}

.mob-menu .container {
	position: relative;
	width: 100%;
	padding: 0 78px; /*swirl offset*/
	margin: 0 auto;
}

.mob-menu nav {
	margin: 0px 0 0 0;
}

.mob-menu nav li a {
	display: flex;
	justify-content: space-between;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.3;
	letter-spacing: .5px;
	padding: 12px 0;
	text-align: left;
	color: var(--text-color);
	border-top: 0px solid #EDEDED;
}


.mob-menu nav li a span { /*current indicator*/
	display: block;
	padding: 2px 0;
	border-bottom: 2px solid #FFF;
}

.mob-menu nav li.current-menu-parent a span {
	border-color: var(--primary-color);
}


.mob-menu nav li a br {
	display: none;
}

.mob-menu nav li:first-child a {
	border-top: 0;
}

.mob-menu nav li a:hover {
	color: var(--primary-color);
}

.mob-menu nav li.current-menu-parent > a {
	AUS_color: var(--primary-color);
}

.mob-menu nav li.current-menu-item > a {
	color: var(--link-color);
}

.mob-menu nav li.menu-item-has-children.active > a {
	color: var(--primary-color);
}

.mob-menu nav li.menu-item-has-children > a::after {

}

.mob-menu nav li.menu-item-has-children.active > a::after {
}

.mob-menu nav li.active > a {
}


.mob-menu nav li ul {
	position: relative;
	padding: 0px 0 0 20px;
	margin: 0 0 10px 0;
}

.mob-menu nav li li {
	opacity: 1;
	animation: none;
}

.mob-menu nav li li a {
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: normal;
	border: none;
	padding: 12px 0;
	font-size: 16px;
}

.mob-menu nav li li a:hover {
	color: var(--link-color);
}

.mob-menu nav li li a span {
	border: none;
	padding: 0;
}


/* Mobile Menu Animation */

@keyframes navfadeIn {
0% {
	opacity: 0.0;
	transform: translate(0px,-50px);
}

100% {
	opacity: 1.0;
	transform: translate(0,0);
	}
}

@keyframes navfadeOut {
0% {
	opacity: 1.0;
	transform: translate(0px,0);
}

100% {
	opacity: 0.0;
	transform: translate(0px,-50px);
	}
}


@keyframes fadeLiIn {
0% {
	opacity: 0.0;
	transform: translate(0px,-10px);
}

100% {
	opacity: 1.0;
	transform: translate(0,0);
	}
}


/* Mob Lang */


.mob-lang-menu {
	margin: 30px 0 0 0;
	border: 0px solid #333;
}

.mob-lang-menu ul {
	display: flex;
}

.mob-lang-menu li a {
	display: block;
	font-size: 16px;
	text-transform: uppercase;
	line-height: 50px;
	width: 50px;
	height: 50px;
	margin: 0 10px 0 0;
	background: #F2F2F2;
	border-radius: 100%;
	color: var(--text-color);
}

.mob-lang-menu li.current-lang a {
	background: var(--text-color);
	color: #FFF;
}


/* Mob Search */


.mob-search {
	position: relative;
	margin: 38px 0 0 0;
}

.mob-search .searchform {
	border: 1px solid var(--border-color);
	border-radius: 50px;
	box-shadow: none;
}

.mob-search input {
	font-size: 1rem;
	padding: 15px;
	height: 3.3rem;
}

.mob-search .searchform input.s {
}

.mob-search .searchform button {

}

.mob-search input::placeholder {

}

.mob-search input:focus {
	border-color: #999;
    outline: none;
}

.mob-search button {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	border: none;
	line-height: 1;
	overflow: hidden;
	padding: 0;
	background: transparent;
	width: 2.5rem;
	font-size: 24px;
	color: var(--link-color);
}


/* Mobile Menu Trigger */

.mob-menu-trigger {
	display: none;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);

	border: none;
	width: 50px;
	height: 49px;
	margin: 0 0 0 0;
	z-index: 999;
	text-transform: uppercase;
	outline: none;
	background: transparent;
}

.mob-menu-trigger.open {
}


@media screen and (max-width: 980px) {

.mob-menu-trigger {
	display: block;
}

.mob-menu-open .mob-menu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

}

@media screen and (max-width: 600px) {
	.mob-menu {
	  	top: 100px; /*header height*/
	}

	.mob-menu .container {
		padding: 0 53px;
	}
}



/* Hamburger Icon ani*/


.mob-menu-trigger span {
	margin: 0 auto;
	position: relative;
}
.mob-menu-trigger span:before,
.mob-menu-trigger span:after {
	position: absolute;
	content: '';
}
.mob-menu-trigger span,
.mob-menu-trigger span:before,
.mob-menu-trigger span:after {
	width: 32px;
	height: 1px;
	background-color: var(--text-color);
	display: block;
}
.mob-menu-trigger span:before {
	margin-top: -8px;
}
.mob-menu-trigger span:after {
	margin-top: 8px;
}

.mob-menu-trigger span {
	transition-duration: 0s;
	transition-delay: 0.15s;
}
.mob-menu-trigger.open span {
	background-color: rgba(0,0,0,0.0);
	transition-delay: 0.15s;
}
.mob-menu-trigger span:before {
	transition-property: margin, transform;
	transition-duration: 0.15s;
	transition-delay: 0.15s, 0s;
}
.mob-menu-trigger.open span:before {
	margin-top: 0;
	transform: rotate(45deg);
	transition-delay: 0s, 0.15s;
}
.mob-menu-trigger span:after {
	transition-property: margin, transform;
	transition-duration: 0.15s;
	transition-delay: 0.15s, 0s;
}
.mob-menu-trigger.open span:after {
	margin-top: 0;
	transform: rotate(-45deg);
	transition-delay: 0s, 0.15s;
}

/* end Hambuger Icon ani*/

/* Menu Animation */

.mob-menu li {
 opacity: 0;
 animation: fadeLiIn 400ms ease-in-out 1 forwards;
 }

.mob-menu li:nth-child(1) {
  animation-delay: 100ms;
}

.mob-menu li:nth-child(2) {
  animation-delay: 200ms;
}

.mob-menu li:nth-child(3) {
  animation-delay: 300ms;
}

.mob-menu li:nth-child(4) {
  animation-delay: 400ms;
}

.mob-menu li:nth-child(5) {
  animation-delay: 500ms;
}

.mob-menu li:nth-child(6) {
  animation-delay: 600ms;
}

.mob-menu li:nth-child(7) {
  animation-delay: 700ms;
}

.mob-menu li:nth-child(8) {
  animation-delay: 750ms;
}

/* @end */

/* @group CONTENT */

/* CONTENT
--------------------------------------------------------------------------------- */

#content {
	position: relative;
	flex: 1 0 auto; /*sticky footer*/
}


#content::after { /*topfade*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 250px;
	z-index: -1;
	background: linear-gradient(to bottom,  rgb(242, 249, 252, 1) 0%, rgb(242, 249, 252, 0) 100%);
}


main {
	display: block; /*IE*/
	padding-top: 0;
	padding-top: var(--main-padding-top);
	padding-bottom: var(--main-padding-bottom);
}


.aligndefault {
	max-width: var(--aligndefault-width);
	margin-left: auto;
	margin-right: auto;
}


.alignwide {
	max-width: 100%;
}

.alignfull {
    margin-left  : calc( -100vw / 2 + 100% / 2 );
    margin-right : calc( -100vw / 2 + 100% / 2 );
    max-width    : 100vw;
}


/* @end */

/* @group EDITOR STYLES */


/* WP core styles
--------------------------------------------------------------------------------- */


/* Alignment */

.aligncenter,div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
	margin: 5px 1.4rem 1.4rem 0;
}

.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

a img.alignright {
	float: right;
	margin: 5px 0 1.4rem 1.4rem;
}

img.alignnone,
a img.alignnone {
	margin: 0;
	padding: 0;
}

a img.alignleft {
	float: left;
	margin: 5px 1.4rem 1.4rem 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}


@media screen and (max-width: 600px) {
.alignleft,
.alignright,
a img.alignleft,
a img.alignright {
	float: none;
	margin-left: 0;
	margin-right: 0;
}

}

/* Caption */

.wp-caption-text {
	font-size: 0.85rem;
	line-height: 140%;
	color: var(--text-gray);
	padding: 10px 0 10px 0;
}

figure.wp-caption  {
	display: table;
	max-width: 100%;
	margin-top: 2rem;
}

figure.wp-caption figcaption {
	display: table-caption;
	caption-side: bottom ;
}

figure.wp-caption img {
	display: block;
}


@media screen and (max-width: 600px) {

	.wp-caption-text {
		padding-bottom: 0;
	}

}


/* Edit Link */

a.post-edit-link {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	font-size: 11px;
	padding: 8px 12px;
	text-transform: uppercase;
	text-decoration: none;
	background: #0073AA;
	color: #FFF;
}


/* editor elements */


/* === Lists */

ul,
ol {
	margin-top: var(--vspace);
	margin-top: calc(var(--vspace) - 10px);

}

ul {
	padding-left: 1.0rem;
	list-style-type: none;
}

li {
	position: relative;
	margin: 0 0 5px 0;
}

ul li::before {
	position: absolute;
	content: "•";
	margin: 0.0rem 0 0 -1.0rem;
	font-weight: 700;
}

ol {
	padding-left: 22px;
}


.list-unstyled,
.list-unstyled li {
	padding: 0;
	margin: 0;
	list-style: none;
}

.list-unstyled li:before {
	display: none;
}

/* list styles */


/* --list check */

.list-style.check ul {
	padding-left: 1.7rem;
}

.list-style.check li {
	margin: 0 0 12px 0;
}

.list-style.check li:before {
	content: "\e80e";
	font-family: 'icons';
	color: var(--link-color);
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 0.0rem 0 0 -1.9rem;
}


/* --list anchor */


.list-style.anchor ul {
	padding-left: 1.4rem;
}

.list-style.anchor li {
	margin: 0 0 8px 0;
}

.list-style.anchor li:before {
	content: "\ebcd";
	font-family: 'icons';
	color: var(--link-color);
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 0.0rem 0 0 -1.7rem;
	transform: rotate(90deg);
}


/* --list arrow */

.list-style.arrow {
	padding: 0;
}

.list-style.arrow ul {
	padding-left: 0;
}


.list-style.arrow li {
	padding-left: 1.5rem;
}

.list-style.arrow li:before {
	content: "\ebcd";
	font-family: 'icons';
	color: var(--link-color);
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0 0 0 -1.7rem;
}




/* === Icons */


i { /* IE */
	font-family: 'icons';
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}



/* === Embeds, iFrames  */


iframe {
  margin-top: 2rem;
}

iframe.googlemap {
	width: 100%!important;
	height: 400px;
}


iframe.googlemap.size-1 { height: 300px;}
iframe.googlemap.size-2 { height: 400px;}
iframe.googlemap.size-3 { height: 600px;}


.embed-responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  margin-top: 2rem;
}

.embed-responsive iframe,
.embed-responsive object,
.embed-responsive embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}


/* === Shortcodes / Quicktags  */


.text-intro {
	font-size: 24px;
	font-size: 1.35rem;
	line-height: 38px;
	line-height: 1.55;
	color: var(--primary-color);
}


.text-large {
	font-size: 120%;
}

.text-small {
	font-size: 11px;
	font-size: 0.8em;
	line-height: 150%;
	margin-bottom: 2rem;
}

.text-quote {
	position: relative;
	font-style: normal;
	font-size: 1rem;
	font-style: italic;
	color: var(--primary-color);
	padding-left: 20px;
	border-left: 3px solid var(--primary-color);
}

.text-quote p:empty {
	display: none;
}

.text-quote p:last-of-type {
	margin-bottom: 0;
}

.text-quote .cite {
	font-size: 0.8rem;
	font-style: normal;
	font-weight: bold;
	display: block;
	margin: 0.5rem 0 0 0;
	font-family: var(--font-sans);
	font-weight: 700;
	color: var(--text-color);
}


.box {
	font-size: 0.95rem;
	padding: 2rem;
	margin-top: var(--vspace);
	border-radius: 0;
	background: var(--primary-bg);
	background: rgba(0,0,0, .04);

}

.box > * {
	--vspace: 1.0rem;
}

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

.box p:empty {
	display: none;
}

.box-important {
	background: transparent;
	border: 1px solid RED;
}

i.icon {
	font-weight: normal!important;
}

.icon.download {
	font-size: 1.5rem;
	color: var(--link-color);
	margin: 0 10px 5px 0;
	vertical-align: middle;
	display: inline-block;
}

.icon.download:before {
	margin: 0;
}


@media screen and (max-width: 600px) {
	.text-intro {
		font-size: 20px;
		line-height: 1.5;
	}
}



/* === Tables */

.table-container {
	margin-top: var(--vspace);
	position: relative;
	width: 100%;
	overflow: scroll;
	width: calc(100% + 30px); /*enable overflow on right side */
	padding-right: 30px;
}

AUS__.table-container::after { /*overflow fade*/
	content: "";
	position: absolute;
	top: 0;
	right: -30px;
	width: 30px;
	height: 100%;
	background: BLUE;
	background: linear-gradient(to right, rgba(252, 249, 242, 0) 0%, rgba(252, 249, 242, 1) 70%);
}


table {
	width: 100% !important; /*override inline td width*/
	max-width: 100%;
}

table thead {
	border-bottom: 3px solid var(--border-color);
}

table thead td {
	font-weight: bold;
}

table tr {
	background: transparent;
	border-bottom: 1px solid var(--border-color);
}

table tr:last-child {
	border-bottom: none;
}

table tr th {
}

table tr td {
	padding: 0.4rem 0.0rem 0.5rem 0.0rem;
	padding-right: 1rem;
}

table tr td:last-child {
}


table p {
	margin: 0;
}


/* === Buttons */


.btn {
	text-transform: uppercase;
	padding: 1rem 2.5rem;
	font-weight: bold;
	font-size: 16px;
	font-size: .9rem;
	display: inline-flex;
	color: #FFF;
	letter-spacing: .3px;
	background: var(--primary-color);
	border-radius: 100px;
	border: none;
}

.btn:hover {
	color: #FFF;
	background: var(--link-color-hover);
}


.btn-light {
	color: var(--primary-color);
	background: var(--primary-bg);
}

.btn-light:hover {
	color: #FFF;
	background: var(--primary-color);
}

.btn-text {
	display: inline-flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.5;
	text-transform: uppercase;
}

.btn-text::after {
	content: "\ebcd";
	font-family: 'icons';
	margin: 0 0 0 8px;
	line-height: 1;
	font-size: 1.6rem;
}

/* @end */


/* @group PAGEBANNER */

/* Pagebanner
--------------------------------------------------------------------------------- */


/* Pagebanner */

.pagebanner {
	display: flex;
	align-items: flex-end;
	position: relative;
	z-index: 0;
	margin-top: calc(var(--main-padding-top) * -1); /*  minus the main top padding*/
	margin-bottom: var(--main-padding-top);
	height: 630px; /*the height*/
}

.pagebanner__image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0, .1);
}

.pagebanner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	opacity: 1;
}

.pagebanner__content {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.pagebanner__content .container {
}

.pagebanner__title {
	position: relative;
	color: #FFF;
	margin: 0;
	display: inline-flex;
	padding: 60px 90px;
	padding-left: 0;
	font-size: 34px;
	line-height: 1.4;
	font-weight: 300;
	max-width: 900px;
	background: transparent;
}

.pagebanner__title span {
	position: relative;
}

.pagebanner__title::before { /*BG*/
	content: "";
	position: absolute;
	top: 0;
	right: 0px;
	min-width: calc(100% + 30px);
	width: calc((100vw - 1200px)  * 0.5  + 100% + 30px); /*WHOOHAAA!!!*/
	height: 100%;
	background: var(--primary-color);
	background-image: linear-gradient(54deg, #00A5DD 0%, #B5CA0C 100%);
	opacity: .85;
}


.pagebanner__title::after { /*cover image strip*/
	content: "";
	position: absolute;
	top: 60%;
	right: 0;
	width: 100vw;
	height: 100%;
	transform: translateX(100%);
	background: #FFF;
	opacity: 1;
}


.pagebanner__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #00A5DD;
	AUS_background-image: linear-gradient(54deg, #00A5DD 0%, #B5CA0C 100%);
	opacity: 0.2; /*custom field*/
}


@media screen and (max-width: 980px) {
	.pagebanner {
		height: 500px; /*the height*/
	}

	.pagebanner__title {
		min-width: 200px;
		max-width: 80vw;
		padding: 50px 30px 50px 0px;
	}
}

@media screen and (max-width: 600px) {
	.pagebanner {
		height: 330px; /*the height*/
	}

	.pagebanner__title {
		min-width: 150px;
		font-size: 25px;
		padding: 35px 20px 35px 0px;
	}

}


/* @end */

/* @group CONTENTBLOCKS */

/* CONTENTBLOCKS - FLEX CONTENT
--------------------------------------------------------------------------------- */


/* General */

main .contentblock:first-child {
	margin-top: 0;
}

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

.contentblock > *:last-child {
	margin-bottom: 0;
}

.contentblock {
	margin-top: var(--block-vspace);

	max-width: var(--aligndefault-width); /*default width*/
	margin-left: auto;
	margin-right: auto;

	border: 0px dashed #ddd; /*helper*/
}


.contentblock.alignwide {
	max-width: 100%;
}

.contentblock.alignfull {
    margin-left  : calc( -100vw / 2 + 100% / 2 );
    margin-right : calc( -100vw / 2 + 100% / 2 );
    max-width    : 100vw;
}


.pagebanner + .contentblock {
	margin-top: 0;
}



/* Text
--------------------------------------------------------------------------------- */


.contentblock-text {
}


.contentblock-text + .contentblock-text,
.contentblock-downloads + .contentblock-text {
	margin-top: var(--vspace);
}


/* Text-Columns
--------------------------------------------------------------------------------- */


.contentblock-text-columns {
}

@media screen and (max-width: 768px) {

	.contentblock-text-columns [class*="col-"]:last-child  {
		margin-top: var(--vspace);
	}
}



/* Image
--------------------------------------------------------------------------------- */


.contentblock-image {
}

.contentblock-image + .contentblock-image {
	margin-top: 1.5rem;
}

.contentblock-image img.size-large {
	display: block;
	width: 100%;
}


.contentblock-image figure.alignright {
	float: right;
	text-align: right;
}

.contentblock-image figure.alignright img {
	display: block;
	float: right;
}

.contentblock-image figure.alignright a {
	float: right;
}

.contentblock-image figure.alignright figcaption {
	clear: both;
}

.contentblock-image figure.aligncenter {
	text-align: center;
}

.contentblock-image figure.aligncenter img {
	display: inline-block;
}



/* Image-Text
--------------------------------------------------------------------------------- */


.contentblock-imagetext {
}

.imagetext {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}


.imagetext.image-w33 {
	grid-template-columns: 1fr 2fr;
}

.imagetext.image-w25 {
	grid-template-columns: 1fr 3fr;
}


.imagetext__image {
	width: 100%;
}

.imagetext__image img {
	display: block;
	width: 100%;
}

.imagetext__text {
}

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

.imagetext.image-alignright {
}

.imagetext.image-alignright .imagetext__image {
	order: 2;
}

/* image widths */
.imagetext.image-w100 {
	grid-template-columns: 1fr;
}

.imagetext.image-w50 .imagetext__image {

}

.imagetext.image-w33 .imagetext__image {
}

.imagetext.image-w25 .imagetext__image {
}


/* has custom aspect ratio */
.imagetext__image.has-ratio figure {
	position: relative;
}

.imagetext__image .ratio-wrap {
	position: relative;
}

.imagetext__image.ratio-1-1 .ratio-wrap { padding-top: 100%; }
.imagetext__image.ratio-4-3 .ratio-wrap { padding-top: 75%; }
.imagetext__image.ratio-3-2 .ratio-wrap { padding-top: 66.66%; }
.imagetext__image.ratio-16-9 .ratio-wrap { padding-top: 56.25%; }

.imagetext__image.has-ratio .image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.imagetext__image.has-ratio img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}


@media screen and (max-width: 980px) {

}


@media screen and (max-width: 768px) {
	/*alignwide image that stacks*/
	.alignwide .imagetext.image-w50 {
		grid-template-columns: 1fr;
		gap: var(--vspace);
	}

}


@media screen and (max-width: 600px) {
	.imagetext {
		gap: var(--vspace) 0;
	}

	/* image goes full width*/
	.imagetext.image-w50 {
		grid-template-columns: 1fr;
	}

	/* image stacks */
	.imagetext.image-w33,
	.imagetext.image-w25  {
		grid-template-columns: 1fr;
	}

	.imagetext.image-w33 .imagetext__image {
		max-width: 50%;
	}

	.imagetext.image-w25 .imagetext__image {
		max-width: 40%;
	}

	/* image bottom */
	.imagetext.image-valignbottom .imagetext__image {
		order: 2;
	}

}




/* Gallery
--------------------------------------------------------------------------------- */

.contentblock-gallery {
}

.gallery {
	--gallery-gap: 30px;
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px; /*offset gap*/
	margin-left: calc(var(--gallery-gap) * -1); /*  offset gap */
	margin-bottom: calc(var(--gallery-gap) * -1)!important; /*  minus the gap */;
}

.gallery__item {
	position: relative;
	flex: 0 0 auto;
	width: calc(100% / 3); /*default 3 colums*/
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 0px 0 var(--gallery-gap) var(--gallery-gap) ; /*gap*/
}

.gallery.columns-1 .gallery__item { width: calc(100% / 1); }
.gallery.columns-2 .gallery__item { width: calc(100% / 2); }
.gallery.columns-3 .gallery__item { width: calc(100% / 3); }
.gallery.columns-4 .gallery__item { width: calc(100% / 4); }
.gallery.columns-5 .gallery__item { width: calc(100% / 5); }
.gallery.columns-6 .gallery__item { width: calc(100% / 6); }


@media screen and (max-width: 1024px) {

.gallery.columns-2 .gallery__item { width: calc(100% / 1); }
.gallery.columns-3 .gallery__item { width: calc(100% / 2); }
.gallery.columns-4 .gallery__item { width: calc(100% / 2); }
.gallery.columns-5 .gallery__item { width: calc(100% / 3); }
.gallery.columns-6 .gallery__item { width: calc(100% / 3); }

}

@media screen and (max-width: 600px) {

.gallery.columns-3 .gallery__item { width: calc(100% / 1); }
.gallery.columns-4 .gallery__item { width: calc(100% / 1); }
.gallery.columns-5 .gallery__item { width: calc(100% / 2); }
.gallery.columns-6 .gallery__item { width: calc(100% / 2); }

}


.gallery.gap-zero {
	--gallery-gap: 0;
}

.gallery__item .ratio-wrap {
	flex: 0; /*1*/
	display: flex;
}

.gallery__item .image-wrap {
	flex: 1;
}

.gallery__item a {
	display: block;
	height: 100%;
}

.gallery__item  img {
	display: block;
	margin: 0;
	width: 100%;
}


/* gallery cropped */
.gallery__item.is-cropped  {
	flex: 1 0 auto; /* images in last row take remaining space*/
}

.gallery__item.is-cropped  img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}

/* gallery has custom aspect ratio */
.gallery__item.has-ratio .ratio-wrap {
	position: relative;
}

.gallery__item.ratio-1-1 .ratio-wrap { padding-top: 100%; }
.gallery__item.ratio-4-3 .ratio-wrap { padding-top: 75%; }
.gallery__item.ratio-3-2 .ratio-wrap { padding-top: 66.66%; }
.gallery__item.ratio-16-9 .ratio-wrap { padding-top: 56.25%; }


.gallery__item.has-ratio .image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.gallery__item.has-ratio img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}

.gallery__item figcaption {
}

@media screen and (max-width: 1024px) {

	.gallery {
		--gallery-gap: 16px;
	}
}


/* -- Gallery Masonry (JS) */


.gallery-masonry {
	display: block;
	background: lightblue;
}

.gallery-masonry:after {
	content: '';
	display: block;
	clear: both;
}

.gallery-masonry__item {
	display: block;
	float: left;
}

.gallery-masonry__item a {
	display: block;
}





/* Video
--------------------------------------------------------------------------------- */


.contentblock-video {
}


/* Google-Map
--------------------------------------------------------------------------------- */

.contentblock-google-map {
}



/* Accordion
--------------------------------------------------------------------------------- */


.contentblock-accordion {
}

.contentblock-text + .contentblock-accordion {
	margin-top: var(--vspace);
}



.accordion {
	border-bottom: 1px solid var(--border-color);
}

.accordion-item {
	position: relative;
	overflow: hidden;
	border: none;
	margin-bottom: -1px
}

.accordion-item:last-child {
	margin-bottom: 0;
}

.accordion-item:first-of-type {
	margin-top: 0;
}

.accordion-heading {
	margin: 0;
	padding: 0;
	border: none;
	text-transform: none;
}

.accordion-trigger {
	display: block;
	position: relative;
	border: none;
	text-align: left;
	width: 100%;
	padding: 1.5rem 0;
	padding-right: 3.5rem;
	font-size: 1.0rem;
	line-height: 140%;
	color: var(--link-color);
	background: transparent;
	border-top: 1px solid var(--border-color);
	font-weight: bold;
    outline-offset: -5px;
	transition: all 300ms ease;
}

.accordion-trigger:hover {
	text-decoration: none;
}

.accordion-trigger.active {
}

.accordion-trigger:hover,
.accordion-trigger:hover i {
}

.accordion-trigger:hover i {
	text-decoration: none;
}

.accordion-trigger i:after {
	position: absolute;
	top: 1.3rem;
	right: 0;
	margin: 0;
	content: "\e809";
	display: block;
	line-height: 1;
	border-radius:0;
	font-family: 'icons';
	font-size: 1.9rem;
	font-weight: normal;
	font-style: normal;
	color: var(--link-color);
	text-decoration: none;
	transition: all 250ms ease-in-out;
}

 .accordion-trigger.active i:after {
	transform: rotate(180deg);
}

.accordion-content {
	position: relative;
	padding: 0 0 2.5rem 0;
}

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


@media screen and (max-width: 600px) {

	.accordion-trigger i:after {
		margin-top: -0.5rem;
	}
}


/* Spacer
--------------------------------------------------------------------------------- */

.contentblock-spacer {
}




/* Downloads
--------------------------------------------------------------------------------- */



.contentblock-downloads {
}

.contentblock-downloads + .contentblock-downloads {
	margin-top: var(--vspace);
}

.contentblock-text + .contentblock-downloads {
	margin-top: calc(var(--vspace) + .0rem);
}


.downloads__title {

}

.downloads__list {
	margin-top: var(--vspace);
}

.downloads__list li {
	padding: 0.7rem 0;
	padding-left: 2.2rem;
	border-bottom: 1px solid var(--border-color);
}

.downloads__list li:first-child {
	padding-top: 0;
}

.downloads__list li:last-child {
	border-bottom: none;
	AUS_padding-bottom: 0;
}

.downloads__list li a span {
}

.downloads__list li i {
	display: inline-block;
	font-size: 1.5rem;
	width: 2.2rem;
	margin-left: -2.2rem;
}

.downloads__list li i:before {
	margin: 0;
}

.downloads__list li a {
	font-weight: bold;
}

.downloads__item-caption {
	font-size: var(--text-small);
}



/* Slider
--------------------------------------------------------------------------------- */


.contentblock-slider .swiper-container {
	padding-bottom: 40px; /*space for pagination-bullets*/
}

.contentblock-slider .swiper-wrapper {
     height:auto!important;
}

.contentblock-slider .swiper-slide {
	display: flex;
	justify-content: center;
	width: auto;
}

.contentblock-slider img {
	display: block;
	width: auto;
	height: 800px; /*the height*/
	height:  clamp(300px, 60vw, 800px);
	min-height: 50vh;
}

.swiper-button {
	color: #FFF;
	padding: 35px;
	margin-top: -35px;
	background: rgba(0,0,0, .3);
	transition: all 300ms ease;
}


.swiper-button:hover {
	opacity: .5;
}

.swiper-button-disabled {
	opacity: 0;
}

.swiper-button-prev {
	transform-origin: left;
	left: 0;
}

.swiper-button-next {
	transform-origin: right;
	right: 0px;
}

.swiper-button::after {
	font-size: 45px;
	font-family: 'icons';
}

.swiper-button-prev::after {
	content: "\ebd2";
}

.swiper-button-next::after {
	content: "\ebd5";
}

.swiper-pagination-bullet {
	background: #DDD;
	opacity: 1;
	width: 10px;
	height: 10px;
	transition: all 250ms ease;
}

.swiper-pagination-bullet-active {
	background: var(--primary-color);
	transform: scale(1.3);
}


@media screen and (max-width: 980px) {
	.swiper-button {
		transform: scale(0.7);
	}
}



/* Cards
--------------------------------------------------------------------------------- */


.contentblock-cards {
	margin-top: var(--block-vspace);
}

.cards-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	margin-top: 20px;
}


.card__image {
	margin: 0 0 20px 0;
	box-shadow: 0px 5px 40px -10px rgba(0,0,0, .2);
}


.card__link {
	margin: 0;
	padding: 0 10px;
	font-weight: bold;
	display: block;
}


@media screen and (max-width: 980px) {
	.cards-grid {
		gap: 20px;
	}
}

@media screen and (max-width: 600px) {
	.cards-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

}





/* Contact Person
--------------------------------------------------------------------------------- */


.contentblock-contact-person {
}

.contact-person__section-title {
	text-transform: uppercase;
	color: var(--text-gray);
	font-size: 1rem;
	letter-spacing: .5px;
}

.contact-person {
	margin-top: var(--vspace);
	display: flex;
	overflow: hidden;
	background: var(--primary-bg);
}


.contact-person + .contact-person {
	margin-top: 1rem;
}


.contact-person__image {
	width: 260px;
	max-width: 50vw;
}

.contact-person__image img {
	width: 100%;
}

.contact-person__content {
	flex: 1;
	padding: var(--box-padding);
	background: var(--primary-bg);
}

.contact-person__head {
	margin-bottom: 1rem;
}


.contact-person__phone a {
	color: var(--text-color);
}


@media screen and (max-width: 768px) {
	.contact-person {
		display: block;
		background: transparent;
	}

	.contact-person__image {
		display: flex;
		position: relative;
		margin-bottom: -5px;
	}

	.contact-person__image::before {
		content: "";
		width: 100vw;
		height: 50%;
		bottom: 0;
		position: absolute;
		background: var(--primary-bg);
		z-index: -1;
	}


	.contact-person__content {
		AUS_background: var(--primary-bg);
	}

}




/* Teaser
--------------------------------------------------------------------------------- */



.contentblock-teaser {

}


.teaser {
	padding: 70px;
	border-radius: 20px;
	text-align: center;
	max-width: 880px;
	margin: 0 auto;
	background-image: linear-gradient(64deg, rgba(0, 165, 221, .25) 2%, rgba(181, 202, 12, .25) 100%);
}


.teaser__title {
	font-size: 32px;
	font-size: 1.8rem;
	font-weight: 300;
}

.teaser__text {
	font-size: 16px;
	border: 0px solid #333;
	AUS_max-width: 650px;
	margin-left: auto;
	margin-right: auto;
}

.teaser__btn {
	margin-top: var(--vspace);
}


@media screen and (max-width: 600px) {
	.teaser {
		padding: 50px 30px;
	}


}



/* Related Pages
--------------------------------------------------------------------------------- */



.contentblock-related {

}


.related__title {
	text-transform: uppercase;
	color: var(--text-gray);
	font-size: 1rem;
	letter-spacing: .5px;
}

.related li a {
	font-weight: bold;
}




/* @end */





/* @group BLOG */

/* BLOG
--------------------------------------------------------------------------------- */


.blog-entry {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 0px 50px;

	margin-top: 50px;
}

.blog-entry:first-child {
	margin-top: 80px;
}

.blog-entry__image {
	position: relative;
}

.blog-entry__image a {
	display: block;
	overflow: hidden;
	AUS_height: 100%;
}

.blog-entry__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	transition: all 600ms ease!important;
}

.blog-entry__image a:hover img {
	transform: scale(1.1);
}

.blog-entry__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.blog-entry__cats {
}

.blog-entry__cats span {
	display: inline-block;
	color: rgba(72, 88, 106, .3);
	letter-spacing: -1px;
}

.blog-entry__date {
	font-weight: bold;
	font-size: 16px;
	font-size: 0.85rem;
	color: var(--text-gray);
}

.blog-entry__title {
	margin: 0;
	padding: 0;
	AUS_font-size: 24px;
}

.blog-entry__title a {
	display: block;
}

.blog-entry__title a:hover  {
}



.blog-entry__excerpt {
	margin-top: 1.2rem;
}

.blog-entry__more-btn {
	margin: 1.3rem 0 0 0;
}


@media screen and (max-width: 980px) {
	.blog-entry {
		gap: 0px 40px;
	}
}

@media screen and (max-width: 600px) {
	.blog-entry {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}





/* single post */

.blog-post__header {
	margin: 0 0 4rem 0;
}

.blog-post__title {
	margin: 0;
}

.blog-post__date {
	margin: 1rem 0 0 0;
	font-size: 0.85rem;
	font-weight: bold;
	color: var(--text-gray);
}

.blog-post__image {
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 0 2.5rem 0;
	display: block;
	overflow: hidden;
}

.blog-post__image img{
	width: 100%;
}


.blog-post__image p.wp-caption-text {
	margin: 0.6rem 0 0 0;
	font-size: 0.8rem;
}

.blog-post__content {
	width: 100%;
	display: block;
	padding: 0;
	margin: 0;
}

.blog-post__tags {
	text-transform: uppercase;
	font-size: 0.85rem;
	margin-top: 3rem;
	color: var(--text-gray);
	letter-spacing: .3px;
	margin-bottom: -2rem;
}

.blog-post__tags a {
	color: var(--text-gray);
	font-weight: bold;
}

.blog-post__tags a:hover {
	color: var(--text-color);
}

.blog-post__tags span {
	margin: 0 2px;
	display: inline-block;
}

.back-to-blog {
	margin: var(--vspace-xl) 0;
	font-weight: bold;
	text-align: center;
	font-size: 1.2rem;
}

.back-to-blog a {
}

.back-to-blog a:hover {
}


@media screen and (max-width: 600px) {
	.blog-post__header {
		margin: 0 0 3rem 0;
	}
}


/* Archive */


.show-tax {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	font-size: 1.0rem;
	padding: 1rem;
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
	background: var(--primary-bg);
}

.show-tax__tax {
	flex: 1;
	color: var(--text-gray);
}

.show-tax__title {
	color: var(--text-color);
	font-weight: bold;
}

.show-tax__all {
	margin: 0 0 0 auto;
	font-size: 1.3rem;
}


/* post-pagination */

.post-pagination {
	margin-top: var(--vspace-xl);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
}

.post-pagination .page-numbers {
	padding: 5px 8px;
	display: none;
}

.post-pagination .page-numbers.current {
}

.post-pagination a {
	line-height: 1;
	flex: 1 0 auto;
}


.post-pagination a.prev,
.post-pagination a.next {
	padding: 25px 55px;
	flex: 0 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 10px;
	letter-spacing: .3px;
	border-radius: 100px;
	background: var(--primary-bg);
}

.post-pagination a:hover {
	color: #FFF;
	background: var(--primary-color);
}


.post-pagination a.prev {
}

.post-pagination a.next {
}


a.prev span,
a.next span {
}

body:not(.paged) .post-pagination a.next,
body:not(.paged) .post-pagination a.next {
}

.post-pagination a.prev:before,
.post-pagination a.next:after {
	font-size: 28px;
	font-family: 'icons';
	line-height: 0;
	margin-bottom: 2px;
}


.post-pagination a.prev:before {
	content: "\ebce";
	margin-left: -10px;
	margin-right: 10px;
}

.post-pagination a.next:after {
	content: "\ebcd";
	margin-left: 10px;
	margin-right: -10px;
}


@media screen and (max-width: 600px) {
	.post-pagination a.prev,
	.post-pagination a.next {
		padding: 0;
		width: 60px;
		height: 60px;
		margin: 0 10px;
		line-height: 1;
	}

	.post-pagination a.prev:before,
	.post-pagination a.next:after {
		margin: 0 0 1px 0;
	}

	.post-pagination a span {
		display: none;
	}

}





/* Post Navigation */

.post-nav-section {
	padding: 4rem 0;
	background: rgba(0,0,0, .05);
}

.post-nav {
	display: flex;
	justify-content: space-between;
	text-transform: uppercase;
}


.post-nav.first-post {

}

.post-nav .prev-post,
.post-nav .next-post {
	width: 100%;
}

.post-nav .next-post {
}

.post-nav a {
	position: relative;
	display: block;
	font-size: 1.0rem;
	line-height: 125%;
	max-width: 430px;
}

.post-nav .prev-post a::after,
.post-nav .next-post a::after {
	content: ">";
	position: absolute;
	top: 0;
	line-height: 1;
}

.post-nav .prev-post a::after {
	content: "<";
	left: 0;
}

.post-nav .next-post a::after {
	right: 0;
}


.post-nav span {
	display: block;
	font-size: 0.75rem;
	margin: 0 0 0.5rem 0;
	display: none;
}

.post-nav a br {
	display: none;
}

.post-nav a:hover {
}

.post-nav .prev-post a {
	padding-right: 1rem;
	padding-left: 3rem;
}

.post-nav .next-post a {
	padding-left: 1rem;
	padding-right: 3rem;
	text-align: right;
	float: right;
}

.post-nav.first-post .next-post a,
.post-nav.last-post .prev-post a {

}



/* Post Taxonomies  */

.post-tax-section {
	padding: var(--vspace-xl) 0;
	margin: 0 0 0 0;
	background: var(--secondary-bg)
}

.post-tax {
}

.post-tax__title {
}

.post-tax__list {
	margin-top: var(--vspace);
	AUS_columns: 3;
    AUS_column-gap: 30px;
}

.post-tax__list li a {
	display: block;
	margin: 0 0 0.5rem 0;
	text-decoration: none;
	font-weight: bold;
}

.post-tax__list li a:hover {
	color: #48586A;
}

@media screen and (max-width: 600px) {
	.post-tax-archive {
		margin-top: var(--vspace);
	}

}




/* @end */



/* @group SEARCH */

/* Search
--------------------------------------------------------------------------------- */



.search-result {
}

.search-result__title {

}

.search-result.no-result .searchform-wrap {
	}

.searchform-wrap {
	position: relative;
	max-width: 100%;
	margin-top: var(--vspace);
	border: 0px solid #333;
}

.search-result.no-result .searchform {
	border: 1px solid rgba(0,0,0, .05);
	box-shadow: 0px 5px 35px -10px rgba(0,0,0, .2);
}

.searchform {
	position: relative;
	box-shadow: 0px 5px 30px -10px rgba(0,0,0, .15);
}


.searchform input[type="text"] {
	border: none;
	padding: 20px;
	width: 100%;
	height: 3.3rem;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--text-color);
	border:  none;
	border-radius: 0;
	box-shadow: none /*remove red border */;
}

.searchform input::placeholder {
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: normal;
}

.searchform .searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	padding: 0 20px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	overflow: hidden;
	width: 3rem;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	background: transparent;
}

.searchform i {
	position: relative;
	text-align: center;
	font-size: 1.4rem;
	color: var(--primary-color);
	background: transparent;
}


.search-result__list {
	margin-top: var(--vspace);
}

.search-result span {
	color: var(--orange);
	font-weight: bold;
}

.search .hentry {
	border: 0;
	border-bottom: 1px solid var(--border-color);
	margin: 0;
	padding: 15px 0;
}

.search .hentry:first-child {
	border-top: 1px solid var(--border-color);
}

.search-result__entry a {
	display: block;
	font-weight: bold;
}

.search-result__entry .excerpt_part {
	display: block;
	font-weight: normal;
	font-size: var(--text-small);
	line-height: 1.5;
}

.search-result__entry .type-page .entry-details {
	display: none;
}

.search .post-pagination {
	margin-top: 30px;
}


.search-results .entry-details span {
	display: none;
}

/* @end */


/* @group PW protected */

/* PW Protected
--------------------------------------------------------------------------------- */


.post-password-form {
	text-align: center;
	padding: 30px;
	background: var(--primary-bg);
}

.post-password-form p {
	display: none;
}

.post-password-form p + p {
	display: block;
	margin: 0;
}

.post-password-form input {
	font-size: 1rem;
	padding: 10px;
	max-width: 100%;
	border: 1px solid var(--border-color);
}

.post-password-form input[type="submit"] {
	display: none;
}

/* @end */


/* @group TEMPLATE START */

/* TEMPLATE START
--------------------------------------------------------------------------------- */


/* === Hero */


.hero-section {
	margin-top: calc(var(--main-padding-top) * -1); /*  minus the main top padding*/
	AUS_margin-bottom: var(--main-padding-top);
}

.hero {
	position: relative;
	display: flex;
	align-items: center;
	height: 565px; /*the height*/
}


.hero__image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0, .1);
}

.hero img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	opacity: 1;
}


.hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	background-image: linear-gradient(54deg, #00A5DD 0%, #B5CA0C 100%);
}

.hero__content {
	position: relative;
	width: 100%;
}

.hero__title {
	margin: 0;
	color: #FFF;
	text-transform: uppercase;
	font-size: 70px;
	font-weight: 300;
	line-height: 1;
}

@media screen and (max-width: 980px) {
	.hero {
		height: 500px; /*the height*/
	}

	.hero__title {
		font-size: 60px;
	}
}

@media screen and (max-width: 600px) {
	.hero {
		height: 330px; /*the height*/
	}

	.hero__title {
		font-size: 38px;
		line-height: 1.1;
	}

}

/* === Intro */


.intro-section {
	margin-top: var(--vspace-xl);
}


/* === Services */

.services-section {
	margin-top: var(--vspace-xl);
}


.services {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px
}

.service-card {
	position: relative;
	min-height: 300px;
	overflow: hidden;
    padding-top: 66.66%; /* 3:2 Aspect Ratio */
}

.service-card__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0, .1);
}

.service-card.no-image .service-card__image  {
	background: rgba(0,0,0, .6);
}

.service-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	opacity: 1;
	transition: all 500ms ease-in-out;
}

.service-card:hover img {
	transform: scale(1.15);
}

.service-card__overlay {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 80%;
	background: linear-gradient(to bottom,  rgba(0,0,0, 0) 0%,rgba(0,0,0, 0.3) 100%);
}


.service-card__link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: flex-end;
}

.service-card__title {
	position: relative;
	flex: 1;
	display: flex;
	align-items: flex-end;
	color: #FFF;
	font-weight: 300;
	padding: 30px;
	font-size: 26px;
	line-height: 1.3;
	text-shadow: 0 1px 5px rgba(0,0,0, .3);
}

.service-card__title::after {
	content: "\ebcd";
	font-family: 'icons';
	margin-left: auto;
	margin-right: -5px;
	font-size: 1.7rem;
	line-height: 1;
	transition: all 350ms ease-in-out;
	padding-left: 30px;
}


.service-card:hover .service-card__title::after {
	margin-right: -15px;
}


@media screen and (max-width: 980px) {
	.services {
		gap: 10px
	}

	.service-card__title {
		font-size: 24px;
		padding: 20px;
	}
}


@media screen and (max-width: 600px) {
	.services {
		grid-template-columns: 1fr;
		gap: 20px
	}

	.service-card {
		min-height: auto;
	}

	.service-card__title {
		font-size: 22px;
	}
}




/* === Recent Posts */

.recent-posts-section {
	margin-top: var(--vspace-xl);
	background: var(--primary-bg);
	padding: var(--vspace-lg) 0;
}

.recent-posts__section-title {
	font-weight: 300;
	font-size: 32px;
	margin: 0 0 calc(var(--vspace-lg) - 0.6rem) 0;
}

.recent-posts {
}

.recent-posts__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	margin-top: 20px;
}


.recent-post__card {
}

.recent-post__image {
	margin: 0 0 25px 0;
	box-shadow: 0px 5px 40px -10px rgba(0,0,0, .2);
}

.recent-post__content {
	padding: 0 10px;
}

.recent-post__date {
	margin: 0;
	color: var(--text-gray);
	font-weight: bold;
	font-size: 14px;
	font-size: 0.85rem;
}

.recent-post__title {
	margin: 0;
	font-size: 1rem;
}


.recent-posts__btn {
	margin-top: var(--vspace-lg);
	margin-bottom: 20px;
	text-align: center;
}


@media screen and (max-width: 980px) {
	.recent-posts__grid {
		gap: 20px;
	}

	.recent-post__content {
		padding: 0;
	}

}

@media screen and (max-width: 600px) {
	.recent-posts__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.recent-post__content {
		padding: 0 20px;
	}

	.recent-post__title {
		font-size: 18px;
}


}

/* === Teaser  */

.teaser-section {
	margin-top: var(--vspace-xl);
}

/* teaser style is identical with contentblock-teaser */






/* @end */




/* @group FORMS */

/* FORMS (contact form 7)
--------------------------------------------------------------------------------- */


.wpcf7 {
	position: relative;
}

.wpcf7-form {
	position: relative;
	margin: 0 auto;
	overflow: visible;
	display: flex;
	justify-content: center;
	max-width: 1000px;
	background: var(--primary-bg);
}

.wpcf7-form .form-wrap {
	margin: 0 auto;
	padding: 50px;
	overflow: hidden;
	border: 0px solid #333;
}

.wpcf7-form .form-wrap > *:first-child {
	margin-top: 0;
}


.wpcf7 .form-title {

}

.wpcf7 hr {
	margin: 1.0rem 0 1.5rem 0;
	border-color: rgba(0,0,0, .2);
}

.wpcf7 br {
	display: none;
}

.wpcf7 .fieldset {
	margin-top: var(--vspace);
	overflow: hidden;
}

.wpcf7 .form-field {
	margin-bottom: 0.8rem;
	z-index: 1;
}


.wpcf7 .form-field:focus-within label,
.wpcf7 .form-field.select-focus label {
}

.wpcf7 label {
	padding: 0 0;
	width: auto;
	text-transform: none;
	font-size: 0.9rem;
	padding-right: 10px;
	margin: 0 0 0.3rem 0;
	display: inline-block;
	text-align: left;
	line-height: 140%;
	cursor: default;
	transition: all 350ms ease;
	color: var(--text-color);
}

.wpcf7 .row {
	margin-left: -10px;
	margin-right: -10px;
}

.wpcf7 .row-pflichtangaben {
	margin-bottom: 0.5rem;
	font-size: 0.6rem;
	text-align: right;
	text-transform: uppercase;
	color: #999;
}

.wpcf7 .row-submit {
}

.wpcf7 .row.response {
	margin-bottom: 0;
}

.wpcf7 [class*=col-] {
	padding: 0 10px;
}


.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-quiz,
.wpcf7-text,
.wpcf7 textarea,
.wpcf7 select,
.wpcf7-date,
.wpcf7-number,
.wpcf7-captchar,
.wpcf7-file,
.wpcf7-email {
	padding: 1.0rem;
	font-size: 1.0rem;
	line-height: 1.3;
	color: var(--text-color);
	background-color: #FFF;
	width: 100%;
	box-sizing: border-box;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	font-family: var(--sans);
	font-weight: normal;
	border: none;
	border: 1px solid var(--border-color);
	transition: all 300ms ease;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	border-color: rgba(0,0,0, .5);

}

input::-webkit-input-placeholder,
input::-moz-placeholder,
input::-ms-input-placeholder,
input::-moz-placeholder {
}


.wpcf7 textarea {
	max-height: 250px;
	line-height: 150%;
	width: 100%;
}


.wpcf7-recaptcha {
	 overflow: hidden;
	 margin-bottom: 0.5rem;
}


.wpcf7 .form-field--submit {
	margin: 0;
}

.wpcf7 .submit-btn-wrap {
	position: relative;
	display: flex;
	align-items: center;
}


.wpcf7 input.wpcf7-submit {

}

.wpcf7 input.wpcf7-submit:hover {
}

.wpcf7 input.wpcf7-submit:active {
}


.wpcf7 .wpcf7-spinner {
	flex: 0 0 24px;
	background: rgba(0,0,0, .3);
	AUS_visibility: visible!important;

}

.wpcf7 .response {
	position: relative;
}

.wpcf7 .invalid .wpcf7-response-output {
	display: block;
	font-size: 0.9rem;
	padding: 1rem;
	margin: 1rem 0 0 0;
	clear: both;
	position: relative;
	text-align: left;
	background: #FFF;
}

.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
	border-color: transparent;
	color: RED;
	text-align: center;
}

.wpcf7 .wpcf7-form.sent {
}


.wpcf7 .sent .wpcf7-response-output {
	margin: var(--vspace) 0 0 0;
	padding: 5.5rem 2rem 4rem 2rem;
	text-align: center;
	color: var(--primary-color);
	font-size: 1.0rem;
	font-weight: bold;
	border: none;
	background: #FFF;
}

.wpcf7 .sent .wpcf7-response-output:after { /*ok icon*/
	content: "";
	position: absolute;
	left: 50%;
	top: 2.5rem;
	width: 20px;
	height: 32px;
	border: solid var(--primary-color);
	border-width: 0 4px 4px 0;
	-webkit-transform: rotate(45deg) translateX(-50%);
	-ms-transform: rotate(45deg) translateX(-50%);
	transform: rotate(45deg) translateX(-50%);
}


.wpcf7 span.wpcf7-not-valid-tip {
	background: red;
	color: #FFF;
	display: none;
}


.not-valid label {
	color: RED;
}

.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid {
	border-color: RED;
}


.wpcf7 .field-note {
	font-size: 0.7rem;
}


.wpcf7 .pflichtfeld-hinweis {
	text-align: right;
	font-size: 0.7rem;
	color: #666;
	text-transform: uppercase;
	display: none;
}

/* Checkbox & Radiobuttons */


.wpcf7 .wpcf7-checkbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}


.wpcf7 .wpcf7-radio {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

.wpcf7 input[type="radio"] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
}

.wpcf7 input[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
}

.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item  {
  	margin: 0 0 0 0;
  	width: auto;
}

.wpcf7-radio input,
.wpcf7-checkbox input,
.wpcf7-acceptance input {
	display: none; /*custom*/
}

.wpcf7-radio label,
.wpcf7-checkbox label,
.wpcf7-acceptance label {
	margin: 0;
	padding: 0;
	display: block;
	cursor: pointer;
}

.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 0 auto;
	font-size: 1rem;
	text-transform: none;
	font-weight: bold;
	padding: 5px 0;
	padding-right: 30px;
	color: var(--text-color);
	transition: all 300ms ease;
}

.wpcf7-radio .wpcf7-list-item-label:hover,
.wpcf7-checkbox .wpcf7-list-item-label:hover,
.wpcf7-acceptance .wpcf7-list-item-label:hover {
}

.wpcf7-radio .wpcf7-list-item-label:before,
.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
	content: "";
	width: 26px;
	height: 26px;
	background: #FFF;
	border: 1px solid var(--border-color);
	opacity: 1;
	position: relative;
	margin: 0 15px 0 0;
	flex: 0 0 auto;
}


.wpcf7-radio .wpcf7-list-item-label:before {
	border-radius: 50%;
}



.wpcf7-radio .wpcf7-list-item-label:after {  /*the dot*/
	content: "";
	position: absolute;
	top: 13px;
	left: 8px;
	width: 10px;
	height: 10px;
	background: #FFF;
	border-radius: 50%;
	opacity: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item-label:after  {  /*the checkmark*/
	content: "";
	position: absolute;
	left: 9px;
	top: 9px;
	width: 9px;
	height: 14px;
	border: solid #FFF;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	opacity: 0;
}


.wpcf7-radio input:checked + .wpcf7-list-item-label,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label {
}

.wpcf7-radio input:checked + .wpcf7-list-item-label:before,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label:before,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before {
	border-color: var(--primary-color);
	background: var(--primary-color);
}

.wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label:after,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label:after {
	opacity: 1;
}


.wpcf7-radio.wpcf7-not-valid .wpcf7-list-item-label:before,
.wpcf7-checkbox.wpcf7-not-valid .wpcf7-list-item-label:before,
.wpcf7-acceptance.wpcf7-not-valid .wpcf7-list-item-label:before {
	border-color: RED;
}


/* Checkbox Acceptance (Datenschutz) */


.wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 0.8rem;
	line-height: 1.5;
	font-weight: normal;
	align-items: flex-start;
}

.wpcf7-acceptance .acceptance-text {
}

.wpcf7 .form-field--datenschutz {
	margin: 0 0 var(--vspace) 0;
}

.wpcf7 .form-field--datenschutz > label {
  display: none;
}

.wpcf7-acceptance span a {
	font-weight: bold;
}


/* Select */
/* https://codepen.io/chriscoyier/pen/zYYZaGP */

.wpcf7 select {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	transition: all 200ms ease;
	background-color: #fff;

	/* https://websemantics.uk/tools/svg-to-background-image-conversion */
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='718 26 725 35 732 26' transform='translate(-718 -26)' fill='%231C4E60' fill-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat, repeat;
	/* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
	background-position: right .7em top 50%, 0 0;
	/* icon size, then gradient */
	background-size: 0.8em auto, 100%;
}
.wpcf7 select::-ms-expand {
	display: none;
}

.wpcf7 .select-css:focus {
	/* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	outline: none;
}

.wpcf7 select option {
	font-weight: normal;
	font-size: 1rem;
}

/* Disabled styles */
select:disabled, select[aria-disabled=true] {
	opacity: .5;
}

@media screen and (max-width: 600px) {

	.wpcf7-form .form-wrap {
		padding: 50px 20px;
	}
}

/* @end */


/* @group SWIPEBOX LIGHTBOX */

/* Swipebox Lightbox
--------------------------------------------------------------------------------- */


#swipebox-slider {
	cursor: auto!important;
}


#swipebox-overlay {
	transition: background 500ms ease;
	AUS_background: BROWN!important;
	AUS_background: transparent!important;

}

#swipebox-container #swipebox-top-bar {
	top: auto;
	bottom: -50px!important;
	transform: translate3d(0,-50px,0)!important;
	opacity: 1;
	height: auto;
	line-height: 1.6;
	padding: 20px 60px;
	background: transparent;
	background: rgba(0,0,0, 0);
	border:0px solid RED;
}

#swipebox-container #swipebox-title {
	font-family: var(--font-sans);
	text-shadow: none;
	font-weight: normal;
	font-size: 0.8rem;
	max-width: 100%;
	color: #FFF;
}

#swipebox-container #swipebox-bottom-bar {
	top: 50%;
	background: transparent;
    pointer-events:none;
}

#swipebox-container #swipebox-bottom-bar.visible-bars {
	transform: none!important;
}

#swipebox-container #swipebox-arrows {
	max-width: 100%;
	width: 100vw;
	margin: 0;
    pointer-events: auto;
	background: TAN;
	height: 0;
}

#swipebox-arrows a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: none!important;
	background: transparent;
    pointer-events: auto;
}

#swipebox-arrows a#swipebox-prev {
}

#swipebox-arrows a#swipebox-next {
}

#swipebox-arrows a:after {
	font-family: 'icons';
	font-size: 1.7rem;
	text-shadow: none;
	color: #FFF;
}

#swipebox-arrows a#swipebox-prev:after {
	content: "\ebcf";
}

#swipebox-arrows a#swipebox-next:after {
	content: "\ebd0";
}


#swipebox-close {
	display: flex;
	justify-content: center;
	align-content: center;
	top: 30px!important;
	right: calc(var(--container-padding) - 10px)!important;
	background: transparent!important;
}

#swipebox-close::after {
	content: "\ebe3";
	font-family: 'icons';
	font-size: 1.5rem;
	text-shadow: none;
	color: #FFF;
	line-height: 2.5;
}

#swipebox-overlay img {
	max-height: 90vh!important;
	max-height: calc(90vh - 60px)!important; /*space for caption*/
	max-width: 80vw!important;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,.2));
}

#swipebox-slider .slide-loading {
	background: transparent!important; /*remove gif ani*/
}

#swipebox-slider .slide {
	position: relative;
}

#swipebox-slider .slide:after { /*loading ani*/
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: var(--secondary-color);
	AUS_background: RED;
	border-radius: 100%;
	z-index: -1;
	animation: swipeboxLoadingAni 1.0s infinite ease-in-out;
}

@keyframes swipeboxLoadingAni {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(1.0);
    opacity: 0;
  }
}


#swipebox-arrows a:after,
#swipebox-close::after {
	color: #FFF;
}



@media screen and (max-width: 600px) {
	#swipebox-close {
		top: 28px!important;
		right: calc(var(--container-padding) - 14px)!important;
	}

	#swipebox-close::after {
		font-size: 1.3rem;
	}


	#swipebox-arrows a:after {
		font-size: 1.5rem;
	}
}

/* @end */


/* @group FOOTER */

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


#footer {
	position: relative;
	width: 100%;
	padding: 120px 0 140px 0;
	font-size: 16px;
	line-height: 1.8;
	color: #FFF;
	background-color: #00A5DD;
	background-image: linear-gradient(9deg, #00A5DD 9%, #70C8E4 100%);
}

#footer::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 80%;
	max-width: 1000px;
	height: 100%;
	background: transparent url(images/logo-swirl-white.svg) no-repeat 50px -5px;
	background-size: cover;
	opacity: .1;
	border: 0px solid #000;
}


.site-footer a {
	color: #FFF;
}

.site-footer a:hover {
	color: rgba(255,255,255, .6);
}

.site-footer p + p {
	margin-top: calc(var(--vspace) - 0.5rem);
}


.footer-slogan {
	text-transform: uppercase;
	font-size: 32px;
	line-height: 1.3;
	font-weight: 300;
	margin-bottom: 85px;
}

.footer-menu {
	border: 0px solid #333;
}

.footer-menu li a {
	display: block;
	margin: 0 30px 0 0;
}


.footer-social {
	margin-top: var(--vspace);
}

.footer-social-mob {
	display: none;
}

.footer-social a {
	color: #11AADE;
	background: #FFF;
	line-height: 1;
	width: 50px;
	height: 50px;
	line-height: 49px;
	font-size: 20px;
	text-align: center;
	display: block;
}

.footer-social a:hover {
	color: #11AADE;
	background: rgba(255,255,255, .7);
}


#gototop {
	position: absolute;
	right: 20px;
	bottom: -100px;
	cursor: pointer;
}

#gototop::after {
	content: "\e801";
	font-family: 'icons';
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-size: 25px;
	transform: rotate(90deg);
	background: transparent;
}


@media screen and (max-width: 768px) {

	#footer {
		padding: 100px 0 130px 0;
	}

	#footer::before {
		width: 100%;
	}

	#footer .container {
		padding: 0 40px;
	}

	.footer-menu {
		margin-top: var(--vspace);
	}

	.footer-social {
		display: none;
	}

	.footer-social-mob {
		display: block;
	}
}


@media screen and (max-width: 600px) {

}

/* @end */




/* @group SOCIAL SIDE */

/* Social Side Icon
--------------------------------------------------------------------------------- */


.social-side {
	position: relative;
	border: 0px solid #333;
}

.social-side a {
	position: absolute;
	top: 0;
	right: 0;

	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	color: #FFF;
	background: var(--primary-color);
}

.social-side a:hover {
	background-color: var(--secondary-color);
}


@media screen and (max-width: 1280px) {
	.social-side {
		display: none;
	}
}

/* @end */




/* @group BORLABS COOKIE */

/* Borlabs Cookie Banner
--------------------------------------------------------------------------------- */


#BorlabsCookieBox ._brlbs-box {
	box-shadow: 0px 3px 50px -10px rgba(0,0,0, .3)!important;
}

.BorlabsCookie ._brlbs-content-blocker {
	display: flex;
	justify-content: center;
	padding: 0;
}

.BorlabsCookie ._brlbs-content-blocker ._brlbs-embed {
	width: 100%;
	margin: 0!important;
}


.BorlabsCookie ._brlbs-content-blocker img {
	width: 100%;
	display: block;
}

.video-embed-wrap .BorlabsCookie {
	margin-bottom: -56.5%; /*minus the ratio*/
}

.BorlabsCookie input[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

.BorlabsCookie span#CookieBoxTextHeadline {
	font-family: var(--font-serif);
}

.BorlabsCookie #CookieBoxTextDescription {

}

.BorlabsCookie ._brlbs-btn  {
}

.BorlabsCookie ._brlbs-btn._brlbs-btn-accept-all {
}

/* @end */


/* @group ACCESSIBILITY */

/* ACCESSIBILITY */


.sr-only {
	position: absolute;
	width: .0625rem;
	height: .0625rem;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.sr-only-focusable {
	transition: all 0s ease;
}

.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
}

/* @end */


/* @group ANIMATIONS */

/* ANIMATIONS
---------------------------------------------------------------------------------*/


/*  https://github.com/daneden/animate.css */


.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-timing-function: ease-in-out;
}

.animated.infinite {
	animation-iteration-count: infinite;
}

@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
   transform: translate3d(0, -100%, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
	animation-name: fadeInDown;
}


@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  animation-name: fadeInRight;
  animation-duration: 600ms;
}


/* @end */



/* ------------------------------------------------------------------------------

MEDIA QUERIES

---------------------------------------------------------------------------------*/


@media screen and (max-width: 1136px) {
body:after {
	content: "<1136";
	position: fixed;
	top: 0;
	line-height: 1;
	padding: 5px;
	font-size: 11px;
	background: lawngreen;
	z-index: 1000;
	opacity: .8;

	display: none; /* AN/AUS*/
}

}


@media screen and (max-width: 980px) {
body:after {
	content: "<980";
	background: TAN;
}


}


@media screen and (max-width: 768px) {
body:after {
	content: "<768";
	background: PINK;
}

}


@media screen and (max-width: 600px) {
body:after {
	content: "<600";
	background: YELLOW;
}

}


@media screen and (max-width: 360px) {
body:after {
	content: "<360";
	background: MAGENTA;
}


}




/* END
---------------------------------------------------------------------------------*/
