/**
 * @author Studio Tillack Knöll, Sven Tillack
 * @version 1.0
 */

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

}


::selection {
	background-color: var(--col-green);
	color: white;
}

@import url("http://hello.myfonts.net/count/3e6935");
  
@font-face {
  font-family: "PlantinMTStd-Light";
  src: url('../../font/font.woff2') format('woff2'), 
	   url('../../font/font.woff') format('woff');
}

@font-face {
  font-family: "FTRegolaNeue-Regular";
  src: url('../../font/FTRegolaNeue-Regular.eot#iefix') format('eot');
  src: url('../../font/FTRegolaNeue-Regular.woff') format('woff'),
	   url('../../font/FTRegolaNeue-Regular.woff2') format('woff2'),
	   url('../../font/FTRegolaNeue-Regular.woff2') format('embeddded-opentype');
}

@font-face {
  font-family: "FTRegolaNeue-RegularItalic";
  src: url('../../font/FTRegolaNeue-RegularItalic.eot#iefix') format('eot');
  src: url('../../font/FTRegolaNeue-RegularItalic.woff') format('woff'),
	   url('../../font/FTRegolaNeue-RegularItalic.woff2') format('woff2'),
	   url('../../font/FTRegolaNeue-RegularItalic.woff2') format('embeddded-opentype');
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}

.text--white { color: white; }
.text--green { color: var(--col-green); }
.text--serif { font-family: "PlantinMTStd-Light"; }
.text--italic { font-family: "FTRegolaNeue-RegularItalic"; font-weight: 400; }
.text--right { text-align: right; }
a{ text-decoration: none; }
p a { border-bottom: 2px solid currentColor; }

:root {
	--col-green: #15574B;
	--col-peach: #FCCAB0;
	--col-teal: #8DE0C3;
	--col-white: white;
	--slide-radius: 10px;
}

.with--radius {
	border-radius: var(--slide-radius);
}

.row + .row--narrow,
.row--narrow + .row--narrow {
	margin-top: 20px;
}

.row + .section--hl-copy-button {
	margin-top: 80px;
}

.wrap .section--hl-copy-button {
	margin-right: -10px;
	margin-left: -10px;
}

.no-margin-bottom {
	margin-bottom: 0px;
}

.row--narrow {
	border-bottom: 2px solid var(--col-green);
}

body {
	font-family: "FTRegolaNeue-Regular";
	font-weight: 400;
	color: var(--col-green);
}

#page-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1001;
}

.nav--open {
	overflow: hidden;
    height: 100%;
}

.nav--open #page-header svg {
	fill: var(--col-green);
}

#page-header svg,
.trigger svg {
	fill: var(--col-green);
}

#page-header.light svg,
.trigger.light svg {
	fill: var(--col-white);
}
.green svg {
	fill: var(--col-green) !important;
}


#page-header.dark svg,
.trigger.dark svg {
	fill: var(--col-green);
}

.slide-indicator.active {
	background: var(--col-white) !important;
}

.slide-indicator {
	border-color: var(--col-white) !important;
}

#navigation-main {
	position: fixed;
	z-index: 1000;
	height: 100vh;
	width: 100vw;
	top: -100vh;
	transition: top .2s ease;
	background: white;
}

#navigation-main.open {
    background: white;
    top: 0vh;
}

#page-header .site--title svg {
	max-width: 334px;
	width: 100%;
	max-height: 40px;
}

#page-header .site--title svg {
/*	position: fixed;*/
/*    top: 10px;*/
}

#footer--branding {
	text-align: center;
}

#footer--branding a {
	max-width: 200px;
}

	#footer--branding .text--small {
		padding: 0 20px;
	}

#footer--branding svg {
	fill: var(--col-green);
	width: 100%;
    padding: 30px 60px;
    box-sizing: border-box;
}

	#footer--branding,
	#navigation-footer {
		border-right: 2px solid var(--col-green);
	}

#page-footer .wrap {
}

#page-footer .row-inner #row-inner-self {
	display: flex;
	border-top: 2px solid var(--col-green);
	padding-top: 20px;
	margin: 40px 10px 0 10px;
}

@media (max-width: 768px) {
	#page-footer .row-inner #row-inner-self {
		flex-direction: column;
	}
}

#navigation-footer .menu--wrapper {
	display: grid;
	grid-template-columns: auto auto auto auto;
	padding: 30px 60px;
}

#navigation-footer .menu--item {
	text-align: center;
	border-bottom: 2px solid var(--col-green);
	margin-bottom: 20px;
}

@media (min-width: 1024px) {
	#navigation-footer .menu--item:nth-last-child(-n+2) {
		border-bottom: 0px;
	}
}

#navigation-footer .menu--item h1 {
	padding-bottom: 10px;
}

#navigation-social {
	display: none;
	padding: 30px 40px;
}

	#navigation-social h3 {
		text-align: center;
		padding-bottom: 30px;
	}

	#navigation-social--self {
		text-align: center;
		display: flex;
		align-content: space-between;
		width: 100%;
	}

	#navigation-social--self span {
			flex: 1;
	}

@media (max-width: 1280px) {
	#footer--branding svg,
	#navigation-footer .menu--wrapper,
	#navigation-social {
		padding: 20px 40px;
	}
}

@media (max-width: 1024px) {
	#footer--branding svg,
	#navigation-footer .menu--wrapper,
	#navigation-social {
		padding: 10px 30px;
	}
}


@media (max-width: 768px ) {
	#footer--branding svg {
		padding: 40px 70px;
	}	
	
	#page-footer .row-inner {
		flex-direction: column;
	} 
	
	#footer--branding,
	#navigation-footer {
		border-right: none;
	}
	
	#navigation-footer .menu--wrapper {
		display: inherit;
		padding: 30px 60px;
	}

}

.trigger {
	cursor: pointer;
	text-align: right;
	transition: opacity .2s ease;
	top: 3px;
}

.trigger:hover {
	opacity: .4;
}

.trigger svg {
	max-width: 30px;
}
/*

.slider-dead,
.slider-moving {
	max-height: calc( 100vh );
	overflow: hidden;
}

.glide--slider img {
	display: inherit;
	object-fit: cover;
}
*/

@media (min-width: 1024px) {
	.glide--slider:not(.glide--slider.glide__slider--inline) {
		max-height: 100vh;
	}
}

.glide__slides {
	height: 100%;
}

.glide--slider figcaption:not(.glide__slider--inline figcaption) {
	position: absolute;
	top: 0;
	z-index: 20;
	padding-top: 15vh;
	padding-left: 8.33vw;
	width: 74.67vw;
}

.glide__slider--inline figcaption {
	padding: 0;
	width: 100%;
	position: relative !important;
}

.glide--slider figcaption h2 {
		margin-bottom: 40px;
	}

	@media (max-width: 768px) {
		.glide--slider figcaption {
			padding-top: 60px !important;
			width: calc( 100vw - 20px ) !important;
			padding-left: 10px !important;
			hyphens: auto;
		}
	}

.glide__bullets {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
	z-index: 999;
	pointer-events: none;
}

.glide__slider--inline .glide__bullets {
	bottom: auto;
	top: 10px;
    width: 100%;
    text-align: center;
	z-index: 999;
	pointer-events: none;
}

.glide__bullet {
	pointer-events: all;
    width: 16px;
    height: 16px;
    border: 3px solid var(--col-white);
    border-radius: 50%;
    background: none;
    margin: 10px 5px;
	cursor: pointer;
}

.glide__bullet--active {
	background: white;
}

.glide__arrows {
	position: absolute;
    bottom: auto;
    top: 10px;
    width: 100%;
    text-align: center;
    z-index: 998;
    height: 36px;
}

.glide--stage .glide__arrows {
	bottom: 0px;
	top: auto;
}

#front--page-stage .glide__arrows,
#post--stage .glide__arrows {
	display: none;
}

#post--stage {
	max-height: 100vh;
}

.module--hosts .glide__arrows,
.module--places .glide__arrows {
	top: auto;
	bottom: 0px;
}

.glide__arrow {
	position: absolute;
	top: 0;
	width: 25%;
	height: 100%;
	background: none;
	pointer-events: none;
	cursor: pointer;
}

.glide__arrow--left {
	left: 0;
}

	.glide__arrow--left .glide__arrow--self {
		left: 36px;
	}

.glide__arrow--right {
    right: 0;
}

	.glide__arrow--right .glide__arrow--self {
		right: 36px;
	}

.glide__arrow--self {
    z-index: 1;
    width: 16px;
    height: 16px;
    margin-top: -9px;
    border-radius: 50%;
	background-color: white;
    position: absolute;
	color: black;
	pointer-events: all;
	font-size: 13px;
}

.glide__track {
	transition: height .2s ease;
}
	
	.glide__arrow:hover .glide__arrow--self {
		opacity: 1;
		cursor: pointer;
	}

.glide .glide__slide img:not(.glide__slider--inline .glide__slide img) {
    width: 100%;
    height: 100%;
	display: inherit;
	object-fit: cover;
}

	[style*="--aspect-ratio"] > :first-child {
	  width: 100%;
	}
	[style*="--aspect-ratio"] > img {  
	  height: auto;
	} 
	@supports (--custom:property) {
	  [style*="--aspect-ratio"] {
		position: relative;
	  }
	  [style*="--aspect-ratio"]::before {
		content: "";
		display: block;
		padding-bottom: calc(100% / (var(--aspect-ratio)));
	  }  
	  [style*="--aspect-ratio"] > :first-child {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
	  }  
	}

.text--center {
	text-align: center;
}

.with-margin {
	padding: 80px 0;
}

.style--buttons {
	background-color: var(--col-green);
	color: var(--col-white) !important;
	padding: 16px 30px 12px 30px;
	text-decoration: none;
	border-radius: 30px;
	display: inline-block;
	text-align: center;
}

@media (max-width: 1024px) {
	.wrapper--buttons a:not(:first-of-type) {
		margin-top: 20px;
	}
}

.slider-static {
	max-height: 100vh;
}

	slider-wrap.slider-static img {
		position: relative !important;
	}

	slider-wrap.slider-static img {
		height: auto !important;
	}

/*
.module--hosts {
	max-height: 100vh;
}
*/

.slide--host-wrapper {
	display: flex;
    flex-direction: row;
    top: 0;
    width: 100%;
    max-height: 100vh;
    height: 100%;
}

@media (max-width: 1024px) {
	.slide--host-wrapper {
		flex-direction: column;
	}
}

.slide--host-wrapper .slide--host-portrait,
.slide--host-wrapper .slide--host_statement {
	flex: 1 1 0px;
	max-height: 100vh;
	height: 100%;
	display: flex;
}

	.slider--host_statement_elem {
		padding: 50px;
	  	display: flex;
	  	align-items: center;
		justify-content: center;
		flex-direction: column;
		text-align: center;
		width: 100%;
	}

	.slider--host_statement_elem h2 {
		margin-top: 50px;
	}

.slide:nth-last-of-type(odd) .slide--host_portrait  {
	order: 2;
}

.slide:nth-last-of-type(odd) .slide--host_statement  {
	order: 1;
}

#slider--places {
	border-radius: var(--radius);
}

#slider--places .slide--caption {
	position: absolute;
	padding-top: 20px;
	padding-left: 20px;
	z-index: 30;
	color: white;
}

.slide--cloak {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	background-color: rgba(0, 0, 0, .2);
}

.slider--places .slide .slider--places-meta:first-of-type::after {
	content: ', ';
}

.table--subheader_self {
	padding-bottom: 18px;
	text-align: center;
	border-bottom: 2px solid var(--col-green);
}

#places--table [data-id="place--itself"] svg {
	stroke: var(--col-green);
}

#places--table [data-id="place--itself"]:hover svg {
	stroke: var(--col-peach);
}

.parent--active {
	color: var(--col-peach);
}

#places--table [data-id="place--itself"]:hover {
	color: var(--col-peach);
	cursor: pointer;
	stroke: #1a4c2e;
}

[data-id="place--itself"][data-status="inactive"] {
	color: var(--col-teal);
}

[data-id="place--itself"][data-status="inactive"]:hover {
	color: var(--col-teal);
	cursor: not-allowed !important;
}

[data-id="place--itself"][data-status="inactive"]:hover a {
	pointer-events: none;

}

.asset--bed,
.asset--person {
	padding-top: 9px;
}

.toggle--switch svg {
	stroke: var(--col-green);
	fill: var(--col-peach);
	cursor: pointer;
	margin: 0 10px;
}


.toggle--switch svg .no-stroke {
	stroke: none;
}

	.toggle--switch svg .picto {
		stroke: none;
		fill: var(--col-green);
	}

	.toggle--switch svg.button--active {
		stroke: var(--col-white);
		fill: var(--col-green);
	}

	.toggle--switch svg.button--active .picto {
		fill: var(--col-peach);
	}

#places--archive.images--active .row--narrow {
	margin-top: 0px;
}

#places--archive:not(.images--active) #places--images,
#places--archive.images--active #places--list {
	display: none;
}

#places--archive.images--active [data-id*="place--itself"] {
	color: white;
}

#places--archive.images--active .place--itself-meta {
	position: absolute;
	z-index: 20;
	top: 10px;
	left: 10px;
	transition: opacity .2s ease;
}

	@media (min-width: 1024px) {
		.place--itself-meta { 
			opacity: 0;
		}
	}

	.place--itself-wrapper:hover .place--itself-meta {
		opacity: 1;
	}

.place--itself-wrapper {
	position: relative;
}
.place--map-wrapper iframe,
.place--map-wrapper .map {
	border-radius: var(--slide-radius);
}

.row--images-text .column--wrap .row .row-inner {
	display: flex;
}

	.row--images-text img {
		border-radius: var(--slide-radius);
	}

@media (max-width: 768px) {
	.row--images-text .column--wrap .row .row-inner {
		flex-direction: column;
	}
}

.row--images-text.right-to-left .column--img {
	order: 2;
}

.row--images-text.right-to-left .column--txt {
	order: 1;
	padding-right: 60px;
}

@media (min-width: 769px) {
	.row--images-text.right-to-left .column--txt {
		padding-right: 60px;
	}
}

.row--amenities,
.row--best-suited {
	text-align: center;
}

.row--amenities li,
.row--best-suited li {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;

}

	.row--amenities li:last-of-type,
	.row--best-suited li:last-of-type {
		margin-right: none;
		
	}

	.row--amenities svg,
	.row--best-suited svg {
		max-width: 120px;
	}

.bs--label {
	display: block;
    margin-top: 10px;
}

.sdg--item {
	width: 100%;
	fill: white;
}

#hosts--grid {
	display: grid;
    grid-template-columns: auto auto auto;
    grid-gap: 80px 10px;
}

	@media (max-width: 768px) {
		#hosts--grid {
			grid-template-columns: auto;
		}
	}

.hosts--grid__item {
	padding: 0px 60px;
}

.row--copy {
/* hyphens: auto; */
/* deactivated due to client feedback, sep 6 21 */
}

.row--images-text blockquote {
	margin-bottom: 20px;
}

@media (max-width: 768px) {
	.hosts--grid__item {
		padding: 0px 20px;
		margin-bottom: 40px;
	}	
}

.hosts--grid__item-image {
	padding-bottom: 40px;
}

.hosts--grid__item-image img {
	border-radius: var(--slide-radius);
}

#navigation-main {
	padding-top: 80px;
}

#navigation-main .wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc( 100vh - 90px );
}

.menu--row {
	display: flex;
	flex-direction: row;
}

.menu--item {
	text-align: center;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	padding: 0px 20px;
}

@media (max-width: 1024px) {
	.menu--item {
		padding: 0px 10px;
	}
}

#page-header .menu--item h1 {
	margin-bottom: 40px;
}

@media (max-width: 768px) {
	#navigation-main .wrap {
		justify-content: flex-start;
	}
	
	#navigation-main .menu--row {
		flex-direction: column;
	}	
	
	.menu--item h1 {
		margin-bottom: 5px;
	}
}

@media (max-height: 768px) {
	.menu--item {
		margin-bottom: 20px;
	}
	
	.menu--item:last-of-type {
		margin-bottom: none;
	}
	
	.menu--item h2 {
		display: none;
	}
}

.list__item {

	display: flex;
}

.list__item::before {
	content: '• ';
	margin-right: 20px;
}

.meta--row {
	letter-spacing: 0.025em;
	margin-bottom: 10px
}

.meta--row__head {
	border-bottom: 1px solid currentColor;
}

.page-imprint #page-header .site--title svg,
.page-imprint #page-header.light svg, .trigger.light svg {
	fill: var(--col-green) !important;
}