/* @override 
	https://pflegeheim-zittau.de/wp/wp-content/themes/stjakob/style.css */


/*
Theme Name: ST.JAKOB
Theme URI:
Description:
Version: 1.1
Author: PD
Author URI:
Tags:
*/




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


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



/* @group WEBFONTS */

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


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

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

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

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

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


/* @end */

/* @group RESET */

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


/* more-intuitive box-sizing model */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Remove default margin */
* {  margin: 0; }

/* Allow percentage-based heights in the application */
html, body { height: 100%; }

/* Improve media defaults */
img, picture, video, canvas, svg, iframe, object {
  display: block;
  max-width: 100%;
  height:auto;
}

/* Remove built-in form typography styles */
input, button, textarea, select {
  font: inherit;
  outline: none;
}

/* Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}

/* tables still need cellspacing="0" in the markup */
table { border-collapse: collapse; border-spacing: 0;}


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

a:hover, a:active {outline: none;}

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

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

/* clear floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: table; height: 0; }
.clearfix:after { clear: both; }

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

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


/* @end */


/* @group VARS */

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


/* Color Info

APH gelb		#FFD201
APH lila		#A71681

primary BG	#FEEA9F 
second.	BG	#F5F0E0
body BG		#FCFAF1

*/


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

	--text-color: #333;
	--link-color: #A71681;
	--link-color-hover: #D41CA0;
	--text-gray: #999;
	--text-gray-light: #b8b6b0;

	--border-color: #DDD;

	--primary-color: #FFD201;
	--secondary-color: #A71681;

	--primary-bg: #FEEA9F;
	--secondary-bg: #F5F0E0;



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

	--text-large: 1.35rem;
	--text-small: 0.9rem;
	--text-tiny: 0.7rem;

	--container-width: 1200px;
	--container-wide-width: 1340px;

	--aligndefault-width: 780px;
	--alignsemiwide-width: 980px;

	--container-padding: 30px;

	--main-padding-top: 110px;
	--main-padding-bottom: 140px;

	--vspace: 1.5rem; /* the space */
	--vspace-l: calc(var(--vspace) * 1.5);
	--vspace-xl: calc(var(--vspace) * 2.5);
	--vspace-xxl: calc(var(--vspace) * 3.5);
	--vspace-xxl: 100px;

	--box-padding: 50px;
	--border-radius: 10px;
	--border-radius-image: 5px;
	
	--header-height: 190px; /*200*/
 }

 @media screen and (max-width: 980px) {
	:root {
	--header-height: 130px;
	--main-padding-top: 80px;
	--main-padding-bottom: 130px;
	}
}


 @media screen and (max-width: 600px) {
	:root {
		--base-font-size: 17px;
		--container-padding: 20px;
		--header-height: 100px;
		
		--main-padding-top: 60px;
		--main-padding-bottom: 110px;
		
		--box-padding: 30px;
		--border-radius: 5px;
		
		--vspace-xxl: 80px;
	}
	
}

/* @end */


/* @group GENERAL */

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


html {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	 -webkit-text-size-adjust: 100%;

	font-family: var(--font-sans);
	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
	color: var(--text-color);
}

body {
	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 {
    transition: all 300ms ease;
}

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


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


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


h1, .h1 {
	font-size: 46px;
	font-size: 2.55rem;
	line-height: 1.2;
	color: var(--secondary-color);
	letter-spacing: -.5px;
	margin-top: var(--vspace);
	margin-bottom: calc(var(--vspace) + 1.0rem);

}

h2, .h2 {
	font-size: 26px;
	font-size: 1.55rem;
	line-height: 1.35;
	letter-spacing: -.2px;
	margin-top: calc(var(--vspace) + 1.0rem);
}

h3, .h3 {
	font-size: 22px;
	font-size: 1.2rem;
	line-height: 1.45;
	letter-spacing: -.2px;
	margin-top: calc(var(--vspace) + 0.5rem);
}

h4, .h4 {
	font-size: 1.0rem;
	color: var(--text-gray);
	text-transform: uppercase;
	margin-top: calc(var(--vspace) + 1.0rem);
}


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


hr {
	position: relative;
	display: block;
	height: 1px;
	border: 0;
	background: transparent;
	border-bottom: 1px solid rgba(0,0,0, .3);
	margin: 3rem 0;
}



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

}


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

}


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

	h2 {
		font-size: 22px;
		font-size: 1.3rem;
	}

	h3 {
		font-size: 18px;
		font-size: 1.15rem;
	}


}


@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 {
	position: relative;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

.container--wide {
	max-width: var(--container-wide-width);

}


@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: var(--header-height);
	display: flex;
	align-items: center;
	background: #FFF;
}

.header-top {
	position: absolute;
	top: 0;
	width: 100%;
	font-size: 16px;
}


.header-top ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.header-top ul li {
	margin-left: 20px;
	white-space: nowrap;
	display: flex;
	align-items: center;
}


.header-top li a {
	display: flex;
	align-items: center;
}


.header-top__important a {
	font-weight: bold;
}

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

.header-top__important i {
	font-size: 130%;
	margin: 0 5px 0 0;
}

.header-top__phone a {
	color: var(--text-color);
}

.header-top__phone i {
	font-size: 120%;
	margin: 0 5px 0 0;
}

button.search-trigger {
	border: none;
	overflow: hidden;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1;
	color: var(--text-color);
	margin: -1px 0 0 0;
	padding: 15px 12px;
	background: rgba(245, 240, 224, .5);
	border-radius: 0 0 5px 5px;
	transition: 300ms;
}

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

button.search-trigger.open {
	background: var(--primary-color);
}



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

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

	.header-top {
		display: none;
	}
}

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


}

/* Logo */


.logo {
	flex: 0 0 auto;
	width: 260px;
	width: clamp(220px, 22vw, 260px);
    transition: 0.3s;
}

.logo a {
	display: block;
}

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

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

}

/* @end */



/* @group SEARCH */

/* Search */

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

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


.site-search .searchform {
	position: relative;
	width: 100%;
	max-width: 600px;
	overflow: hidden;
	border-radius: 5px;
	box-shadow: 0px 5px 30px -10px rgba(0,0,0, .1);
}

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

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


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

.site-search 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(--text-color);
}

/* @end */



/* @group MENU */

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


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

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

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

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


#nav ul li a {
	position: relative;
	margin: 0;
	font-size: 17px;
	font-weight: bold;
	display: block;
	color: var(--text-color);
	padding: 0rem 0rem;
	letter-spacing: .35px;
	text-transform: uppercase;
}

#nav ul li a::after { /*underline*/
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	margin-bottom: -5px;
	height: 3px;
	background: var(--primary-color);
	background: #FFF;
	transition: 300ms;
}

#nav ul li.active a::after  {
	width: 100%;
	margin: 0;
	background: var(--primary-color);
}


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



#nav ul li:hover > a {
}


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

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

#nav ul li.menu-item-has-children.active > a {
	AUS_color: var(--secondary-color);

}

#nav ul li.current_page_parent a:hover,
#nav ul li.current_page_parent:hover a,
#nav ul li.current_page_item:hover a {
}

@media screen and (max-width: 1136px) {
	#nav ul li {
		margin-left: 35px;
	}
	
	#nav ul li a {
		font-size: 16px;
	}
}


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



/* 2nd level */


.sub-menu-wrap {
	display: block;
	position: absolute;
	min-width: 500px;
	top: 120px;
	margin-top: 5px;
	padding: 30px 0 50px 0;
	z-index: 20;
	color: #FFF;
	background: var(--primary-color);
	opacity: 0;
	visibility: hidden;
}

.sub-menu-wrap::before { /* submenu BG*/
	content: "";
	position: absolute;
	top: 0;
	left: -100vw;
	height: 100%;
	width: 200vw;
	background: #FFF;
	border-top: 1px solid rgba(0,0,0, .05);
	box-shadow: 0px 50px 30px -10px rgba(0,0,0, .1);
}


#nav ul .active > .sub-menu-wrap {  /*js class toggle*/
	opacity: 1;
	visibility: visible;
	margin-top: 0;
	transition: all 400ms ease;
}

#nav ul .sub-menu {
	visibility: hidden;
}

#nav ul .active .sub-menu {
	visibility: visible;
}

#nav ul ul {
	display: block;
	margin: 0 0 0 0;
	padding: 0;
	transition: all 300ms ease;
}


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

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

#nav ul ul li {
	margin: 0;
}


#nav ul ul li a {
	display: block;
	color: var(--text-color);
	font-weight: normal;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.5;
	padding: 6px 0;
	padding-right: 20px;
}

#nav ul ul li a:hover {
	color: var(--secondary-color);
}

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


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

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

/* 3rd level */

.sub-menu-wrap .sub-menu-wrap {
	display: contents;
}

#nav ul ul ul {
	visibility: visible;
	padding-left: 20px;
	opacity: 1;
}


/* mega menu */


#nav li.mega-menu > .sub-menu-wrap {
	width: 100%;
	left: 0;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

#nav li.mega-menu > .sub-menu-wrap ul.sub-menu-2 {
	display: flex;
	flex-wrap: wrap;	
	gap: 50px;

}

#nav li.mega-menu ul.sub-menu-2 > li {
	min-width: 20%;
}

#nav li.mega-menu ul.sub-menu-2 > li > a { /*works as a section title*/
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: .4px;
	color: var(--text-gray);
	color: rgba(0,0,0, .3);
	pointer-events: none;
	margin: 10px 0 20px 0;
	padding: 0;
}

#nav li.mega-menu ul.sub-menu-3 {
	padding: 0;
}


#nav li.mega-menu ul.sub-menu-3 a {
	display: flex;
	line-height: 1.6;
}

.menu-item__image {
	max-width: 130px;
	aspect-ratio: 4 / 3;
	margin-right: 20px;
	margin-bottom: 0px;
	border-radius: 5px;
}

.menu-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	border-radius: 3px;
}

#nav ul.sub-menu-3 a:hover .menu-item__image img {
	opacity: .7;
}

#nav ul.sub-menu-3 .menu-item__phone {
}

#nav ul.sub-menu-3 .menu-item__phone i {
	margin: 0 3px 0 -3px;
}

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


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


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

.mob-menu::after { /*drop shadow*/
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: linear-gradient( rgba(0,0,0,.5), rgba(0,0,0,0));
	opacity: .5;
	transform: translateY(100%);
}


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

}



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

.mob-menu nav {
	margin: 20px 0 0 0;
	border-bottom: 1px solid rgba(0,0,0, .1);
}

.mob-menu nav li a {
	display: flex;
	justify-content: space-between;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 20px 0;
	text-align: left;
	color: var(--text-color);
	border-top: 1px solid rgba(0,0,0, .1);
}

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


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

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

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

.mob-menu nav li.menu-item-has-children > a::after {
	content: "\e809";
	display: flex;
	margin-bottom: auto; /*!*/
	align-items: flex-start;
	color: rgba(0,0,0, .2);
	font-family: 'icons';
	font-weight: normal;
	font-size: 1.3rem;
	line-height: 1.3rem;
	transition: all 300ms ease;
}

.mob-menu nav li.menu-item-has-children.active > a::after {
	transform: rotate(180deg);
}

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


/*level 2*/

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

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

.mob-menu nav li li a {
	justify-content: flex-start;
	text-transform: none;
	letter-spacing: 0;
	font-weight: normal;
	border: none;
	padding: 10px 0;
}

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

.mob-menu nav li.mega-menu > ul > li > a {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: .4px;
	color: rgba(0,0,0, .3);
	pointer-events: none;
	margin: 0 0 10px 0;
	padding: 0;
}

.mob-menu nav li.mega-menu > ul > li > a::after {
	display: none;
}

.mob-menu .menu-item__image,
.mob-menu .menu-item__phone {
	display: none;
}


/*level 3*/

.mob-menu nav li li ul {
	padding-left: 20px;
	/*Vertical dotted line*/
	background-image: linear-gradient(rgba(0,0,0, .4) 25%, #FFF 0%);
	background-position: left;
	background-size: 1px 4px;
	background-repeat: repeat-y;
}




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


ul.mob-menu-bottom {
	margin: 15px 0 0 0;
	font-size: 17px;
	text-align: left;
}

ul.mob-menu-bottom li {
	border: 0px solid #333;
	padding: 10px 0;
}


.mob-important a {
	font-weight: bold;
}

.mob-important a, 
.mob-phone {
	display: flex;
	align-items: center;
}

.mob-important i, 
.mob-phone i {
	font-size: 130%;
	margin: 0 5px 0 0;
}

.mob-phone a {
	color: var(--text-color);
}

.mob-search {
	position: relative;
}

.mob-search .searchform {
	position: relative;
	margin-top: 5px;
	box-shadow: none;
	border-radius: 5px;
	overflow: hidden;
}

.mob-search input {
	font-size: 1rem;
	padding: 15px;
	padding-right: 50px;
	height: 3.3rem;
	width: 100%;
	border: none;
	background: #f9f7f0;
	background: rgba(245, 240, 224, .5);
}

.mob-search input::placeholder {

}

.mob-search input:focus {
    outline: none;
	AUS_box-shadow: inset 0px 3px 5px rgba(0,0,0, .05);
	background: rgba(245, 240, 224, 1);
}

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




/* Mobile Menu Trigger */

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

	border: none;
	width: 50px;
	height: 49px;
	margin: 0 -10px 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;
}


}


/* 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(--text-color);
	display: block;
}
.mob-menu-trigger span:before {
	margin-top: -8px;
}
.mob-menu-trigger span:after {
	margin-top: 8px;
}

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

/* end Hambuger Icon ani*/

/* Menu Animation */

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

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

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

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

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

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

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

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

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

/* @end */


/* @group CONTENT */

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

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


main {
	padding-top: 0;
	padding-top: var(--main-padding-top);
	padding-bottom: var(--main-padding-bottom);
	AUS_min-height: 50vh;
}


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

}

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

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

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

ol {
	padding-left: 22px;
}


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

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

/* list styles */


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

.embed-responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  margin-top: var(--vspace);  
  min-height: 360px;
}

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


/* === Shortcodes / Quicktags  */


.text-intro {
	margin: var(--vspace) 0 var(--vspace-l) 0;
	font-size: 24px;
	font-size: 1.35rem;
	font-weight: 300;
	color: var(--secondary-color);
}

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

.text-intro strong {
	font-weight: 300;
}

@media screen and (max-width: 600px) {
	.text-intro {
		font-size: 1.15em;
	}
}


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

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

.text-tiny {
	font-size: var(--text-tiny);
}

.text-quote {
	position: relative;
	margin: var(--vspace-l) auto;
	max-width: 550px;
	font-style: normal;
	font-size: 130%;
	font-weight: 300;
	color: var(--secondary-color);
}


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

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

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

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

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

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

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

.box p:empty {
	display: none;
}

.box--gray {
	background: var(--secondary-bg);
}


.box-secondary {
	background: var(--secondary-bg);
}

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


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

.feature-box p:empty {
	display: none;
}

.feature-box__item {
	display: grid;
	grid-template-columns: 25% 1fr;
	gap: 30px;
	margin-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(0,0,0, .1);
}

.feature-box__item:first-of-type {
	margin-top: 0;
}

.feature-box__item:last-of-type {
	border-bottom: none;
	padding: 0;
}

.feature-box__title {
	font-weight: bold;
}


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

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

}




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;
	line-height: 1;
}

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

.icon.bullet {
    font-size: 170%;
	vertical-align: middle;
    width: 1rem;
    display: inline-block;
    margin-top: -0.15rem;
    text-indent: -0.5rem;
	line-height: 1;
}

AUS_p a:has(.icon.bullet) {
	display: inline-block;
	margin-top: .5rem;
}



/* === Columns */

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

.sc-column.col > *:first-child {
	margin-top: 0;
}


@media screen and (max-width: 768px) {
	.sc-row .sc-column.col{
		margin-top: var(--vspace);
	}

	.sc-row .sc-column.col:first-child {
		margin-top: 0;
	}
}



/* === 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: 1.1rem 2.5rem;
	font-weight: bold;
	font-size: 13px;
	font-size: .9rem;
	line-height: 1.3;
	text-align: center;
	display: inline-flex;
	justify-content: center;
	color: var(--secondary-color);
	letter-spacing: 0px;
	background: var(--primary-color);
	border: none;
	border-radius: 100px;
}

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


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

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


.btn--reset {
	color: var(--text-gray-light);
	background: transparent;
	box-shadow:inset 0px 0px 0px 2px var(--text-gray-light); /*border inside*/
	transition: 350ms;
}

.btn--reset:hover {
	color: var(--text-color);
	background: transparent;
	box-shadow:inset 0px 0px 0px 2px var(--text-color); /*border inside*/
	cursor: pointer;
}




.btn--small {
	padding: .7rem 1.6rem;
	font-size: var(--text-tiny);
}


.btn-submit {
	color: #FFF;
	background: var(--secondary-color);
}

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

.btn-outline {
	text-transform: uppercase;
	padding: 1rem 2.5rem;
	font-weight: bold;
	font-size: 13px;
	font-size: .9rem;
	line-height: 1.3;
	text-align: center;
	display: inline-flex;
	color: var(--secondary-color);
	letter-spacing: 0px;
	background: transparent;
	border: 2px solid var(--secondary-color);
	border-radius: 100px;
}

.btn-outline:hover {
	background: transparent;
	border-color: var(--link-color-hover);
}



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

.btn-text::before {
	content: "\e803";
	font-family: 'icons';
	font-size: 1.35rem;
	text-indent: -0.3rem;
	margin-bottom: -0.06rem;
	margin-right: 0.1rem;
	line-height: 1;
}


.btn-text-arrow {
	position: relative;
	display: flex;
	align-items: center;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 15px;
	font-size: var(--text-small);
	letter-spacing: .2px;
	line-height: 1.3;
}

.btn-text-arrow::after {
	content: "\ebd5";
	font-family: 'icons';
	margin-left: auto;
	margin-right: -.2rem;
	padding-left: 10px;
	font-size: 1.7rem;
	line-height: 1;
	transition: inherit;
	font-weight: normal;
}

.btn-text-arrow:hover::after {
	margin-right: -.5rem;
}



.btn-back {
	color: var(--text-gray-light);
	font-size: var(--text-small);
	font-weight: bold;
	line-height: 1.2;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	letter-spacing: .3px;
}

.btn-back::before {
	content: "\ebd6";
	font-family: 'icons';
	font-size: 1.5rem;
	margin-right: 0.5rem;
	line-height: 1;
	transition: 200ms;
}

.btn-back:hover::before {
	margin-left: -.3rem;
	margin-right: .8rem;
}




/* @end */


/* @group PAGEBANNER */

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


/* Pagebanner */

.pagebanner {
	display: flex;
	align-items: flex-end;
	position: relative;
	z-index: 0;
	margin-top: calc(var(--main-padding-top) * -1); /*  minus the main top padding*/
	margin-bottom: calc(var(--main-padding-top) + 2rem);
	height: 600px; /*the height*/
	height: clamp(365px, 55vw, 780px); /*the height*/
	min-height: 365px;
	max-height: calc(100vmin - var(--header-height));
}

.pagebanner__content {
	width: 100%;
}

.pagebanner__content .container {
}


.pagebanner__title {
	--pagebanner-title-padding: 70px;
	--pagebanner-title-padding: clamp(30px,6vw,70px);
	position: relative;
	min-width: 450px;
	max-width: 640px;
	margin: 0 0 calc(var(--pagebanner-title-padding) * -1) 0;
	padding: var(--pagebanner-title-padding);
	padding-left: 0;
	padding-right: calc(var(--pagebanner-title-padding) * 1.8);
	display: inline-flex;
	align-items: center;
	color: var(--secondary-color);
}

.pagebanner__title span {
	position: relative;
}

.pagebanner__title-bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100%;
	overflow: hidden;
	background-image: linear-gradient(0deg, var(--primary-color) 43%, rgba(255,210,1, 0.7) 100%);
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

.pagebanner__title-bg::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 400px;
	height: 400px;
	transform: translate(45%,45%);
	background: transparent url(images/keyvisual-blume-white-transp.svg) no-repeat center;
	background-size: contain;
	opacity: .5;
}

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

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

@media screen and (max-width: 1380px) {
	.pagebanner__title {
		padding-left: 20px;
	}
}

@media screen and (max-width: 980px) {
	.pagebanner__title {
		font-size: 2rem;
		max-width: 60vw;
		min-width: auto;
	}
	
	.pagebanner__title-bg {
		
	}
}

@media screen and (max-width: 600px) {
	.pagebanner {
		height: 365px;
		min-height: auto;
		max-height: 100%;
	}
	
	.pagebanner__title {
		--pagebanner-title-padding: 35px;
		font-size: 1.8rem;
		max-width: 80vw;
	}
	
}


/* @end */


/* @group QUICKCONTACT */


/* Quickcontact
--------------------------------------------------------------------------------- */

.quickcontact-wrap {
	position: relative;
}


.quickcontact {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 40px;
	padding: clamp(40px, 3vw, 60px);
	background: #FFF;
	border-radius: var(--border-radius) 0 0 var(--border-radius);
	border-radius: 5px 0 0 5px;
	box-shadow: 0 2px 55px -10px rgba(0,0,0, .1);
}


.quickcontact__content {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.quickcontact__image {
	width: 110px;
	height: 110px;
	border-radius: 100%;
	overflow: hidden;
	flex-shrink: 0;
}

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

.quickcontact__title {
	font-weight: bold;
	font-size: 0.85rem;
	text-transform: uppercase;
	color: var(--text-gray-light);
	margin: .8rem 0 0 0;
}

.quickcontact__name {
	font-size: var(--text-small);
	margin: 0 0 .8rem 0;
}


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

	.quickcontact {
		padding: 20px;
	}
	
	.quickcontact__image {
		width: 90px;
		height: 90px;
	}
	
}


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

	.quickcontact-wrap {
		margin: var(--vspace) 0 var(--vspace-l) 0;
		display: none; /*AUS … looks odd on mobile*/
	}

	.quickcontact {
	position: relative;
	width: calc(100% - 2 * var(--container-padding));
	max-width: var(--aligndefault-width);
	margin: 0 auto;
	align-items: flex-start;
	padding: 30px;
	padding: clamp(20px, 5vw, 30px);
	flex-direction: row;
	border-radius: var(--border-radius);
	}

	
	.quickcontact__content {
	margin: 0 0 0 20px;
	align-items: flex-start;
	flex: 1;
	}

	.quickcontact__title {
		margin: 0;
		font-size: .75rem;
	}
	
	.quickcontact__name {
		margin: -2px 0 10px 0;
	}
}

/* @end */



/* @group CONTENTBLOCKS */

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


/* General */

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

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

.contentblock > *:first-child { /*old*/
	AUS_margin-top: 0;
}

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

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

.contentblock {
	margin-top: var(--vspace-l);
	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;
}


/* ACFE Preview */

.flex-preview .reveal {
	opacity: 1;
	transform: none;
}



/* @group TEXT */

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


.contentblock-text {
}



/* @end */


/* @group IMAGE */


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


.contentblock-image {
}

.contentblock-image + .contentblock-image {
}

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

.contentblock-image.alignfull img {
	border-radius: 0;
}

/* @end */



/* @group IMAGE-TEXT */



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


.contentblock-imagetext {
}

.imagetext {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	gap: clamp(30px, 4vw, 50px)
}


.imagetext.image-w33 {
	grid-template-columns: 1fr 2fr;
	grid-template-columns: clamp(160px, 35vw, 240px) auto;
	gap: 30px;
}

.imagetext.image-w25 {
	AUS_grid-template-columns: 1fr 3fr;
	grid-template-columns: clamp(140px, 35vw, 200px) auto;
	gap: 30px;
}

.imagetext.image-w10 {
	grid-template-columns: 1fr 9fr;
	gap: 30px;
}


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


/* text vertical align */

.imagetext.text-valigntop {
}

.imagetext.text-valigncenter .imagetext__text{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.imagetext.text-valignbottom .imagetext__text {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

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


/* has fixed height (cover) */

.imagetext__image.fixed-height figure {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.imagetext__image.fixed-height .ratio-wrap {
	flex: 1;
}

.imagetext__image.fixed-height .image-wrap {
	height: 100%;
}

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


.imagetext__image.fixed-height-lg {
	height: 500px;
}

.imagetext__image.fixed-height-xl {
	height: 800px;
}



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

	.imagetext.image-alignright.stacked-on-mobile:not(.image-valignbottom) .imagetext__image {
		order: 0;
	}

}


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

	.imagetext.stacked-on-mobile {
		gap: var(--vspace) 0;
	}

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

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

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

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

	.imagetext.stacked-on-mobile.image-w10 .imagetext__image {
    	max-width: 30%;
	}

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

}


/* @end */


/* @group GALLERY */

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

.contentblock-gallery {
}

.gallery {
	--gallery-gap: 10px;
	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: 980px) {

.gallery.columns-2 .gallery__item { width: calc(100% / 2); }
.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-2 .gallery__item { width: calc(100% / 2); }
.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% / 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 {
}



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

/* @end */


/* @group VIDEO */

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


.contentblock-video {
}

/* @end */


/* @group GOOGLE MAP */

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

.contentblock-google-map {
}

/* @end */


/* @group ACCORDION */

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


.contentblock-accordion {
}

.accordion {
}

.accordion-item {
	position: relative;
	border: none;
	margin: 10px 0 0 0;
}

.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 1.5rem;
	padding-right: 3.5rem;
	font-size: 1.0rem;
	line-height: 140%;
	color: var(--link-color);
	background: #FFF;
	border-radius: 5px;
	font-weight: bold;
    outline-offset: -5px;
	transition: all 300ms ease;
	box-shadow: 0 2px 30px -10px rgba(0,0,0, .08), 0 2px 4px 0 rgba(0,0,0, .03);
}


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

.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.4rem;
	right: 1rem;
	margin: 0;
	content: "\e809";
	display: block;
	line-height: 1;
	border-radius:0;
	font-family: 'icons';
	font-size: 1.8rem;
	font-weight: normal;
	font-style: normal;
	color: var(--link-color);
	text-decoration: none;
	transition: all 250ms ease-in-out;
}

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

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

.accordion-content {
	position: relative;
	padding: var(--vspace) 0;
	padding-left: 1.5rem;
	display: none; /*js*/
}

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


.accordion-content .post-edit-link {
  position: relative;
  margin-top: var(--vspace);
  display: inline-block;
}


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

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


/* @end */


/* @group DOWNLOADS */

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

.contentblock-downloads {
}

.downloads__title {

}

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

.downloads__list li {
	padding: 0.5rem 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);
}


/* @end */




/* @group IMAGE-SLIDER */


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


.contentblock-image-slider.alignfull {
	margin-block: var(--vspace-xl);
}

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

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

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

.contentblock-image-slider img {	
	display: block;
	width: auto;
	height: 800px; /*the height*/
	height:  clamp(300px, 60vw, 800px);
	min-height: 50vh;
	
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
		
	max-width: 100vw;

}

.contentblock-image-slider .swiper-slide-image-wrap {
}


.contentblock-image-slider .swiper-slide {
}

.contentblock-image-slider .swiper-slide-active {
}

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


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

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

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

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


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

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


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

/* @end */


/* @group FORM */

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



.contentblock-form {
}

/* @end */





/* @group TEASER CTA */


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


.contentblock-teaser-cta {
	margin-block: var(--vspace-xl);
	color: #FFF;
	overflow: hidden;
	background: var(--secondary-color);
	border-radius: var(--border-radius);
}


/*bg yellow*/

.contentblock-teaser-cta.bg-yellow {
	color: var(--secondary-color);
	background: var(--primary-color);
}

.contentblock-teaser-cta.bg-yellow .btn {
	color: #FFF;
	background: var(--secondary-color);
}

.contentblock-teaser-cta.bg-yellow .btn:hover {
	color: var(--secondary-color);
	background: #FFF;
}

.contentblock-teaser-cta.bg-yellow .teaser-cta__keyvisual-bg {
	opacity: .6;
}

/*bg gray and transparent*/

.contentblock-teaser-cta.bg-transparent {
	background: transparent;
	color: var(--text-color);
	border-radius: 0;
}

.contentblock-teaser-cta.bg-gray {
	background: var(--secondary-bg);
	color: var(--text-color);
}

.contentblock-teaser-cta.bg-gray .teaser-cta__title,
.contentblock-teaser-cta.bg-transparent .teaser-cta__title {
	color: var(--secondary-color);
}

.contentblock-teaser-cta.bg-gray .btn,
.contentblock-teaser-cta.bg-transparent .btn {
	box-shadow: none;
}

.contentblock-teaser-cta.bg-gray .btn:hover,
.contentblock-teaser-cta.bg-transparent .btn:hover {
	background: var(--secondary-color);
	color: #FFF;
}

.contentblock-teaser-cta.bg-gray .teaser-cta__keyvisual-bg,
.contentblock-teaser-cta.bg-transparent .teaser-cta__keyvisual-bg {
	display: none;
	
}



/*---*/

.contentblock-teaser-cta.alignfull {
	margin-block: calc(var(--vspace-xxl) + 20px);
	border-radius: 0;
}

.teaser-cta__grid {
	position: relative;
	text-align: center;
}


.teaser-cta__grid.has-image {
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.teaser-cta__grid.has-image .teaser-cta__content {
	align-items: flex-start;
	max-width: 600px;
	position: revert;
}


.teaser-cta__content {
	--vspace: 1.8rem;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 80px;
	padding-block: clamp(60px, 8vw, 90px);
	padding-inline: clamp(30px, 8vw, 90px);
}

.aligndefault .teaser-cta__grid.has-image .teaser-cta__content {
	padding-inline: clamp(30px, 8vw, 50px);
}

.teaser-cta__content > * {
	max-width: 800px;
	z-index: 1;
}

.teaser-cta__metatitle {
	margin: 0 0 5px 0;
	font-weight: bold;
	font-size: var(--text-small);
	opacity: .4;
	text-transform: uppercase;
	
}

.teaser-cta__title {
	margin: 0;
	margin-bottom: -.5rem;
	line-height: 1.1;
	font-size: 1.8rem;
	font-size: clamp(1.5rem, 4vw, 1.8rem);
}

.alignwide .teaser-cta__title,
.alignfull .teaser-cta__title {
	font-size: 44px;
	font-size: 2.2rem;
	font-size: clamp(1.8rem, 4vw, 2.55rem);
}

.teaser-cta__text {
}

.teaser-cta__button .btn {
	box-shadow: 0px 3px 30px -5px rgba(0,0,0, .32);
}


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

.alignwide .teaser-cta__image {
	min-height: 510px;
}

.alignfull .teaser-cta__image {
	min-height: 720px;
	min-height: clamp(600px, 50vw, 720px);
}


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

.teaser-cta__keyvisual-bg {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 500px;
	height: 500px;
	transform: translate(45%,45%);
	background: transparent url(images/keyvisual-blume-white-transp.svg) no-repeat center;
	background-size: contain;
	opacity: .3;
}


.alignfull .teaser-cta__keyvisual-bg {
	width:  clamp(500px, 50vw, 800px);
	height: clamp(500px, 50vw, 800px);
}


@media screen and (max-width: 768px) {
	.teaser-cta__grid.has-image {
		text-align: center;
		grid-template-columns: 1fr;
	}
	
	.teaser-cta__image,
	.alignwide .teaser-cta__image,
	.alignfull .teaser-cta__image {
		min-height: auto;
		aspect-ratio: 3 / 2;
	}
		
	.teaser-cta__grid.has-image .teaser-cta__content {
		align-items: center;
		max-width: 100%;
	}
	
	.contentblock-teaser-cta.bg-transparent .teaser-cta__content{
		padding-bottom: 0;
	}
}	
	
@media screen and (max-width: 600px) {
	.teaser-cta__image,
	.alignwide .teaser-cta__image,
	.alignfull .teaser-cta__image {
		aspect-ratio: 4 / 3;
	}	


}


/* @end */



/* @group CARDS */

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



.contentblock-cards {
}

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


.cards__grid.has-2-columns {
	grid-template-columns: 1fr 1fr;
}


.card {
	--vspace: .5rem;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-radius: var(--border-radius);
	background: #FFF;
	overflow: hidden;
	isolation: isolate; /*fix safari border-radius-hover bug*/
	box-shadow: 0 2px 44px -10px rgba(0,0,0,0.16);
}


.card__image {
	position: relative;
	overflow: hidden;
}

.card__image a {
	display: block;
}

.card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	transition: all 1200ms ease!important;
	aspect-ratio: 4 / 3;
}

.card__image a:hover img {
	transform: scale(1.1);
}

.card__title {
	color: var(--secondary-color);
}

.card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	font-size: var(--text-small);
	padding: 40px;
	padding: clamp(30px, 3vw, 40px);
}

.card__button {
	margin-top: auto;
	padding-top: var(--vspace-l);
	margin-bottom: -.3rem;
}

@media screen and (max-width: 980px) {
	.cards__grid { 
		grid-template-columns: 1fr;
	}
	
	.has-3-columns .card {
		display: grid;
		grid-template-columns: 3fr 3fr;
	}
}

@media screen and (max-width: 600px) {
	.cards__grid { 
		grid-template-columns: 1fr!important;
	}
	
	.card,
	.has-3-columns .card {
		display: flex;
	}


	.card__content {
		padding: 30px;
	}
}



/* @end */



/* @group BENEFITS */

/* Benefits
--------------------------------------------------------------------------------- */



.contentblock-benefits {
	margin-block: var(--vspace-xl);
}


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

.benefit-cards__grid.has-2-columns {
	grid-template-columns: 1fr 1fr;	
}

.benefit-card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: var(--box-padding);
	border-radius: var(--border-radius);
	background: #FFF;
	overflow: hidden;
	text-align: center;
	box-shadow: 0 2px 44px -10px rgba(0,0,0,0.16);
}

.benefit-card::after { /*bg*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--primary-color);
	z-index: -1;
	opacity: 0;
	transition: 500ms;
}

.benefit-card.is-benefit:hover::after {
	opacity: 1;
}


.benefit-card__icon {
	max-width: 80px;
	margin: 0 auto;
	margin-bottom: 1rem;
	transition: 300ms;
}

.benefit-card__icon img {
	margin: 0 auto;
	width: 100%;
}

.benefit-card.is-benefit:hover .benefit-card__icon {
	transform: scale(1.1);
}

.benefit-card__title {
	margin: 0;
	font-size: 1.45rem;
	line-height: 1.4;
}

.benefit-card__text {
	font-size: var(--text-small);
	text-align: 	left;
}

.benefit-card.is-quote {
	background: var(--secondary-color);
}

.benefit-card blockquote {
	display: contents;
}

.benefit-card__quote {
	position: relative;
	font-weight: bold;
	color: #FFF;
	margin: 0;
}

.benefit-card__quote::before {
	content: "\e81e";
	font-family: 'icons';
	display: block;
	font-size: 2.8rem;
	line-height: 1;
	margin: 0 0 2rem 0;
	color: rgba(255,255,255, .2);
}

.benefit-card__quote-source {
	font-size: var(--text-small);
	color: rgba(255,255,255, .5);
}


@media screen and (max-width: 980px) {
	.benefit-cards__grid {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media screen and (max-width: 600px) {
	.benefit-cards__grid,
	.benefit-cards__grid.has-2-columns {
		grid-template-columns: 1fr;
	}
	
}



/* @end */





/* @group JOBS LIST */


/* Jobs 
--------------------------------------------------------------------------------- */

.contentblock-jobs {
}

.jobs-list {
}

.jobs-list__cat-title {
	margin-bottom: 1.5rem;
}

.jobs-list__entry {
	margin: 15px 0 0 0;

}

.jobs-list__entry a {
	display: block;
	border-radius: 5px;
	padding: 30px 30px;
	padding: clamp(25px, 3vw, 30px);
	background: #FFF;
	box-shadow: 0 2px 24px -10px rgba(0,0,0,0.18);	
	line-height: 1.4;
}

.jobs-list__entry a:hover {
}


.jobs-list__entry-title {
	position: relative;
	margin: 0;
	font-size: 1rem;
	padding-left: 1.0rem;
	display: flex;

}

.jobs-list__entry-title i {
	position: absolute;
	left: 0;
	font-size: 1.5rem;
	text-indent: -.6rem;
	width: 1rem;
	line-height: 1;
}

.jobs-list__entry-title i::before {
}


.jobs-list__entry-subtitle {
	font-size: var(--text-small);
	color: #999;
	padding-left: 1.0rem;
	display: none;
}



/* @end */






/* @group CONTACTBOX */


/* Contactbox
--------------------------------------------------------------------------------- */

.contentblock-contactbox {
	margin-top: var(--vspace-l);
}

.contactbox {
	margin-top: var(--vspace);
	padding: var(--box-padding);
	border-radius: var(--border-radius);
	background: var(--secondary-bg);
}

.contactbox.has-image {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 30px;
}

.contactbox__image {
	max-width: 180px;
}

.contactbox__image img {
	width: 100%;
	border-bottom: 8px solid var(--primary-color);
}

.contactbox__content {
}


@media screen and (max-width: 600px) {
	.contactbox.has-image {
		grid-template-columns: 1fr;
	}

}



/* @end */



/* @group TEASER POST */


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

.contentblock-teaser-post {
	margin-block: var(--vspace-xxl);
}

.teaser-post__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	padding-bottom: 30px;
}

.teaser-post__image {
	overflow: hidden;
	isolation: isolate; /*fix safari border-radius-hover bug*/
	border-radius: var(--border-radius);
	box-shadow: 0 2px 44px -10px rgba(0,0,0,0.16);
	margin-right: -30px;

}

.teaser-post__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	transition: all 1200ms ease!important;
	aspect-ratio: 4 / 3;
}

.teaser-post__image a:hover img {
	transform: scale(1.06);
}


.teaser-post__content {
	z-index: 1;
	margin-top: 30px;
	margin-bottom: -30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--box-padding);
	padding-inline: clamp(30px, 7vw, 100px);
	background: var(--primary-color);
	border-radius: var(--border-radius);
}

.teaser-post__metatitle {
	margin-bottom: .5rem;
	font-weight: bold;
	text-transform: uppercase;
	font-size: var(--text-small);
	color: #FFF;
}

.teaser-post__title {
	margin: 0 0 1rem 0;
	font-size: 1.35rem;
	font-size: clamp(1.05rem, 2vw, 1.35rem);

}

.teaser-post__title a {
	display: block;
}

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

	.teaser-post__grid {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.teaser-post__image {
		margin: 0;
	}
	
	.teaser-post__content {
		width: calc(100% - 40px);
		margin: -40px auto 0 auto;
	}
	
	
}




/* @end */






/* @group RELATED PAGES */


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

.contentblock-related-pages {
	margin-top: var(--vspace-xl);
}

.related-pages {
	border-top: 1px solid var(--border-color);
}

.related-pages__title {
	margin: 2rem 0 0 0;
	font-size: var(--text-small);
}

.related-pages__list {
	margin: var(--vspace) 0 0 0;
}

.related-pages__list li {
	padding-block: 4px;
}



/* @end */


/* @group FAQ */

/* FAQ
--------------------------------------------------------------------------------- */


.contentblock-faq {
}


.faq-search {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: center;
	margin-top: var(--vspace-xxl);
	margin-bottom: var(--vspace-l);
}

.faq-search .searchandfilter {
}

.searchandfilter ul,
.searchandfilter ul li {
	position: relative;
	padding: 0;
	margin: 0;
}

.searchandfilter ul li:before{
	display: none;
}


.searchandfilter label {
	width: 100%;
}

.searchandfilter .sf-input-text {
	width: 100%;
	font-size: 1rem;
	padding: 1rem;
	line-height: 1.3;
	border-radius: 5px;
	border: 1px solid rgba(0,0,0, .15);
}

.searchandfilter .sf-input-text:focus {
	border-color: rgba(0,0,0, .3);
}

.searchandfilter .sf-input-text::placeholder {
	color: var(--text-gray);
}

.searchandfilter .sf-field-submit {
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
}

.searchandfilter .sf-field-submit::after {
	content: "\e81d";
	font-family: 'icons';
	display: block;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}


.searchandfilter.search-filter-disabled .sf-field-submit::after { /*while searching*/
	opacity: .2;
}

.searchandfilter .sf-field-submit input {
	border: none;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
	text-indent: -500px;
	opacity: 0;
	background: transparent;
}


.searchandfilter .sf-field-reset {
	display: none;
}

.faq-search__results-count {
	font-size: var(--text-small);
	text-align: right;
}


.faq-results-found { /*ori SF counts div*/
	border: 2px dashed CYAN; 
	display: none;
}

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



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

	.faq-search {
		grid-template-columns: 1fr;
	}
	
	.faq-search__results-count {
		text-align: left;
	}
}




/* @end */



/* @group INSTAGRAM FEED */


.contentblock-instagram-feed {
	margin-block: var(--vspace-xxl) 0;
	padding: var(--vspace-xxl) 0;
	background: #FFF;
}


.contentblock-instagram-feed:last-child {
	margin-bottom: calc(var(--main-padding-bottom) * -1)!important;
	padding-bottom: 6rem;
}

.instagram-feed {
	
}


.instagram-feed__title {
	display: inline-flex;
	align-items: center;
	font-weight: bold;
	font-size: 1.5rem;
	margin: -1rem 0 var(--vspace) 0;
}

.instagram-feed__title i {
	display: block;
	color: #FFF;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	font-size: 1.5rem;
	border-radius: 100%;
	text-align: center;
	margin: 0 1rem 0 0;
	transition: inherit;
	background: var(--secondary-color);
}

.instagram-feed__title:hover i {
	background: var(--link-color-hover);
}

.instagram-feed__embed {
	margin-left: -10px;
	margin-right: -10px;
}

#sb_instagram #sbi_images .sbi_item {
	overflow: visible; /*allow drop shadow*/
}

.instagram-feed .sbi_photo_wrap {
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 2px 44px -10px rgba(0,0,0,0.16);
}





/* @end */






/* @end */



/* @group JOB */

/* JOB
--------------------------------------------------------------------------------- */


.job-post {
	border: 1px solid #333;
}

.job-header {
	padding-bottom: var(--vspace-l);
}

.job-header__title {
	margin: var(--vspace-l) 0 5px 0;
}

.job-header__subtitle {
}

.job-header__date {
	color: var(--text-gray);
	margin: 5px 0 0 0;
}

.job-header__btn {
	
}


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


/* @end */




/* @group BLOG */

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


.blog-entry {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 95px;
}

.blog-entry:not(.has-post-thumbnail) {

}

.blog-entry:first-child {
	margin-top: .5rem;
}

.blog-entry__image {
	border-radius: 5px;

}

.blog-entry:nth-child(even) .blog-entry__image {
	order: 2;
}

.blog-entry__image a {
	display: block;
	overflow: hidden;
	border-radius: 5px;
	overflow: hidden;
	isolation: isolate; /*fix safari border-radius-hover bug*/
}

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

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

.blog-entry__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px;
	padding: clamp(40px, 6vw, 80px);
}

.blog-entry__label {
	display: inline-block;
	font-size: var(--text-small);
	line-height: 1;
	margin: 0 0 1rem 0;
	padding: 0.5rem 1rem;
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 5px;
	color: var(--secondary-color);
	background: var(--primary-color);
}

.blog-entry__title {
	margin: 0;
}

.blog-entry__title a {
	display: block;
}

.blog-entry__title a:hover  {
}

.blog-entry__date {
	margin: 0.5rem 0 0 0;
	font-size: var(--text-small);
	color: var(--text-gray);
	color: #999;
}

.blog-entry a.post-edit-link {
	position: relative;
	display: inline-flex;
	margin: 10px auto 0 0;
}


@media screen and (max-width: 980px) {
	
	
	.blog-entry__title {
		font-size: 1.5rem;
		font-size: clamp(1.2rem, 2vw, 1.5rem);
		line-height: 1.3;
	}
	
	.blog-entry__content {
		padding: 0 30px;
		padding-right: 0;
	}
	
	.blog-entry:nth-child(even) .blog-entry__content {
		padding-left: 0;
	}

}


@media screen and (max-width: 600px) {
	.blog-entry {
		grid-template-columns: 1fr;
		margin-top: 40px;
	}
	
	.blog-entry:nth-child(even) .blog-entry__image {
		order: 0;
	}
	
	.blog-entry__content {
		padding: 40px 0;
		padding: clamp(25px, 5vw, 40px) 0;
		max-width: 540px;
		width: 100%;
		margin: 0 auto;
	}

}


/* single post */

.blog-post__header {

}

.blog-post__title {
	margin: 0 0 0 0;
}

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

.blog-post__image {
	position: relative;
	width: 100%;
	max-width: 1000px; /*semi wide*/
	margin: 0 auto;
	padding: 0;
	margin-top: 5rem;
	margin-top: clamp(3rem, 10vw, 5rem);
	margin-bottom: 3rem;
	display: block;
	overflow: hidden;	
}

.blog-post__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	aspect-ratio: 3 / 2;
}


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

.blog-post__content {
	width: 100%;
	display: block;
	padding: 0;
	margin: var(--vspace-l) 0 0 0;
}

.blog-post__tags {
	text-transform: uppercase;
	font-size: 0.9rem;
	margin: 3rem 0 0 0;
}

.blog-post__tags a {
}

.blog-post__tags a:hover {
}

.blog-post__tags span {
	display: inline-block;
}

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

.back-to-blog a {
}

.back-to-blog a:hover {
}


@media screen and (max-width: 600px) {
	.blog-post__image img {
		aspect-ratio: 4 / 3;
	}
}



/* Archive */


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

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

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

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





/* post-pagination */

.post-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 8rem 0 3rem 0;
}

.post-pagination .page-numbers {
	display: none;
}

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

.post-pagination a {
}

.post-pagination a:hover {
}

.post-pagination a.prev,
.post-pagination a.next {
	padding: 0;
	margin: 0 15px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #FFF;
	width: 70px;
	height: 70px;
	font-size: 1.7rem;
	border-radius: 100%;
	box-shadow: 0 2px 34px -6px rgba(0,0,0,0.17);
}

.post-pagination a.prev {
}

.post-pagination a.next {
}


a.prev span,
a.next span {
}

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





/* Post Navigation */

.post-nav-section {
	margin-bottom: calc(var(--main-padding-bottom) * -1);

}

.post-nav {
	position: relative;
	background: var(--secondary-bg);
	z-index: 0;
}


.post-nav.first-post {

}


.next-post__image {
	position: relative;
	width: 100%;
	height: 600px;
	height: clamp(360px, 50vw, 600px);
}

.next-post__image > img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	max-width: var(--container-width);
	z-index: 1;
}


.next-post__image-blur {
	position: absolute;
	top: 0;
	left: -5%;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.next-post__image-blur img {
	display: block;
	width: 110%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	filter: blur(15px);
	transition: none;
}



.next-post__image::after { /*overlay*/
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0,0,0, .55);
	z-index: 1;
}

.next-post.no-image .next-post__image::after {
	display: none;
}


.next-post__content {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px;
	z-index: 1;
}

.next-post__content a {
	display: block;
	color: #FFF;
	line-height: 1.4;
	font-size: 1.5rem;
	font-size: clamp(1.2rem, 3vw, 1.5rem);
	font-weight: bold;
	text-align: center;
	max-width: 500px;
	margin: 1rem 0 0 0;
	text-shadow: 0 0 10px rgba(0,0,0, .5);
}

.next-post__content a:hover {
	opacity: .8;
}

.next-post.no-image a {
	color: var(--secondary-color);
	text-shadow: none;
}

.next-post.no-image a:hover {
	opacity: 1;
	color: var(--link-color-hover);
}

.next-post__content a i {
	display: block;
	font-size: 1.8rem;
	margin: 0.5rem 0 0 0;
	transition: inherit;
}

.next-post__content a:hover i {
	margin-right: -1rem;
}



/* @end */



/* @group HERO (Template Start) */

/* Hero
--------------------------------------------------------------------------------- */


.hero {
	position: relative;
	margin-bottom: var(--vspace-xxl);
}

.hero-banner {
	position: relative;
	z-index: 1;
	height: 700px; /*the height*/
	height: clamp(500px, 60vw, 820px); /*the height*/
	min-height: 600px;
	max-height: calc(100vmin - var(--header-height));
}

@media screen and (max-width: 600px) {
	.hero-banner {
		height: 380px;
		height: clamp(280px, 80vw, 380px);
		min-height: auto;
		max-height: 100%;
	}
}

.hero-banner__image {
	height: 100%;
	width: 100%;
}

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

.hero-banner__video {
	height: 100%;
	width: 100%;
}

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


.hero-content {
	position: relative;
}

.hero-content__bg {
	position: absolute;
	bottom: 6rem; /*offset bg hero-cards*/
	left: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
	background: var(--primary-color);
}


.hero-content__bg::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 800px;
	height: 800px;
	transform: translate(45%,45%);
	background: transparent url(images/keyvisual-blume-white-transp.svg) no-repeat center;
	background-size: contain;
	opacity: .5;
}

.hero-featured-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	transform: translate(0,-55%);
}

.hero-featured-link .container {
	display: flex;
	justify-content: flex-end;
}

.hero-featured-link a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 10rem;
	height: 10rem;
	color: #FFF;
	font-size: .95rem;
	line-height: 1.5;
	text-align: center;
	border-radius: 100%;
	background: var(--secondary-color);
	box-shadow: 0px 3px 30px -10px rgba(0,0,0, .3);
}

.hero-featured-link a:hover {
	background: var(--link-color-hover);
}

.hero-featured-link a i {
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: -1.5rem;
}

@media screen and (max-width: 980px) {
	.hero-featured-link {
			display: none;
		}
}



.hero-intro {
	padding: 6rem 0;
}

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

.hero-cards {
	margin: -1rem auto 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	width: 100%;
}


.hero-card {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	width: 100%;
	padding: 40px;
	border-radius: var(--border-radius);
	background: #FFF;
	box-shadow: 0 2px 44px -10px rgba(0,0,0,0.16);
}

.hero-card__title {
	margin: 0;
	AUS_font-size: 22px;
}

.hero-card__subtitle {
	font-size: var(--text-small);
}

.hero-card__button {
	margin-top: auto;
	margin-bottom: -.5rem;
}

.hero-card__button a {
	padding-top: var(--vspace);	
}

@media screen and (max-width: 980px) {
	.hero-intro {
		padding: 4rem 0;
	}		
		
	.hero-cards {
		grid-template-columns: 1fr;
		gap: 20px;
		max-width: 600px;
		margin-top: -.3rem;
	}
	
	.hero-card:last-child {
		grid-column: 1/-1;
	}
	
}




/* @end */





/* @group LINKTREE (Template Linktree)*/

/* LINKTREE
--------------------------------------------------------------------------------- */

.template-linktree .header-top,
.template-linktree #header #nav,
.template-linktree .mob-menu-trigger {
	display: none;
}

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

.template-linktree #footer {
	display: none;
}


.linktree {
	max-width: 800px;
	margin: 0 auto;
}

.linktree__link {
	background: #FFF;
	display: block;
	margin-bottom: 20px;
	padding: 25px;
	padding: clamp(20px, 2vw, 25px);
	text-align: center;
	font-weight: bold;
	border-radius: 50px;
	box-shadow: 0px 3px 35px -10px rgba(0,0,0, .1);
	
	background: var(--secondary-color);
	color: #FFF;
}

.linktree__link:hover {
	color: #FFF;
	opacity: .9;
}

.linktree__subtitle {
	font-weight: normal;
	font-size: var(--text-small);
	color: var(--text-gray);
	color: #FFF;
	opacity: .6;
}




/* @end */



/* @group ZUZAHLUNGSRECHNER (KZP) */

/* Zuzahlungsrechner
--------------------------------------------------------------------------------- */


.kzp-wrap {
	margin-top: var(--vspace-xl);
	margin-bottom: var(--vspace-xl);
	padding: 50px;
	padding-block: 100px;
	padding-block: clamp(60px, 7vw, 100px);
	background: var(--secondary-bg);
	box-shadow: 15px 15px 0 0 #E8E3D3;
	border-radius: var(--border-radius);
}


.kzp {
	margin: 0 auto;
	max-width: var(--aligndefault-width);
}

.kzp-title {
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	color: var(--secondary-color);
	font-size: clamp(1.7rem, 5vw, 2rem);
	margin-bottom: 2rem;
}

.kzp-title i {
	display: inline-block;
	font-size: 3.5rem;
	width: 3.7rem;
	line-height: 1;
	text-indent: -0.8rem;
	margin-top: -.4rem;
}

.kzp-form fieldset {
	border: none;
	padding: 0;
}

.kzp-form fieldset + fieldset {
	margin-top: var(--vspace);
}

.kzp-form legend {
	font-weight: bold;
	margin: 0 0 1rem 0;
}


.kzp-form fieldset.zeitraum {
}

.kzp-form fieldset.zeitraum {
	
}


.kzp-form fieldset.pflegegrad {
}

.kzp-form input[type=text] {
	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: 5px;
	font-family: var(--font-sans);
	-webkit-appearance: none;
	font-weight: normal;
	border: none;
	border: 1px solid rgba(0,0,0, 0);
	transition: all 300ms ease;
	box-shadow: 0px 2px 10px -5px rgba(0,0,0, .1);
}

.kzp-form input[type=text]:focus {
	border-color: rgba(0,0,0, .6);
}

.kzp-form label {
	padding: 0 0;
	width: 100%;
	text-transform: none;
	font-size: var(--text-small);
	padding-right: 10px;
	margin: 0 0 0.3rem 0;
	display: block;
	text-align: left;
	cursor: default;
	transition: 350ms;
	color: var(--text-color);	
}


.kzp-form.form-field {
	margin-bottom: 10px;
}

.form-field-date {
}


.form-field-date .input-wrap {
	position: relative;
	display: block;
}

.form-field-date .input-wrap::after {
	content: "\e818"; 
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
	font-family: 'icons';
	font-size: 1.4rem;
	line-height: 1;
	color: var(--text-gray-light);
	pointer-events: none;
}


.kzp-form .form-field-date input {
	padding-left: 3rem;
}



.form-field-radio {
}

.form-field-radio input {
	display: none;
}

.form-field-radio label {
	display: flex;
	align-items: center;
	font-size: 1rem;
	margin: 0 0 10px 0;
	border-radius: 5px;
	padding: 1rem;
	background: rgba(255,255,255, .6);
	cursor: pointer;
	box-shadow: 0px 2px 10px -5px rgba(0,0,0, 0);
}

.form-field-radio .label__title-wrap {
	display: flex;
	align-items: center;
}

.form-field-radio .label__title {
	font-weight: bold;
	white-space: nowrap;
	margin-right: 1.5ch;
}

.form-field-radio input:checked + label {
	background: rgba(255,255,255, 1);
	box-shadow: 0px 2px 10px -5px rgba(0,0,0, .1);
}

.form-field-radio label::before {
	content: "\e810"; /*unchecked radoi icon*/
	font-family: 'icons';
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1;
	display: block;
	margin: 0.15rem 15px 0.15rem  0;
}

.form-field-radio input:checked + label::before {
	content: "\e813"; /*checked radio icon*/
	color: var(--secondary-color);
}


.form-field-radio .label__subtitle {
	font-size: var(--text-small);
}

.form-note {
	font-size: var(--text-small);
	font-size: .8rem;
}

.form-note-mandatory {
	text-align: right;
}


.kzp-form-footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: var(--vspace);
}

.kzp-form .fehler {
	margin: 10px 0 0 0;
	font-size: var(--text-small);
	color: red;
}

.kzp-form .ergebnis {
	display: none;
}

.kzp-form .ergebnis.active {
	background: GREEN;
}

.kzp-form .ergebnis .table-container {
	margin: 0;
}


.kzp-form .ergebnis table {
	overflow: hidden;
	border-radius: 5px;	
}

.kzp-form .ergebnis table,
.kzp-form .ergebnis tr,
.kzp-form .ergebnis td  {
	border: none;
	line-height: 1.4;
}

.kzp-form .ergebnis tr {
	background: #FFF;
	border-bottom: 1px solid rgba(0,0,0, .05);
}

.kzp-form .ergebnis tr:last-child {
	border-bottom: 3px solid var(--primary-color);
}

.kzp-form .ergebnis tr:nth-child(even) {
	background: rgba(255,255,255, .7);
}

.kzp-form .ergebnis td {
	padding: 15px 20px;
	vertical-align: text-top;
}

.kzp-form .ergebnis td:last-child {
	padding-left: 0;
}

.kzp-form .ergebnis td.result {
	background: var(--primary-bg);
} 

.kzp-form #Zuzahlung_Heimbewohner_selbst {
	font-weight: bold;
}



.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.selected:hover {
	background: var(--secondary-color);
	border-color: var(--secondary-color);
}


.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
	font-weight: normal;
}



@media screen and (max-width: 980px) {
	
	.form-field-radio .label__title-wrap {
		display: block;
	}
	
	.form-field-radio label {
		align-items: flex-start;
}


}

@media screen and (max-width: 600px) {
	.kzp-wrap {
		padding: 50px 20px;
	}	

	.kzp-form-footer {
		align-items: center;
		flex-direction: column;
	}
	
	.kzp-form-footer .btn {
		width: 100%;
		max-width: 15rem;
	}
	
	.kzp-form .ergebnis td {
		padding: 15px 15px;
		font-size: var(--text-small);
	}
		
	
}








/* @end */


/* @group SEARCH */

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



.search-result {
}

.search-result__title {

}

.search-result__title span {
	font-weight: bold;
}

.search-result.no-result .searchform {

}

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

.search-result .searchform {
	position: relative;
	margin-bottom: var(--vspace-xl);
	box-shadow: 0px 5px 30px -10px rgba(0,0,0, .15);
}

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

.search-result .searchform input::placeholder {
	font-style: italic;
	font-weight: normal;
}

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

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


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

.search-result__entry-details {
	font-weight: normal;
	color: var(--text-gray);
	font-size: var(--text-small);
	margin-left: 1ch;
	text-transform: uppercase;
}

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


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



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

.wpcf7-form {
	position: relative;

}

.form-wrap {
	position: relative;
	margin: 0 auto;
	margin-bottom: 4rem;
	overflow: visible;
	background: var(--secondary-bg);
	border-radius: var(--border-radius);
	padding: 50px;
	box-shadow: 15px 15px 0 0 #E8E3D3;
	border-radius: var(--border-radius);
	overflow: hidden;
}

.form-wrap.is-featured {
	margin-top: var(--vspace-xl);
	background: var(--primary-color);
	padding-block: 100px;
	padding-block: clamp(60px, 7vw, 100px);
	box-shadow: 15px 15px 0 0 var(--secondary-bg);
}

.form-wrap.is-featured::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 500px;
	height: 800px;
	transform: translate(45%,45%);
	background: transparent url(images/keyvisual-blume-white-transp.svg) no-repeat center;
	background-size: contain;
	opacity: .5;
}



@media screen and (max-width: 980px) {
	.form-wrap.is-featured {
	}
}

@media screen and (max-width: 600px) {
	.form-wrap,
	.form-wrap.is-featured {
		padding: 50px 20px;
	}
}


.form {
	margin: 0 auto;
	max-width: var(--aligndefault-width);
}

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


.form-title {	
}

.form-wrap.is-featured .form-title {
	color: var(--secondary-color);
	font-size: 36px;
	font-size: 2rem;
	font-size: clamp(1.6rem, 5vw, 2rem);
	margin-bottom: 2rem;

}

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

.wpcf7 br {
}


.wpcf7 .fieldset {
}

.wpcf7 * + .fieldset {
	margin-top: var(--vspace);
}


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

.wpcf7 .form-field p {
	--vspace: 1rem;
}


.form-field--jobtitle {
	margin-bottom: var(--vspace);
}

.form-field--info {
	font-size: var(--text-small);
	--vspace: .5rem;
}

.form-field--info br {
	display: block;
}

.form-field--info > *:first-child {
	margin-top: 0;
}

.form-field .has-icon {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px;
}

.form-field .has-icon::before {
	content: "\e819";
	font-family: 'icons';
	font-size: 1.35rem;
	line-height: 1;
	margin: 0;
	display: block;
}



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

.wpcf7 label {
	padding: 0 0;
	width: 100%;
	text-transform: none;
	font-size: var(--text-small);
	padding-right: 10px;
	margin: 0 0 0.3rem 0;
	display: block;
	text-align: left;
	cursor: default;
	transition: 350ms;
	color: var(--text-color);
}

.wpcf7 label br {
	display: block;
}

.wpcf7 .hidden {
	display: none;
}

.wpcf7 label span {
	display: block;
}

.wpcf7-list-item {
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

.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: 5px;
	-webkit-appearance: none;
	font-family: var(--font-sans);
	font-weight: normal;
	border: none;
	border: 1px solid rgba(0,0,0, 0);
	transition: all 300ms ease;
	box-shadow: 0px 2px 10px -5px rgba(0,0,0, .1);
}

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

}

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


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


.wpcf7-file {
	position: relative;
	margin-bottom: 10px;
}

.form-field--upload span:last-child .wpcf7-file {
	margin-bottom: 0;
}

.wpcf7-file {
}

.clear-field-btn { 
		position: absolute;
		display: none;
		width: 30px;
		height: 30px;
		text-align: center;
		color: var(--text-gray);
		right: 5px;
		top: 50%;
		background: #FFF;
		transform: translateY(-50%);
}

.has-file + .clear-field-btn {
	display: block;
}


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


.wpcf7 .form-field--submit {
	margin: 0.5rem 0 0 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,
.wpcf7 .wpcf7-response-output {
	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(--secondary-color);
	font-size: 1.0rem;
	font-weight: bold;
	border: none;
	border-radius: var(--border-radius);
	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(--secondary-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-radio,
.wpcf7 .wpcf7-checkbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
    justify-content: left;
    align-content: flex-start;
}

.wpcf7 .wpcf7-radio.vertical,
.wpcf7 .wpcf7-checkbox.vertical { /*vertical align*/
	flex-direction: column;
}

.wpcf7 .wpcf7-radio.two-columns,
.wpcf7 .wpcf7-checkbox.two-columns { /*2 columns layout*/
	display: block;
	column-count: 2;
}

@media screen and (max-width: 600px) {
	.wpcf7 .wpcf7-radio.two-columns,
	.wpcf7 .wpcf7-checkbox.two-columns {
			display: flex;
			flex-direction: column;

	}
}


.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;
  	display: block;
}

.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.horizontal,
.wpcf7-checkbox.horizontal,
.wpcf7-acceptance.horizontal { /*horizonal align*/
	display: flex;
	flex-wrap: wrap;
}


.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
	display: block;
	position: relative;
	line-height: 130%;
	font-size: var(--text-small);
	text-transform: none;
	font-weight: normal;
	padding: 5px 0;
	padding-right: 30px;
	color: var(--text-color);
	transition: all 300ms ease;
	display: flex;
	align-items: center;
}

.wpcf7-radio .wpcf7-list-item-label:before,
.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
	content: "\e815"; /*unchecked checkmark icon*/
	font-family: 'icons';
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1;
	display: block;
	margin: 0 10px 0 0;
	}


.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 {
	content: "\e810"; /*unchecked radio icon*/
}

.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
	content: "\e815"; /*unchecked checkmark icon*/
}

.wpcf7-checkbox.wpcf7-exclusive-checkbox .wpcf7-list-item-label::before { 
	/*exclusive-checkbox … use radio instead*/
	content: "\e810"; /*unchecked radio icon*/
}

.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 {
	content: "\e813"; /*checked radio icon*/
	color: var(--secondary-color);
}

.wpcf7-checkbox input:checked + .wpcf7-list-item-label:before,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before {
	content: "\e817"; /*checked checkmark icon*/
	color: var(--secondary-color);
}

.wpcf7-checkbox.wpcf7-exclusive-checkbox input:checked + .wpcf7-list-item-label:before {
	content: "\e813"; /*checked radio icon*/
	color: var(--secondary-color);
}


.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 {
	color: RED;
}


/* Checkbox Acceptance (Datenschutz) */


.wpcf7-acceptance .wpcf7-list-item-label {
	line-height: 1.5;
	font-weight: normal;
	align-items: flex-start;
	font-size: var(--text-tiny);
}

.wpcf7-acceptance .acceptance-text {
}

.wpcf7 .form-field--datenschutz {
}

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

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


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

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

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

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

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

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

/* Repeater (WPCF7CF Pro) */

.wpcf7cf_repeater {
	margin: 0 0 30px 0;
}

.wpcf7 .wpcf7cf_repeater_controls {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 0 0 0 0;
}

.wpcf7cf_repeater_controls .wpcf7cf_add-container,
.wpcf7cf_repeater_controls .wpcf7cf_remove-container  {
	position: relative;
	overflow: hidden;
	border: 0px solid #333;
}

.wpcf7cf_repeater_controls .wpcf7cf_add-container::after,
.wpcf7cf_repeater_controls .wpcf7cf_remove-container::after {
	position: absolute;
	top: 50%;
	left: 20px;
	line-height: 1;
	font-size: 1.2rem;
	transform: translateY(-50%);
	font-family: 'icons';	
}

.wpcf7cf_repeater_controls .wpcf7cf_add-container::after { /*add icon*/
	content: "\e81f";
	}

.wpcf7cf_repeater_controls .wpcf7cf_remove-container::after { /*remove icon*/
	content: "\e820";
}


.wpcf7cf_repeater_controls button {
	border: none;
	color: var(--text-color);
	font-size: var(--text-tiny);
	font-weight: normal;
	line-height: 1.3;
	padding: 15px 30px;
	padding-left: 50px;
	background: rgba(0,0,0, .0);
	border-radius: 100px;
	transition: 300ms;
	display: inline-flex;
	align-items: center;
	text-align: left;
	width: 100%;
	height: 100%;
	border: 2px solid rgba(0,0,0, .1);
}

.wpcf7cf_repeater_controls button:hover {
	background: rgba(0,0,0, .07);
	border-color: rgba(0,0,0, 0);
}

.wpcf7cf_repeater_controls button.wpcf7cf_remove {
}

.wpcf7 fieldset {
	padding: 0;
	border: 0px solid #333;
}

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


.wpcf7 legend {
	display: block;
	width: 100%;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 0;
	margin: 0 0 var(--vspace) 0;
}


.wpcf7 legend span::after {
	content: ".";
}

.form-group {
	margin-top: 0.5rem;
	margin-bottom: var(--vspace);
	border-radius: var(--border-radius);
	padding: 20px;
	background: rgba(0,0,0, .07);
}

.form-group .form-field:last-child {
	margin-bottom: 0;
}


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


}

/* Multi-Step (WPCF7CF Pro) */


.wpcf7cf_multistep {
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots {
  display: block;
  margin: var(--vspace) 0;
  margin-top: 2.5rem;
  background: #FFF;
  padding: 20px;
  border-radius: var(--border-radius);
}


.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot { /*step item*/
	display: flex;
	align-items: center;
	text-align: left;
	line-height: 1.3;
	padding: 5px 0;
	border: none;
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.active,
.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.completed {
	border: none;
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot .step-index {
	flex-shrink: 0;
	width: 35px;
	height: 35px;
	line-height: 31px;
	font-size: 16px;
	font-weight: bold;
	border: none;
	margin: 0 10px 0 0;
	color: var(--text-gray);
	background: #FCFAF1;
	background: transparent;
	border: 2px solid rgba(0,0,0, .1);
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.active .step-index {
	background: #FEEA9F;
	color: var(--text-color);
	border-color: #FEEA9F;
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.completed .step-index {
	background: var(--text-color);
	color: #FFF;
}

.wpcf7 .wpcf7cf_steps-dots .step-title {
	font-weight: bold;
	font-size: var(--text-small);
	margin: 0;
	color: var(--text-gray);
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.active .step-title {
	color: var(--text-color);
}

.wpcf7 .wpcf7cf_multistep .wpcf7cf_steps-dots .dot.completed .step-title {
	color: var(--text-color);
}


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

.wpcf7 .wpcf7cf_prev-container,
.wpcf7 .wpcf7cf_next-container {
	position: relative;
}


.wpcf7 .wpcf7cf_step_controls button {
	text-transform: uppercase;
	padding: 1.1rem 2.5rem;
	padding: 1.1rem clamp(1.3rem, 4vw, 2.5rem);
	font-weight: bold;
	font-size: .9rem;
	font-size: clamp(.8rem, 2vw, .9rem);
	color: var(--text-color);
	line-height: 1.3;
	text-align: center;
	display: inline-flex;
	justify-content: center;
	letter-spacing: 0px;
	background: transparent;
	border-radius: 100px;	
	border: 2px solid var(--text-color);
	transition: 200ms;
}

.wpcf7 .wpcf7cf_step_controls button.disabled {
	opacity: 0;
	display: none;
}

.wpcf7 .wpcf7cf_step_controls button:hover {
	background: rgba(0,0,0, .07);
}

/* @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 100px 0;
	background: var(--primary-color);
	font-size: 17px;
	line-height: 1.8;
}

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

.site-footer a:hover {	
	color: var(--secondary-color);
}

.footer-keyvisual-top {
	position: absolute;
	top: 0;
	width: 100%;
	height: 1px;
}

.footer-keyvisual-top img {
	max-width: 33vw;
	transform: translate(-35%,-45%);
	filter: drop-shadow(0 5px 10px rgba(0,0,0, .06));
}

@media screen and (max-width: 1280px) {
	.footer-keyvisual-top img {
		transform: translate(0%,-45%);
	}
}



.footer-grid {
	display: grid;
	grid-template-columns: 35% 1fr 1fr;
	gap: 40px;
}

.footer-grid > * :first-child,
.footer-grid > * {
	margin-top: 0!important;
}


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

.footer-menu li a {
	display: block;
}


.footer-social {
	display: flex;
	padding: 5px 0;
	margin-top: var(--vspace);
}

.footer-social a {
	display: block;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 22px;
	text-align: center;
	background: rgba(255,255,255,1);
	margin: 0 15px 0 0;
}

.footer-social a:hover {
	color: var(--text-color);
	background: rgba(255,255,255,.5);
}


.footer-social a .icon-instagram {
	font-size: 27px;
}


.footer-menu-legal {
	display: flex;
	gap: 30px;
	margin-top: var(--vspace);
}

.footer-menu-legal a {
	display: block;
	opacity: .6;
}

.footer-menu-legal a:hover {
	opacity: 1;
}


.footer-keyvisual-bg-wrap {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.footer-keyvisual-bg {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 800px;
	height: 800px;
	transform: translate(45%,45%);
	background: transparent url(images/keyvisual-blume-white-transp.svg) no-repeat center;
	background-size: contain;
	opacity: .5;
}


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

	.footer-grid {
	grid-template-columns: 1fr 1fr;
	}
	
	.footer-contact {
		grid-column: 1/-1;
	}

}

@media screen and (max-width: 600px) {
	.footer-grid {
		grid-template-columns: 1fr;
		gap: var(--vspace);
	}
	
	.footer-menu-legal {
		flex-direction: column;
		gap: 0;
	}

}





/* Scroll to top button*/

.scrolltopbtn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	height: 50px;
	width: 50px;
	line-height: 48px;
	font-size: 1.3rem;
	text-align: center;
	color: #FFF;
	background: rgba(0,0,0, .2);
	border-radius: 100%;
	transition: 300ms;
	transform: translateY(100%);
	opacity: 0;
	z-index: 2;
	
	
	background: transparent;
	color: rgba(0,0,0, .4);
	border: 1px solid rgba(0,0,0, .3);

}

.scrolltopbtn.active:hover {
	color: rgba(0,0,0, .6);
	border-color: rgba(0,0,0, .6);
}


.scrolltopbtn.active {
	transform: translateY(0);
	opacity: 1;
}



/* @end */



/* @group ECHT (Template template-azubi-landingpage) */

/* ECHT
--------------------------------------------------------------------------------- */


/* Template: Azubi Landing Page */

.azubilp {
	font-size: 18px;
	 --section-padding: 120px;
}

.azubilp .inner {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}


.azubilp #content {
	margin: 0;
	padding: 0;
}

.azubilp-section-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-wrap: wrap;
	background: #FFD53F;
	color: #A71681;
	padding: 0 0 100px 0;
	padding: 0 0 var(--section-padding) 0;
	min-height: 100vh;
	overflow: hidden;
}

.azubilp-section-hero .swiper-slide img {
	opacity: 0;
	transition: 1000ms;
}

.azubilp-section-hero .swiper-slide-active img {
	opacity: 1;
}


.azubilp-hero-bg-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: .5;
}

.azubilp-hero-bg-slider img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}


.azubilp-section-hero .inner {
}

.azubilp-hero-slider {
	padding: 50px 0 0 0 ;
	margin: 0 0 4rem 0;
}


.azubilp-hero-slider .swiper {
}

.azubilp-hero-slider img {
	display: block;
	margin-left: -8px;
	width: 100%;
}

.azubilp-hero-content {
	color: #A71681;
	text-transform: uppercase;
	font-size: 2.0rem;
	line-height: 1.35;
	margin: 0 0 70px 0;
	max-width: calc(100vw - 40px);
}

a.azubilp-btn {
	display: inline-block;
	background: #A71681;
	color: #FFF;
	font-weight: bold;
	text-transform: uppercase;
	padding: 1rem 2.5rem;
	border-radius: 50px;
	letter-spacing: .5px;
	transition: all 350ms ease;
}

a.azubilp-btn:hover {
	background: #FFF;
	color: #A71681;
	text-decoration: none;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.azubilp-section-application {
	background: #FCF7E7;
	padding: 100px 0;
	padding: var(--section-padding) 0;
}

.azubilp-section-application .inner {
	max-width: 820px;
}


.azubilp h1 {
	margin: 0;
}

.azubilp h3 {
	font-size: 1.3rem;
	margin: 0 0 10px 0;
	text-transform: uppercase;
}


.azubilp form {
	margin: 3rem 0 0 0;
}

.azubilp input[type=text],
.azubilp input[type=email],
.azubilp input[type=tel] {
	width: 100%;
	max-width: 100%;
	font-size: 1.0rem;
	padding: 0.9rem;
	border-width: 2px;
	border-color: #FFD53F;
	border-color: rgba(0,0,0, .1);
	box-shadow: 0px 5px 20px -5px rgba(0,0,0, .02);
}

.azubilp input:focus {
	border-color: #FFD53F;
	box-shadow: 0px 5px 20px -5px rgba(0,0,0, .1);
}

.azubilp input.wpcf7-not-valid {
	border-color: RED;
}

.azubilp .form-field--datenschutz {
	margin-top: 10px;
}

.azubilp form h4 {
	display: block;
	font-size: 1.0rem;
	margin: var(--vspace) 0;
}


.azubilp form h4 span {
	margin: 0;
	float: none;
	display: inline;
	color: #A71681;
}

.azubilp .pflichtfeld-hinweis {
	display: none;
}

.azubilp .submit {
	margin: 0;
	font-weight: bold;
}

.azubilp .submit .wpcf7-submit {
	display: inline-block;
	background: #A71681;
	color: #FFF;
	font-weight: bold;
	text-transform: uppercase;
	padding: 1.3rem 2rem;
	border-radius: 50px;
	font-size: 1.0rem;
	line-height: 1;
	border: none;
}

.azubilp .submit .wpcf7-submit:hover {
	background: #FFD53F;
	color: #A71681;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}


.azubilp .wpcf7-mail-sent-ok {
	border: none;
	padding: 3rem 2rem;
	font-size: 1.5rem;
	line-height: 160%;
	text-align: center;
	margin-top: 0;
	box-shadow: 0px 10px 30px -5px rgba(1,1,1, .1);
}



.azubilp #footer {
	font-size: 0.85em;
	padding: 80px 0;
	padding: var(--section-padding) 0;
	background: #FFD53F;
}

.azubilp #footer .inner {
	padding-top: 0;
	padding-bottom: 0;
}

.azubilp .footer-logo {
	max-width: 220px;
}

.azubilp .footer-logo img {
	display: block;
	width: 100%;
}

.azubilp .footer-btn {
	font-weight: bold;
	font-size: 1.2rem;
	text-transform: uppercase;
}

.azubilp .footer-menu {

}

.azubilp #footer i[class*=icon]::before {
	margin-left: -0.2rem;
}

.azubilp #footer .footer-menu a {
	text-transform: uppercase;
	color: #555;
	font-size: 0.85em;
	margin: 0 1rem 0 0;
}


@media screen and (max-width: 600px) {
	.azubilp {
		font-size: 18px;
		  --section-padding: 70px;
	}
	
	.azubilp-hero-slider {
		margin-left: -4vw;
		width: 115vw;
	}
	
	.azubilp-hero-content {
		font-size: 1.4rem;
		margin-bottom: 50px;
	}
	
	.azubilp-hero-content br {
		display: none;
	}
	
	
	.azubilp h1 {
		font-size: 2.2rem;
	}
	
	.azubilp form {
		padding: 0;
	}
}


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

/* UTILITIES
--------------------------------------------------------------------------------- */



.my-0 	{	margin-block: 0;}
.my-l 	{	margin-block: var(--vspace-l);}
.my-xl 	{	margin-block: var(--vspace-xl);}
.my-xxl 	{	margin-block: var(--vspace-xxl);}
.my-xxxl {	margin-block: var(--vspace-xxxl);}


.mt-0  { 	margin-top: 0!important; }
.mt-5  { 	margin-top: 5px!important; }
.mt-10 {	margin-top: 10px!important; }
.mt-20  {	margin-top: 20px!important; }
.mt-30  {	margin-top: 30px!important; }
.mt-40  {	margin-top: 40px!important; }
.mt-50  {	margin-top: 50px!important; }
.mt-60  {	margin-top: 60px!important; }
.mt-70  {	margin-top: 70px!important; }
.mt-80  {	margin-top: 80px!important; }
.mt-90  {	margin-top: 90px!important; }
.mt-100  {	margin-top: 100px!important; }
.mt-110  {	margin-top: 110px!important; }
.mt-120  {	margin-top: 120px!important; }
.mt-130  {	margin-top: 130px!important; }
.mt-140  {	margin-top: 140px!important; }
.mt-150  {	margin-top: 150px!important; }


.mb-0  { 	margin-bottom: 0!important; }
.mb-5  { 	margin-bottom: 5px!important; }
.mb-10 {	margin-bottom: 10px!important; }
.mb-20  {	margin-bottom: 20px!important; }
.mb-30  {	margin-bottom: 30px!important; }
.mb-40  {	margin-bottom: 40px!important; }
.mb-50  {	margin-bottom: 50px!important; }
.mb-60  {	margin-bottom: 60px!important; }
.mb-70  {	margin-bottom: 70px!important; }
.mb-80  {	margin-bottom: 80px!important; }
.mb-90  {	margin-bottom: 90px!important; }
.mb-100  {	margin-bottom: 100px!important; }
.mb-110  {	margin-bottom: 110px!important; }
.mb-120  {	margin-bottom: 120px!important; }
.mb-130  {	margin-bottom: 130px!important; }
.mb-140  {	margin-bottom: 140px!important; }
.mb-150  {	margin-bottom: 150px!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
---------------------------------------------------------------------------------*/


/* scroll reveal */

.reveal {
  opacity: 0;
  transform: translate3d(0, 100px, 0);
  transition: opacity 700ms, transform 500ms;
}

.reveal--slow {
  transition: opacity 1000ms, transform 1000ms;
}

.reveal-pending {

}

.reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
    /*prevent old safari flicker*/
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}


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


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

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


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

.fadeIn {
  animation-name: fadeIn;
}


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

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

.fadeInDown {
	animation-name: fadeInDown;
}



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

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

.fadeInUp {
  animation-name: fadeInUp;
}

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