/* 
01 -- HEADER 
02 -- MAIN
03 -- COUNT UP
04 -- NEWS
05 -- APARTMENT LIST
06 -- REGISTRATION
07 -- PREVIEW LOADER
08 -- FOOTER
09 -- CC FILTER
10 -- DISPLAY MOBILE
11 -- FLIPBOX
12 -- KONTAKTBUTTON
13 -- INFOBOX 
14 -- VIDEO
15 -- COOKIE
16 -- LIGHTBOX
17 -- HeaderInfoBox
18 -- FONTS
19 -- SLIDER


*/

/* 01 -- HEADER */


.main-menu a {
	color: white!important;
}

@media screen and (min-width: 801px) {

	.main-menu {
		display: grid;
		align-content: center;
		justify-content: end;
	}

}	
	
#menu-custom {
	position:fixed;
	border-bottom: unset;
	box-shadow: unset;
    background-color:unset;
    transition-duration: .3s;
}

.logo-container img {
	height: 120px;
}

#logo {
	transition-duration: .3s;
}

.main-menu li.iconLogin::before {
	content: "\f090";
	font-family: 'Font Awesome 6 Free';
	font-weight: bold;
	margin-right: 10px;
}

.main-menu li.iconLogout::before {
	content: "\f08b";
	font-family: 'Font Awesome 6 Free';
	font-weight: bold;
	margin-right: 10px;
}


.level_2 li a {
  color: #8da926 !important;
}

/** 02 -- MAIN **/

#main {
	/* padding-top: 160px; */
}

.btnLookaLike {
	background-color: #8da926;
	color: white;
	padding: 8px 16px;
	border-radius: 3px;
	margin-top: 10px;
	min-width: 120px;
	display: inline-block;
	text-align: center;
	text-decoration: none !important;
	transition-duration: 0.3s;
	cursor: pointer;
}

/** 03 -- COUNT UP **/

.ce_plenta_countup {
	font-size: 130px;
	color: white;
	text-align: center;
	font-weight: bold;
}

@media screen and (min-width:801px) {

	.countUpElementWrapper .bgWrapper::after {
		content: '';
		position: absolute;
		top: 0;
		right: -15px;
		height: 100%;
		background-color: white;
		width: 2px;
	}

	.countUpElementWrapper .bgWrapper:last-child::after {
		content: unset;
	}

	.countUpElementWrapper .bgWrapper {
		position: relative;
	}

}

@media screen and (min-width:801px) and (max-width: 1000px) {

	.countUpElementWrapper .bgWrapper:nth-child(2)::after {
		content: unset;
	}
	
}

/** 04 -- NEWS **/

.layout_latest {
	border: 1px solid #ddd;
}

.newsContent {
	padding: 0px 25px;
}

.newsCategory {
	background-color: #313131;
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	color: white;
	text-transform: uppercase;
	font-size: .8em;
}

/** 05 -- APARTMENT **/

.detailsApartment img {
	height: 30px;
	display: block;
	margin:auto;
	margin-bottom: 10px;
}

.detailsApartment {
	text-align:center;
	font-weight:200;
}

.apartmentEntry .imgContainer img {
	width: 80%;
	display: block;
	margin: auto;
}

.apartmentEntry .imgContainer {
	position: relative;
}

.apartmentLabel {
	position: absolute;
	background-color: #8da926;
	padding: 5px 90px;
	rotate: -45deg;
	transform: translate(-30%,-160%);
	color: white;
}

.apartmentEntry {
	border: 1px solid #ddd;
	padding: 20px;
	overflow: hidden;
	display:none;
}




/** 06 -- REGISTRATION **/

.invisible, .mod_registration label .mandatory {
	display: none;
}


@media screen and (min-width:800px) {
	.mod_registration .fields {
		display:grid;
		grid-template-columns: calc(50% - 12.5px) calc(50% - 12.5px);
		gap: 15px 25px;
	}
	
	.mod_login .widget-password, .mod_login .widget-text {
		width: calc(50% - 12.5px);
		float: left;
	}
	
	.mod_login .widget-text {
		margin-right:25px;
	}
	
}

.mod_login .widget-password, .mod_login .widget-text {
	margin-bottom:25px;
}

.mod_registration label, .mod_login label {
	display: block;
	font-size: .8em;
	padding: 0 0 10px 10px;
}

.mod_registration input[type="text"], .mod_login input[type="text"] {
	display: block;
	font-size: .8em;
}

input[type="tel"], input[type="text"], input[type="email"], input[type="password"], textarea {
  width: 100%;
  border-radius: 100px;
  border: unset;
  padding: 10px 20px;
  font-size: 1.4em!important;
}

textarea {
  border-radius: 10px;
  margin-top: 30px;
}

button.submit {
	background-color: #fff;
	padding: 10px 20px;
	font-size: 1.4em;
	display: block;
	border-radius: 100px;
	margin: 35px auto 0;
	color: #111;
	border: 1px solid;
}


.ctrl_username_17 {
	display:none;
}

/* 07 -- PREVIEW LOADER */

.closePreviewPage {
	width: 100%;
	max-width: 1000px;
	margin: 50px auto 0 auto;
	display: block;
	color: white;
	font-weight: bold;
	font-size: 2em;
	text-align: right;
	position:relative;
}

#previewPageWrapper.active .closePreviewPage {
	animation: slideUp .5s;	
}

#previewPageWrapper.active {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	animation: fadeInPageWrapper .5s;
	background-color: #0008;
}

#previewPageWrapper.active #previewPage {
	width: 100%;
	height: 100%;
	background-color: white;
	max-width: 1000px;
	margin: 0px auto;
	border-radius: 50px 50px 0 0;
	box-shadow: 0 0 50px #0005;
	position: relative;
	animation: slideUp .5s;
}

#previewPage {
	overflow: scroll;
	padding-bottom: 100px;
}

@keyframes fadeInPageWrapper {
	from {background-color: #0000;}
	to {background-color: #0008;}
}

@keyframes slideUp {
	from {top: 100%;}
	to {top: 0%;}
}

#previewPageWrapper:not(.active) {
	display: none;
}
.back {
	display: none;
}


/** 08 -- FOOTER **/



#footer-custom .inside {
	max-width:unset!important;
}

#footer-custom a {
  color: #fff;
}

.footerNav li {
  display: inline-block;
  margin-right: 15px;
}

.footerNav a{
  color:white
}

.footerNav {
  display:grid;
place-content:center end;
}

.footerNav strong{
  color:#8da926;
}


/** 09 -- FILTER **/

.clearall {
	display:none;
}

.clear_filters button {
	background-color: #fff5f5;
	color: #d72727;
	border: 1px solid #d72727;
}

.mod_customcatalogfilter fieldset {
	padding: unset;
	border: unset;
}

.mod_customcatalogfilter div.submit {
	background-color: unset;
	padding: unset;
	margin: unset;
	font-size: 1em;
}

.mod_customcatalogfilter button.submit {
	margin-right: 10px;
	margin-top:10px;
}

.mod_customcatalogfilter select {
	background-color: #f4f4f4;
	border: unset;
	padding: 10px 20px;
	border-radius: 50px;
	font-size: 1.4em;
	margin-top:10px;
	width: 100%;
}

.mod_customcatalogfilter .formbody {
	display: grid;
	grid-template-columns: calc(25% - 18.75px) calc(25% - 18.75px) calc(25% - 18.75px) calc(25% - 18.75px);
	grid-column-gap: 25px;
	grid-row-gap: 10px;
}

.mod_customcatalogfilter .submit {
	width:100%;
}

@media screen and (max-width:1000px) {
	
	.mod_customcatalogfilter .formbody {
		display: grid;
		grid-template-columns: calc(50% - 12.5px) calc(50% - 12.5px);
		gap: 25px;
	}
	
}

.mod_customcatalogfilter {
	margin-bottom: 50px;
}

/* 10 - DISPLAY MOBILE */

@media screen and (max-width:800px) {
.hideMobile {
display:none!important;
}
}


@media screen and (min-width:801px) {
.onlyMobile {
display:none!important;
}
}

/* 11 - FLIPBOX */

.flip-box {
	background-color: transparent;
	height: 250px;
	perspective: 1000px;
}

.flip-box-inner {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.8s;
	transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
	transform: rotateY(180deg);
}

.flip-box-front, .flip-box-back {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}


.flip-box-back {
	background-color: #fff;
	transform: rotateY(180deg);
	padding: 25px;
	display: grid;
	place-content: center;
}

.flip-box-back h3 {
	margin-bottom: 0px;	
}

.flip-box-inner figure {
  height: 100%;
}

.flip-box-inner img {
  height: 100%;
}


/* 12 -- KONTAKTDATEN */ 

    .kontaktdatenWrapper {
      max-width: 400px;
      position: fixed;
      right: 0;
      bottom: 30px;
      z-index: 100;
      display: grid;
      grid-template-columns: 40px 330px;
    transform: translateX(330px);
    transition-duration:.3s;
    gap: 10px;
    }
    .kontaktdatenText {
    font-size:14px;
    background-color: #f4f4f4;
    border-radius: 5px;
    padding: 15px;
    }
    .kontaktdatenIcons label {
      background-color: #313131;
      color: white;
      padding: 10px;
      display: grid;
      border-radius: 3px;
place-content: center;
    }
    .kontaktdatenIcons {
    font-size: 25px;
    }
    #kontaktdatenCheckbox:checked + .kontaktdatenWrapper {
    transform: translateX(0);
    height: unset;
    transition-duration:.3s;
}

/* 13 -- INFOBOX */

.auchInteressant {
 border: 1px solid #ddd;
}

.auchInteressant h3, .auchInteressant p {
 padding: 0 25px;
}

.mehrErfahrenBoxen {
position:relative;
}
.mehrErfahrenBoxen h3, .mehrErfahrenBoxen p {
  padding: 0 25px;
}

.mehrErfahrenBoxen h3 {
  margin-bottom: 10px;
}

.mehrErfahrenBoxen .contentText {
  position: absolute;
  top: 0;
  left: 0;
height: 100%;
  width: 100%;
  background-color: #f4f4f4ee;
  display: grid;
  place-content: center;
opacity:0;
transition-duration:.3s;
}

.mehrErfahrenBoxen:hover .contentText {
opacity:1;
transition-duration:.3s;
}

.mehrErfahrenBoxen p {
  margin-top: 0px;
}

/* 14 -- VIDEO */

video {
  width: 100%;
}

/* 15 -- COOKIE */


cms-cookie-bar > cms-container form cms-buttons cms-button[value="accept"]:nth-last-of-type(1) > span::before, cms-accept-tags > cms-container form cms-buttons cms-button[value="accept"]:nth-last-of-type(1) > span::before {
    background: #8da926!important;
}

cms-accept-tags > cms-container form cms-taglist cms-taggroup cms-taggroup-header input:checked + label {
  background: #8da926!important;
}

cms-cookie-bar > cms-container form cms-buttons cms-button[value="reject"] > span::before, cms-cookie-bar > cms-container form cms-buttons cms-button[value="accept"]:nth-of-type(1) > span::before, cms-accept-tags > cms-container form cms-buttons cms-button[value="reject"] > span::before, cms-accept-tags > cms-container form cms-buttons cms-button[value="accept"]:nth-of-type(1) > span::before {
  background: #8da926!important;
}
/* 16 -- LIGHTBOX */

#previewPageWrapper img {
	height:unset;
}

/* 17 -- HeaderInfoBox */


#main a {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, black), color-stop(50%, transparent));
  background: linear-gradient(to top, black 50%, transparent 50%);
  background-position-x: 0%;
  background-position-y: 0%;
  background-size: auto;
  background-size: 100% 200%;
  background-position: top;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
	text-decoration: underline;
}

#main a:hover {
  background-position: bottom;
  color: white;
}


.infoboxHeader {
	background-color: #888c;
	color: white;
	padding: 25px;
	max-width: 400px;
	margin-left: auto;
}

#main .infoboxHeader a, #main .btn a {
	background-color: #313131;
	color: white;
	padding: 8px 16px;
	border-radius: 3px;
	margin-top: 10px;
	min-width: 120px;
	display: inline-block;
	text-align: center;
	text-decoration: none !important;
	transition-duration: 0.3s;
}

.infoboxHeader h1, .infoboxHeader h2, .infoboxHeader h3, .infoboxHeader h4 {
	color: white
}

/* 18 -- FONTS */

.colorWhite h1,
.colorWhite h2,
.colorWhite h3,
.colorWhite h4,
.colorWhite h5,
.colorWhite h6 {
	color: white!important;
}

.mehrLesenBox {
	border: 1px solid #ddd;
}

.mehrLesenBox > :not(figure) {
	padding: 0 25px;
}

.mehrLesenBox > :not(figure) {
	padding: 0 25px;
}


/* 19 -- SLIDER */

.slider-menu b::before {
	content: "\f111";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	color: white;
	font-size: .55em;
}

.slider-menu b.active::before {
	font-weight: 100;
}

.slider-menu b {
	color: #0000!important;
}

.slider-prev, .slider-next {
	display:none!important;
}

.kontaktSeite .hideOnKontakt {
	display:none!important;
}

#scrollDownTrigger {

    position: absolute;
    bottom: 20px;
    left: 50%;
    color: white;
    transform: translateX(-50%);
}

.ratio-169 {
position: relative;
  width: 100%;
  padding-top: 56%;
  overflow: hidden;
}

.ratio-169 iframe {
position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ce_optin_fallback {
  background-color: #edf4ff;
  padding: 20px;
}