/*
 * Theme Name: Pragsattel Realestate
 * Author: Felicitas Horn
 * Version: 999
 * */

@font-face {
  font-family: 'Mansory';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('./fonts/Mansory-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/Mansory-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Mansory';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('./fonts/Mansory-Medium.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/Mansory-Medium.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

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

@font-face {
  font-family: 'Mansory';
  font-style: normal;
  font-weight: 900;
  src: local(''),
       url('./fonts/Mansory-Bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/Mansory-Bold.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

:root {
  --yellow: #e8ff7c;
  --grey: #f1f1f1;
  --blue: #405eda;
}





html, body {
  margin:0;
  padding:0;
  background:#fff;
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  font-family: sofia-pro, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04px;
  color: var(--blue);
}
svg *[font-family*="Sofia Pro"] {
	font-family: sofia-pro, sans-serif !important;
}

#wrapper,
button, input[type="submit"],
select, option,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  font-family: sofia-pro, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04px;
  color: var(--blue);
}
select, option,
input[type="text"],
input[type="email"],
textarea {
  font-family: sofia-pro, sans-serif !important;
}

* {
  box-sizing: border-box;
  outline:0;
}
ul, ul li {
  list-style-type: none;
  margin: 0;
  padding:0;
}
button, input[type="submit"], select {
  -webkit-appearance: none;
  border-radius:0; margin:0;border:0;
}
button::-moz-focus-inner {
  border: 0;
}

blockquote,
figure,
iframe,
svg,
img {
    display: block;
    max-width:100%;
	width:100%;
    height: auto;
	margin:0;padding:0;
	text-indent:0;
}
iframe {
  border:0;
}
iframe,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin:0;padding:0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight:300;
}


.fliesstext {
    hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
}
.fliesstext *.hl-mansory,
.fliesstext h1,
.fliesstext h2,
.fliesstext h3,
.fliesstext h4,
.fliesstext h5,
.fliesstext h6 {
  font-family: Mansory, serif;
  font-size: 30px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: -1.3px;
}
.fliesstext *.hl-mansory + p,
.fliesstext h1 + p,
.fliesstext h2 + p,
.fliesstext h3 + p,
.fliesstext h4 + p,
.fliesstext h5 + p,
.fliesstext h6 + p {
	margin-top: 14px !important;
}

.fliesstext *.hl-sofia {
  font-family: sofia-pro, sans-serif;
  font-size: 31px;
  font-weight: bold;
  line-height: 0.94;
  letter-spacing: normal;
}
section.quote .fliesstext *.hl-sofia {
	font-weight: 600;
  line-height: 1.13;
  letter-spacing: 0.09px;
}
.fliesstext *.hl-sofia + p {
	margin-top: 24px !important;
}
section.kastenliste .fliesstext,
.fliesstext *.hl-sofia-small,
.fliesstext *.hl-sofia-small * {
  font-family: sofia-pro, sans-serif;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: normal;
}
.fliesstext *.hl-sofia-small .cta {
  font-weight: 600 !important;
}

.fliesstext *.hl-quote + table {
	margin-top: 63px !important;
}

/*.element.introtext */ .fliesstext .hl-quote + *.hl-sofia {
	margin-top: 34px !important;
}
.fliesstext p + *.hl-sofia,
.fliesstext table + *.hl-sofia {
	margin-top: 53px !important;
}
.fliesstext tr,
.fliesstext td,
.fliesstext th {
	vertical-align: top;
}
.fliesstext table:not(:first-child),
.fliesstext h1:not(:first-child),
.fliesstext h2:not(:first-child),
.fliesstext h3:not(:first-child),
.fliesstext h4:not(:first-child),
.fliesstext h5:not(:first-child),
.fliesstext h6:not(:first-child),
.fliesstext ul:not(:first-child),
.fliesstext p:not(:first-child) {
    margin-top:20px;
}
.fliesstext table.no-line-top:not(:first-child) {
	margin-top: 30px;
}
.fliesstext p.starts-with-cta:not(:first-child) {
	margin-top:46px;
}
.fliesstext p.starts-with-cta + p.starts-with-cta {
  margin-top: 14px;
}
.fliesstext .hl-sofia + p.starts-with-cta {
  margin-top: 28px !important;
}
.fliesstext .no-margin-top {
    margin-top:0 !important;
}
.fliesstext .small-margin-top {
    margin-top:0.3em !important;
}

strong {
  font-weight: bold;
}
.fliesstext p strong {
  font-weight: 400; /* statt light 300 */
}

input[type="text"],
input[type="tel"],
input[type="email"] {
    border-radius:0;
}

a {
	color: var(--blue);
	text-decoration: none;
}
a:hover {
	color: var(--blue);
	text-decoration: underline;
}
.fliesstext a {
	text-decoration: underline;
}

.menu-toggle {
    display: none;
}

.fliesstext ul li {
	position: relative;
	padding-left: 1em;
}
.fliesstext ul li:before {
	position: absolute;
	display: block;
	content:"–";
	top:0;left:0;
	height: 1ex;
}




label,
select, option,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	background: transparent;
	box-shadow: none;
	display: block;
	width: 100%;
}
select,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	color: var(--blue);
	border: 1px solid #fff;
	border-radius: 0;
	padding: 5px 19px 7px 5px;
	margin-top: 0;
	background:#fff;
    font-size: 18px;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
	color: var(--blue) !important;
	background: var(--yellow) !important;
	border-color: var(--yellow) !important;
}
input[type="text"]:placeholder-shown,
input[type="tel"]:placeholder-shown,
input[type="email"]:placeholder-shown,
textarea:placeholder-shown {
	background: #fff;
	border-color: #fff;
	color: var(--blue);
}
input[type="text"]:not(:placeholder-shown),
input[type="tel"]:not(:placeholder-shown),
input[type="email"]:not(:placeholder-shown),
textarea:not(:placeholder-shown) {
	background: var(--blue);
	border-color: var(--blue);
	color:#fff;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	opacity:0;
}
::-moz-placeholder { /* Firefox 19+ */
  opacity:0;
}
:-ms-input-placeholder { /* IE 10+ */
  opacity:0;
}
:-moz-placeholder { /* Firefox 18- */
  opacity:0;
}
select.wpcf7-not-valid,
input[type="text"].wpcf7-not-valid,
input[type="tel"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: #ff00ff;
}
.dnd-upload-status .dnd-upload-details span.has-error,
.wpcf7-not-valid-tip {
  color: #ff00ff;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.03px;
	margin-top: 3px;
	display:block;
	position: absolute;
}
.dnd-upload-status .dnd-upload-details span.has-error {
	position: relative;
}
#wrapper {
	max-width:100vw;
	/* overflow:hidden; uhhh, dann geht der sticky button nicht mehr sticky */
}
#content {
	max-width:100vw;
	/*overflow:hidden; auf der startseite ragt erstes element aus content raus, daher muss hier visible sein :/. vllt beim wrapper stattdessen? */
}
#layover #content {
  overflow: visible;
  max-width: 920px;
}


/* LOGO */
.logo, .logo img {
	display: block;
	height:auto;
}
.logo a {
	display: block;
}
.logo-width,
.show-header-offen  #header-sticky .logo-width {
	width: 210px;
	transition: width 100ms ease;
}

/* FOOTER */
.header, footer {
	position: relative;
	background: var(--grey);
	padding:0 40px;
}
.header .cont,
footer .cont {
	padding:40px 0;
    position: relative;
	display: flex;
	flex-direction: row;
	justify-content:space-between;
	align-items:center;
}
.header .cont,
footer .cont,
.menu-sticky-cta-container {
	max-width: 100%;
	width: 1360px;
	margin: 0 auto;
}
.menu-sticky-cta-container {
	position: relative;
	width: 1440px;
}
footer #footer-menu {
	flex: 1 0;
	position: relative;
}
footer .menu {
	display: flex;
	flex-direction: row;
	justify-content:center;
	align-items:center;
	position: relative;
	flex-wrap: wrap;
}
footer .menu li {
	margin: 5px 10px;
}
footer a {
  font-family: sofia-pro, sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: normal;
  color: var(--blue);
	transition: all 200ms ease;
}

@media (min-width: 650px) {
	footer .menu li.links,
	footer .menu li.rechts {
		position: absolute;
		left:14.3%;
		margin-left:0;
		margin-right:0;
	}
	footer .menu li.rechts {
		left: auto;
		right:14.3%;
	}
}


/* HEADER */
.header {
    background: #fff;
    z-index:50;
}
header#header {
	background: transparent;
}
header#header,
header#header .cont > .menu-nav {
	pointer-events: none;
}
header#header > .cont > *,
header#header .menu-nav a,
header#header .menu-nav .header-menu-container {
	pointer-events: auto;
}
.header .cont {
    font-family: sofia-pro, sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: center;
    color: var(--blue);
	padding-bottom: 0;
	flex-wrap:wrap;

}


.header nav {
	width:100%;
    position: relative;
    font-size: 18px;
    text-align: left;
	padding-top:40px;

	display: none;
}
body.home .header nav.menu-nav {
	display: block;
}

.header ul.menu {
    display: block;
}
button, input[type="submit"],
a.cta, .cta a {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: normal;
  text-align: center;
	cursor: pointer;
}
button, input[type="submit"],
a.cta, .cta a,
.header ul.menu a {
    display: block;
    color: var(--blue);
    background: var(--yellow);
    padding: 7px 19px 11px 19px;
    transition: all 200ms ease;
	text-decoration: none;
}
a.cta.cta-jobs {
  padding: 16px 19px 20px 19px;
	width: 440px;
	max-width: 100%;
	margin: 0 auto;
}
button:hover, input[type="submit"]:hover,
a.cta:hover, .cta a:hover,
.header ul.menu a:hover {
    background: var(--blue);
    color: var(--yellow);
    text-decoration: none;
}
#layover button, #layover input[type="submit"],
#layover a.cta, #layover .cta a {
    color: var(--blue);
    background: var(--yellow);
}
#layover button:hover, #layover input[type="submit"]:hover,
#layover a.cta:hover, #layover .cta a:hover {
    color: var(--blue);
    background: #fff;
}
a.cta.cta-tight, .cta.cta-tight a {
    display: inline-block;
}

.header ul.menu li:not(:last-child) {
    margin-bottom: 8px;
}
button:disabled, input[type="submit"]:disabled {
	background: #ddd;
	color: #999;
}


#container {
	min-height: calc( 100vh - 282px - 282px );
}


#header-sticky {
	position: fixed;
	top:0;
	left:0;right:0;
	z-index:101;
	border-bottom: 4px solid var(--blue);
	transform: translateY( -110% );
	transition: transform 200ms ease;
}

.admin-bar #header-sticky {
	top:32px;
}
#header-sticky nav {
	display: none;
}
.show-stickynav #header-sticky {
  transform: translateY(0);
  transition: transform 300ms ease;
}
#header-sticky.header .cont {
	padding-bottom: 40px;
}
.header .tag {
  position: relative;
  top: -2px;
}
section.element .restrain > .tag {
	display: none;
}
#header-sticky .logo-width {
  width: 115px;
}
.menu-toggle {
	display: none;
	position: absolute;
	width:20px;
	height:18px;
	border-top: 2px solid var(--blue);
	border-bottom: 2px solid var(--blue);
	left: 18%;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	transition: border-top-color 100ms ease, border-bottom-color 100ms ease 100ms;
}
.menu-toggle:hover{
	border-color: var(--yellow) !important;
}
.menu-toggle:hover:after,
.menu-toggle:hover:before {
	background-color: var(--yellow) !important;
}
#header .menu-toggle {
	width:40px;
	height:34px;
	left:  calc( 210px + 7.5%);
	top: calc( 50% + 20px );
	transform: translateY(-50%);
	border-width: 4px;
}

body:not(.home) #header .menu-toggle,
#header-sticky .menu-toggle {
  display: block;
}
@media (min-width: 1025px) {
	/* mini-mini-stickynav */
	html:not(.show-stickynav) #header-sticky .menu-toggle {
		top: calc( 100% - 8px );
		transform: translateY(-100%);
		left: calc( 10% - 20px );
	}
	#header-sticky {
		transform: translateY( calc( -100% + 40px ) );
		border-color: transparent;
	}
	.at-top #header-sticky {
		transform: translateY( -110% );
	}
	.show-stickynav.show-header-offen.at-top #header-sticky {
 		transform: translateY(0);
	}
	.show-stickynav #header-sticky,
	.show-stickynav.show-header-offen.at-top #header-sticky {
		border-color: var(--blue);
	}
}

section.specials.popup > .close {
	width:20px;
	height:18px;
	text-indent:-1000px;
	overflow:hidden;
}
section.specials.popup > .close:before,
section.specials.popup > .close:after,
.menu-toggle:before,
.menu-toggle:after {
  content:"";
	display: block;
	position: absolute;
	width:100%;
	height:2px;
	background: var(--blue);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 100ms ease 50ms;
}
#header .menu-toggle:after {
	height:4px;
}

section.specials.popup > .close:after {
	transform: translateY(-50%) rotate(45deg);
}
section.specials.popup > .close:before {
	transform: translateY(-50%) rotate(-45deg);
}

.menu-toggle:before {
	opacity:0;
}
header nav.menu-addon {
	display: none;
}
#header-sticky nav,
#header-sticky nav.menu-addon {
	font-size:16px;
	text-align: center;
}
#header-sticky nav.menu-addon {
	display: block;
	position: absolute;
	right: 19.85%;
	top: 50%;
	transform: translateY(-50%);
	padding-top: 0;
	width:210px;
}
#header-sticky.header ul.menu a {
  padding-top: 8px;
  padding-bottom: 12px;
}

.show-header-offen #header-sticky .menu-toggle {
	display: none;
}
.show-header-offen #header-sticky nav.menu-nav {
	display: block;
	position: absolute;
	bottom:0;
	left:-40px;right:-40px;
	width:auto;
	padding-top:0;
	transform: translateY(100%);
	background:#fff;
}
.show-header-offen #header-sticky nav.menu-nav ul.menu {
	display: flex;
	justify-content: space-evenly;
}
.show-header-offen #header-sticky nav.menu-nav ul.menu li {
	flex: 1 1;
	margin: 0 2px;
}
.show-header-offen #header-sticky nav.menu-nav ul.menu li:first-child {
	margin-left:0;
}
.show-header-offen #header-sticky nav.menu-nav ul.menu li:last-child {
	margin-right:0;
}
.show-header-offen #header-sticky nav.menu-nav .logo-width {
	width: auto !important;
}
.show-header-offen #header-sticky ul.menu li:not(:last-child) {
  margin-bottom: 0;
}
.show-header-offen #header-sticky {
	border-bottom:0;
}
#header-sticky nav.menu-nav .header-menu-container {
	position: relative;
	z-index:2;
}

#header-sticky nav.menu-nav:after,
#header-sticky nav.menu-nav:before {
	content:"";
	display: block;
	background:var(--yellow);
	position: absolute;
	left:2px;
	border-right: 6px solid #fff;
	bottom:0;
	height:100%;
	width: calc( ( 100vw - 1360px + 4px ) / 2 ); /* 4px overlap damit keine blitzer */
	transform: translateX(-100%);
	z-index:1;
}
#header-sticky nav.menu-nav:after {
	left:auto;
	right:3px; /* komischer 1px versatz, warum ist der da? */
	border-left: 6px solid #fff;
	border-right:0;
	transform: translateX(100%);
}

/* STICKY CTA */
#sticky-cta {
  position: sticky;
  bottom: 0px;
  height:120px;
	padding-top:40px;
  z-index: 100;
	pointer-events: none;
}
#sticky-cta a {
	pointer-events: auto;
	position: absolute;
	right: 40px;
	top:0px;
	width: 325px;
	max-width: calc( 100vw - 80px );
}


/* REVEAL EFFECTS */
article > section .restrain {
	opacity:0;
	transition: opacity 500ms ease;
}
article > section.is-revealed  .restrain {
	opacity:1;
}
article > section .is-animation,
article > section .grey img {
	opacity:0;
	transform: translateY(50px);
	transition: opacity 500ms ease 0s, transform 500ms ease 0s, filter 100ms ease;
}
article > section.bild-text.opts-zusatzbild .grey.img img {
	transition: opacity 500ms ease 200ms, transform 500ms ease 200ms, filter 100ms ease;
}
article > section.is-revealed .is-animation,
article > section.is-revealed .grey img {
	transform:none;
	opacity:1;
}
section.kasten-cta-kombi .kasten,
section.kastenliste .kasten,
section.slider .slide .kasten {
	position: relative;
}
section.kasten-cta-kombi .kasten:before,
section.kasten-cta-kombi .kasten:after,
section.kastenliste .kasten:before,
section.kastenliste .kasten:after,
section.quote:not(.opts-no-border) .kasten:after,
section.quote:not(.opts-no-border) .kasten:before,
section.slider .slide .kasten:before,
section.slider .slide .kasten:after,
section.bild-text .kasten:before,
section.bild-text .kasten:after {
	content:"";
	display: block;
	position: absolute;
	top:0;left:0;
	right:0;bottom:0;
	z-index:2;
	pointer-events:none;
}


section.bild-text-immo .kasten:after {
    right: -60px;
}
section.bild-text-immo.align-rechts .kasten:after {
    right: 0;
}
section.kasten-cta-kombi .kasten:before,
section.kastenliste .kasten:before,
section.slider .slide .kasten:before,
section.quote:not(.opts-no-border) .kasten:before,
section.bild-text .kasten:before {
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	right: 100%;
	bottom: 100%;
	transition: right 150ms linear, bottom 150ms linear 150ms;
}
section.bild-text-immo.align-rechts .kasten:before {
    left:-60px;
}
section.kasten-cta-kombi.is-revealed .kasten:before,
section.kastenliste .kasten.is-revealed:before,
section.slider .slide .kasten:before,
section.quote.is-revealed:not(.opts-no-border) .kasten:before,
section.bild-text.is-revealed .kasten:before {
	right: 0%;
	bottom: 0%;
	border-color: var(--blue);
}
section.bild-text-immo.is-revealed .kasten:before {
    right: -60px;
}
section.bild-text-immo.align-rechts.is-revealed .kasten:before {
    right: 0;
}
section.kasten-cta-kombi .kasten:after,
section.kastenliste .kasten:after,
section.slider .slide .kasten:after,
section.quote:not(.opts-no-border) .kasten:after,
section.bild-text .kasten:after {
	border-bottom: 4px solid transparent;
	border-left: 4px solid transparent;
	top: 100%;
	left: 100%;
	transition: left 150ms linear 300ms, top 150ms linear 450ms;
}
section.kasten-cta-kombi.is-revealed .kasten:after,
section.kastenliste .kasten.is-revealed:after,
section.slider .slide .kasten:after,
section.quote.is-revealed:not(.opts-no-border) .kasten:after,
section.bild-text.is-revealed .kasten:after {
	top: 0%;
	left: 0%;
	border-color: var(--blue);
}
section.bild-text-immo.align-rechts.is-revealed .kasten:after {
  left: -60px;
}
section.slider .slide .kasten:before,
section.slider .slide .kasten:after {
    left: 60px;
    top: 60px;
	border-color: var(--blue);
}




/* LAYOVER */
.show-inline-popup,
.show-inline-popup body,
.show-layover,
.show-layover body {
	overflow:hidden;
}
#layover-bg,
#layover {
	position: fixed;
	top:0;
	right:0;
	bottom:0;
	z-index:48;
	width:0;
}
#layover-bg {
	background: rgba(255, 255, 255, 0.3);
	opacity:0;
	transition: opacity 500ms ease 250ms, width 1ms linear 750ms;
	cursor: pointer;
}
#layover {
	width:100%;
	background: transparent;
	transform: translateX(100%);
	transition: all 500ms ease;
	z-index:49;
	top: 193px;
	padding-left:20px;
	pointer-events:none;
}
#layover a,
#layover {
	color:#fff;
}
.admin-bar #layover {
	top: 227px;
}
#layover > * {
	pointer-events:auto;
}

.scrolled #layover {
}
.scrolled.admin-bar #layover {
}
#layover > .container {
	width: calc( 100vw - ( ( 100vw ) - 920px) / 2 - 10px);
	/* max-width: 920px; width:63.88%; */
	margin: 0 0 0 auto;
	padding-top: 110px;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
	max-height: 100%;
	position: relative;
	background: var(--blue);
	z-index:5;
}
/*
#layover:before {
	content:"";
	display: block;
	min-width: calc( ( 100vw - 920px ) / 2);
	width: 18.06%;
	background: var(--blue);
	position: absolute;
	top:0;
	left:auto;
	right:0;
	height:100%;
	z-index:1;
}
*/
.scrolled #layover > .container {
	padding-top: 3rem;
}

.show-inline-popup #layover-bg,
.show-layover #layover-bg {
	opacity:1;
	width:100%;
	transition: opacity 500ms ease 1ms, width 1ms linear;
}
.show-layover #layover {
	transform: translateX(0);
	transition: all 500ms ease 250ms;
}
#layover .close-cta {
	pointer-events: none;
	display: none;
	position: absolute;
	top: 119px;
	left:auto;
	right:0;
	background: transparent;
	z-index:10;
	width: calc( 100vw - ( ( 100vw ) - 920px) / 2 - 10px);
}
.show-layover #layover .close-cta {
	display: block;
}
#layover .close-cta a {
	pointer-events: auto;
	display: block;
	width: 31px;
	height:31px;
	cursor: pointer;
	position: relative;
	margin-left: 3.5%;
}
#layover .close-cta a svg {
	display: none;
}
#layover .close-cta a svg *[fill="#A20067"] {
	fill: #fff;
}
#layover .close-cta a:hover svg *[fill="#A20067"] {
	fill: var(--yellow);
}
#layover .close-cta a:before {
	display: block;
	content:"";
	position: absolute;
	top:50%;left:50%;
	transform: translate(-50%,-50%) rotate(45deg);
  width: 25px; 
  height: 25px; 
	box-sizing:border-box;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
	z-index:1;
}
/* für mobile dann */
#layover .close-cta a:after {
	display: block;
	content:"";
	position: absolute;
	top:50%;left:50%;
	transform: translate(-50%,-50%);
  width: 0; 
  height: 0; 
	z-index:1;
}
#layover .close-cta a:hover:before {
	border-color: var(--yellow);
}
/*
#layover .close-cta a:before,
#layover .close-cta a:after {
	display: block;
	content:"";
	position: absolute;
	top:50%;left:50%;
	transform: translate(-50%,-50%);
  width: 0; 
  height: 0; 
  border-top: 21px solid transparent;
  border-bottom: 21px solid transparent;
  border-left: 22px solid #fff;
	z-index:1;
}
#layover .close-cta a:after {
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid var(--blue);
	left:calc(50% - 1px);
	z-index:2;
}
#layover .close-cta a:hover:before {
	border-left-color: var(--yellow);
}
*/

#container {
	transition: filter 300ms ease;
}
.show--consent footer,
.show--consent #container,
.show-inline-popup footer,
.show-inline-popup header, /* zeigt eh den sticky header an! */
.show-inline-popup #container,
.show-layover footer,
.show-layover header, /* zeigt eh den sticky header an! */
.show-layover #container {
	filter: blur(3px);
}
.show-inline-popup article > section.specials.popup > .restrain,
#layover article > section > .restrain {
  opacity: 1;
}
.show-inline-popup #sticky-cta,
.show--consent #sticky-cta,
.show-layover #sticky-cta {
	visibility: hidden;
	pointer-events:none;
}
#layover article {
	width:85.21%;
	margin:0 20px 0 auto;
}
#layover section.introtext.c-7spaltig .text {
  width: 100% !important;
}


@media (max-width: 1440px) and (min-width: 768px) {
	.fliesstext p.starts-with-cta:not(:first-child) {
	  margin-top: 03.19vw;
	}
	.fliesstext .hl-sofia + p {
	  margin-top: 01.66vw !important;
	}
}
/* zwischen normal und Tablet */
@media (max-width: 1280px) and (min-width: 1025px) {
	#header-sticky nav.menu-addon {
	  right: 9vw;
	  transform: translate(-50%, -50%);
	  width: auto;
	}
	#header-sticky.header nav.menu-addon ul.menu a {
	  padding-left: 3vw;
	  padding-right: 3vw;
	}
	.show-header-offen #header-sticky .logo-width {
	  width: 13vw;
	}
	
}

/* MOBILE, NAV und footer */
@media (max-width: 1024px) {
	body.home article > section.element:first-child {
	  margin-top: 0 !important;
	}
	#header-sticky nav.menu-addon,
	#sticky-cta,
	.header .tag,
	body.home .header nav.menu-nav {
		display: none;
	}
	header#header, header#header .cont > .menu-nav {
	  pointer-events: auto;
	}
	.header, footer {
	  padding-left: 20px;
		padding-right: 20px;
	}
	.header .cont {
	  padding-top: 20px;
		padding-bottom: 20px;
	}
	footer .cont {
	  padding-top: 10px;
	  padding-bottom: 10px;
	}
	footer a {
	  font-size: 11px;
	}
	#header-sticky.header .cont {
	  padding-bottom: 20px;
	}
	.header .cont {
		min-height:116px;
	}
	#header-sticky .logo-width,
	.logo-width, .show-header-offen #header-sticky .logo-width {
 		width: 79px;
		max-width: 20%;
	}

	.menu-toggle {
	    display: block;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.show-header-offen #header-sticky .menu-toggle {
	  display: block;
	}
	.show-header-offen #header-sticky .menu-toggle {
		border-color:transparent !important;
	}
	#header-sticky .menu-toggle,
	#header-sticky .menu-toggle:after,
	#header-sticky .menu-toggle:before {
		transition: all 200ms ease;
	}
	section.specials.popup > .close:after,
	.show-header-offen #header-sticky .menu-toggle:after {
		transform: translateY(-50%) rotate(45deg);
	}
	section.specials.popup > .close:before,
	.show-header-offen #header-sticky .menu-toggle:before {
		transform: translateY(-50%) rotate(-45deg);
		opacity:1;
	}
	#wrapper > *:not(.header) {
		transition: filter 200ms ease;
	}
	.show-header-offen #wrapper > *:not(.header) {
	  filter: blur(2px);
	}
	html.show-header-offen,
	.show-header-offen body {
		overflow:hidden;
	}
	#header-sticky nav.menu-nav {
	  display: flex;
		overflow:hidden;
		height:0;
		padding:0;
	}
	.show-header-offen #header-sticky nav.menu-nav {
	  display: flex;
		align-items: center;
		justify-content: center;
	  position: absolute;
	  bottom: auto;
		top:112px;
		height: calc(100vh - 112px); /* TODO: kann sich ändern bei sehr kleinen screens... */
		left:-20px;
		right: -20px;
	  transform: none;
		z-index:100;
	  background: transparent;
	}
	.show-header-offen #header-sticky:before {
		content: "";
		display: block;
		position: absolute;
		bottom:-4px;
		height:4px;
		left:0;
		width:100%;
		background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu {
	  display: block;
		margin-bottom: 112px;
	}
	.show-header-offen #header-sticky nav.menu-nav .logo-width {
	    width: 200px !important;
		max-width: 80% !important;
	}

	#header-sticky nav.menu-nav ul.menu li {
		opacity:0;
		transform: translateY(-50%);
		transition: opacity 250ms ease, transform 400ms ease;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(2) {
		transition-delay: 100ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(3) {
		transition-delay: 200ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(4) {
		transition-delay: 300ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(5) {
		transition-delay: 400ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(6) {
		transition-delay: 500ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(7) {
		transition-delay: 600ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li:nth-child(8) {
		transition-delay: 700ms;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li {
	    opacity:1;
		transform: translateY(0);
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li {
	  margin: 13px 0;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu a {
		font-size:18px;
		padding-top: 17px;
		padding-bottom: 21px;
		box-shadow: 0 0 5px rgba(0,0,0,0.3);
	}
	/* normalen header immer ausblenden, nur als platzhalter dabehalten */
	header#header {
		visibility: hidden;
	}
	.at-top #header-sticky {
		border-bottom: 0px;
	}

	.header a.mobile-cta-hi, .header .mobile-cta-hi a, .header ul.menu .mobile-cta-hi a {
	  color: var(--yellow);
	  background: var(--blue);
	}
	.header a.mobile-cta-hi:hover, .header .mobile-cta-hi a:hover, .header ul.menu .mobile-cta-hi a:hover {
	  color: var(--blue);
	  background: var(--yellow);
	}
	.header a.cta, .header .cta a, .header ul.menu a {
	  padding: 6px 27px 9px 27px;
	}
	#layover {
	  top: 120px;
	  padding-left: 0;
	}
	#layover > .container {
	  padding-top: 88px;
		width:100%;
		max-width:100%;
	}
	#layover .close-cta {
	  top: 0;
		padding-top:10px;
		padding-bottom: 10px;
	  width: 100%;
		left:0;right:0;
		background: var(--blue);
		pointer-events:auto;
	}
	#layover .close-cta a {
	  margin-left: 18px;
	}
	#layover .close-cta a::before {
  		display: none;
	}
	#layover .close-cta a::after {
  		border:0;
		border-left: 4px solid #fff;
		border-top: 4px solid #fff;
		transform: rotate(-45deg);
		width:65%;
		height:65%;
		left: 23%;
		top: 12%;
	}
	#layover #content {
		max-width:100%;
	}
	#layover article {
	  width: 100%;
	  margin: 0;
		padding: 0;
	}
	#layover article section.element {
		padding-left:  20px;
		padding-right: 20px;
	}

	body article > section.bild-text-immo:first-child {
	  margin-top: 70px !important;
	}
	section.specials.popup {
  		top: calc( 50% + 50px );
		margin-top: 0 !important;
	}
	.show-inline-popup section.specials.is-active-popup {
		max-height: calc( 86vh - 50px );
	}
}
/* MOBILE aber niedriger, NAV */
@media (max-width: 1024px) and (max-height: 600px) {
	.show-header-offen #header-sticky nav.menu-nav ul.menu {
	  margin-bottom: 0;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu a {
	  padding-top: 2.8vh;
	  padding-bottom: 3.5vh;
	}
	.show-header-offen #header-sticky nav.menu-nav ul.menu li {
	  margin: 2vh 0;
	}
}




/* MOBILE, NICHT NAV  */
@media (max-width: 767px) {
	/* FLIESSTEXT */
	.fliesstext {
  		line-height: 1.4;
	}
	.fliesstext h1:not(:first-child), .fliesstext h2:not(:first-child), .fliesstext h3:not(:first-child), .fliesstext h4:not(:first-child), .fliesstext h5:not(:first-child), .fliesstext h6:not(:first-child), .fliesstext ul:not(:first-child), .fliesstext p:not(:first-child) {
	  margin-top: 16px;
	}
	.fliesstext p.starts-with-cta:not(:first-child) {
	  margin-top: 22px;
		display: flex;
		justify-content: center;
	}
	.fliesstext p.starts-with-cta:not(:first-child) a.cta, 
	.fliesstext p.starts-with-cta:not(:first-child) .cta a {
	  max-width: 100%;
	  width: 240px;
		white-space:nowrap;
	}
	
	.fliesstext .hl-mansory + p, .fliesstext h1 + p, .fliesstext h2 + p, .fliesstext h3 + p, .fliesstext h4 + p, .fliesstext h5 + p, .fliesstext h6 + p {
	  margin-top: 10px !important;
	}
	.fliesstext .hl-sofia + p {
	  margin-top: 18px !important;
	}
	a.mobile-cta-hi, .mobile-cta-hi a, .header a.mobile-cta-hi, .header .mobile-cta-hi a {
	  color: var(--yellow);
	  background: var(--blue);
	}
	a.mobile-cta-hi:hover, .mobile-cta-hi a:hover, .header a.mobile-cta-hi:hover, .header .mobile-cta-hi a:hover {
	  color: var(--blue);
	  background: var(--yellow);
	}
	a.cta, .cta a, .header a.cta, .header .cta a {
	  padding: 6px 27px 9px 27px;
	}

	/* IMMO KASTEN */
	section.bild-text-immo.align-rechts.is-revealed .kasten::after,
	section.bild-text-immo.align-rechts .kasten::before {
	  left: 0;
	}
	section.bild-text-immo .kasten::after,
	section.bild-text-immo.is-revealed .kasten::before {
	  right: 0;
	}
	section.element .restrain > .tag {
		display: block;
	}
	body article > section.bild-text-immo:first-child {
	  margin-top: 0px !important;
	}
	section.specials.popup {
  		top:110px;
		transform: translateX(-50%);
	}
	.show-inline-popup section.specials.is-active-popup {
		max-height: calc( 100vh - 110px );
		padding: 40px 20px 100px 20px;
		width:100%;
	}
	section.specials.popup > .close {
		display: block;
	}
	.wpcf7-checkbox .wpcf7-list-item,
	.wpcf7 .half {
	  width: 100%;
	}
}
@media screen and (max-width: 500px) {
	.fliesstext p.starts-with-cta:not(:first-child) a.cta, 
	.fliesstext p.starts-with-cta:not(:first-child) .cta a {
	  width: 100%;
	  white-space:normal;
	}
	.fliesstext p.starts-with-cta:last-child {
	  margin-bottom: 3vw;
	}
}


/* COOKIE */
:root{
	--cc-bg:var(--yellow);
	--cc-text:var(--blue);
	
	--cc-btn-primary-bg:var(--blue);
	--cc-btn-primary-text:var(--yellow);
	--cc-btn-primary-hover-bg:#1d2e38;
	--cc-btn-secondary-bg:var(--blue);
	--cc-btn-secondary-text:var(--yellow);
	--cc-btn-secondary-hover-bg:#d8e0e6;
	
	--cc-toggle-bg-off:#919ea6;
	--cc-toggle-bg-on:var(--cc-btn-primary-bg);
	--cc-toggle-bg-readonly:#d5dee2;
	--cc-toggle-knob-bg:#fff;
	--cc-toggle-knob-icon-color:#ecf2fa;
	
	--cc-block-text:var(--cc-text);
	
	--cc-cookie-category-block-bg:#f0f4f7;
	--cc-cookie-category-block-bg-hover:#e9eff4;
	--cc-section-border:var(--blue);
	--cc-cookie-table-border:var(--blue);
	
	--cc-overlay-bg:rgba(0,0,0,0);
	
	--cc-webkit-scrollbar-bg:#cfd5db;
	--cc-webkit-scrollbar-bg-hover:#9199a0
}
#s-inr {
  box-shadow: none;
	border-radius: 0;
	padding-top:105px;
	padding-bottom: 120px;
	max-width: 50em;

  /* padding-bottom: 4.75em;
  padding-top: 4.75em;*/
}
#c-s-in {
  max-height: 40em;
}

#cm {
	border-radius: 0;
	box-shadow: none;
	max-width: 626px;
	padding: 70px 60px 70px 60px;
}
#s-cnt .p,
.cc_div {
	font-family: sofia-pro, sans-serif;
  font-size: 14px;
  font-weight: 500;
	  letter-spacing: 0.04px;
}
.cc_div .b-tl,
.cc_div .cc-link {
  font-weight: 500;
}
#c-txt {
  font-size: inherit;
}
#s-cnt .p,
#c-txt, .cc_div, .cc_div *, .cc_div ::after, .cc_div ::before, .cc_div :hover {
  line-height: 1.3;	
}
.cc_div .act .b-bn .exp::before, .cc_div .b-bn .exp::before {
  border-color: var(--blue);
}
#s-hdr #s-ttl,
#c-ttl {
  font-family: Mansory, serif;
  font-size: 30px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: -1.3px;
  margin-bottom: 9px;
}
#s-hdr {
    padding: 70px 60px 0 60px;
	height:auto;
	border-bottom:0;
}
#s-bns {
  border-top: 0;
  height: auto;
  padding: 10px 60px 70px 60px;
}


#s-bl {
    padding: 9px 60px 0 60px;
}
#s-bl .c-bl {
  border: 0px;
  padding: 0;
}
#s-bl .c-bl:not(.b-ex):hover {
  background: transparent;
}
#s-bl .c-bl:last-child {
  margin-bottom: 40px;
}
#c-ttl, #s-bl td::before, #s-ttl, .cc_div .c-bn {
  font-weight: normal;
}
.cc_div #c-bns {
  margin-top: 50px;
}
.cc_div .c-bn {
  border-radius: 0;
  font-size: 16px;
  padding: 9px 19px 11px 19px;
  font-weight: 500;
}
#c-bns button + button, #s-c-bn, #s-cnt button + button {
  margin-left: 20px;
}

@media screen and (max-width: 688px) {
	#s-inr {
	  padding-top: 85px;
	}
	#cm, #cm.cloud, #cm.left, #cm.right {
	  padding: 7vw !important;
	}
	#s-hdr {
		padding: 7vw 7vw 0 7vw;
	}
	#s-bl {
	  padding: 9px 7vw 0 7vw;
	}
	#s-bns {
	  padding: 10px 7vw 7vw 7vw;
	}
	#c-bns button + button, #s-cnt button + button {
	  margin-left: 0;
	}
	#c-s-in {
	  max-height: 100% !important;
  }
	#s-inr.bns-t {
	  padding-bottom: 14.5em;
	}
	.bns-t #s-bns {
		height: auto;
	  max-height: 14.5em;
	}
	.cc_div .bns-t .c-bn {
		font-size: 16px;
		padding: 9px 19px 11px 19px;
	}
}




.slick-arrow span {
	visibility: hidden;
}
.slick-arrow {
	position: absolute;
	background: transparent;
	top:0;bottom:0;
	left:0;
	width: calc( ( 100vw - ( 652px + 47px + 47px ) ) / 2 );
	z-index:2;
	cursor: pointer;
}
.slick-arrow.slick-next {
	left:auto; right:0;
}


.codedropz-upload-handler {
  border: 1px solid #bdbdbd;
  border-radius: 0;
  background: url('./img/upload-file-icon.svg') no-repeat center;
	background-size: 0 0;
}
.codedropz-upload-handler.codedropz-dragover {
	background-size: auto 55%;
}
.codedropz-upload-handler.codedropz-dragover .codedropz-upload-inner {
	visibility: hidden;
	pointer-events: none;
}
.codedropz-upload-inner > span {
	display: none;
}
.codedropz-upload-inner > div {
	display: inline-block;
	margin: 0 0.15em;
	line-height: 1.4;
}
.codedropz-upload-inner a,
.codedropz-upload-inner {
	color: #848484;
}
.dnd-upload-status .dnd-upload-details .name em,
.dnd-upload-status .dnd-upload-image,
.dnd-upload-counter {
	display: none !important;
}
.codedropz-upload-container {
  padding: 33px 20px 37px 20px;
}
.dnd-upload-status .dnd-upload-details {
  padding-left: 52px;
	box-sizing: border-box;
  width: 100%;
}
.dnd-upload-status .dnd-upload-details .name {
	color: var(--blue);
	line-height: 1.4;
	z-index:2;
	position:relative;
}
.dnd-upload-status/*.complete*/ {
	border-bottom: 1px solid #fff;
	padding: 3px 0 4px;
}
.dnd-upload-status.complete .dnd-upload-details .dnd-progress-bar {
	display: none;
}
.dnd-upload-status.complete:after {
	content:"";
	display: block;
	position: absolute;
	z-index:2;
	right:0;top:5px;
  width: 21px;
  height: 13px;
	border-bottom: solid 2px var(--blue);
	transform: rotate(-45deg);
	border-left: 2px solid var(--blue);
}
.dnd-upload-status .dnd-upload-details .remove-file {
  right: auto;
  top: 14px;
  width: 16px;
  height: 16px;
  left: 7px;
	z-index:2;
}
.dnd-upload-status .dnd-upload-details .remove-file span::before,
.dnd-upload-status .dnd-upload-details .remove-file span::after {
	display: block;
	content:"";
	width:20px;
	height: 1px;
    background: var(--blue);
	position: absolute;
	top:50%;left:50%;
	transform: translate(-50%,-50%) rotate(45deg);
}
.dnd-upload-status .dnd-upload-details .remove-file span::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.dnd-upload-status .dnd-upload-details .remove-file span {
	transition: transform 150ms ease;
}
.dnd-upload-status .dnd-upload-details .remove-file:hover span {
	transform: scale(1.4);
}
/*
.dnd-upload-status .dnd-upload-details .remove-file:hover span::before,
.dnd-upload-status .dnd-upload-details .remove-file:hover span::after {
    background: var(--yellow);
}
*/
.dnd-icon-remove {
	position: relative;
	width:100%;
	height:100%;
	display: block;
	overflow:hidden;
	text-indent:-1000px;
}
.dnd-icon-remove.deleting { font-size:0; color:transparent; }
.dnd-icon-remove.deleting:after { display:block !important; }

.dnd-upload-status .dnd-upload-details .dnd-progress-bar {
  border: 1px solid #bdbdbd;
  border-radius: 0;
  background: transparent;
	position: absolute;
	z-index:1;
	top:0;left:0;right:0;bottom:0;
	height:auto;
}
.dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
  background: var(--yellow);
  color: var(--blue);
	overflow:hidden;
	text-indent:-1000px;
	text-align:left;
}
