/* @override
	https://dev.heimatgestalter.net/wp/wp-content/themes/dev-heimatgestalter/style.css */


/*
Theme Name: HEIMATGESTALTER (DEV)
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
-------------------------------------------------------------------------------*/


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

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



/* poppins-700 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('webfonts/poppins-v15-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('webfonts/poppins-v15-latin-700.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: 700;}
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

blue		#164994
green	#6DB02D
yellow	#F4A700
red		#E51C54

*/



 :root {
	--base-font-size: 20px;
	--base-line-height: 1.6;

	--text-color: #000;
	--link-color: #164994;
	--link-color-hover: #E51C54;

	--color-blue: #164994;
	--color-green: #6DB02D;
	--color-yellow: #F4A700;
	--color-red: #E51C54;

	--border-color: #000;

	--primary-color: #000;
	--primary-bg: #F4A700;

	--secondary-color: var(--color-green);
	--secondary-bg: #FEF4EA;

	--text-gray: #888;

	--font-sans: 'Poppins', sans-serif;
	--font-cool: ruddy, sans-serif;


	--text-small: 0.8rem;

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

	--container-padding: 30px;

	--main-padding-top: 80px;
	--main-padding-bottom: 180px;

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


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

	--box-padding: 2rem;


	/* category colors */
	--bildung: #EF8615;
	--grundversorgung: #A48513;
	--wirtschaft: #4B73DD;
	--tourismus: #AA2D2D;
	--wohnen: #A0429E;
	--natur: #249312;
 }


 @media screen and (max-width: 980px) {
	:root {
		--base-font-size: 19px;
	}
 }


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

		--container-padding: 20px;

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

	}
}

.color-bildung 			{ color:  var(--bildung); }
.color-grundversorgung 	{ color:  var(--grundversorgung); }
.color-wirtschaft 		{ color:  var(--wirtschaft); }
.color-tourismus 		{ color:  var(--tourismus); }
.color-wohnen 			{ color:  var(--wohnen); }
.color-natur 			{ color:  var(--natur); }

.bg-bildung 			{ background-color:  var(--bildung); }
.bg-grundversorgung { background-color:  var(--grundversorgung); }
.bg-wirtschaft 		{ background-color:  var(--wirtschaft); }
.bg-tourismus 		{ background-color:  var(--tourismus); }
.bg-wohnen 			{ background-color:  var(--wohnen); }
.bg-natur 			{ background-color:  var(--natur); }



/* @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: #f1edeb url(images/bg-paper.jpg) repeat top left;
	background-size: 25%;
}


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: 80px;
	line-height: 1.2;
	font-weight: 900;
	margin-top: var(--vspace);
	margin-bottom: var(--vspace-lg);
	font-family: var(--font-cool);
}

h2 {
	font-size: 36px;
	line-height: 1.3;
	font-weight: 700;
	margin-top: calc(var(--vspace) + 1rem);
}

h3 {
	line-height: 1.5;
	font-size: 26px;
	font-weight: 700;
	margin-top: var(--vspace);
}

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


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

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


p strong em {
	font-style: normal;
	font-weight: 900;
	font-family: var(--font-cool);
}

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) {
	h1 {
		font-size: 60px;
	}
}


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

}


@media screen and (max-width: 600px) {
	h1 {
		font-size: 46px;
	}

	h2 {
		font-size: 30px;
	}

	h3 {
		font-size: 22px;
	}

}


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

	border: 3px solid BLUE;  /* DEV */
}


.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;
	padding: 20px 0;
	height: 230px;
	display: flex;
	align-items: center;
	border-bottom: 0px solid #DDD;
}


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


.btn-goto-idea {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-family: var(--font-cool);
	font-weight: 900;
	align-items: center;
	color: #FFF;
	z-index: 10;
	background: var(--color-red);
	height: 50px;
}

.btn-goto-idea:hover {
	color: #FFF;
}


@media screen and (max-width: 1280px) {
	#header {
		height: 200px;
		AUS_margin-top: 50px; /*btn-goto-idea*/
	}

	AUS_.btn-goto-idea {
		display: flex;
		justify-content: center;
	}

}

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

}

/* Logo */


.logo {
	flex: 0 0 auto;
	width: 290px;
	margin-top: -2%;
    transition: all 0.3s ease;
}

.logo a {
	display: block;
}

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

@media screen and (max-width: 600px) {
	.logo {
		width: 200px;
		margin-top: -3%;
	}

}

/* @end */







/* @group MENU */

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


#nav {
	position: fixed;
	top: 40px;
	right: 0;
	z-index: 10;
	AUS_opacity: 0;
	AUS_animation: navAni 400ms ease-in-out 1 forwards;
}

@keyframes navAni {
0% {
	opacity: 0.0;
	transform: translate(0, 30px);
}

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



#nav ul {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#nav ul li {
	position: relative;
	transform-origin: top right;
		transform: rotate(-5deg);

}

#nav ul li a {
	position: relative;
	font-size: 18px;
	font-weight: 900;
	display: block;
	margin: 0 -5px 5px 0;
	padding: 10px 40px;
	color: #000;
	line-height: 1.4;
	font-family: var(--font-cool);
	background: #FFF;
	transition: all 200ms ease-in-out;
	box-shadow: 0px 3px 30px -10px rgba(0,0,0, .2);
}


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

#nav ul li a:hover {
	color: var(--color-blue);
	text-decoration: none;
	padding-right: 80px;
	z-index: 1;
	box-shadow: 0px 10px 40px -10px rgba(0,0,0, .5);
}


#nav ul li.highlight {
}


#nav ul li.highlight a {
	color: #FFF;
	padding: 20px 50px;
	font-size: 26px;
	line-height: 1.3;
	background: var(--color-red);
}

#nav ul li.highlight a:hover {
	padding-right: 90px;
}




#nav ul ul {

}


/* 3rd level */

#nav ul ul ul {
	display: none;
}

@media screen and (max-width: 1280px) {
	#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: 100px;
}

.mob-menu .container {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

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

.mob-menu li a {
	display: inline-flex;
	justify-content: center;
	font-size: 22px;
	font-family: var(--font-cool);
	font-weight: 900;
	line-height: 1.3;
	padding: 25px 40px;
	margin: 0 0 2px 0;
	text-align: center;
	background: #FFF;
	color: var(--text-color);
}

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


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

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


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


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


.mob-menu li.highlight a {
	background: var(--color-red);
	color: #FFF;
	padding: 25px 40px;
	margin: 0 0 10px 0;
}

.mob-menu li.highlight a:hover {
	color: #FFF;
}


/* 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: 0px;
	transform: translateY(-50%);

	border: none;
	width: 70px;
	height: 70px;
	margin: 0 0 0 0;
	z-index: 999;
	text-transform: uppercase;
	background: var(--color-red);
	outline: none;
}


.mob-menu-trigger.open {
	background: transparent;
}


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

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

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


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

	.mob-menu-trigger {
		width: 60px;
		height: 60px;
	}

	.mob-menu nav li a {
		font-size: 20px;
		padding: 20px 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: 30px;
	height: 4px;
	background-color: var(--color-red);
	background-color: #FFF;
	display: block;
}
.mob-menu-trigger span:before {
	margin-top: -10px;
}
.mob-menu-trigger span:after {
	margin-top: 10px;
}

.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;
	background-color: var(--color-red);
}
.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;
	background-color: var(--color-red);
}

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

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

li ul {
	margin: 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-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;
}

/* timeline list */


.list-style.timeline ul li:before { /*the dot*/
	content: "";
	top: 0.8rem;
	left: 0;
	width: 21px;
	height: 21px;
	margin: 0;
	background: var(--text-color);
	border-radius: 100%;
	z-index: 1;
	transition: all 200ms ease;
}

.list-style.timeline ul li:hover:before {
	background: var(--color-blue);
	transform: scale(1.3);
}

.list-style.timeline ul li.current:before {
	background: var(--color-red);
}


.list-style.timeline ul li:after { /*the line*/
	content: "";
	position: absolute;
	top: 1.2rem;
	left: 10px;
	height: 100%;
	width: 1px;
	margin: 0;
	border-left:2px dotted var(--text-color);
	}


.list-style.timeline ul li:last-child:after {
	display: none;
}


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


.list-style.timeline ul li {
	padding: 0.5rem 0;
	padding-left: 40px;
	margin-bottom: 0.2rem;
	border-bottom: 0px solid tan;
}





/* === 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: 26px;
	font-size: 130%;
}

.text-small {
	font-size: 0.75em;
}

.text-quote {
	position: relative;
	font-style: normal;
	font-size: 130%;
	font-weight: normal;
	font-style: italic;
	padding-left: 2rem;
	color: var(--color-blue);
}

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

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

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


.question {
	margin-top: var(--vspace-lg);
	position: relative;
	font-size: 38px;
	line-height: 1.3;
	font-family: var(--font-cool);
	font-weight: 900;
	display: grid;
	grid-template-columns: min-content 1fr;
}

.question::before {
	content: "";
	height: 70px;
	width: 60px;
	margin: 5px 20px 0 0;
	background: transparent url(images/triangle-red.svg) no-repeat center;
	background-size: contain;
}

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

	.question {
		font-size: 30px;
	}

	.question::before {
		height: 50px;
		width: 30px;
		margin: -5px 20px 0 0;
		}
}




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

}

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

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

.box p:empty {
	display: none;
}

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

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: 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.9rem 0.0rem 0.7rem 0.0rem;
	padding-right: 1rem;
}

table tr td:last-child {
}


table p {
	margin: 0;
}


/* === Buttons */


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

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



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

/* add helper classes in block setting to fintune margins between blocks */

.mt-0 {
	margin-top: 0;
}

.mt-sm {
	margin-top: var(--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: 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 {
}

.accordion {
}

.accordion-item {
	position: relative;
	overflow: hidden;
	border: none;
	margin-top: 10px;
	background: #FFF;
}

.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;
	padding-right: 3.5rem;
	font-size: 1rem;
	line-height: 140%;
	background: #FFF;
	font-weight: bold;
    outline-offset: -5px;
	transition: all 300ms ease;
}

.accordion-trigger:hover {
	text-decoration: none;
	color: var(--link-color-hover);
}

.accordion-trigger.active {
}

.accordion-trigger:hover,
.accordion-trigger:hover i::after {
		color: var(--link-color-hover);

}

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

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

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

.accordion-content {
	position: relative;
	padding: 1.5rem;
	padding-top: 0;
	padding-bottom: var(--vspace);
}

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


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

}


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

.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: 35px;
	font-family: 'icons';
}

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

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

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

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


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




/* Section
--------------------------------------------------------------------------------- */



.contentblock-section {
	padding: var(--vspace-xl) 0;
	background: var(--primary-bg);
}

.container .contentblock-section:first-child {
	margin-top: calc(var(--main-padding-top) * -1); /*overcome main top padding*/
}


/* @end */




/* @group TEMPLATE START */



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


/* === Intro */

.intro-section {
	position: relative;
	padding: 0 0 var(--vspace-xl) 0;
}


.intro {

}

.intro__content {
	margin-top: 110px;
}

.intro-keyvisual {
	position: absolute;
	top: 30vh;
	left: 0;
	width: 400px;
	height: 400px;
	background: transparent url(images/keyvisual-half.svg) no-repeat center;
	background-size: 100%;
	transform: translateX(-40%) rotate(150deg);
	border: 0px solid RED;
	z-index: -1;
}

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


.intro-illu-1 {
	position: absolute;
	top: 60%;
	right: 10%;
	width: 200px;
	height: 200px;
	max-width: 40vw;
	max-height: 40vw;
	background: transparent url(images/illu-rocket.svg) no-repeat center;
	background-size: contain;
	transform: rotate(-45deg);
	border: 0px solid RED;
	opacity: .3;
	z-index: -1;
}


@media screen and (max-width: 600px) {
	.intro-illu-1 {
			top: 45%;
			right: -10%;
			opacity: .2;
	}

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

}


.intro__slogan {
	margin-bottom: 4rem;
}

.intro .question {
}

.intro .text-large {
	margin-top: var(--vspace-lg);
}


/* === Topic */


.topics-section {
	AUS_padding: var(--vspace-xl) 0;
}


.topics-slider {

}

.topics-slider .swiper-slide {
	height: auto;
	width: 80vw;
	max-width: 1280px;

}


.topic-slide__content {
	position: relative;
	display: block;
	padding: 100px;
	padding-bottom: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
	AUS_min-height: 900px; /*the height*/

	background: #f1edeb url(images/bg-paper.jpg) repeat top left;
	background-size: 25%;

	border-radius: 20px;
	overflow: hidden;

	AUS_margin: 50px; /*space for shadow*/
	AUS_box-shadow: 0px 5px 50px -10px rgba(0,0,0, .5);
}

.topic-slide__content::before { /*bg overlay*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0, .09);
	z-index: -1;
}


.topic-slide__bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: .18;
	z-index: -1;
}

.topic-slide__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center top;
	margin: 0 auto;
}


.topic-slide__logo {
	justify-content: center;
	width: 280px;
	max-width: 55vw;
}

.swiper-slide-active .topic-slide__logo {
}

.topic-slide__logo img {
	width: 100%;
	margin: 0 0 -10px -10px;
}


.topic-slide__title { /*title as image*/
	margin: 3rem 0 0 0;
	width: 100%;
}

.topic-slide__title img {
	width: 100%;
	max-height: 400px;
	max-width: 900px;
	margin: 0 auto;
}

.topic-slide__quote-wrap {
	font-size: 1rem;
	line-height: 1.4;
	margin: 3rem 0 0 0;
	max-width: 600px;
	display: block;
	text-align: center;
}

.topic-slide__quote-wrap strong {
	display: block;
}

.topic-slide__quote {
	display: block;
	margin: 10px 0 0 0;
}

.topic-slide__author {
	display: block;
	margin: 10px 0 0 0;
	font-size: 85%;
}


.topics-slider .swiper-button {
	color: #FFF;
	padding: 35px;
	margin-top: -35px;
	background: #FFF;
	transition: all 300ms ease;
}

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

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

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

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

.topics-slider .swiper-button::after {
	font-size: 35px;
	font-family: 'icons';
	color: var(--text-color);
}

.topics-slider .swiper-button-prev::after {
	content: "\ebd1";
}

.topics-slider .swiper-button-next::after {
	content: "\e80f";
}

.topics-slider .swiper-pagination {
	bottom: 80px;
	position: relative;
}


.topics-slider .swiper-pagination-bullet {
	background: rgba(0,0,0, .9);
	opacity: 1;
	width: 10px;
	height: 10px;
	transition: all 250ms ease;
}

.topics-slider .swiper-pagination-bullet-active {
	background: var(--color-yellow);
}


@media screen and (max-width: 980px) {
	.topic-slide__content {
		padding: 80px 50px 100px 50px;
	}

	.topics-slider .swiper-button {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	.topic-slide__content {
		padding: 60px 30px 100px 30px;
	}

	.topic-slide__bg {
		width: 150%;
		left: auto;
	}


	.topics-slider .swiper-pagination {
		bottom: 70px;
	}


}




/* === Submit Idea */


.submit-idea-section {
	padding: var(--vspace-xl) 0;
}


.submit-idea {
}

.submit-idea__header {
	text-align: center;
}

.submit-idea__title {
	position: relative;
	margin: 0;
	font-family: var(--font-cool);
	font-weight: 900;
	font-size: 80px;
	line-height: 1.2;
	font-weight: 900;
	color: var(--text-color);
}


.submit-idea__title:before {
	content: "";
	width: 100px;
	height: 130px;
	display: block;
	margin: 0 auto;
	margin-bottom: 20px;
	background: transparent url(images/logo-icon.svg) no-repeat center;
	background-size: contain;
}

.submit-idea__subtitle {
	margin: 0 0 0 0;
	font-family: var(--font-cool);
	font-weight: 900;
	font-size: 38px;
	color: var(--color-green);
}


.submit-idea-form {
	margin-top: var(--vspace-xl);
}


.submit-idea-form .acf-google-map input.search { /* hide map location search */
	display: none;
}

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

	.submit-idea__title {
		font-size: 65px;
	}

}


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

	.submit-idea__title {
		font-size: 48px;
	}

}




/* @end */



/* @group TEMPLATE DOWNLOADS */



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


.downloads-wrap {
	margin-top: var(--vspace);
	AUS_padding-bottom: var(--vspace);
	AUS_border-top: 2px solid var(--text-color);
	AUS_border-bottom: 2px solid var(--text-color);
}

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

.downloads__section-title {
	margin: 0;
}

.downloads-grid {
	margin-top: var(--vspace);
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}

.downloads-card {
	position: relative;
    padding: 30px;
	font-size: 1rem;
	text-align: center;
	line-height: 1.3;
	font-size: 0.8rem;
	background: #FFF;
}

.downloads-card__thumbnail {
	position: relative;
	display: flex;
	align-items: center;
	height: 120px;
}

.downloads-card__thumbnail .inner {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}


.downloads-card__thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
}

.downloads-card__title {
	margin-top: 1.5rem;
}

.downloads-card__links {
	margin: 1rem 0 0 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.downloads-card__links a {
	margin: 0 5px;
	padding: 2px;
	text-transform: uppercase;
	text-decoration: underline;
}

.downloads-card__links a em { /*file size */
	color: var(--text-gray);
	font-style: normal;
	font-size: 0.7rem;
	 display: none;
}

.downloads-card a.post-edit-link {
	position: absolute;
	top: 0;
	right: auto;
	bottom: auto;
	left: 0;
	margin: 0;
	padding: 6px;
}


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

	.downloads-card {
     padding: 20px;
	}
}

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




/* @end */




/* @group 404 */

/* 404
--------------------------------------------------------------------------------- */


.error404 {
	color: #FFF;
	background: #000;
}

.error404 #header,
.error404 #footer {
	display: none;
}

.error404 #content {
	display: grid;
	align-items: center;
}


.error404 h1::before {
	content: "\ebcf";
	display: block;
	font-family: 'icons';
	font-weight: normal;
	font-size: 5rem;
	margin: 0 0 1rem 0;
	transition: color 150ms ease;
    animation: flickerAni 50ms infinite;
	color: #FFF;
}


@keyframes flickerAni {
	0%   { opacity:1; }
	50%  { opacity:0; }
	100% { opacity:1; color: var(--color-yellow);}
}


.error404 .btn {
	color: #FFF;
	padding: 0.8rem 3rem;
	background: #FFF;
	color: #000;
}








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

/* CTA IDEA
--------------------------------------------------------------------------------- */

.cta-idea {
	padding: 120px 50px;
	text-align: center;
	background: transparent;
	max-width: 700px;
	margin: 0 auto;
	margin-top: var(--vspace-xxl);

	AUS_border: 6px dashed #FFF;
	--cta-border-color: #FFF;

	/*animated dashed border */
    background: linear-gradient(90deg, var(--cta-border-color) 50%, transparent 50%),
                linear-gradient(90deg, var(--cta-border-color) 50%, transparent 50%),
                linear-gradient(0deg, var(--cta-border-color) 50%, transparent 50%),
                linear-gradient(0deg, var(--cta-border-color) 50%, transparent 50%);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-size: 30px 6px, 30px 6px, 6px 30px, 6px 30px;
    background-position: 0% 0%, 100% 100%, 0% 100%, 100% 0px;
    border-radius: 0px;
    animation: dashani 8s linear infinite;
}

.cta-idea:hover {
    AUS_animation: dashani 6s linear infinite;
	AUS--cta-border-color: var(--color-red);
}


@keyframes dashani {
    to {
        background-position: 100% 0%, 0% 100%, 0% 0%, 100% 100%;
    }
}


.cta-idea__title {
	margin: 0;
	font-family: var(--font-cool);
	font-weight: 900;
	font-size: 60px;
	line-height: 1.2;
}

.cta-idea__btn {
	margin: var(--vspace) 0 0 0;
	display: inline-flex;
	background: var(--color-red);
	padding: 1rem 3rem;
	font-family: var(--font-cool);
	font-weight: 900;
	color: #FFF;
}

.cta-idea__btn:hover {
	color: #FFF;
	background: var(--color-blue);
}

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

.cta-idea {
	padding: 100px 30px;
}

	.cta-idea__title {
		font-size: 40px;
	}

	.cta-idea__title br {
		display: none;
	}

}



/* @end */


/* @group IDEAS VIEW MODE */


/* IDEAS VIEW MODE
--------------------------------------------------------------------------------- */


.ideas-view-mode {
	margin-top: var(--vspace);
}

.btn-view-mode {
	text-transform: uppercase;
	margin: 0 15px 0 0;
	padding: 0;
	font-weight: bold;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--text-color);
	background: transparent;
	border: none;
	border-bottom: 2px solid rgba(0,0,0,0);
	transition: all 250ms ease;
}


.btn-view-mode:hover {
	color: var(--color-blue);
}

.btn-view-mode.active,
.btn-view-mode.active:disabled {
	opacity: 1;
	color: var(--text-color);
	cursor: default;
	border-color: var(--text-color);
}

/* list active */
.ideas-list-view-active .ideas-cards {
	display: block;
	border: 2px solid GREEN;
}

.ideas-list-view-active .ideas-map {
	AUS_display: none;
	border: 2px solid GRAY;
}


/* map active */
.ideas-map-view-active .ideas-map {
	display: block;
	border: 2px solid GREEN;
}

.ideas-map-view-active .ideas-cards {
	AUS_display: none;
	border: 2px solid GRAY;
}

.ideas-map {
	width: 100%;
	AUS_display: none; /*hide map, show on click */
}


/* @end */


/* @group IDEAS FILTER */


/* IDEAS FILTER
--------------------------------------------------------------------------------- */



/* Ideas Filter - Searchandfilter */


.ideas-filter .searchandfilter {
	margin-top: var(--vspace);
}

.ideas-filter .searchandfilter ul {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 0;
}

.ideas-filter .searchandfilter li::before {
	display: none;
}

.ideas-filter .searchandfilter li {
	 padding: 0;
	 line-height: 1;
}

.searchandfilter .sf-input-select {
	font-size: 0.75rem;
	padding: 10px;
	padding-right: 25px;
	border-radius: 5px;
	border: 1px solid var(--text-color);
	max-width: 220px;

	 white-space: nowrap;
     overflow: hidden;
	 text-overflow: ellipsis;
}

.ideas-map-view-active li.sf-field-sort_order {
	display: none; /*hide sort select on map view*/
}


.ideas-no-entry p {
	padding: 1rem;
	text-align: center;
	background: #FFF;
}



.search-filter-results {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	border: 1px solid #333;
}



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

	.ideas-filter .searchandfilter ul {
		gap: 10px;
	}

	.ideas-filter .searchandfilter li {
		margin: 0;
		width: 100%;
	}

	.ideas-filter .searchandfilter .sf-input-select {
		min-width: auto;
		max-width: 100%;
	}

}




/* @end */



/* @group IDEAS MAP */


/* IDEAS MAP
--------------------------------------------------------------------------------- */

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

.ideas-map .acf-map {
	height: 750px;
	border: 1px solid rgba(0,0,0, .1);
	box-shadow: 0px 5px 35px -10px rgba(0,0,0, .2);
}

.acf-map img { /* Fixes potential theme css conflict. */
   max-width: inherit !important;
}

.map-infowindow__content {
	padding: 10px;
	max-width: 240px;
	color: var(--text-color);
	font-family: var(--font-sans);
	line-height: 1.4;
}

.map-infowindow__title a {
	font-weight: bold;
	color: var(--text-color);
	font-size: 18px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

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

.map-infowindow__location-title {
	font-weight: bold;
	font-size: 13px;
	margin-top: 15px;

}

.map-infowindow__location-title:before {
	content: "\e807";
	font-family: 'icons';
	font-size: 16px;
	line-height: 1;
	margin: 0 3px 0 -3px;
}


.map-infowindow__footer {
	margin-top: 15px;
	display: flex;
	font-size: 13px;
	color: var(--text-gray);
}

.map-infowindow__footer .divider {
	margin: 0 10px;
}


.cluster div {
	color: #FFF!important;
}



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

.ideas-map .acf-map {
		height: 520px;
	}

.map-infowindow__title a {
	font-size: 16px;
}


}


/* @end */




/* @group IDEAS CARDS */


/* IDEAS CARDS
--------------------------------------------------------------------------------- */

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


.idea-card {
	margin: 15px 0 0 0;
	padding: 40px;
	background: #FFF;
	box-shadow: 0px 3px 20px -10px rgba(0,0,0, .2);

}

.idea-card:first-child {
	margin-top: 0;
}

.idea-card__header {

}


.idea-card__title {
	margin: 0;
	font-size: 28px;
	line-height: 1.3;
}

.idea-card__title a {
	display: block;
	color: var(--text-color);
}

.idea-card__title a:hover {
	color: var(--color-red);
}

.idea-card__cat {
	font-weight: bold;
	font-size: 15px;
	line-height: 1.4;
	margin: 5px 0 0 0;
	letter-spacing: .2px;
	text-transform: uppercase;
}


.idea-card__footer {
	display: flex;
	margin: 20px 0 0 0;
	font-size: 15px;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.idea-card__footer .divider {
	margin: 0 10px;
	opacity: .5;
}

.idea-card__location-title {
	font-weight: bold;
	display: flex;
	align-items: center;
}

.idea-card__location-title:before {
	content: "\e807";
	font-family: 'icons';
	font-size: 1rem;
	margin: 0 5px 0 -3px;
}

.idea-card__name {
	color: var(--text-gray);
}

.idea-card__date {
	color: var(--text-gray);
}


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

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

	.idea-card__location-title {
		width: 100%;
		margin: 0 0 5px 0;
	}

	.idea-card__name .divider {
		display: none;
	}

}

/* @end */



/* @group IDEAS POST */

/* IDEAS POST
--------------------------------------------------------------------------------- */


.idea-post {
	padding: 70px;
	background: #FFF;
}

.idea-post__back-link {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
	font-size: 0.75rem;
	color: var(--text-color);
	display: inline-flex;
	align-items: center;
}

.idea-post__back-link i {
	font-size: 1.2rem;
	line-height: 1;
	margin: 0 2px 0 -5px;
}


.idea-post__title {
	margin: var(--vspace) 0 0 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.idea-post__cat {
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1.3;
	margin-top: 15px;
	font-size: 0.75rem;
}

.idea-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 18px;
	font-size: 0.75rem;
	margin-top: 30px;
}


.idea-post__meta .divider {
	margin: 0 10px;
	opacity: .5;

}

.idea-post__location-title {
	font-weight: bold;
	display: flex;
	align-items: center;
}

.idea-post__location-title:before {
	content: "\e807";
	font-family: 'icons';
	font-size: 1rem;
	margin: 0 5px 0 -3px;
}

.idea-post__name {
	color: var(--text-gray);
}

.idea-post__date {
	color: var(--text-gray);
}

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

.idea-post__description p {
}


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


.idea-post__map .acf-map {
	  width: 100%;
	  height: 500px;
}


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


	.idea-post__cat {
		font-size: 15px;
	}

	.idea-post__meta {
		font-size: 15px;
	}

	.idea-post__location-title {
		width: 100%;
	}

	.idea-post__name .divider {
		display: none;
	}

	.idea-post__map .acf-map {
	  height: 400px;
}

}




/* @end */



/* @group ACF FORMS */

/* ACF FORMS
--------------------------------------------------------------------------------- */

.acf-form {
	padding: 90px;
	background: #FFF;
	border-radius: 20px;
	box-shadow: 0px 3px 40px -10px rgba(0,0,0, .2);
}

.acf-form .acf-fields {
}

.acf-form  .acf-fields > .acf-field {
	padding: 0;
	margin-bottom: 20px;
	border: 0px solid TAN;
}


.acf-label {
	margin: 0;
	font-size: 20px;
	font-size: 1rem;
	line-height: 1.3;
}

.acf-field label br {
	display: none;
}


.acf-input p,
.acf-label p {
	display: none; /*hide empty p*/
}

.acf-notice p {
	display: block;
}

.acf-label .description {
	display: block;
	margin: 0;
	font-size: 0.75rem;
}

.acf-form .acf-field input[type=text],
.acf-form .acf-field input[type=email],
.acf-form .acf-field textarea {
	padding: 15px;
	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;
}


.acf-form .acf-field input[type=text]:focus,
.acf-form .acf-field input[type=email]:focus,
.acf-form .acf-field textarea:focus {
	border-color: var(--color-green);
}


/* ACF Form: checkbox & radio */

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

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

.acf-checkbox-list {

}

.acf-checkbox-list li,
.acf-radio-list li {
	margin: 10px 0!important;
	padding: 3px 0 5px 0!important;
}



.acf-checkbox-list li::before,
.acf-radio-list li::before  {
	display: none;
}


.acf-form .acf-checkbox-list li label,
.acf-form .acf-radio-list li label {
	padding-left: 40px;
	font-weight: bold;
	font-size: 1rem;
	transition: all 250ms ease;

	display: grid;
}

.acf-checkbox-list li label:hover,
.acf-radio-list li label:hover {
}


.acf-checkbox-list input,
.acf-radio-list input {
	display: none;
}


.acf-radio-list label:before { /*the radio*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	background: #FFF;
	border:2px solid #333;
	border-radius: 50%;
	opacity: 1;
}

.acf-radio-list label.selected:before {
	background: #000;
}


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

.acf-radio-list label.selected:after {
	background: #FFF;
}




.acf-checkbox-list label:before { /*the checkbox*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	background: #FFF;
	border:2px solid #333;
	border-radius: 3px;
	opacity: 1;
}

.acf-checkbox-list label.selected:before {
	background: #000;
}


.acf-checkbox-list label:after   {  /*the checkmark*/
	content: "";
	position: absolute;
	left: 8px;
	top: 5px;
	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;
}

.acf-checkbox-list label.selected:after {
	opacity: 1;
}


/* category radio colors */

.acf-radio-list li:nth-child(1) label {	color: var(--bildung); }
.acf-radio-list li:nth-child(2) label {	color: var(--grundversorgung); }
.acf-radio-list li:nth-child(3) label {	color: var(--natur); }
.acf-radio-list li:nth-child(4) label {	color: var(--tourismus); }
.acf-radio-list li:nth-child(5) label {	color: var(--wirtschaft); }
.acf-radio-list li:nth-child(6) label {	color: var(--wohnen); }


.acf-radio-list li:nth-child(1) label.selected:before {	border-color: var(--bildung); background: var(--bildung); }
.acf-radio-list li:nth-child(2) label.selected:before {	border-color: var(--grundversorgung); background: var(--grundversorgung); }
.acf-radio-list li:nth-child(3) label.selected:before {	border-color: var(--natur); background: var(--natur); }
.acf-radio-list li:nth-child(4) label.selected:before {	border-color: var(--tourismus); background: var(--tourismus); }
.acf-radio-list li:nth-child(5) label.selected:before {	border-color: var(--wirtschaft); background: var(--wirtschaft); }
.acf-radio-list li:nth-child(6) label.selected:before {	border-color: var(--wohnen); background: var(--wohnen); }


.acf-form-submit {
	margin: var(--vspace) 0 0 0;
	text-align: center;
}

.btn-submit {
	padding: 20px 70px;
	font-size: 1.2rem;
	font-weight: 900;
	text-transform: none;
	font-family: var(--font-cool);
	color: #FFF;
	background: var(--color-red);
}

.btn-submit:hover {
	background: var(--color-blue);
    AUS_animation: buttonFlickerAni 300ms infinite;

}


@keyframes buttonFlickerAni {
	0%   { background: var(--color-red); }
	33%   { background: var(--color-yellow); }
	66%   { background: var(--color-blue); }
	100%   { background: var(--color-green); }
}





.acf-true-false label {
	AUS_display: grid;
	AUS_grid-template-columns: 30px 1fr;
	AUS_align-items: flex-start;
}

.acf-true-false label input { /*true-false input checkbox*/
	width: 20px;
	height: 20px;
	display: none;
}

.acf-true-false label input ~ .message::before { /*true-false checkbox*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	background: #FFF;
	border: 2px solid var(--text-color);
	border-radius: 3px;
	opacity: 1;
}

.acf-true-false label input:checked ~ .message::before {
	background: var(--text-color);
}


.acf-true-false label input ~ .message::after   {  /*true-false checkmark*/
	content: "";
	position: absolute;
	left: 8px;
	top: 5px;
	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;
}

.acf-true-false label input:checked ~ .message::after {
	opacity: 1;
}



.acf-field.privacy .acf-label {
	display: none;
}


.acf-field.privacy .message {
	display: block;
	position: relative;
	font-size: 13px;
	line-height: 1.6;
	padding-left: 40px;
}


/* ACF Form: success  */


.message-success {
	margin-top: var(--vspace);
	padding: 50px;
	text-align: center;
	background: #FFF;
}

.message-success h2 {
	margin: 0;
	font-family: var(--font-cool);
	font-weight: 900;
	font-size: 2.3rem;
	line-height: 1.2;
	color: var(--color-blue);
}


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

	.acf-form {
		padding: 60px 40px;
	}

}


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

	.acf-form {
		padding: 40px 20px;
	}

	.acf-field.privacy .message {
		font-size: 11px;
	}

}



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

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

form 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 xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpolygon fill-rule='evenodd' points='170.56 22 175.56 29 180.56 22' transform='translate(-170 -22)'/%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%;
}
form select::-ms-expand {
	display: none;
}

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

form select option {
	font-weight: normal;
	font-size: 0.75rem;
}

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


/* @end */




/* @group PLUGIN: DownloadList */

/* DownloadList
--------------------------------------------------------------------------------- */


.m1dll_subdirpath {
	margin: var(--vspace) 0!important;
}

.m1dll_subdirpath a {
	display: inline-block;
	text-transform: uppercase;
	margin: 0 5px;
}

/*
.m1dll_subdirpath a:nth-child(3) { margin-left: 10px; }
.m1dll_subdirpath a:nth-child(4) { margin-left: 20px; }
.m1dll_subdirpath a:nth-child(5) { margin-left: 30px; }
.m1dll_subdirpath a:nth-child(6) { margin-left: 40px; }
.m1dll_subdirpath a:nth-child(7) { margin-left: 50px; }
.m1dll_subdirpath a:nth-child(8) { margin-left: 60px; }


.m1dll_subdirpath a::before {
	content: '\e811';
	font-size: 1.5rem;
	font-family: 'icons';
	vertical-align: middle;
	margin: 0 0 0 0;
}

*/


.m1dll_subdirpath .divider {
}


.m1dll_subdirpath a:first-of-type {
	margin-left: 0;
}

.m1dll_subdirpath a:last-child { /*current*/
	color: var(--text-color);
}

.m1dll_subdirpath strong {
	display: none;
}


.m1dll_subdirpath a {
	font-weight: bold;
}


ul.m1dll_filelist {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

ul.m1dll_filelist li {
	margin: 10px 0 0 0;
	padding: 25px;
	padding-left: 80px;
	background: #FFF;
	border: 0px solid #333;
	box-shadow: 0px 3px 15px -5px rgba(0,0,0, .2);
}

ul.m1dll_filelist li::before {
	content: '\e811';
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	font-family: 'icons';
	color: var(--text-color);
	margin: 0 0 0 -50px;
}

ul.m1dll_filelist li.type-f::before {
	content: '\e813';
	content: '\e818';
}


ul.m1dll_filelist li p {
	margin: 0;
}

ul.m1dll_filelist li br {
	display: none;
}

ul.m1dll_filelist li.type-d { /* dir */
}

ul.m1dll_filelist li.type-f { /* file */
}

ul.m1dll_filelist li a {
	display: block;
	font-weight: bold;
	background: #FFF;

     word-break: break-all;
     word-break: break-word;

}


/* file */

ul.m1dll_filelist li.type-f a {
	font-weight: normal;
	font-size: 0.8rem;
}

.m1dll_filesize {
	display: block;
	font-size: 0.7rem;
	color: var(--text-gray);
}


/* @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;
	background: var(--color-green);
	font-size: 18px;
}

.site-footer {
	color: rgba(255,255,255, 1);
}

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

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


.footer-address {
	border: 0px solid RED;
	display: flex;
}

.footer-address p {
	margin: 0;
}

.footer-address__image {
	flex: 0 0 130px;
	margin-left: 30px;
	padding: 0 0 0 30px;
	border-left: 2px solid rgba(255,255,255, .5);
}

.footer-address__image img {
	opacity: .9;
}

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

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


.footer-keyvisual {
	position: absolute;
	top: 0;
	left: 0;
	width: 500px;
	height: 300px;
	max-width: 50vw;
	max-height: 30vw;
	background: transparent url(images/keyvisual-ring) no-repeat top right;
	background-size: cover;
	transform: translateX(-50%) translateY(-100%);
	border: 0px solid RED;
	z-index: -1;
}


@media screen and (max-width: 600px) {
	#footer {
		padding: 100px 0;
		font-size: 16px;
	}

	.footer-address__image {
	flex: 0 0 80px;
	margin-left: 20px;
	padding: 0 0 0 20px;
	border-left: 1px solid rgba(255,255,255, .5);
	}
}


/* @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;
	margin-top: var(--vspace);
}

.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 ._brlbs-flex-center {
	flex-direction: column;
}

.BorlabsCookie .cookie-logo {
	margin: 0 0 10px 0;
}

.BorlabsCookie span#CookieBoxTextHeadline {
	font-family: var(--font-cool);
	font-weight: 900;
}
.BorlabsCookie #CookieBoxTextDescription {

}

.BorlabsCookie .cookie-preference .align-items-top .col-2 {
	display: none;
}

.BorlabsCookie .cookie-preference .align-items-top ._brlbs-h3 {
	font-size: 1rem!important;
}


.BorlabsCookie ._brlbs-btn  {
	AUS_font-family: var(--font-cool);
	AUS_font-weight: 900;
	AUS_font-weight: bold;
}

.BorlabsCookie ._brlbs-btn._brlbs-btn-accept-all {
	background: var(--color-blue)!important;
}

/* @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: 1280px) {
body:after {
	content: "<1280";
	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
---------------------------------------------------------------------------------*/
