/*
Theme Name: IMMOMIO
Theme URI: https://www.immomio.com
Author: Matthias Klindworth
Author URI: http://www.k-evolution.de
Description: WordPress Template for Immomio
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: immomio
*/

@font-face {
   	font-family: 'source-sans-pro';
    font-style: normal;
    src: url("./fonts/source-sans.ttf") format("truetype");
}
@font-face {
   	font-family: 'source-sans-pro';
    font-style: italic;
    src: url("./fonts/source-sans-italic.ttf") format("truetype");
}

@font-face {
   	font-family: 'source-serif-pro';
    font-style: normal;
    src: url("./fonts/source-serif.ttf") format("truetype");
}
@font-face {
   	font-family: 'source-serif-pro';
    font-style: italic;
    src: url("./fonts/source-serif-italic.ttf") format("truetype");
}

@font-face {
   	font-family: 'source-code';
    font-style: normal;
    src: url("./fonts/source-code.ttf") format("truetype");
}
@font-face {
   	font-family: 'source-code';
    font-style: italic;
    src: url("./fonts/source-code-italic.ttf") format("truetype");
}


:root {
	
	--azure: #3486ef;
	--indigo: #193f70;
	--soft-blue: #d1f0f8;
	--petrol: #0088b0;
	--aqua: #a2eeff;
	--lilac: #5538d7;
	--bright-blue: #8ec3ff;
	--red: #ff6450;
	--anthrazit: #4B5662;
	--light-grey: #E6E8EA;
	
	--container: 1728px;				/* Maximum size of 12-Grid */
	--gap: 28px;						/* Space between Grids */
	--padding: calc(var(--gap) * 4);	/* Padding in special Parts */
	--navigation-height: 85px;			/* Height of Navigation */
	
	--font-primary: "source-sans-pro";
	--font-secondary: "source-serif-pro";
	--font-tertiary: "source-code";
	
	--color-primary: var(--azure);		/* Azure */
	--color-secondary: var(--indigo);	/* Indigo Dye */
	--color-tertiary: var(--red); 			/* Warm Red */
	
	--color-logo-primary: var(--color-secondary);			/* Circle */
	--color-logo-secondary: var(--color-primary);		/* Rectangle */
	--color-logo-light: #FFFFFF;						/* Background Circle */
	--color-sub-navigation: var(--color-secondary);		/* Background of Subnavigation */
	
	--text-primary: var(--indigo);		
	--text-secondary: #7C8592;
	--text-tertiary: var(--anthrazit);
	--text-disable: #CED2D5;
	--text-light: #FFFFFF;
	
	--surface: #FFFFFF;
	--surface-current: var(--light-grey);
	
	--background-light: #F5F8FF;
	--background-medium: #EBF2FF;
	--background-mobile: #FFFFFF;
	
	--border-primary: #CED2D5;
	--border-secondary: var(--light-grey);
	
	--box-shadow: 0px 0px 30px 0px rgba(0,0,0,.1), inset 0 0 5px 0px rgba(0,0,0,.1); /* #F5F5F5 */;	
	
	--grid: [full-width-start] minmax(var(--gap), 1fr)	[content-start]	min((50% - calc(var(--gap) * 2)), calc(var(--container) / 2)) [center-start] 0px [center-end] min((50% - calc(var(--gap) * 2)), calc(var(--container) / 2)) [content-end] minmax(var(--gap), 1fr) [full-width-end];
}

@media(max-width: 1000px) {
	:root {
		--gap: 10px;
	}
}

.content-grid,  header, main, footer {		
	display: grid;
	grid-template-columns: var(--grid);	
}

.content-grid > *,
header > *,
main > *,
footer > * {
	grid-column: content;
	/*border: 1px solid red;*/
}

html {
	scroll-behavior: smooth;
}

html, body, body * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	/*color: var(--text-primary);*/
	font-family: var(--font-primary);
	z-index: 1;
}
body{
	color: var(--text-primary);
}
a{
	color: var(--text-primary);
}
html, body {
	overflow-x: hidden;
	font-size: 24px;
	line-height: 32px;
	font-weight: 400;
	letter-spacing: .75px;
}


/*****************************
	
	Standards
	
*****************************/
/*.container,
.wp-block-group {
	width: 100% !important;
	max-width: var(--container) !important;
	margin: var(--gap) auto !important;
	padding-inline: var(--gap);
}*/

/* Header Hero Picture height */
.vh-50 {
	min-height: 50svh !important;
}
.vh-75 {
	min-height: 75svh !important;
}
.vh-90 {
	min-height: 90svh !important;
}
.vh-100 {
	min-height: 100svh;/*calc(100vh - var(--navigation-height) + 2px) !important;*/
}
.vh-100-nav{
	min-height: calc(100vh - var(--navigation-height) + 2px) !important;
}

/* No Gap */
.no-gap {
	margin: 0 !important;
	gap: 0 !important;
}
.no-margin {
	margin: 0 !important;
}
.margin {
	margin: var(--gap) !important;
}
.no-padding {
	padding: 0 !important;
}
.padding {
	padding: var(--gap) !important;
}
.big-padding {
	padding: calc(var(--gap) * 4) !important;
}
.right-padding {
	padding-right: var(--gap) !important;
}
.left-padding {
	padding-left: var(--gap) !important;
}
.top-padding {
	padding-top: var(--gap) !important;
}
.bottom-padding {
	padding-bottom: var(--gap) !important;
}
.wp-block-media-text.left-padding img {
	width: calc(100% - var(--padding));
	margin-left: var(--padding);
}
.wp-block-media-text.right-padding img {
	width: calc(100% - var(--padding));
	margin-right: var(--padding);
}
.wp-block-media-text.top-padding img {
	height: calc(100% - var(--padding));
	margin-top: var(--padding);
}
.wp-block-media-text.bottom-padding img {
	height: calc(100% - var(--padding));
	margin-bottom: var(--padding);
}

.focus-top,
.focus-top img {
	object-position: top !important;
}
.focus-bottom,
.focus-bottom img {
	object-position: bottom !important;
}
.focus-left,
.focus-left img {
	object-position: left !important;
}
.focus-right,
.focus-right img {
	object-position: right !important;
}

/* When need a spacer */
.wp-block-spacer {
	height: var(--gap) !important;
}
.wp-block-spacer.line-15{
	height: calc(var(--gap)*1.5) !important;
}
.wp-block-spacer.line-20{
	height: calc(var(--gap)*2) !important;
}

.full-width {
	grid-column: full-width;
	display: grid;
	grid-template-columns: var(--grid);
}
.full-width > * {
	grid-column: content;
}

/* Figure */
figure {
	/*margin: 0 !important;*/
	/*padding: 0 !important;*/
}

/* Helping Class and Blockquote */
.padding {
	margin: 0 !important;
	padding: var(--gap) var(--padding) !important;
}
@media (max-width: 1000px) {
	.padding,
	blockquote {
		padding: var(--gap) !important;
	}
}

/* Horizontal Line */
hr {
	height: 0px;
	width: 100%;
	border: none;
	border-top: 1px solid var(--text-light);
}

img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.grad-360 {
	max-width: 1000px;
	margin: var(--gap) auto;
	height: auto;
	aspect-ratio: 2204/1559;
}

/* Cards when only 2 in a row */
.width-66 {
	width: 66%;
	margin: auto;
}
@media (max-width: 1000px) {
	.width-66 {
		width: 100%;
	}
}

/* White Text, also white svgs */
.has-immomio-white-color,
.has-immomio-white-color *,
.has-white-color,
.has-white-color * {
	fill: white;
}

/*****************************
	
	Typo
	
*****************************/
h1, h1 * {
	font-size: .1px;
	line-height: .1px;
	margin: 0 !important;
	padding: 0!important;
}
.has-x-large-font-size, .has-x-large-font-size *,
.h1, .h1 * {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 80px !important;
	line-height: 1.2 !important;
	letter-spacing: 0px;
}
.has-large-font-size, .has-large-font-size *,
h2, h2 *, .h2, .h2 * {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 48px !important;
	line-height: 1.33 !important;
	letter-spacing: .5px;
}
.has-medium-font-size, .has-medium-font-size *,
h3, h3 *, .h3, .h3 * {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 39px !important;
	line-height: 1.4 !important;
	letter-spacing: .5px;
}
.has-small-font-size, .has-small-font-size *,
h4, h4 *, .h4, .h4 * {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 33px !important;
	line-height: 1.33 !important;
	letter-spacing: .25px;
}
h5, h5 *, .h5, .h5 * {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 27px !important;
	line-height: 1.33 !important;
}
h6, h6 *, .h6, .h6 * {
	font-family: var(--font-primary);
	font-weight: 500;
}
.sub-1 {
	font-family: var(--font-primary);
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 17px !important;
	letter-spacing: .4px;
	text-transform: uppercase;
}
.sub-2 {
	font-family: var(--font-primary);
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 17px !important;
	letter-spacing: .4px;
	text-transform: uppercase;
}
.body-small {
	font-size: 20px;
	line-height: 30px;
	font-weight: 400;
	letter-spacing: .25px;
	hyphens: auto;
}

p {
	margin-top: var(--gap);
	text-align: justify;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto; 
}

strong {
	font-weight: bold;
}
.has-x-large-font-size > strong,
.has-large-font-size > strong,
strong.has-x-large-font-size,
strong.has-large-font-size {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 26px;
	line-height: 28px;
	letter-spacing: .75px;
}
.has-medium-font-size > strong,
strong.has-medium-font-size {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 18px;
	line-height: 21px;
	letter-spacing: .25px;
}
.has-small-font-size > strong,
strong.has-small-font-size {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 12px;
	line-height: 21px;
	letter-spacing: .25px;
}

/*
blockquote * {
	/*font-family: var(--font-tertiary);
	font-size: 48px !important;
	line-height: 64px !important;
	font-weight: 500;
	letter-spacing: 1.5px;
}*/

.wp-block-media-text__content,
.wp-block-media-text__content * {
	/*font-size: 20px;*/
	/*line-height: 28px;*/
	font-weight: 400;
	letter-spacing: .75px;
}




/*****************************
	
	Button
	
*****************************/
.articles > nav > a,
.wp-block-button *,
.btn,
button,
input[type=button],
submit {
	font-family: var(--font-primary);
	font-weight: 500 !important;
	font-size: 24px;
	line-height: 30px;
	letter-spacing: 0;
	margin: var(--gap) auto !important;
	padding: calc(var(--gap) / 2) var(--gap) !important;
	border-radius: 9999px !important;
}
main .wp-block-button * {
	/*background-color: var(--color-tertiary);*/
}
 
main .wp-block-button.is-style-outline:hover .has-immomio-azure-color {	
	background-color: var(--azure);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-indigo-dye-color {	
	background-color: var(--indigo);
	color: var(--text-light) !important;
	border-color: transparent !important;
}

main .wp-block-button.is-style-outline:hover .has-immomio-soft-blue-color {	
	background-color: var(--soft-blue);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-petrol-color {	
	background-color: var(--petrol);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-aqua-color {	
	background-color: var(--aqua);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-lilac-color {	
	background-color: var(--lilac);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-bright-blue-color {	
	background-color: var(--bright-blue);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-red-color {	
	background-color: var(--red);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-anthrazit-color {	
	background-color: var(--anthrazit);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-light-grey-color {	
	background-color: var(--light-grey);
	color: var(--text-light) !important;
	border-color: transparent !important;
}
main .wp-block-button.is-style-outline:hover .has-immomio-white-color {	
	background-color: var(--light-grey);
	color: var(--text-primary) !important;
	border-color: transparent !important;
}
/* Fill Button Hover Events*/
main .wp-block-button.is-style-fill:hover .has-immomio-aqua-background-color {
	background-color: var(--text-light);
	color: var(--aqua) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-azure-background-color {
	background-color: var(--text-light);
	color: var(--azure) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-indigo-dye-background-color {
	background-color: var(--text-light);
	color: var(--indigo) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-soft-blue-background-color{
	background-color: var(--text-light);
	color: var(--soft-blue) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-petrol-background-color {
	background-color: var(--text-light);
	color: var(--petrol) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-lilac-background-color {
	background-color: var(--text-light);
	color: var(--lilac) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-bright-blue-background-color {
	background-color: var(--text-light);
	color: var(--bright-blue) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-warm-red-background-color {
	background-color: var(--text-light);
	color: var(--red) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-anthrazit-background-color {
	background-color: var(--text-light);
	color: var(--anthrazit) !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-black-background-color {
	background-color: var(--text-light);
	color: #000 !important;
}
main .wp-block-button.is-style-fill:hover .has-immomio-light-background-color{
	background-color: #000;
	color: var(--light-grey) !important;
}

/*****************************
	
	Header & Navigation
	
*****************************/
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: var(--surface);
	z-index: 9999;
}
header > div {
	width: 100%;
	height: var(--navigation-height);
	max-width: var(--container);
	margin: auto;
	display: flex;
	align-items: center;
	gap: var(--gap);
	/*position: relative;*/
}
body.admin-bar header {
	top: 30px;
}

header * {
	font-family: var(--font-primary);
	font-size: 24px;
	line-height: auto;
	letter-spacing: 0px;
	color: var(--color-secondary);
}

header > div > * {
	display: flex;
}
header > div > nav {
	flex: 1;
	align-content: flex-end;
	align-items: flex-end;
	justify-content: flex-end;
}
header nav ul {
	list-style: none;
}
header nav a {
	height: var(--navigation-height);
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: flex-end;
}
header a {
	text-decoration: none;
	white-space: nowrap;
}

.current-menu-ancestor > a,
.current-menu-parent > a,
.current-menu-item > a {
	/*border: 1px solid red;*/
}

/* Area Navigation */
header #area_navigation > ul {
	position: relative;
	display: flex;
	justify-content: flex-end;
	gap: var(--gap);
	flex: 1;
	padding-inline: var(--gap);
}
header #area_navigation > ul > li.menu-item-has-children {
	margin-right: 1em;
}
header #area_navigation > ul > li.menu-item-has-children > a {
	position: relative;
}
header #area_navigation > ul > li.menu-item-has-children > a:before {
	position: absolute;
	top: calc(var(--navigation-height) - 8px);
	left: calc(50% - 8px);
	content: '';
	background: var(--color-sub-navigation);
	width: 34px;
	height: 34px;
	transform: rotate(45deg);
	display: none;
}
header #area_navigation > ul > li.menu-item-has-children-active > a:before {
	display: block;	
}
header #area_navigation > ul > li.menu-item-has-children > a:after {
	position: absolute;
	content: '';
	background: transparent;
	border: 1px solid var(--color-secondary);
	border-left: none;
	border-top: none;
	aspect-ratio: 1 !important;
	width: .5em;
	height: .5em;
	transform: rotate(45deg) translateX(.5em) translateY(-.75em);
}
header #area_navigation > ul > li.menu-item-has-children-active > a:after {
	border: 1px solid var(--color-secondary);
	border-right: none;
	border-bottom: none;
	transform: rotate(45deg) translateX(calc(.5em + 6px)) translateY(calc(-.75em + 2px));
}
header #area_navigation > ul > li > ul * {
	color: var(--text-light);
}
header #area_navigation > ul > li > ul {
	position: absolute;
	top: calc(var(--navigation-height) - 0px);
	left: 0px;
	right: 0px;
	background: var(--color-sub-navigation);
	border-radius: var(--gap);
	display: none;
	gap: 0 var(--gap);
	padding: var(--gap) var(--padding);
	/*padding: var(--padding);*/
	z-index: 2;
	flex-wrap: wrap;
	overflow: auto;
	max-height: 100vh;
}
header #area_navigation > ul > li > ul.show {
	display: flex;
}
header #area_navigation > ul > li > ul > li {
	flex-basis: calc(50% - (var(--gap) / 2));
}
@media (max-width: 1600px) {
	header > * {
		grid-column: full-width !important;
	}
	header #area_navigation > ul > li > ul > li {
		flex-basis: calc(50% - (var(--gap) / 2));
	}
	header #logo{
		margin-left: 1rem !important;
	}
}
@media (max-width: 1200px) {
	header #area_navigation > ul > li > ul > li {
		flex-basis: 100%;
	}	
}
@media (max-width: 1150px){
	header > div{
		gap: 14px;
	}
	header #area_navigation > ul{
		gap: 14px;
	}
}

header #area_navigation > ul > li > ul > li > a {
	font-size: var(--gap);
	line-height: calc(var(--gap) * 1.5);
	font-weight: 400;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: flex-start;
	/*border: 1px solid red;*/
	height: 70px;
}
header #area_navigation svg {
	align-self: stretch;
	width: var(--gap);
	height: var(--gap);
	fill: var(--text-light);
	margin: auto calc(var(--gap) / 2) auto 0;
}

/* Logo */
header #logo {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 140px;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
	filter: drop-shadow(0px 0px 25px rgb(0 0 0 / 0.1));
}
header #logo svg:first-child {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	/*-webkit-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);*/
	transform: translateX(105px) translateY(105px) scale(4);
	z-index: 2;
}
header #logo svg:last-child {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	/*-webkit-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);*/
	transform: translateX(10px) translateY(10px) scale(1.3);
}
header #logo .hidden {
	display: none;
}
@media(max-width: 1600px){
	header #logo svg:first-child {
		transform: translateX(80px) translateY(80px) scale(3);
	}
	header #logo{
		margin-left: 1rem !important;
	}
	header #burger_menu{
		margin-right: 1rem !important;
	}
}
@media(max-width: 1400px){
	header #logo svg:first-child {
		transform: translateX(40px) translateY(40px) scale(1.7);
	}
}
@media(max-width: 1300px){
	header #logo svg:first-child {
		transform: translateX(35px) translateY(30px) scale(1.5);
	}
}
@media(max-width: 1200px) {
	header #logo {
		margin-left: var(--gap) !important;
	}
}
@media(max-width: 1200px) {
	header #logo svg {
		transform: translateX(0px) scale(1) !important;
	}
}

/* Login */
#login {
	position: relative;
	cursor: pointer;
	z-index: 10;
}
#login > .btn{
	display: flex;
}
#login > div{
	display: block;
	position: relative;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
	padding: calc(var(--gap) / 4) var(--gap) !important;
	text-transform: uppercase;
}
#login > ul{
	position: absolute;
	top: calc(var(--navigation-height));
	display: none;
	margin-top: 0px;
	flex-direction: column;
	list-style: none;
	gap: 1rem;
	left: 0;
	padding: 1rem .5rem;
	background: #fff;
	border-radius: 28px;
	filter: drop-shadow(0px 0px 25px rgb(0 0 0 / 0.1));
	/*border: 1px solid var(--light-grey);*/
	z-index: 20;
}
#login.show > ul{
	display: flex;
}
#login > ul li{
	flex: 1;
}
#login > ul li a{
	border: none;
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 600;
	color: #000;
	padding: calc(var(--gap) / 4) var(--gap) !important;
}
#login svg {
	margin-right: calc(var(--gap) / 2);
}
@media(max-width: 1350px){
	#login .btn svg{
		display: none;
	}
}
@media(max-width:1200px) {
	#login .btn * {
		font-size: clamp(12px, 4vw, 17px);
	}
}
@media (max-width: 1000px){
	#login > ul{
		top: calc(var(--navigation-height) - .5rem);
	}
	header nav#burger_navigation a{
		height: 100%;
		padding: 1rem 1.5rem;
	}
}

/* Burger Navigation */
header #burger_navigation {
	position: absolute;
	top: 85px;
	left: 0;
	right: 0;
	background: var(--surface);
	display: none;
}
header #burger_navigation.show {
	display: flex;
}
header #burger_navigation > ul {
	width: 100%;
	display: flex;
	gap: var(--padding);
	margin: var(--gap) var(--padding);
}
header #burger_navigation > ul > li {
	flex: 1;
}
header #burger_navigation > ul > li > a {
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--color-primary);
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
}
header #burger_navigation > ul > li li a {
	font-size: 38px;
	line-height: .75 !important;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
}
@media(max-width: 1300px) and (min-width: 1001px){
	header #burger_navigation > ul > li li a {
		font-size: clamp(18px, 5vw, 25px);
	}
	header #area_navigation > ul{
		padding: 0 !important;
	}
}

@media(max-width: 1450px){
	header .menu *{
		font-size: clamp(16px, 4vw, 22px) !important;
	}
	header #area_navigation > ul > li > ul > li > a{
		height: 65px;
	}
}
@media(max-width: 1300px){
	header .menu *{
		font-size: clamp(16px, 4vw, 20px) !important;
	}
	header #area_navigation > ul > li > ul > li > a{
		height: 65px;
	}
}

@media (max-width: 1000px) {
	header {
		position: relative;
	}
	header > div {
		height: auto;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 0;
	}
	header #burger_menu {
		margin-right: var(--gap) !important;
	}
	header #area_navigation > ul {
		flex-direction: column;
		gap: 0;
		padding:  var(--gap) calc(var(--gap) * 2);
		padding-top: calc(var(--gap) * 2);
	}
	header #area_navigation > ul > li{
		margin-left: 1rem;
	}
	header #area_navigation a {
		justify-content: flex-start;
		height: auto;
		padding-bottom: var(--gap);
	}
	header #area_navigation * {
		color: var(--text-light);
	}
	header #area_navigation > ul > li > ul {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		display: flex;
		flex-direction: column;
		background: transparent;
		padding: 0;
		gap: 0;
		margin-left: var(--gap);
		border-radius: 0px !important;
	}
	header #area_navigation > ul > li > ul * {
		color: inherit;
	}
	header #burger_navigation > ul > li > ul,
	header #area_navigation > ul > li > ul ul {
		margin-left: var(--gap);
	}
	header #area_navigation > ul > li > ul > li > a {
		font-size: 20px;
		text-transform: none;
		font-weight: inherit;
	}
	header #area_navigation > ul li.menu-item-has-children > a::before{
		display: block;
		content: "";
		position: absolute;
		left: -1.25em;
		top: calc(50% - 14px);
		height: .75em;
		width: .75em;
		color: white;
		transform: rotate(0deg);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 18 25'%3E%3Cpath d='M18,12.5l-2.6-2.6l0,0L5.2,0H0l12.5,12.5L0,25h5.2l9.8-9.8l0,0L18,12.5L18,12.5L18,12.5z'%3E%3C/path%3E%3C/svg%3E");
		background-repeat: no-repeat no-repeat;
		background-position: center center;
		background-size: contain;
		transition: transform 500ms ease;
	}
	header #area_navigation > ul li.menu-item-has-children-active > a::before{
		transform: rotate(90deg);
	}
	header #area_navigation > ul  li.menu-item-has-children > a::after {
		display: none;
	}
	header #area_navigation > ul > li > ul > li > a{
		height: auto;
		padding: var(--gap);
	}
	header #area_navigation > ul li.menu-item-has-children{
		margin-bottom: var(--gap);
	}
	
	header #logo {
		order: 1;
		z-index: 3;
		padding: .5rem !important;
	}
	/*header #logo svg {
		position: fixed;
	}*/
	header #login {
		order: 2;
	}
	header #login .btn *{
		font-size: 20px;
	}
	#login > div{
		padding: .4rem .8rem !important
	}
	header #burger_menu {
		order: 3;
	}
	header #area_navigation {
		background: var(--color-sub-navigation);
		order: 4;
		flex-basis: 100%;
		z-index: 2;
	}
	header #burger_navigation {
		z-index: 4;
	}
	header #burger_navigation > ul {
		flex-direction: column;
		gap: var(--gap);
		margin: var(--gap);
	}
	main {
		margin-top: 0 !important;
	}
	header #area_navigation > ul > li a > svg{
		display: none;
	}
	header #area_navigation .sub-menu{
		display: none;
	}
	header #area_navigation li.active > .sub-menu{
		display: flex;
	}
}


/*****************************
	
	Main
	
*****************************/
main {
	margin-top: calc(var(--navigation-height) - 2px);
	/*min-height: 85vh;*/
}

main > * {
	margin-bottom: var(--gap);
}

main > .wp-block-group:only-of-type {
	padding-top: var(--gap);
	/*padding-top: var(--padding);
	border: 1px solid blue;*/
}

/* News */
/*
#articles {
	display: grid;
	grid-auto-flow: dense;
	gap: var(--gap);
	grid-template-columns: repeat(4, 1fr);
	/*grid-template-columns: repeat(auto-fit, minmax( min(100%, 300px), 1fr));*/
	/*grid-auto-rows: 300px auto auto auto;*/
	/*container-type: inline-size;
}
#articles article {
	grid-row: span 4;
	display: grid;
	
	grid-template-rows: subgrid;
	/*gap: var(--gap);*/
	/*overflow: hidden;
	border-radius: var(--gap);
}
#articles article > *:not(figure) {
	display: inline-grid;
	padding-inline: var(--gap);
}

#articles article > :last-child:not(figure) {
	padding-block-end: var(--gap);
}

#articles article figure {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
*/
.articles {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
.articles > nav {
	flex-basis: 100% !important;
	display: flex;
	gap: var(--gap);
	overflow-x: auto;
}
.articles > nav > a {
	text-align: center;
	flex: 1;
	background-color: var(--azure);
	color: white;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.articles article {
	flex-basis: calc(25% - calc(var(--gap) * .75));
	border-radius: var(--gap);
	overflow: hidden;
	position: relative;
}
.articles article a{
	text-decoration: none;
}
.articles > nav > a.select{
	background-color: var(--indigo);
}
.articles article > *:not(figure) {
	display: block !important;
	padding: calc(var(--gap) / 4) var(--gap);
}
.articles article > :last-child:not(figure) {
	padding-block-end: calc(var(--gap) * 2);
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.articles article figure {
	aspect-ratio: 4 / 3;
	width: 100%;
	overflow: hidden;
	padding-block-end: calc(var(--gap) * 2);
}
.articles article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.articles article figure figcaption {
	position: absolute;
	top: var(--gap);
	left: var(--gap);
	aspect-ratio: 1 !important;
	/*height: calc(var(--gap) * 4);*/
	height: 95px;
	border-radius: 50%;
	background: black;
	overflow: hidden;
}
.articles article figure figcaption time {
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-content: center;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: var(--indigo) !important;
	background: #fff;
}
.articles article figure figcaption time span {
	display: block;
	font-size: 35px;
	color: var(--indigo) !important;
}
.articles article h3 {
	/*font-size: 18px !important;
	line-height: 23px !important;*/
	hyphens: auto;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.articles article > span {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600;
	margin-top: var(--gap);
}
.articles article > div > * {
	display: block;
}
.articles article > div > time {
	display: inline-block;
	padding: .25em .75em;
	border-radius: 99999px;
	background: rgba(255,255,255,.3);
	font-size: 16px;
	margin-top: .5rem;
}
@media( max-width: 1200px) {
	.articles article {
		flex-basis: calc(50% - calc(var(--gap) * .75));
	}
}
@media( max-width: 900px) {
	.articles article {
		flex-basis: calc(100% - calc(var(--gap) * .75));
	}
}



/*****************************
	
	Footer
	
*****************************/
footer {
	padding: var(--gap) 0;
}
footer, 
footer * {
	background-color: var(--text-tertiary);
	color: var(--text-light);
}
footer > * {
	padding: var(--gap) 0;
	display: flex;
	gap: calc(var(--gap) * 2) var(--gap);
}
footer > * > * {
	width: 100%;
	flex: 1;
}
footer > * > *:first-child {
	flex: 3
}
footer > * > *:last-child{
	flex: 2;
}

footer h2 {
	font-size: 35px !important;
	line-height: 40px;
	margin-top: -15px;
}

footer h3, footer h4.h5 {
	margin-bottom: 15px;
	font-size: 24px !important;
}
footer .wp-element-button{
	margin: 15px 0 !important;
}
footer .menu,
footer .menu * {
	list-style: none;
	text-decoration: none;
	font-family: var(--font-primary);
	font-size: 17px;
	line-height: 1.33 !important;
	font-weight: 400;
	/*letter-spacing: 1px;*/
}
footer .menu li {
	margin-top: calc(var(--gap) / 2);
}

footer p {
	margin-top: 0 !important;
}

footer > div:last-child {
	display: flex;
	gap: var(--gap);
	align-content: center;
	align-items: center;
	justify-content: center;
}
footer > div:last-child > * {
	flex: 0;
	white-space: nowrap;
}
footer > div:last-child > *:where(hr) {
	flex: 1;	
}
footer .wp-block-button__link {
	padding: calc(var(--gap) / 4) var(--gap) !important;
}
@media (max-width: 1200px) {
	footer h2 {
		font-size: clamp(22px, 5vw, 35px) !important;
		line-height: 40px;
		margin-top: -15px;
	}
	footer .menu,
	footer .menu * {
		list-style: none;
		text-decoration: none;
		font-family: var(--font-primary);
		font-size: clamp(14px, 2vw, 18px) !important;
		/*line-height: 24px;
        font-weight: 400;
        letter-spacing: 1px;*/
	}
	p{
		text-align: start;
	}
	footer .wp-block-button *{
		font-size: clamp(16px, 2vw, 20px) !important;
	}
	footer :where(.wp-block-columns.is-layout-flex){

	}
}
@media (max-width: 1000px) {
	footer > div:first-child {
		flex-wrap: wrap;
	}	
	footer > *:first-child > * {
		flex: 0 !important;
		flex-basis: calc(33% - var(--gap)) !important;
	}
	footer > *:first-child > *:first-child,
	footer > *:first-child > *:last-child{
		flex-basis: 100% !important;
	}
}
@media (max-width: 650px) {
	footer > *:first-child > * {
		/*flex-basis: 100% !important;*/
	}
}
@media (max-width: 450px){
	footer > div:nth-child(2) {
		flex-wrap: wrap;
	}
	footer > div:nth-child(2) hr{
		display: none;
	}

}

/* Flags */
/*
.wpml-ls {
	flex: 0;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
}
.wpml-ls ul {
	display: flex;
	gap: calc(var(--gap) / 2) !important;
}
.wpml-ls-link {
	min-width: 30px !important;
	min-height: 30px !important;
	aspect-ratio: 1 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wpml-ls-flag {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}
*/
#language-switcher {
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	gap: calc(var(--gap) / 4);
}
#language-switcher * {
	padding: 0 !important;
}
#language-switcher svg {
	height: 1rem;
	color: white;
	fill: white;
}
#language-switcher li a:after {
	content: "|";
	margin: 0 5px;
	font-weight: 500;
}
#language-switcher li:last-child a:after {
	content: "";
}
#language-switcher .wpml-ls-current-language span {
	text-decoration: underline;
}


/* Quadratische Bilder */
.p1v1 .uagb-tm__image,
.p1v1 figure {
	aspect-ratio: 1 !important;
	overflow: hidden;
	min-height: 10vw;
}
.p1v1 .uagb-tm__image img,
.p1v1 figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1/1;
}
@media (max-width: 1200px){
	.p1v1 .uagb-tm__image,
	.p1v1 figure {
		aspect-ratio: initial !important;
	}
}
@media (max-width: 599px) {
	.p1v1 .uagb-tm__image, .p1v1 figure {
		aspect-ratio: 1/1;
	}
}

.big-gap {
	gap: calc(var(--gap) * 4) !important;	
}




/* Azure */
.has-immomio-azure-color * {
	color: var(--azure);
}
.has-immomio-azure-color {
	color: var(--azure) !important;
}
.article-news,
.has-immomio-azure-color *:after,
.has-immomio-azure-background-color,
.has-immomio-azure-background-color *,
.info-background-azure.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc {
	background-color: var(--azure);
}

/* Indigo */
.has-immomio-indigo-dye-color * {
	color: var(--indigo);
}
.has-immomio-indigo-dye-color {
	color: var(--indigo) !important;
}
.article-pressemitteilung,
.has-immomio-indigo-dye-color *:after,
.has-immomio-indigo-dye-background-color,
.has-immomio-indigo-dye-background-color *,
.info-background-indigo-dye.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--indigo);
}

/* Soft Blue */
.has-immomio-soft-blue-color * {
	color: var(--soft-blue);
}
.has-immomio-soft-blue-color {
	color: var(--soft-blue) !important;
}
.article-whitepaper,
.has-immomio-soft-blue-color *:after,
.has-immomio-soft-blue-background-color,
.has-immomio-soft-blue-background-color *,
.info-background-soft-blue.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--soft-blue);
}

/* Petrol */
.has-immomio-petrol-color * {
	color: var(--petrol);
}
.has-immomio-petrol-color {
	color: var(--petrol) !important;
}
.article-veranstaltung,
.has-immomio-petrol-color *:after,
.has-immomio-petrol-background-color,
.has-immomio-petrol-background-color *,
.info-background-petrol.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--petrol)
}

/* Aqua */
.has-immomio-aqua-color * {
	color: var(--aqua);
}
.has-immomio-aqua-color {
	color: var(--aqua) !important;
}
.article-kundenstory,
.has-immomio-aqua-color *:after,
.has-immomio-aqua-background-color,
.has-immomio-aqua-background-color *,
.info-background-aqua.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--aqua);
}

/* Lilac */
.has-immomio-lilac-color * {
	color: var(--lilac);
}
.has-immomio-lilac-color {
	color: var(--lilac) !important;
}
.article-webinar,
.has-immomio-lilac-color *:after,
.has-immomio-lilac-background-color,
.has-immomio-lilac-background-color *,
.info-background-lilac.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--lilac);
}

/* Bright Blue */
.has-immomio-bright-blue-color * {
	color: var(--bright-blue);
}
.has-immomio-bright-blue-color {
	color: var(--bright-blue) !important;
}
.article-mieternews,
.article-mieter,
.has-immomio-bright-blue-color *:after,
.has-immomio-bright-blue-background-color,
.has-immomio-bright-blue-background-color *,
.info-background-bright-blue.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--bright-blue);
}

/* Red */
.has-immomio-warm-red-color * {
	color: var(--red);
}
.has-immomio-warm-red-color {
	color: var(--red) !important;
}
.has-immomio-warm-red-color *:after,
.has-immomio-warm-red-background-color,
.has-immomio-warm-red-background-color *,
.info-background-warm-red.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--red);
}

/* White */
.article-news *,
.article-pressemitteilung *,
.article-veranstaltung *,
.article-webinar *,
.article-mieter *,
.has-immomio-white-color {
	color: #ffffff !important;
}
.has-immomio-white-color *:after,
.has-immomio-white-background-color,
.has-immomio-white-background-color *,
.info-background-white.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: #ffffff;
}

/* Black */
.has-immomio-black-color * {
	color: #000000;
}
.has-immomio-black-color {
	color: #000000 !important;
}
.has-immomio-black-color *:after,
.has-immomio-black-background-color,
.has-immomio-black-background-color *,
.info-background-black.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: #000000;
}

/* Anthrazit */
.has-immomio-anthrazit-color * {
	color: var(--anthrazit);
}
.has-immomio-anthrazit-color {
	color: var(--anthrazit) !important;
}
.has-immomio-anthrazit-color *:after,
.has-immomio-anthrazit-background-color,
.has-immomio-anthrazit-background-color *,
.info-background-anthrazit.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--anthrazit);
}

/* Light Grey */
.has-immomio-light-color * {
	color: var(--light-grey);
}
.has-immomio-light-color {
	color: var(--light-grey) !important;
}
.has-immomio-light-color *:after,
.has-immomio-light-background-color,
.has-immomio-light-background-color *,
.info-background-light.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--light-grey);
}

/* Petrol */
.has-immomio-petrol-background-color,
.has-immomio-petrol-background-color *,
.info-background-petrol.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--petrol);
}

/* Aqua */
.info-background-aqua.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--aqua);
}

/* SoftBlue */
.info-background-soft-blue.wp-block-uagb-info-box .uagb-ifb-content .uagb-ifb-desc{
	background-color: var(--soft-blue);
}

blockquote p{
	margin-top: 0;
}
/* Carousel*/
.nav-button__next, .nav-button__prev{
	padding: 15px !important;
	margin: 0 1% !important;
}
.wp-block-coblocks-gallery-carousel-page-dot-pagination-container{
	position: static;
}
.wp-block-coblocks-gallery-carousel-page-dot-pagination-container>.wp-block-coblocks-gallery-carousel-page-dot-wrapper>.wp-block-coblocks-gallery-carousel-page-dot-pagination {
	background: #D9D9D9 !important;
}
.wp-block-coblocks-gallery-carousel, .wp-block-coblocks-gallery-carousel .coblocks-gallery{
	/*overflow: unset !important;*/
}
.swiper-container{
	/*overflow: unset !important;*/
}

#burger_menu:hover{
	cursor: pointer;
}

/* Animierte Logos */
.logo-box figure img{
	aspect-ratio: 1 / 1;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
	filter: grayscale(1);
	padding: var(--gap);
	transition: all .3s;
}
.logo-box figure{
	background: #D9D9D9;
	border-radius: 17px;
	transition: all .3s;
	flex-grow: 0 !important;
}
.logo-box figure:hover{
	filter: drop-shadow(0px 0px 25px rgb(0 0 0 / 0.1));
	background: #fff;
}
.logo-box figure:hover img{
	filter: grayscale(0);
}

.swiper-slide figcaption{
	background: rgba(75, 86, 98, 0.5);
	opacity: 0;
	transform: translateY(100%);
	transition: all .3s;
}
.swiper-slide:hover figcaption{
	background: rgba(75, 86, 98, 0.5);
	opacity: 1;
	transform: translateY(0%);
}
.wp-block-coblocks-gallery-carousel-page-dot-pagination-container>.wp-block-coblocks-gallery-carousel-page-dot-wrapper>.wp-block-coblocks-gallery-carousel-page-dot-pagination{
	padding: 10px 10px !important;
}
/* Kookietool */
.kekt-vendor-iframe-wall{
	display: inline-block !important;
}
.wp-block-pullquote{
	padding: 1rem 0 !important;
}
@media screen and (max-width: 1300px) {
	.footer-contact-note > div:nth-child(2) h4 {
		font-size: 25px !important;
	}
	.footer-contact-note > div:nth-child(2) a{
		font-size: 18px;
	}
}
@media screen and (max-width: 1000px) {
	.footer-contact-note > div:nth-child(2){
		padding: 10px 20px;
	}
	.footer-contact-note > div:nth-child(2) h4 {
		font-size: 20px !important;
	}
	.footer-contact-note > div:nth-child(2) a{
		font-size: 16px;
	}
}
@media screen and (max-width: 781px) {
	.footer-contact-note > div:nth-child(2){
		padding: 10px 20px;
		margin: 20px 0;
	}
	.footer-contact-note > div:nth-child(2) h4 {
		font-size: 24px !important;
	}
	.footer-contact-note > div:nth-child(2) a{
		font-size: 18px;
	}
	.vh-90:has(.wp-block-column){
		min-height: inherit !important;
		height: fit-content;
	}
}
main:has(.post-password-form){
	padding-top: 250px;
}
@media screen and (max-width: 1000px) {
	main:has(.post-password-form){
		padding-top: 100px;
	}
}
main:has(.post-password-form) h1{
	font-size: 30px;
	line-height: 1;
}
main:has(.post-password-form) input[type="password"]{
	font-size: 20px;
	padding: .4rem 1.2rem;
	margin-bottom: var(--gap);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 1px solid var(--indigo);
	border-radius: 40px;
	background-color: var(--bright-blue);
}
main:has(.post-password-form) input[type="submit"]{
	margin-left: 30px;
	width: fit-content;
	font-size: clamp(18px, 1.8vw, 20px);
	font-weight: 600;
	border-radius: 40px;
	color: #fff;
	padding: .4rem 1.2rem;
	background-color: var(--azure);
	border: none;
	cursor: pointer;
}