
/* Since Elementor overwrites some variables, a prefixed version of some of the global styles + additional variables for usage*/
:root {
	--beon-text-color: #2d342a;
	--beon-link-color: #fff;
	--beon-button-color: #036eb5;
	--beon-box-background: #f8f2ed;
	--beon-form-background: #fff;
	--beon-font-family: Jost, Sans-serif;
	--beon-border-color: rgba(206, 206, 206, .5);
	--beon-border-radius: 10px;
	--beon-accent-filter: invert(61%) sepia(77%) saturate(360%) hue-rotate(43deg) brightness(91%) contrast(81%);
	--beon-primary-color: #036eb5;
	--beon-primary-color-hover: #173e6f;
	--beon-accent-color: #81b040;
	--beon-shadow-color: rgba(0, 0, 0, .16);
	--beon-box-shadow: 0 0 40px -5px var(--beon-shadow-color);
}

html {
	scroll-behavior: smooth;
}

.beon-unit-row {
	margin: 40px 0;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.beon-unit-row .beon-unit-image-button {
	display: flex;
	flex-direction: inherit;
	gap: 20px;
}

.beon-unit-image-button-mobile {
	display: none;
}

.unit-horizontal-line {
	/* content: ""; */
	width: 100%;
	height: 1px;
	background: var(--beon-border-color);
}

#description {
	margin-top: 40px;
	text-align: left;
	margin-bottom: 20px;
	font-size: var(--font-size-medium);
}

#readless, #readmore {
	font-weight: 500;
	cursor: pointer;
}

#textrest, #readless {
	display: none;
}

/* Kartenansicht & Galerie Buttons */
.beon-unit-row .beon-unit-image-button button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: var(--beon-primary-color);
}

.beon-unit-row .beon-unit-image-button button.isActive {
	background-color: var(--beon-primary-color-hover);
}

.beon-unit-row .beon-unit-image-button button img {
	filter: invert(1);
	width: 20px;
	height: 20px;
	max-width: fit-content;
}

.beon-unit-row .beon-unit-image-button button p {
	margin-bottom: 0;
}

/* Heading & Text */
.beon-unit-info {
	text-align: center;
}

.beon-unit-info .beon-unit-catchphrase {
	color: var(--beon-accent-color);
	text-transform: uppercase;
}

.beon-unit-info .beon-unit-heading {
	color: var(--beon-primary-color);
	font-size: 33px;
	line-height: 50px;
	font-weight: 600;
}

.beon-unit-info .beon-unit-description#description {
	margin-top: 40px;
	text-align: center;
	margin-bottom: 20px;
	font-size: var(--font-size-medium);
}

.main-content {
	display: flex;
	flex-wrap: wrap;
	max-width: 1400px;
	padding: 50px;
	margin-left: auto;
	margin-right: auto;
}

#map {
	min-height: 45vh;
	margin-bottom: 40px;
	border-radius: var(--beon-border-radius);
}

.right-col {
	width: 70%;
	padding-left: 50px;
	border-left: 1px solid var(--beon-border-color);
}

.unit-gallery-map-wrapper {}

.unit-wrap-map {
	display: inherit;
}

.unit-wrap-gallery {
	display: inherit;
}

.unit-section-separator {}

.single-unit .unit-section-separator .line {
	height: 1px;
	background-color: var(--beon-border-color);
	width: 100%;
	margin-left: 10px;
}

/*Left Column*/
.left-col {
	width: 30%;
	padding-right: 50px;
}

.left-col-content-wrapper {
	/* padding-top: 50px; */
	background-color: white;
	position: sticky;
	top: 50px;
	bottom: 150px;
}

.unit-thumbnail {
	display: none;
	height: 230px;
	margin-bottom: 30px;
}

.unit-thumbnail img {
	border-radius: var(--beon-border-radius);
	height: 230px;
	object-fit: cover;
	width: 100%;
}

.title-row h1 {
	margin: 0;
	margin-bottom: 10px;
}

.region-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.region-row p {
	margin: 0;
	margin-bottom: 25px;
}

.booking-preview-box {
	height: auto;
}

.unit-wrap-ratings.unit-single-section .wrap-ratings-content {
	display: none;
}

.unit-wrap-description.unit-single-section #cuxlanddescription {
	display: none;
}

.unit-section-separator .open-accordeon, .unit-section-separator .open-accordeon:hover, .unit-section-separator .open-accordeon:focus {
	background: transparent !important;
	border: none;
	box-shadow: none;
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	outline: none;
	color: inherit;
	padding: 0;
	margin: 20px 0;
}

.close.open-accordeon img {
	transform: rotate(-90deg);
}

.open-accordeon img {
	transform: rotate(90deg);
}

.unit-section-separator .open-accordeon img {
	margin-left: 20px;
	width: 20px;
}

/* Favourites*/
.favorite-tooltip {
	display: none;
}

.right-col .favoritebtn {
	display: flex;
	cursor: pointer;
}

.right-col .simplefavorite-button {
	padding: 0;
	font-size: 0;
	cursor: pointer;
	width: 36px;
	height: 36px;
	background-color: #efefef;
	border-radius: 50%;
	border: none;
	box-shadow: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.right-col .simplefavorite-button:hover {
	background-color: #efefef;
}

.beon-unit-info .beon-mobile-favorite {
	display: none;
}

/* If change of simplefavorite-image wished check favorite plugin settings*/
.right-col .simplefavorite-button .simplefavorite-image, .simplefavorite-button.active .simplefavorite-image {
	width: 20px;
	height: 20px;
}

.right-col .simplefavorite-button .simplefavorite-image {
	filter: invert(94%) sepia(0%) saturate(509%) hue-rotate(195deg) brightness(85%) contrast(90%);
}

.right-col .simplefavorite-button.active .simplefavorite-image {
	filter: var(--beon-accent-filter);
}

.right-col .simplefavorite-button:focus {
	outline: none;
	border: none;
}

.right-col .simplefavorite-button.active {
	opacity: 1 !important;
	background-color: #bbceb1 !important;
}

.booking-wrapper {
	width: 100%;
}

#beonVofficeBooking-container {
	border-top-left-radius: var(--beon-border-radius);
	border-top-right-radius: var(--beon-border-radius);
	padding-top: 50px;
	background-color: var(--beon-box-background);
}

#parkdetails {
	display: none;
}

/*Cuxlandparks Vorteil*/
#cuxlandvorteil {
	display: none;
	margin-bottom: 10px;
}

.cuxland-advantage-wrapper {
	display: flex;
	flex-wrap: wrap;
	background-color: var(--beon-primary-color-hover);
	border-radius: var(--beon-border-radius);
	padding: 50px 50px;
}

.cuxland-advantage {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 33%;
	color: white;
	text-align: center;
}

.cuxland-advantage img {
	height: 20px;
	width: 20px;
	filter: var(--beon-accent-filter);
}

.cuxland-advantage h6 {
	line-height: 30px;
	width: 200px;
}

@media only screen and (max-width: 1024px) {
	.main-content {
		padding: 0px;
		max-width: 100%;
	}
	
	.left-col {
		width: 100%;
		padding: 0;
		padding-bottom: 20px;
	}
	
	.right-col {
		width: 100%;
		padding: 20px 50px;
	}
	
	.left-col-content-wrapper {
		position: inherit;
	}
	
	.unit-thumbnail img {
		border-radius: 0;
		height: 250px;
		object-fit: cover;
		width: 100%;
	}
	
	.unit-thumbnail {
		display: block;
		height: 250px;
		margin-bottom: 30px;
	}
	
	.unit-thumbnail::after {
		content: "";
		position: relative;
		display: block;
		background-color: white;
		top: -30px;
		height: 30px;
		width: 100%;
		border-radius: var(--beon-border-radius);
	}
	
	.left-col .left-col-content {
		padding-left: 50px;
		padding-right: 50px;
	}
	
	.left-col .booking-preview-box {
		margin-left: auto;
		margin-right: auto;
		max-width: 450px;
		width: 100%;
	}
	
	.right-col #unit-gallery-slider {
		display: none;
	}
	
	.beon-unit-info .beon-unit-heading {
		font-size: 25px;
		line-height: 39px;
		font-weight: 600;
	}
	
	.beon-unit-info .beon-unit-catchphrase {
		display: none;
	}
	
	.beon-unit-info .beon-mobile-favorite {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	
	.beon-unit-info .beon-mobile-favorite .favoritebtn {
		position: inherit;
		border: solid 5px white;
	}
	
	.beon-unit-image-button-mobile {
		display: flex;
		justify-content: space-between;
	}
	
	.beon-unit-image-button-mobile button {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		background-color: var(--beon-primary-color);
	}
	
	.beon-unit-image-button-mobile button.isActive {
		background-color: var(--beon-primary-color-hover);
	}
	
	.beon-unit-image-button-mobile button img {
		filter: invert(1);
		width: 20px;
		height: 20px;
		max-width: fit-content;
	}
	
	.beon-unit-image-button-mobile button p {
		margin-bottom: 0;
	}
	
	.beon-unit-row {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.right-col {
		padding: 20px 25px;
	}
	
	.left-col .left-col-content {
		padding-left: 25px;
		padding-right: 25px;
	}
	
	.left-col .booking-preview-box {
		margin-left: auto;
		margin-right: auto;
		max-width: 350px;
		width: 100%;
		justify-self: center;
	}
	
	.cuxland-advantage-wrapper {
		padding: 25px;
	}
	
	.cuxland-advantage {
		width: 50%;
	}
	
	.cuxland-advantage h6 {
		font-size: .9rem;
		line-height: 25px;
		width: 130px;
	}
}
