/* @override
	https://kulturfabrik-meda.de/wp/wp-content/themes/meda/style.css */


/*
Theme Name: KULTURFABRIK MEDA
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-slab-300 - latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('webfonts/roboto-slab-v13-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-slab-v13-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

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

/* roboto-slab-700 - latin */
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('webfonts/roboto-slab-v13-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-slab-v13-latin-700.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-v27-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v27-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-v27-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v27-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-v27-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v27-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-v27-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/roboto-v27-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

rot			990033
petrol		036666

bg beige	FDF6E5
bg grau 	F3F3F3

rot dark	791B3B
beige loud	FCECC5

*/


 :root {
	--base-font-size: 18px;

	--text-color: #333;
	--link-color: #036666;
	--link-color-hover: #990033;

	--border-color: #DDD;

	--primary-color: #990033;
	--primary-color-dark: #791B3B;
	--primary-bg: #FDF6E5;

	--secondary-color: #036666;
	--secondary-bg: #F3F3F3;

	--text-gray: #888;

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

	--text-small: 0.9rem;

	--container-width: 1200px;
	--aligndefault-width: 760px;
	--alignsemiwide-width: 980px;

	--container-padding: 30px;

	--main-padding-top: 4rem;
	--main-padding-bottom: 8rem;

	--vspace: 2rem; /*stack margin-top */
	--vspace-lg: 4rem;
	--vspace-xl: 6rem;
	--vspace-xxl: 8rem;


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

	--box-padding: 2rem;

	--header-height: 280px;
 }


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


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

		--container-padding: 20px;

		--main-padding-top: 2rem;
		--main-padding-bottom: 4rem;

		--vspace-lg: 3rem;
		--vspace-xl: 4rem;

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

		--header-height: 140px;
	}
}



/* @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);
	color: var(--text-color);
}

body {
	height: 100%;
	font-family: var(--font-sans);
	line-height: 1.7;
	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 {
	opacity: .8;
	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: 56px;
	font-size: 3.0rem;
	line-height: 1.2;
	margin-top: var(--vspace);
	margin-bottom: var(--vspace-lg);
	color: var(--secondary-color);
	font-family: var(--font-serif);
}

h2 {
	font-size: 32px;
	font-size: 1.8rem;
	font-family: var(--font-serif);
	line-height: 1.3;
	margin-top: calc(var(--vspace) + 1rem);
}

h3 {
	font-size: 22px;
	font-size: 1.2rem;
	font-family: var(--font-serif);
	line-height: 1.5;
	margin-top: calc(var(--vspace) + 1rem);
}

h4 {
	line-height: 1.4;
	font-size: 1.1rem;
	color: var(--text-gray);
	text-transform: uppercase;
	margin-top: var(--vspace);
}


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 rgba(0,0,0, .3);
	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: 40px;
	}

	h2 {
		font-size: 28px;
	}

	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: var(--header-height);
	display: flex;
	align-items: center;
	background: #FFF;
	AUS_margin-bottom: 50px;
	z-index: 1;
	border-bottom: 0px solid #ddd;
}


#header > .container {
	flex: 1 0 auto;
	display: flex;
	align-items: center;
	border: 0px solid #333;
}

@media screen and (max-width: 980px) {
	#header {
		margin-bottom: 0;
	}

	#header > .container {
		justify-content: center;
	}

}

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

}

/* Logo */


.logo {
	flex: 0 0 auto;
	width: 100%;
	max-width: 210px;
    transition: all 0.3s;
}

.logo a {
	display: block;
}

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

.logo a:hover img {
	opacity: 1;
}


@media screen and (max-width: 980px) {
	.logo {
		max-width: 180px;
		margin-top: -5px;
	}
}

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

}

/* @end */



/* @group SEARCH */

/* Search */

button.search-trigger {
	border: none;
	overflow: hidden;
	padding: 0;
	font-size: 1.2rem;
	line-height: 100%;
	color: var(--text-color);
	background: transparent;
	margin: 0 -5px 0 17px;
}

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

button.search-trigger.open {
	color: var(--link-color-hover);
}

.site-search  {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	visibility: hidden;
	height: 0;
	background: var(--primary-bg);
	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: 5px;
}

.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 {
	AUS_box-shadow: inset 0px 3px 15px -8px rgba(0,0,0, .2);
}

.searchform input.s::placeholder {
	font-style: 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;
	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;
	flex-direction: column;
	align-items: flex-end;
	margin-bottom: -40px;
	background: rgba(255,255,255, .0);
}


/* Menu 1 */

.menu1 {
	display: flex;
	flex-wrap: nowrap;
	font-family: var(--font-serif);
}


.menu1 li {
	position: relative;
	margin: 0 2rem 0 0;
	border-bottom: none;
}

.menu1 li:last-child {
	margin-right: 0;
	padding-right: 0;
}


.menu1 li a {
	position: relative;
	margin: 0 0 0 3px;
	font-size: 1rem;
	font-weight: bold;
	display: block;
	color: #FFF;
	padding: 8px 25px;
	background: var(--primary-color);
}

.menu1 > li:first-child a {
	border-radius: 5px 0 0 5px;
}

.menu1 > li:last-child a {
	border-radius: 0 5px 5px 0;
}

.menu1 li.menu-item-has-children {
	position: relative;
}


.menu1 li.current-menu-item > a {
}

.menu1 li a:hover {
	color: #FFF;
	background: #791B3B;
	text-decoration: none;
}

.menu1 li.menu-item-has-children.active > a {
	color: #FFF;
	background: #791B3B;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.menu1 li.menu-item-has-children > a:after {
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 100%;
	height: 3px;
	background: CYAN;
	background: #791B3B;
	opacity: 0;
	transition: all 200ms ease;
}


.menu1 li.menu-item-has-children.active > a:after {
	opacity: 1;
}

.menu1 > li.current-menu-item > a {
	background: var(--primary-color-dark);
}

.menu1 > li.current-page-ancestor > a {
	background: var(--primary-color-dark);
}

.menu1 li.current_page_parent a:hover,
.menu1 li.current_page_parent:hover a,
.menu1 li.current_page_item:hover a {
}

.menu1 ul {
	display: block;
	position: absolute;
	top: 100%;
	margin-top: -10px;
	left: 3px;
	padding: 20px;

	z-index: 20;
	background: #791B3B;
	box-shadow: 1px 5px 6px 0px rgba(0,0,0, .06);

	min-width: 15rem;

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

.menu1 .active > ul { /*js class toggle*/
	opacity: 1;
	visibility: visible;
	margin-top: 3px;
}

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

.menu1 li:last-child ul {
	left: auto;
	right: 0;
}

.menu1 ul li {
	padding: 0;
	margin: 0;
}

.menu1 ul li a {
	height: auto;
	display: block;
	font-weight: normal;
	text-transform: none;
	background: transparent;
	font-size: 0.95rem;
	padding: 5px 0;
}

.menu1 ul li a:hover {
	opacity: .7;
}


/* 3rd level */

#nav ul ul ul {
	display: block;
	visibility: visible;
	opacity: 1;
	position: relative;
	margin: 0;
	top: auto;
	left: auto;
	right: auto;
	padding: 0 0 0 20px;
	opacity: .7;
	box-shadow: none;
}

#nav ul ul ul a {
	font-size: 0.9rem;
	padding: 0.2rem 0;
}


/* 4th level */

#nav ul ul ul ul {
	display: none;
}


/* Menu 2 */


.menu2-wrap {
	display: flex;
	flex-wrap: nowrap;
	margin: 20px 0 0;
}

.menu2 {
	display: flex;
	flex-wrap: nowrap;

	font-family: var(--font-serif);
}


ul.menu2 li {
	position: relative;
	border-bottom: none;
	margin: 0 15px;
}

.menu2 li:last-child {
	margin-right: 0;
	padding-right: 0;
}


.menu2 li a {
	position: relative;
	margin: 0;
	font-size: 1rem;
	display: block;
	color: var(--text-color);
	padding: 5px 0;
	border-bottom: 2px solid rgba(0,0,0, 0);
}


.menu2 li.menu-item-has-children {
	position: relative;
}


.menu2 li.current-menu-item > a,
.menu2 li.current-menu-ancestor > a {
	color: var(--primary-color);
}

.menu2 li a:hover {
	color: var(--link-color-hover);
	text-decoration: none;
}

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

.menu2 li.current_page_parent a:hover,
.menu2 li.current_page_parent:hover a,
.menu2 li.current_page_item:hover a {
}

.menu2 ul {
	display: block;
	position: absolute;
	top: 100%;
	margin-top: -10px;
	left: -30px;
	padding: 30px;
	padding-top: 15px;

	z-index: 20;
	background: #FFF;
	box-shadow: 1px 5px 6px 0px rgba(0,0,0, .06);

	min-width: 17rem;

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

.menu2 .active > ul { /*js class toggle*/
	opacity: 1;
	visibility: visible;
	margin-top: 0;
}

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

.menu2 li:last-child ul {
	left: auto;
	right: 0;
}

.menu2 ul li {
	padding: 0;
	margin: 0;
}

.menu2 ul li a {
	height: auto;
	display: block;
	border: none;
	font-size: 0.95rem;
	padding: 7px 0;
}

.menu2 ul li:last-child a {
	padding-bottom: 0;
	border-bottom: none;
}

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

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

}

@media screen and (max-width: 1136px) {
	.menu1 li a {
		font-size: 0.95rem;
		padding: 8px 20px;
	}

	.menu2 li a {
		font-size: 0.95rem;
	}



}






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




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


.mob-menu {
	display: none; /*js trigger*/
	position: absolute;
   	top: 0;
   	left: 0;
	width: 100%;
	z-index: 10;
	opacity: 0;
	background: #FFF;
	animation: navfadeIn 400ms ease-in-out 1 forwards;
	box-shadow: 0px -10px 50px 0px rgba(0,0,0, .7);
	padding-bottom: 80px;
}

@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%;
	margin: 0 auto;
}

.mob-search {
	position: relative;
	margin: 30px 0 0 0;
	display: flex;
	justify-content: flex-end;
}

.mob-search .searchform {
	border: 0px solid rgba(0,0,0, .2);
	border-radius: 0;
	border-bottom: 1px solid rgba(0,0,0, .2);

	box-shadow: none;
	max-width: 400px;

}

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

.mob-search .searchform button {
	margin-right: -15px;
}

.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);
}

.mob-menu nav {
	padding-right: 3px;
	margin: 170px 0 0 0;
}

.mob-menu-list li {
}

.mob-menu-list li a {
	display: flex;
	justify-content: flex-end;
	max-width: 300px;
	margin-left: auto;
	font-size: 1rem;
	font-size: 19px;
	font-weight: bold;
	font-family: var(--font-serif);
	line-height: 1.3;
	padding: 10px 0;
	padding-left: 30px;
	color: var(--primary-color);
	background: transparent;
}

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

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

.mob-menu-list li a:hover {
	color: var(--text-color);
}

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

.mob-menu-list li.menu-item-has-children.active > a {
}


.mob-menu-list li.active > a {
	color: var(--text-color);
}

.mob-menu-list li.page-ancestor a { /* page-ancestor … add CSS class to WP menu item*/
	display: flex;
	justify-content: space-between;
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: bold;
	font-size: 22px;
	font-size: 1.15rem;
}

.mob-menu-list li.page-ancestor.current-menu-item a {
	color: var(--text-color);
}

.mob-menu-list li.page-ancestor a::after {
	content: "\e808";
	font-family: 'icons';
	font-weight: normal;
	font-style: normal;
}


.mob-menu-list li ul {
	position: relative;
	margin: 0;
	margin-bottom: 5px;

	border-right: 2px solid rgba(0,0,0, .1);
	padding-right: 20px;

}

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

.mob-menu-list li li a {
	AUS_font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: normal;
	border: none;
	padding: 10px 0;
	color: var(--text-gray);
}

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

.mob-menu-list {

}

.mob-menu-list.mob-menu1 {
	margin-bottom: 20px;
}

.mob-menu2 li a {
	color: var(--text-color);
	font-weight: normal;
}


/* 3rd level */


.mob-menu-list li ul ul {
	display: none;
	margin: 0;
	border-right: 0;
	padding-right: 0;
}

.mob-menu-list li ul ul a {
	font-size: 16px;

}



/* 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);
	}
}


/* 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;
	background: transparent;
	outline: none;
}

.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-trigger {
		right: 10px;
}


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



/* 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: 28px;
	height: 2px;
	background-color: var(--primary-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*/
}


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;
}

.alignsemiwide {
	max-width: var(--alignsemiwide-width);
}

.alignwide {
	max-width: 100%;
	max-width: var(--alignwide-width);

}

.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-family: var(--font-serif);
	font-size: 0.85rem;
	line-height: 140%;
	color: var(--text-gray);
	padding: 15px 0 15px 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: relative;
	display: inline-block;
	font-size: 10px;
	line-height: 11px;
	padding: 8px 12px;
	text-transform: uppercase;
	text-decoration: none;
	background: #0073AA;
	color: #FFF;
	border-radius: 0px;

	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
}


/* 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;
	color: var(--secondary-color);
}

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-style.line ul li:before {
	display: none;
}

.list-style.line ul,
.list-style.line ul li {
	padding-left: 0;
}

list-style.line ul li {
	padding: 0.5rem 0;
	margin-bottom: 0.2rem;
	border-bottom: 1px solid rgba(67, 0, 43, 0.3);
}

.list-style.line ul li:last-child {
	border-bottom: none;
}



/* === 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-large {
	font-size: 120%;
}

.text-small {
	margin-top: var(--vspace);
	font-size: 11px;
	font-size: 0.8em;
	line-height: 1.6;
}

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

.text-quote {
	position: relative;
	margin: 3rem auto;
	max-width: 550px;
	font-style: normal;
	font-size: 140%;
	font-family: var(--font-serif);
	font-weight: bold;
	color: var(--primary-color);
}


.text-quote strong {
	font-weight: normal;
}

.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-gray);
}


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

}

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

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

.box p:empty {
	display: none;
}

.box-important {
	background: transparent;
	border: 2px solid var(--primary-color);
}

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

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

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

.icon.bullet {
	font-size: 85%;
}



/* === 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: 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 {
	background: var(--secondary-color);
	color: #FFF;
}

table thead tr th,
table thead tr td {
	font-weight: bold;
	padding: 10px;
}

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

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

table tr th {
	text-align: left;
}

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

table tr td:last-child {
}


table p {
	margin: 0;
}



/* === Buttons */


.btn {
	text-transform: uppercase;
	padding: 0.9rem 2.9rem;
	font-family: var(--font-serif);
	font-weight: bold;
	font-size: 13px;
	font-size: .9rem;
	display: inline-flex;
	color: var(--link-color);
	letter-spacing: .5px;
	background: transparent;
	border: 2px solid var(--link-color);
}

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


.btn-submit {
	padding: 1.2rem 3rem 1.3rem 3rem;
	color: #FFF;
	border: none;
	background: var(--primary-color);
}

.btn-submit:hover {
	color: #FFF;
	border: none;
	background: var(--primary-color-dark);
}

.btn-more {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-family: var(--font-serif);
	font-size: 16px;
	font-size: 0.9rem;
	text-transform: uppercase;
	font-weight: bold;
	margin: 0;
	letter-spacing: .5px;
}

.btn-more::after {
	content: "\efaa";
	font-family: 'icons';
	font-size: 1.4em;
	line-height: 1;
	margin: 0 0 0 5px;
}




/* @end */

/* @group PAGEBANNER */

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


/* Pagebanner */

.pagebanner {
	display: flex;
	position: relative;
	z-index: 0;
	margin-top: calc(var(--main-padding-top) * -1); /*  minus the main top padding*/
	margin-bottom: var(--main-padding-top);
	margin-bottom: 6rem;

	padding-top: 20px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1460px; /*1140*/

	border: 0px dashed BLUE;
}

.pagebanner.pagebanner-none {
	height: auto;
	margin: 0;
}

.pagebanner__content {
	flex: 1 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	max-width: 700px;
	width: 50%;
	height: 700px; /*the height*/
	padding: 140px;
	color: #FFF;
	overflow: hidden;
	background: var(--secondary-color);
}

.pagebanner__bg-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scale(1.4);
	overflow: hidden;
	opacity: .15;
}

.pagebanner__bg-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0;
    filter: grayscale(100%);
}


.pagebanner__title {
	position: relative;
	color: #FFF;
	text-align: center;
	margin: 0 0 0 0;

	AUS_-webkit-hyphens: auto;
	AUS_hyphens: auto;
}

.pagebanner__subtitle {
	position: relative;
	display: flex;
	font-family: var(--font-serif);
	font-weight: 300;
	font-size: 1.1rem;
	text-align: center;
	margin: 20px 0 0 0;
	border: 0px solid plum;
	color: #FFF;
	text-align: center;
}


.pagebanner__image-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}

.pagebanner__image {
	position: relative;
	height: 80%;
	max-height: 600px;
	margin-left: -90px;
}

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

.pagebanner__mob-bg-image {
	display: none;
}


@media screen and (max-width: 1136px) {
	.pagebanner {
		display: block;
		padding: 0;
	}

	.pagebanner__content {
		max-width: 100%;
		width: 100%;
		height: auto; /*the height*/
		padding: 100px 30px;
		justify-content: flex-start;
		background: transparent;
	}

	.pagebanner__subtitle {
		font-size: 1.0rem;
	}

	.pagebanner__bg-image {
		display: none;
	}

	.pagebanner__image {
		position: relative;
		height: 500px; /*the height*/
		height: 60vw;

		max-width: var(--alignsemiwide-width);
		padding: 0 var(--container-padding);
		margin: 0 auto;
	}

	.pagebanner__mob-bg-image {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 80%;
		background: var(--secondary-color);
}

	.pagebanner__mob-bg-image img {
	    filter: grayscale(100%);
		opacity: .2;
	}

}


@media screen and (max-width: 980px) {
	.pagebanner {
		margin-bottom: 4rem;
	}
}

@media screen and (max-width: 600px) {
	.pagebanner {
		margin-bottom: 4rem;
	}

	.pagebanner__content {
		padding: 60px 30px;
	}

	.pagebanner__title {
		font-size: 46px;
	}

}



/* @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.alignsemiwide {
	max-width: var(--alignsemiwide-width);
}

.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;
}


/* Vertical Space Options */


.vspace-lg,
.vspace-lg + .contentblock {
	margin-top: var(--block-vspace-lg);
}

.vspace-xl,
.vspace-xl + .contentblock {
	margin-top: var(--block-vspace-xl);
}

.vspace-xxl,
.vspace-xxl + .contentblock {
	margin-top: var(--block-vspace-xxl);
}


.vspace-default,
.vspace-default + .contentblock {
	AUS_margin-top: var(--block-vspace);
}




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


.contentblock-text {
}


/* 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: 35px;
}


.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: 20px;
	display: flex;
	flex-wrap: wrap;

	/*offset gap*/
	margin-right: -4px;
	margin-right: calc(var(--gallery-gap) * -1); /*minus the val*/
}


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

.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: 600px) {
.gallery {
	--gallery-gap: 5px;
}

.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); }


}



.gallery__item.gap-1px {
	padding: 0px 1px 1px 0px;
}

.gallery__item.gap-zero {
	padding: 0;
}

.gallery__item .ratio-wrap {
	flex: 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__caption {
	padding: 10px 0 0 0;
	font-size: 0.8rem;
	line-height: 1.4;
	display: none;
}

/* 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;
}


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


.contentblock-video {
}



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

.contentblock-google-map {
}



/* Form
--------------------------------------------------------------------------------- */


.contentblock-form {
}

.form-trigger-button-wrap {
	text-align: center;
}

.form-trigger-button {
	position: relative;
	color: #FFF;
	padding: 1.5rem 4rem;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-family: var(--font-serif);
	font-weight: bold;
	font-size: 1rem;
	line-height: 1;
	background: var(--secondary-color);
	border: none;
	display: inline-flex;
	margin: 0 auto;
	transition: all 250ms ease;
	z-index: 1;
	box-shadow: 0px 5px 20px -5px rgba(0,0,0, .3);
}


.form-trigger-button::after { /*traingle*/
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0px -24px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 24px 0 24px;
	border-color: var(--secondary-color) transparent transparent transparent;
	transition: all 250ms ease;
	opacity: 0;
}

.form-trigger-button:hover {
	color: #FFF;
	background: var(--secondary-color);
}

.form-trigger-button.active {
	background: var(--secondary-color);
}

.form-trigger-button.active::after {
	opacity: 1;
	margin-bottom: -20px;
}




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


.contentblock-accordion {
}

.accordion {
	border-bottom: 2px 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.3rem 0;
	padding-right: 3.5rem;
	font-size: 1.0rem;
	line-height: 140%;
	color: var(--link-color);
	background: transparent;
	border-top: 2px 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.1rem;
	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 {
}

.downloads__title {

}

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

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

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

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

.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*/
	--swiper-theme-color: var(--secondary-color);
}

.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;
}

.contentblock-slider .swiper-button {
	color: #FFF;
	padding: 30px;
	margin-top: -40px;
	border-radius: 50%;
	background: rgba(0,0,0, .2);
}



.contentblock-slider .swiper-button::after {
	font-size: 1.5rem;
	text-shadow: 0 0 10px rgba(0,0,0, .3), 0 0 20px rgba(0,0,0, .9);
}


.swiper-pagination-bullet-active {
	background: var(--secondary-color);
}


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

	.contentblock-slider .swiper-button {
		transform: scale(0.7);
	}

}


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

.contentblock-teaser {
	margin: var(--block-vspace-lg) 0;
}


.contentblock-teaser + .contentblock-teaser:nth-of-type(2n-1) {
}

.contentblock-teaser + .contentblock-teaser:nth-of-type(2n-1) .teaser__image{
	order: 2;
}

.contentblock-teaser + .contentblock-teaser:nth-of-type(2n-1)  .teaser__content {
	margin-left: 0;
	margin-right: -100px;
}

.teaser {
	display: flex;
}

.teaser__image {
	position: relative;
	width: 60%;
	height: 550px; /*the height*/
}

.teaser__image a {
	display: block;
	overflow: hidden;
}

.teaser__image a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}


.teaser__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: opacity 250ms ease;
}

.teaser__content {
	position: relative;
	flex: 1;
	margin: 50px 0;
	margin-left: -100px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 50px;
	background: var(--primary-bg);
}

.teaser__metatitle {
	color: var(--primary-color);
	text-transform: uppercase;
	letter-spacing: .5px;
	font-size: 13px;
	font-weight: bold;
	font-family: var(--font-serif);
	margin: 0 0 2rem 0;
}

.teaser__title {
	margin: 0 0 2rem 0;
	font-size: 1.5rem;
	}

.teaser__title a {
	display: block;
}


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

	.teaser {
		display: block;
	}

	.teaser__image {
		width: 100%;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: auto;
		height: 330px; /*the height*/
	}

	.teaser__content,
	.contentblock-teaser + .contentblock-teaser:nth-of-type(2n-1)  .teaser__content {
		margin: -40px 0 0 0;
		display: block;
		padding: 40px;
	}

	.teaser__metatitle {
		margin: 0 0 1.5rem 0;
	}

	.teaser__title {
		font-size: 24px;
		font-size: 1.4rem;
		margin: 0 0 1.5rem 0;
	}
}




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


.contentblock-teaser-cards {

}

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

.teaser-card {
	padding-bottom: 1.5rem;
}

.teaser-card__image {

}

.teaser-card__image img {
	display: block;
	width: 100%;
}

.teaser-card__title {
	margin: 1rem 0 0 0;
	font-size: 20px;
	font-size: 1.2rem;
	line-height: 1.4;
}

.teaser-card__title a {
	display: block;
}

.teaser-card__subtitle {
	margin: 0.2rem 0 0 0;
	font-size: 0.9rem;
}

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

	.teaser-cards {
		grid-template-columns: 1fr;
	}

}



/* @group EVENT */


/* EVENT
--------------------------------------------------------------------------------- */

/* general (for Kino, Veranstaltungen, Workshops) */



/*anchor nav*/
.anchor-nav {
	position: absolute;
	right: 0;
}

.anchor-nav .container {

}

.anchor-nav a {
	display: block;
	font-weight: bold;
	padding: 5px 0;
}

.anchor-nav a i {
	color: var(--text-gray);
	color: #CCC;
	margin: 0 5px 0 0;
	transition: all 250ms ease;
}

.anchor-nav a:hover i {
	color: var(--link-color-hover);
}

@media screen and (max-width: 1420px) {
	.anchor-nav {
		position: relative;
		margin-top: -1.5rem;
		margin-bottom: 3rem;
	}

}

@media screen and (max-width: 600px) {
	.anchor-nav {
	}

}



.event-entries-section {
}

.event-entries-section h2 {
	margin: 0;
}

.event-entries {
	margin-top: var(--vspace-lg);
}


.event-entry {
	display: flex;
	margin-top: var(--vspace);
	padding-top: 30px;
	border: 0px solid #333;
}


.event-entry__image {
	max-width: 360px;
	width: 40%;
	margin: -30px 0 0 0;
}

.event-entry__image a {
	display: block;

}

.event-entry__image img {
	display: block;
	width: 100%;
}

.event-entry__content {
	flex: 1;
	padding: 55px;
	background: var(--primary-bg);
}

.event-entry__content.has-image {
	padding-left: 135px;
	margin-left: -75px;
	min-height: 280px;
}


.event-entry__date {
	font-family: var(--font-serif);
	margin-bottom: 0.5rem;
	font-size: 22px;
	font-size: 1.0rem;
	font-weight: bold;
}


.event-entry__title {
	margin: 0;
	font-size: 24px;
	font-size: 1.7rem;
	line-height: 1.3;
}

.event-entry__title a {
	display: block;
}

.event-entry__excerpt {
	font-size: 16px;
	font-size: 0.9rem;
	margin-top: 1rem;
}

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


/* event archive entry */

.event-archive-section {
	background: #F3F3F3;
	padding: var(--vspace-xl) 0 ;
	margin-top: var(--vspace-xl);
	margin-bottom: calc(var(--main-padding-bottom) * -1); /*  minus the main bt pd*/

}

.event-archive-entries {
	margin-top: var(--vspace-lg);
	margin-top: 4.5rem;
	margin-bottom: 2rem;
}

.event-archive-entries h2 {
	margin: 0;
}

.event-archive-entry {
	display: flex;
	margin-top: 30px;
	border: 0px solid #333;
}

.event-archive-entry__image {
	max-width: 250px;
	width: 40%;
}

.event-archive-entry__image a {
	display: block;
}

.event-archive-entry__image img {
	display: block;
	width: 100%;
}

.event-archive-entry__content {
	flex: 1;
	padding: 35px;
	background: #FFF;
	box-shadow: 0px 3px 30px -10px rgba(0,0,0, .04);
}


.event-archive-entry__date {
	font-family: var(--font-serif);
	margin-bottom: 5px;
	font-size: 22px;
	font-size: 1.0rem;
	font-weight: bold;
}

.event-archive-entry__title {
	margin: 0;
}

.event-archive-entry__title a {
	display: block;
}



/* event post */

.event-post {
}

.event-post__header {
}

.event-post__cat {
	font-family: var(--font-serif);
	font-weight: bold;
	text-transform: uppercase;
	font-size: 0.9rem;
	color: var(--text-gray);
	color: #999;
	line-height: 1;
	margin-top: -1.2rem;
	margin-bottom: 1rem;
	letter-spacing: .6px;
}

.event-post__cat a {
	color: #999;
}

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

.event-post__cat span {
	opacity: .6;
}


.event-post__title {
	margin: 0;
}

.event-post__date {
	font-family: var(--font-serif);
	font-weight: bold;
	font-size: 1.2rem;
	margin-top: 0.5rem;
}

.event-post__image {
	margin-top: var(--vspace-lg);
	margin-left: auto;
	margin-right: auto;
}

.event-post__image img {
	display: block;
	width: 100%;
}

.event-post__content {
	margin-top: var(--vspace-lg);
}


.back-to-overview {
	margin-top: var(--vspace-lg);
	text-align: center;
}


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

	.event-entry__content.has-image {
		padding-left: 90px;
		margin-left: -50px;
		min-height: 28vw;
	}

}


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

	.event-entry {
		display: block;
	}

	.event-entry__image {
		max-width: 100%;
		width: 100%;
	}

	.event-entry__content {
		padding: 30px;
	}

	.event-entry__content.has-image {
		padding: 30px ;
		margin: 0;
		min-height: auto;
	}

	.event-entry__title {
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.3;
	}

	.event-entry__btn {
		margin-top: 1.5rem;
	}

	.event-archive-entry__image {
		width: 40%;
		margin-top: -15px;
	}

	.event-archive-entry__image a {

	}

	.event-archive-entry__content {
		padding: 20px;
	}

	.event-archive-entry__content.has-image {
		margin-left: -30px;
		padding-left: 55px;
	}

	.event-archive-entry__date {
		font-size: 0.9rem;
		margin: 0;
	}

	.event-archive-entry__title {
		font-size: 1rem;
	}
}



/* @end */



/* @group TEMPLATE: START */

/* Template: Start
--------------------------------------------------------------------------------- */


.start #header {
	background: transparent;
}


.start .logo a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent url(images/kulturfabrik-meda-logo-white.svg);
}

.start .logo a img {
	opacity: 0;
}


.start .menu2 li a,
.start button.search-trigger  {
	color: #FFF;
	text-shadow: 0 0 8px rgba(0,0,0, .4);
}


.start .menu2 li a:hover,
.start button.search-trigger:hover {
	color: #FFF;
	opacity: .8;
}

.start .menu2 ul {
	background: transparent;
	box-shadow: none;
}

.start .menu2 li.menu-item-has-children.active > a {
	color: #FFF;
}


.hero {
	position: relative;
	margin-top: calc(var(--header-height) * -1); /*  minus header height*/
	display: flex;
	align-items: flex-end;
	margin-bottom: var(--vspace-xl);
	height: 960px; /*the height*/
	max-height: 100vh;
	min-height: 800px;
}

.hero__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}


.hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: opacity 250ms ease;
}


.hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--secondary-color);
	opacity: .5;
}

.hero__content {
	flex: 1;
	position: relative;
	margin-bottom: var(--vspace-xl);
}

.hero__title {
	margin: 0;
	font-size: 90px;
	line-height: 1.1;
	color: #FFF;
}

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

	.start .logo a::after {
		display: none;
	}

	.start .logo a img {
		opacity: 1;
	}

	.hero {
		margin-top: 0;
		align-items: center;
		height: 680px; /*the height*/
		min-height: auto;
	}

	.hero__content {
		margin: 0;
	}

	.hero__title {
		font-size: 70px;
		text-align: center;
	}
}


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

	.hero {
		height: 470px; /*the height*/
	}

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



/* @end */




/* @group SEARCH */

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



.search-result {
}

.search-result__title {

}

.search-result.no-result .searchform {

}

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

.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 {
	font-weight: bold;
}

span.search-result__post-type {
	color: var(--text-gray);
	text-transform: uppercase;
	font-family: var(--font-serif);
	font-weight: normal;
	font-size: 0.8rem;
	margin: 0 0 0 10px;
	letter-spacing: .5px;
}

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

.search .hentry:last-child {
	border-bottom: none;
}

.search-result__entry a {
	display: block;
	font-weight: bold;
	padding: 0.6rem 0;
}

.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 FORMS */

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


.wpcf7 {
	position: relative;
	padding: var(--vspace-xl) 0;
	background: var(--primary-bg);
	background: #FCECC5;
}

.wpcf7-form {
	position: relative;
	margin: 0 auto;
	overflow: visible;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 var(--container-padding);

}

.wpcf7-form .form-wrap {
	max-width: 700px; /*main width*/
	margin: 0 auto;
	overflow: hidden;
}

.wpcf7 .form-title {
	margin: 0 0 2rem 0;
}

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

.wpcf7 br {
	display: none;
}

.wpcf7 .fieldset {
	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-weight: bold;
	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 label span {
	display: inline;
	font-size: 0.8rem;
	padding-left: 5px;
	text-transform: none;
}


.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 .form-field-desc {
	font-size: 0.8rem;
	line-height: 150%;
	color: #666;
	margin: -0.1rem 0 0.3rem 0;
}


.wpcf7 span {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0.9rem;
	flex: 0;
}

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

	transition: all 300ms ease;
}


.wpcf7-text { /*safari - get same height as select-styled */
	max-height: 3.6rem;
}


.wpcf7 select,
.wpcf7 .select-styled {
}



.wpcf7 input:focus,
.wpcf7 textarea: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 .textarea-sm {
	max-height: 150px;

}


.wpcf7 select {
  -webkit-appearance: none;
}

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


.wpcf7 .label-desc {
	margin-top: -2px;
	padding-bottom: 5px;
	font-size: 0.8rem;
	line-height: 140%;
	color: #888;
}



.wpcf7 .form-field-info {
	font-size: .85rem;
	line-height: 140%;
	margin:  0.3rem 0 1rem 0;
}


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


.wpcf7 .submit {
	clear: both;
}


.wpcf7 .submit-btn-wrap {
	position: relative;
	display: block;
}


.wpcf7 input.wpcf7-submit {

}

.wpcf7 input.wpcf7-submit:hover {
}

.wpcf7 input.wpcf7-submit:active {
}


.wpcf7 .ajax-loader {
	transform: translateX(45%);
	display: block;
	background: transparent;
	margin-right: -30px!important;
	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 {
	background: transparent;
}


.wpcf7 .sent .wpcf7-response-output {
	padding: 4rem 2rem;
	margin: 1rem 1rem;
	text-align: center;
	background: transparent;
	color: var(--secondary-color);
	font-size: 1.0rem;
	font-weight: bold;
	border: none;
	background: #FFF;
	box-shadow: 0px 5px 30px -10px rgba(0,0,0, .2);
}



.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-radio {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
    justify-content: left;
    align-content: flex-start;
}

.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 {
	color: #333;
	margin: 0;
	padding: 0;
	display: block;
	cursor: pointer;
}

.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label {
	display: block;
	line-height: 130%;
	font-size: 1rem;
	text-transform: none;
	font-weight: bold;
	padding: 5px 0;
	padding-right: 30px;
	color: #333;
	transition: all 300ms ease;
	display: flex;
	align-items: center;
}

.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 {
	content: "";
	width: 26px;
	height: 26px;
	background: #FFF;
	border: 1px solid var(--border-color);
	opacity: 1;

	position: relative;
	display: block;
	margin: 0 10px 0 0;
}


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



.wpcf7-radio .wpcf7-list-item-label:after,
.wpcf7-checkbox .wpcf7-list-item-label:after {
	content: "";
	position: absolute;
	top: 11px;
	left: 6px;
	width: 14px;
	height: 14px;
	background: var(--primary-color); /*the point*/
	opacity: 0;
	transition: all 300ms ease;
}

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

.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: #999;
}

.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:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	border-radius: 0;
	background: #FFF;
	border: 1px solid #DDD;
	opacity: 1;
}


.wpcf7-acceptance .wpcf7-list-item-label:after {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	width: 18px;
	height: 18px;
	border-radius: 0;
	background: var(--secondary-color); /*the point*/
	opacity: 0;
	transition: all 300ms ease;
}


.wpcf7-acceptance .wpcf7-list-item-label {
	position: relative;
	display: block;
	padding: 0 0 0 40px;
	font-weight: normal;
	font-size: 0.8rem;
	line-height: 150%;
	letter-spacing: 0;
	color: var(--text-color);
}


.wpcf7 .form-field--datenschutz {
	margin: 0 0 2rem 0;
}

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

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

.wpcf7-acceptance span a:hover {
	color: #999;
}


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

select {
	display: block;
	font-size: 16px;
	font-family: var(--font-sans);
	font-weight: normal;
	color: var(--text-color);
	line-height: 1;
	padding: 0 1.8em 0 1em;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid var(--border-color);
	box-shadow: 0 3px 10px -5px rgba(0,0,0, .1);
	border-radius: 5px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	transition: all 200ms ease;
	background-color: #fff;

	height: 2.5rem; /*global input height*/

	/* for the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's a url. You can also swap in a different svg icon or an external image reference
	*/
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%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.6em auto, 100%;
}
select::-ms-expand {
	display: none;
}
select:hover {
	border-color: #888;
}
.select-css:focus {
	border-color: #aaa;
	/* 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;
	color: #333;
	outline: none;
}

select option {
	font-weight: normal;
}

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

/* @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 {
	--vspace: 1.5rem;
	--footer-text-color: rgba(255,255,255, .9);
	position: relative;
	width: 100%;
	padding: 170px 0;
	font-size: 16px;
	line-height: 2.0;
	color: var(--footer-text-color);
	font-family: var(--font-serif);
	background: var(--primary-color-dark);
}

#footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(images/logo-kringel-red.svg) no-repeat center;
	background-size: cover;
	opacity: .25;
}


#footer a {
	color: var(--footer-text-color);
}

#footer a:hover {
	opacity: .5;
}

.footer-logo {
	width: 50px;
	height: 50px;
	margin: -50px 0 40px 0;
	background: url(images/logo-kringel-white.svg) no-repeat center;
	opacity: .9;
}


.footer-menu {

}

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

@media screen and (max-width: 980px) {
	#footer .container {
		padding: 0 40px;
	}

	.footer-menu {
		margin-top: 40px;
	}

}



@media screen and (max-width: 600px) {
	#footer {
		padding: 130px 0;
	}
}

/* @end */



/* @group BACK-TO-TOP BUTTON */


/* Back To Top Button
--------------------------------------------------------------------------------- */



.progress-wrap {
	position: fixed;
	right: 50px;
	bottom: 50px;
	height: 46px;
	width: 46px;
	cursor: pointer;
	display: block;
	border-radius: 50px;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.15), 0 0 15px -5px rgba(0,0,0, .1);
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
   transition: all 200ms linear;
   background: rgba(255,255,255, 1);
}

.progress-wrap.active-progress {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.progress-wrap::after { /*icon*/
	position: absolute;
	font-family: 'icons';
	content: '\e814';
	text-align: center;
	line-height: 46px;
	font-size: 22px;
	color: var(--primary-color);
	left: 0;
	top: 0;
	height: 46px;
	width: 46px;
	cursor: pointer;
	display: block;
	z-index: 1;
	transition: all 250ms linear;
}
.progress-wrap:hover::after {
	color: var(--primary-color);
}

.progress-wrap svg path {
	fill: none;
}
.progress-wrap svg.progress-circle path {
	stroke: var(--primary-color); /*circle stroke color*/
	stroke-width: 4;
	box-sizing:border-box;
    transition: all 200ms linear;
}


@media screen and (max-width: 600px) {
	.progress-wrap {
		right: 20px;
		bottom: 20px;
	}
}



/* @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;
}


@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}


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

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

.fadeIn {
  animation-name: fadeIn;
}

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

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



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

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

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

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

.fadeInDown {
	animation-name: fadeInDown;
}


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

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

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

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

.fadeInUp {
  animation-name: fadeInUp;
}

/* @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
---------------------------------------------------------------------------------*/
