html,button,input,select,textarea{font-family:'Lato',sans-serif;color: #000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{-webkit-box-sizing:border-box;box-sizing:border-box}
*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}
body{font-size:1em;line-height:1.4;margin:0;background:#fff}
::-moz-selection{background:#b3d4fc;text-shadow:none}
::selection{background:#b3d4fc;text-shadow:none}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc}
img{vertical-align:middle;width: 100%;}
fieldset{border:0}
textarea{resize:vertical}
input[type=submit] {outline: none}
h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility}

a,a:link,a:visited{text-decoration:none;outline: none;}
a:hover{color:#000}
p{font-size:17px;line-height:24px}

ul{list-style:none;margin: 0;}


/*  ====================== GENERAL ====================== */

.button {
	text-transform: uppercase;
	padding: 10px;
	font-family: Lato;
	letter-spacing: 0.1px;
	font-size: 15px;
	font-weight: 700;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 21px;
	border: none;
	background: none;
	cursor: pointer;
	text-align: center;
}

.button.filled {
	text-decoration: none;
}

.h1 {
	font-family: Playfair Display;
	font-size: 3.125em;
	font-weight: normal;
	color: #000;
	line-height: 61px;
	text-transform: none;
	margin: 0;
    margin-bottom: 14px;
}

.h2 {
	font-family: Playfair Display;
	font-size: 2.25em;
	color: #000;
	font-weight: normal;
	line-height: 50px;
	text-transform: none;
	margin: 0;
	margin-bottom: 14px;
}

.h3 {
	font-family: Lato;
	font-weight: 400;
	letter-spacing: 0.1px;
	font-size: .9375rem;
	line-height: 21px;
	color: #000;
	text-transform: none;
	margin: 0;
  margin-bottom: 5px;
}

p {
	font-family: Lato;
	font-size: 1em;
	font-weight: 400;
	color: #000;
	line-height: 24px;
	margin: 0;
}

.teaser_slider:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .2);
}

/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Underline From Center */
.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 7px;
  background: #fff;
  height: 2px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before, 
.hvr-underline-from-center:focus:before, 
.hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}

.underline_black:before {
	background: #000;
}

.image_box:hover .hvr-underline-from-center:before, 
.hotel_box .hvr-underline-from-center:focus:before, 
.hotel_box .hvr-underline-from-center:active:before {
  left: 10px;
  right: 10px;
}

@media screen and (max-width: 800px) {

	.h1, .h2 {
		font-size: 2em;
    line-height: 40px;
	}
}


/*========= HEADER ==========*/

header.site-header{
  max-width: 1600px;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
  color: #000;
  background-color: #CFCFCF;
  transition: all .6s ease-out;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 30%);
}

/*Main Navigation*/

.main-navigation {
  width: 100%;
  padding: 10px 20px;
  -webkit-transition: all .6s ease-out;
  -o-transition: all .6s ease-out;
  transition: all .6s ease-out;
  background-color: #CFCFCF;
  position: relative;
}

.mobile-navigation {
  padding: 15px 0;
  transition: all .6s ease-out;
  display: none;
  width: 100%;
}


/*Site Logo*/
.main-navigation a.site-logo {
	display: block;
	width: fit-content;
	height: fit-content;
	margin: 0 auto;
}
.main-navigation a.site-logo img {
	max-width: 100px;
}

/*Nav (left/right)*/

.main-navigation nav > ul > li{
  margin-left: 20px;
  position: relative;
  outline: none;
}
.main-navigation nav > ul > li:first-child{
  margin-left:0;
}

.main-navigation nav > ul > li > a,
.mobile-navigation nav > ul > li > a {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.02rem;
  padding: 11px 0px 11px 10px;
  position: relative;
  color: black;
}


.main-navigation nav > ul > li > a:after,
.mobile-navigation nav > ul > li > a:after {
    content: '';
    display: block;
    height: 2px;
    left: 5px;
    right: 0;
    bottom: 5px;
    width: 0;
    position: absolute;
    background: black;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
}

.main-navigation nav > ul > li > a:hover:after{
    width: 100%;
}
.mobile-navigation nav > ul > li > a:hover:after{
  width: 100%;
}

.main-navigation nav > ul > li > a.active:after{
  	width: 100%;
}
.mobile-navigation nav > ul > li > a:active:after{
  width: 100%;
}

.main-navigation .left-nav {
    width: calc(50% - 150px);
    position: absolute;
    left: 0;
		top: 25px;
		justify-content: flex-end;
  	transition: all .6s ease-out;
}

.main-navigation .right-nav {
	width: calc(50% - 150px);
	position: absolute;
	right: 0;
	top: 25px;
	transition: all .6s ease-out;
	padding-left: 0;
}

.menu-open .main-navigation,
.menu-open .main-navigation.active {
  display: none;
}


/* MOBILENAV */

.mobilenav {
  display: none;
}
.mobilenav nav ul li a {
	color: black;
}
.mobilenav nav ul li a:focus:after {
	width: 100%;
}
.mobilenav.open {
	display: block;
	background: #CFCFCF;
	position: absolute;
	left: 0;
	top: 90px;
	width: 100%;
	padding: 50px 20px;
}

@media screen and (max-width: 800px) {
	.mobilenav.open {
		top: 70px;
	}
}


/*HAMBURGER*/

.site-header .open-menu-container {
	width: fit-content;
	height: fit-content;
	padding-right: 25px;
}

.site-header .hamburger {
	position: relative;
	margin: 0 0 0 auto;
	border: none;
	background: none;
	outline: none;
	display: block;
	z-index: 20;
	cursor: pointer;
	transition: all .3s ease-out;
}

.site-header .hamburger:hover,
.site-header .hamburger:focus {
	transform: scale(1.1);
}
.site-header .hamburger:focus-visible {
	outline: 2px solid black;
}

.site-header .hamburger svg {
	width: 65px;
  	height: 45px;
}

.site-header .hamburger .hamburger_lines {
	position: absolute;
	top: 15px;
	left: 22px;
}

.site-header .hamburger .hamburger_lines span{
	display: block;
	width: 30px;
	height: 1px;
	background: black;
	margin-bottom: 8px;
	transition: all .3s ease-out;
}

.menu-open .site-header .hamburger span.one {
	opacity: 0;
}

.menu-open .site-header .hamburger span.two {
	transform: rotate(-45deg);
}

.menu-open .site-header .hamburger span.three {
	transform: rotate(45deg);
	position: relative;
	top: -8px;
}

.site-header .open-menu-container .hamburger p.menu-text{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;    
	font-weight: 600;
	position: absolute;
	top: -10px;
	left:0;
	text-align: center;
	width: 100%;
	color: black;
}


/*Meta Bar*/
.site-header .meta-bar{
	background: #6E6A65;
	padding: 0 40px;
	height: 45px;
	line-height: 2.8125rem;
	font-size: 1rem;
	justify-content: space-between;
	transition: all .6s ease-out;
	z-index: 999999;
	width: 100%;
}

.contact-language-bar {
  padding-left: 0;
}

.site-header .meta-bar .contact-language-bar li a{
	display: inline-block;
	transition: 0.8s;
  	color: #fff;
}

.site-header .meta-bar .contact-language-bar li a svg{
	display: none;
	fill:#fff;
}

.site-header .meta-bar .contact-language-bar li a.mail svg{
	width: 18px;
	height: 12px;
	position: relative;
	bottom: -2px;
}
.site-header .meta-bar .contact-language-bar li a.phone svg{
	width: 18px;
	height: 17px;
	position: relative;
	bottom: -3px;
}

.site-header .meta-bar ul li:before{
	content:'|';
	padding: 0 8px;
  color: #fff;
}

.site-header .meta-bar ul li:first-child:before{
  	display: none;
}

.site-header .meta-bar ul{
  	list-style:none;
}

.site-header .meta-bar .meta-links a{
	font-weight: 700;
	transition: 0.8s;
}

.site-header button.language-menu.hidden{
	display: none !important;
}

.site-header button.language-menu {
	text-transform: uppercase;
	position: relative;
	z-index: 999999;
	border: none;
	background: transparent;
	color: white;
}

.site-header button.language-menu span{
	position: relative;
	cursor:pointer;
	padding-right: 20px;
}


.site-header button.language-menu span:after{
	content:'';
	display: block;
	background: url('../images/arrow-white-down.svg');
	width: 11px;
	height: 6px;
	position: absolute;
	right: 0;
	top: 50%;
	transform:translateY(-50%);
}


.site-header button.language-menu ul.hidden-language-choice{ 
	list-style: none;
	position: absolute;
	display: none;
	width: 50px;
	left: 0;
	padding: 0;
}


.site-header button.language-menu ul.hidden-language-choice li {
    background: rgba(255,255,255,.9);
    line-height: initial;
    text-align: center;
    margin-bottom: 2px;
}

.site-header button.language-menu ul.hidden-language-choice li:before{
  	display: none;
}

.site-header button.language-menu ul.hidden-language-choice li a {
    padding: 10px 0;
    display: block;
    color: #6E6A65;
}

/*Scrolled Header*/

.site-header.scrolled-header .main-navigation .left-nav{
    width: calc(50% - 100px);
}

.site-header.scrolled-header .main-navigation .right-nav{
  width: calc(50% - 100px);
}

.site-header.scrolled-header .main-navigation a.site-logo img {
	width: 84px;
}

.menu-open .site-header.scrolled-header .mobile-navigation .left-nav,
.menu-open .site-header.scrolled-header .mobile-navigation .right-nav{
  width: 100%;
}

.site-header.scrolled-header .main-navigation .right-nav,
.site-header.scrolled-header .main-navigation .left-nav {
	transform: none;
	top: 20px;
}

.black-forest-color-scheme .site-header.scrolled-header .main-navigation .left-nav,
.black-forest-color-scheme .site-header.scrolled-header .main-navigation .right-nav {
	top: 12px;
}


.site-header.scrolled-header .main-navigation > ul > li {
    margin-left: 4%;
}



.site-header.scrolled-header .meta-bar,
.menu-open .site-header .meta-bar {
    height: 30px;
    line-height: 1.875rem;
    font-size: 0.875rem;
}


@media screen and (max-width: 1400px){

	.main-navigation {
		display: none;
	}
	  
	.mobile-navigation {
		display: block;
		width: 100%;
		height: 96px;
		position: relative;
	}
	  
	.mobile-navigation .logo-container {
		width: fit-content;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		z-index: 2;
	}
	  
	.mobile-navigation a.site-logo {
		width: 70px;
		margin: 0 auto;
	}

	.mobile-navigation .open-menu-container {
		width: fit-content;
		z-index: 2;
		margin: 15px 0 0 0;
		float: right;
	}
	  
	.mobile-navigation nav > ul > li {
		margin: 0 auto;
		text-align: center;
	}
	  
	.mobile-navigation nav > ul > li > a {
		padding: 10px;
	}
	  
	.mobile-navigation nav > ul > li > a:after {
		left: 0;
	}
	  
	.mobile-navigation .left-nav,
	.mobile-navigation .right-nav {
		position: static;
		display: block;
		width: 100%;
		padding: 0 !important;
	}
	  
	.mobile-navigation nav .left-nav,
	.mobile-navigation nav .right-nav {
		width: 300px !important;
		margin: 0 auto;
	}
	  
	.mobile-navigation > ul > li {
		width: 100%;
		text-align: center;
		margin: 0 0 25px 0;
	}
	  
	.mobile-navigation > ul > li > a {
		font-size: 18px;
	}
	
	
	  
	.mobile-navigation.active {
		display: flex;
	}
	  
	.site-header.scrolled-header .mobile-navigation {
		padding: 10px 0;
	}
	  
	.site-header.scrolled-header .mobile-navigation ul > li > a {
		font-size: 18px;
	}
	  
	.site-header.scrolled-header .main-navigation .right-nav,
	.site-header.scrolled-header .main-navigation .left-nav {
		transform: translateY(0);
	}
	  
	.site-header.scrolled-header .main-navigation ul li {
		padding-left: 0;
	}
	  
	.menu-open .site-header.scrolled-header .mobile-navigation {
		padding: 15px 0;
	}

	.site-header.scrolled-header .mobile-navigation {
		height: 70px;
	}
	.site-header.scrolled-header .mobile-navigation .open-menu-container {
		margin-top: 8px;
	}

}

@media screen and (max-width: 800px){

	.site-header .meta-bar {
		height: 30px;
		line-height: 1.875rem;
		font-size: 0.875rem;
		padding: 0 20px;
	}

	.site-header .mobile-navigation {
		height: 70px;
	}

	.mobile-navigation .open-menu-container {
		margin-top: 7px;
	}

}

@media screen and (max-width: 550px){

	.site-header .meta-bar .contact-language-bar li {
		display: none;
	}

	.site-header .meta-bar .contact-language-bar li:before {
		display: none;
	}

	.site-header .meta-bar .contact-language-bar li:last-of-type {
		display: block;
	}

}


/*  ====================== TEASER ====================== */

body {
	background: #fff;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	box-shadow: 1px 1px 8px 0 rgba(153,153,153,0.50);
}

.teaser {
	position: relative;
	margin-top: 140px;
}

.teaser_slider {
	position: relative;
}

.logo,
.teaser .stage-headline {
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%, -50%);
	justify-content: center;
	z-index: 1;
  padding: 20px;
  background-color: rgba(0,0,0, .7);
}
.stage-headline .subheadline,
.stage-headline .h1 {
  color: white;
}

.logo img {
	width: 170px;
	margin: 0 auto;
}

.request_button {
	width: 100%;
	justify-content: space-between;
	display: flex;;
}

.slick-prev {
  background-image: url('../images/arrow_prev.svg');
  width: 44px;
  height: 44px;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 2;
}
.slick-next {
  background-image: url('../images/arrow_next.svg');
  width: 44px;
  height: 44px;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 2;
}

/* VIDEO */
.video_container {
	position: relative;
	width: 100%;
	height: 100%;
	margin-top: 140px;
}

.video_container video {
	width: 100%;
	height: auto;
}

.video_controls {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: flex;
	height: fit-content!important;
	gap: 5px;
	z-index: 100;
}
.video_controls button {
	width: 30px;
	height: 30px;
	background: transparent;
	border: none;
	margin: 0;
	padding: 0;
	background-size: 100%;
	background-repeat: no-repeat;
}
.video_controls button.js-play {
	background-image: url('../images/pause.svg');
}
.video_controls button.js-play.pause {
	background-image: url('../images/play.svg');
}
.video_controls button.js-open-dialog {
	background-image: url('../images/transcript.svg');
}

.transcript {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 20;
	min-width: 320px;
  	width: 50%;
}
.transcript[open=""] {
	display: block;
}
.transcript .js-dialog-close {
	width: 44px;
	height: 44px;
	float: right;
	padding: 10px;
	background-color: #78706B;
	border: none;
}
.transcript p {
	padding-right: 50px;
}

@media screen and (max-width: 800px) {

	.teaser {
		margin-top: 102px;
	}

	.video_container {
		margin-top: 102px;
	}

	.logo {
		top: 46%;
		transform: translate(-50%, -54%);
	}
}


@media screen and (max-width: 600px) {

	.slick-slider, .teaser {
		height: 100vh;
	}

	.slick-initialized .slick-slide,
  .slick-initialized .slick-slide img {
    height: 100vh;
    object-fit: cover;
	}
}



.kenburns-left {
  animation: kenburns-left 5s ease-out infinite alternate forwards;
  pointer-events: none;
}

/* ----------------------------------------------
 * Generated by Animista on 2017-12-14 13:32:19
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation kenburns-left
 * ----------------------------------------
 */
@-webkit-keyframes kenburns-left {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0);
    transform-origin: 16% 50%;
  }
  100% {
    -webkit-transform: scale(1.05) translate(0);
    transform: scale(1.05) translate(0);
    transform-origin: left;
  }
}

@keyframes kenburns-left {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0);
    transform-origin: 16% 50%;
  }
  100% {
    -webkit-transform: scale(1.05) translate(0);
    transform: scale(1.05) translate(0);
    transform-origin: lefts;
  }
}



/*  ====================== MAIN ====================== */

main {
	 padding-top: 140px;
}

.video_container + main,
.teaser + main {
	padding-top: 0;
}



/*  ====================== INTRO ====================== */

.intro {
	margin: 115px auto;
	max-width: 840px;
	text-align: center;
}

.intro p {
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.intro {
		margin: 50px auto;
	}
}

/*  ====================== HOTEL_BOX ====================== */

.hotel_box {
	height: auto;
	margin: 0 auto;
	margin-bottom: 40px;

	transition: all 1s ease-out;

}

.image_box {
	position: relative;
	cursor: pointer;
}

.image_box:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	z-index: 1;
}

.title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	min-width: 600px;
  text-align: center;
}

.title h2 {
	font-family: 'Playfair Display';
	font-size: 3.125em;
	text-align: center;
	color: #fff;
	line-height: 61px;
	margin: 0;
    margin-bottom: 14px;
}

.title button {
	margin: 0 auto;
	text-transform: none;
	padding: 10px;
	font-family: Lato;
	font-weight: 400;
	font-size: 15px;
	color: #FFFFFF;
  background-color: #000;
	letter-spacing: 0;
	line-height: 21px;
	border: none;
	cursor: pointer;
	text-align: center;
}

.inner_text_box {
	padding: 30px 40px;
}

/*---------*/

.close {
	position: absolute;
  top: 18px;
  right: 15px;
  height: 35px;
  padding: 5px;
  cursor: pointer;
  border: none;
  background: transparent;
}

.line1  {
	width: 35px;
	transform: rotate(45deg);
  margin-bottom: 16px;
	border: 1px solid #000;
}

.line2  {
    width: 35px;
    transform: rotate(-45deg);
    margin-top: -18px;
    border: 1px solid #000;
}

/*---------*/

.image_box {
	position: relative;
	z-index: 2;
	margin-left: calc( (100% - 67.777778%) / 2);
	margin-right: auto;
	max-width: 67.777778%; /* 90 % of container width */

	display: flex;
  align-items: center;

	transition: .3s;
}

.image_box {
	object-fit: cover;
	width: 100%;
  max-height: 584px;
  overflow: hidden;
}

.text_box {
	z-index: 1;
	transition: opacity .2s ease-in-out;
	max-height: 100%;
	overflow-y: auto;
	background: #F4F3F2;
}

.hotel_box {
	display: flex;
	position: relative;
	max-width: 90%;
	min-height: 50px;
	transition: min-height .1s linear .2s;
}


.hotel_box .text_box {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 50%;
	transform: translateY(-50%);

	opacity: 0;
	pointer-events: none;
}

.hotel_box.open .text_box {
	opacity: 1;
	pointer-events: auto;
	transition-delay: .3s;
}

.hotel_box.open .image_box {
	margin-left: 0;
	max-width: 50%;
}


.inner_text_box .button {
	color: #000;
	margin-left: -10px;
}

.inner_text_box p {
	margin-bottom: 20px;
}


@media screen and (max-width: 1100px) {

	.image_box {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
	}

	.title {
		min-width: auto;
    width: 400px;
	}
}

@media screen and (max-width: 900px) {

	.hotel_box {
    flex-wrap: wrap;
    flex-direction: column;
	}

	.hotel_box.open .image_box {
    margin-left: 0;
    max-width: 100%;
	}

	.hotel_box .text_box {
    position: absolute;
    top: auto;
    left: 0;
    max-width: 100%;
    transform: none;
    opacity: 0;
    pointer-events: none;
	}

	.hotel_box.open .text_box {
    position: relative;
    top: auto;
    left: 0;
    max-width: 100%;
    transform: none;
    opacity: 1;    
    pointer-events: auto;
	}
}



@media screen and (max-width: 800px) {

	.title span {
		font-size: 2em;
		line-height: 40px;
	}

	.title {
    min-width: auto;
    width: 300px;
	}
}



/*  ====================== LOGO_COLLECTION ====================== */

.logo_collection {
	margin: 70px auto;
	max-width: 600px;
	justify-content: center;
}

.logo_collection hr {
	height: 1px;
	background: #7C726C;
	border: none;
	margin: 30px 0;
}

.logo_collection img {
	width: 100%;
	width: 128px;
	height: auto;
}

.logo_collection img:nth-of-type(4) {
	width: 100%;
	width: 180px;
	height: auto;
}

.row1 {
	display: flex;
	justify-content: center;
}

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

@media screen and (max-width: 800px) {

	.logo_collection {
    max-width: 450px;
	}	
}

@media screen and (max-width: 500px) {

	.logo_collection {
    max-width: 300px;
	}	

	.row2 {
    flex-wrap: wrap;
    flex-direction: column;
	}

	.row2 a {
		margin: 10px auto;
	}
}

/* NEWSLETTER */

.newsletter .teaser {
	position: relative;
}
.newsletter .slick-slide img {
  width: 100%;
	height: 100%;
	max-height: 400px;
	object-fit: cover;
}

.newsletter .teaser::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .6);
	left: 0;
	top: 0;
}

@media screen and (max-width: 600px) {

	.newsletter .slick-slider,
	.newsletter .slick-initialized .slick-slide,
	.newsletter .teaser {
		min-height: 300px;
		height: auto;
	}
  .newsletter .slick-slide img {
    width: auto;    
  }

}

.intro-section .intro-wrap {
	padding: 0 10%;
}
@media screen and (max-width: 1000px) {
	.intro-section .intro-wrap {
			padding: 0;
	}
}

/* .site-header {
	width: 100%;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.site-header .logo {
	position: static;
	transform: none;
  background-color: transparent;
}

.site-header .logo img {
	display: block;
	height: 90px;
	width: auto;
	padding: 10px;	
} */


.flex-rows-container {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-direction: row;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: start;
	-webkit-box-pack: start;
	justify-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-ms-flex-align: stretch;
	-webkit-box-align: stretch;
	align-items: stretch;
}
.intro-section .left-intro-col, .intro-section .right-intro-col {
	width: 50%;
}
.intro-section .left-intro-col, .intro-section .right-intro-col {
	width: 50%;
}
.intro-section {
	padding: 80px 0;
}

@media screen and (max-width: 850px) {
	.intro-section .left-intro-col, .intro-section .right-intro-col {
		width: 100%;
	}

}

.wrap-1180 {
	max-width: calc(1180px + 100px);
	padding: 0 50px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 550px) {
	.wrap-1180 {
			padding: 0 25px;
	}
}

.intro-section h2 {
	font-size: 50px;
	line-height: 1.16;
}

@media screen and (max-width: 750px) {
	.intro-section h2 {
		font-size: 30px;
		line-height: 40px;
	}
}

.bottom-wrap {
	margin-bottom: 110px;
}

/*  ====================== FORM SECTION ====================== */


.form-style{
  position: relative;
}

.form-style #form-anchor{
  position: absolute;
  top: -150px;
}

.form-style .form-field-row{
  width: 100%;
  margin-bottom: 30px;
}

.form-style  .privacy-info{
  margin-bottom: 30px;
}

.form-style .CheckboxGroup {
  display: flex;
  align-items: center;
  padding-bottom: 6px;
}

.form-style .CheckboxGroup label p,
.form-style .CheckboxGroup label p a {
	color: #000;
}
.form-style .CheckboxGroup label p a {
	text-decoration: underline;	
}

.form-style .CheckboxGroup input[type="checkbox"] {
  margin-right: 10px;
}
.form-style .form-field-row .form-field{
  width: calc(50% - 12px);
}

.form-style .form-field-row .form-field:first-child{
  margin-right: 24px;
}

.form-style .form-field-row .form-field label{
  width: 100%;
  display: block;
  font-size: 15px;
  color: #212121;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.form-style .form-field-row .form-field input,
.form-style .form-field-row .form-field select,
.form-style .form-field-row .form-field .selectric-wrapper{
	appearance: none;
  width: 100%;
  height: 55px;
  border: none;
  padding-left: 20px;
  padding-right: 20px;
	font-size: 1rem;
  outline: none;
	background-color: #F3F3F3;
}

/* error styles */
.form-style .CheckboxGroup.error label,
.form-style .CheckboxGroup.error label p,
.form-style .CheckboxGroup.error label p a,
.form-style .form-field-row .form-field.error label,
.black-forest-color-scheme .form-style .form-field-row .form-field.error label {
  color: #aa0000;
}
.form-style .form-field-row .form-field input.error,
.schloss-reinach-scheme .form-style .form-field-row .form-field.error input,
.black-forest-color-scheme .form-style .form-field-row .form-field.error input,
.boardinghouse-scheme .form-style .form-field-row .form-field.error input{
  border: 1px solid #aa0000;
  background: #f7cfcf;
}
.error-message{
  color: #aa0000;
  margin-top: 10px;
}

/* ==== */

.form-style .form-field-row .form-field .selectric .label{
  line-height: 55px;
}

.GetNewsletter .button,
.form-style .submit-row input[type="submit"]{
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  background: #aaa;
  color: #fff;
  border-radius: 0 20px 0 20px;
  padding: 20px 20px;
      -webkit-transition: 0.8s;
      -o-transition: 0.8s;
      transition: 0.8s;
      position: relative;
      border: 1px solid transparent;
}

.GetNewsletter .button:hover,
.form-style .submit-row input[type="submit"]:hover{
  border-radius: 0px;
  border: 1px solid rgba(255,255,255,.6);
}

.form-style .submit-row{
      -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}


@media screen and (max-width: 600px){

  .form-style .form-field-row .form-field input,
  .form-style .form-field-row .form-field select,
  .form-style .form-field-row .form-field .selectric-wrapper{
    height: 45px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .form-style .form-field-row .form-field{
    width: 100%;
    margin-bottom: 15px;
  }

  .form-style .form-field-row .form-field:first-child{
    margin-right: 0px;
  }

  .form-style .form-field-row{
    margin-bottom: 0;
  }

  .form-style .form-field-row .form-field label{
    font-size: 13px;
    margin-bottom: 5px;
  }

  .form-style .form-field-row .form-field .selectric .label{
    line-height: 45px;
  }

}


/* ======================= Text Module ================= */

.textmodule {
	padding: 50px 20px;
	max-width: 800px;
	margin: 0 auto;
}

.textmodule .h3, .textmodule .h1, .textmodule p {
	text-align: left;
}

/* =========================== GALLERY SECTION =========================== */
.gallery-section {
	padding: 50px 20px;
}

.gallery-section .wide-img-col{
  width: calc(65% - 12.5px);
  margin-right: 25px;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
}

.gallery-section .small-img-col{
  width: calc(35% - 12.5px);
  margin-top: 80px;
}

.gallery-section a.gallery-img{
  overflow: hidden;
}

.gallery-section a.gallery-img img{
  -webkit-transition:0.8s;
  -o-transition:0.8s;
  transition:0.8s;
}

.gallery-section a.gallery-img:hover img{
  -webkit-transform:scale(1.02);
      -ms-transform:scale(1.02);
          transform:scale(1.02);
}

.gallery-section a.gallery-img,
.gallery-section span.text-col{
  margin-bottom: 25px;
  display: block;
}

.gallery-section .gallery-img.width50,
.gallery-section span.text-col.width50{
  width:calc(50% - 12.5px);
}

.gallery-section span.text-col{
  text-align: right;
  font-size: 25px;
  font-family:'Raleway';
  font-weight: 500;
}

.gallery-section .small-img-col span.text-col{
  text-align: left;
}

.gallery-section .gallery-img.width100{
  width:100%;
}

.gallery-section .gallery-img.gap{
  margin-left: 25px;
}

@media screen and (max-width: 750px){

  .gallery-section .wide-img-col{
    width: calc(45% - 12.5px);
  }

  .gallery-section .small-img-col{
    width: calc(55% - 12.5px);
    margin-top: 50px;
  }

  .gallery-section .gallery-img.width50{
    width:100%;
  }

  .gallery-section .gallery-img.gap{
    margin-left: 0px;
  }

  .gallery-section span.text-col{
    font-size: 20px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .gallery-section span.text-col.width50{
    width:100%;
  }
}

/*  ====================== FOOTER ====================== */

footer.site-footer{
	position: relative;
	margin-top: 100px;
}
  
footer.site-footer:after{
	content: '';
	display: block;
	background-image: url('../images/logo_black.svg');
	background-repeat: no-repeat;
	background-size: 100px 77px;
	width: 100px;
	height: 77px;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
}
  
footer.site-footer .main-footer{
	background: #CFCFCF;
	padding: 90px 100px 60px;
  
}
  
footer.site-footer .main-footer .flex-rows-container{
	-ms-flex-pack: center;
	-webkit-box-pack: center;
			justify-content: center;
}
  
footer.site-footer .main-footer .footer-col-wide{
	width: 26.6667%;
}
  
footer.site-footer .main-footer .footer-col .link-col {
	padding-left: 0;
}
  
footer.site-footer .main-footer .footer-col-small{
	width: 20%;
}
  
footer.site-footer .main-footer .h3{
	font-size: 25px;
	line-height: 1.5625rem;
	padding-bottom: 25px;
}
  
footer.site-footer .main-footer p{
	font-size: 1rem;
	line-height: 1.5rem;
}
  
footer.site-footer .main-footer p a{
	  color:#000;
	  text-decoration: underline;
}
  
footer.site-footer .main-footer ul.link-col li{
	height: fit-content;
	padding: 5px 0;
}

footer.site-footer .main-footer ul.link-col li:before {
	content: '–';
	font-weight: bold;
	display: inline-block;
	width: 1em;
	margin-left: 0;
}
  
footer.site-footer .main-footer ul.link-col li a{
	color: #000;
	font-weight: 700;
	position: relative;
	padding: 5px 0;
}
  
footer.site-footer .main-footer ul.link-col li a:after,
footer.site-footer .bottom-footer-line .meta-link-row a:after {
	content: '';
	display: block;
	height: 1px;
	bottom: -1px;
	left:0;
	width: 0;
	position: absolute;
	background: #fff;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}
  
footer.site-footer .main-footer ul.link-col li a:hover:after,
footer.site-footer .bottom-footer-line .meta-link-row a:hover:after {
	  width: 100%;
}
  
footer.site-footer .social-links.flex-rows-container{
	margin-top: 30px;
	justify-content: left;
	padding: 0;
}
  
footer.site-footer .social-links li{
	margin-left: 12px;
}
  
footer.site-footer .social-links li:before {
	display: none!important;
}
  
footer.site-footer .social-links li:first-child{
	margin-left: 0;
}
  
footer.site-footer .social-links a{
	display: inline-block;
	width: 44px;
	height: 44px;
	border-radius: 0 20px 0 20px;
	background: #fff;
	position: relative;
	-webkit-transition: 0.8s;
	-o-transition: 0.8s;
	transition: 0.8s;
	border: 1px solid transparent;
}
  
footer.site-footer .social-links a:hover,
footer.site-footer .social-links a:focus {
	border-radius: 0px;
	border: 1px solid rgba(#6E6A65,.2);
}
footer.site-footer .social-links a:focus {
	  outline: 2px solid black;
}
  
footer.site-footer .social-links a svg{
	fill: #212121;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
  
footer.site-footer .social-links a.instagram img {
	width: 25px;
	height: 25px;
	margin: 8px;
}
  
footer.site-footer .social-links a.facebook img{
	width: 25px;
	height: 25px;
	margin: 8px;
}
  
  
  /* Bottom Footer Line */
  
  footer.site-footer .bottom-footer-line{
	padding: 0 40px;
	height: 60px;
	background: #6E6A65;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
			justify-content: space-between;
  }
  
  footer.site-footer .bottom-footer-line span,
  footer.site-footer .bottom-footer-line .meta-link-row a{
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	line-height:60px;
  }
  footer.site-footer .bottom-footer-line ul.meta-link-row {
	padding-left: 0;
  }
  
  footer.site-footer .bottom-footer-line .meta-link-row li{
	margin-left: 30px;
  }
  
  footer.site-footer .bottom-footer-line .meta-link-row li:first-child{
	margin-left:0;
  }
  
footer.site-footer .bottom-footer-line .meta-link-row a{
	position: relative;
}
  
  
@media screen and (max-width: 1200px){
  
	footer.site-footer .main-footer .flex-rows-container{
		justify-content: left;
	}
  
	footer.site-footer .main-footer .h3 {
	  font-size: 18px;
	  line-height: 1.125rem;
	  padding-bottom: 20px;
	}
  
	footer.site-footer .bottom-footer-line span, footer.site-footer .bottom-footer-line .meta-link-row a {
		font-size: 0.875rem;
	}
  
	footer.site-footer .main-footer .footer-col-wide{
	  width: 50%;
	}
	footer.site-footer .main-footer .footer-col-small{
	  width: 50%;
	}
  
	footer.site-footer .main-footer .footer-col{
	  margin-bottom: 50px;
	}
  
	footer.site-footer .main-footer .footer-col:nth-child(3){
	  padding-left:0;
	}
  
  
  
}
  
@media screen and (max-width: 900px){
  
	footer.site-footer .main-footer {
		padding: 80px 20px 20px;
	}
  
	footer.site-footer .main-footer ul.link-col li a{
	  opacity: .7;
	}
  
	footer.site-footer .main-footer .wrap-100{
	  text-align: center;
	  max-width: 80%;
	  margin: 0 auto;
	}
  
	footer.site-footer .main-footer .footer-col-wide {
	  width: 100%;
	  padding: 0 !important;
	}
  
	footer.site-footer .main-footer .footer-col:last-child{
	  margin-bottom: 0;
	}
  
  
	footer.site-footer .main-footer .footer-col-small {
	  width: 100%;
	  margin-bottom: 50px;
	}
  
	footer.site-footer .social-links.flex-rows-container,
	footer.site-footer .meta-link-row{
	  -ms-flex-pack: center;
	  -webkit-box-pack: center;
			  justify-content: center;
	}
  
	footer.site-footer .bottom-footer-line span, footer.site-footer .bottom-footer-line .meta-link-row a {
		line-height: initial;
	}
  
  
	footer.site-footer .bottom-footer-line .meta-link-row li {
	  padding-left: 20px;
	}
  
	  footer.site-footer .bottom-footer-line .meta-link-row li:first-child{
		padding-left: 0;
	  }
  
	footer.site-footer .bottom-footer-line{
	  height: initial;
	  padding: 20px 0;
	}
  
	footer.site-footer .bottom-footer-line span{
	  width: 100%;
	  text-align: center;
	  margin-bottom: 15px;
	}
  
	footer.site-footer .meta-link-row{
		width: 100%;
		opacity: .7;
	}
  
}

/* PLUGINS */

/*======================================
  Selectric v1.13.0
======================================*/

.selectric-wrapper {
  position: relative;
  cursor: pointer;
}

.selectric-responsive {
  width: 100%;
}

.selectric {
  position: relative;
  overflow: hidden;
}

.selectric .label {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  color: #000;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric .button {
  display: block;
  position: absolute;
  text-align: center;
}



.selectric-focus .selectric {
  border-color: #aaaaaa;
}

.selectric-hover .selectric {
  border-color: #c4c4c4;
}

.selectric-hover .selectric .button {
  color: #a2a2a2;
}

.selectric-hover .selectric .button:after {
  border-top-color: #a2a2a2;
}

.selectric-open {
  z-index: 9999;
}

.selectric-open .selectric {
  border-color: #c4c4c4;
}

.selectric-open .selectric-items {
  display: block;
}

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0;
}

.selectric-hide-select select {
  position: absolute;
  left: -100%;
}

.selectric-hide-select.selectric-is-native {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.selectric-hide-select.selectric-is-native select {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0;
}

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important;
}

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important;
}

/* Items box */
.selectric-items {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ddd;
  z-index: -1;
  -webkit-box-shadow: 0 0 10px -6px;
          box-shadow: 0 0 10px -6px;
}

.selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto;
}

.selectric-above .selectric-items {
  top: auto;
  bottom: 100%;
}

.selectric-items ul, .selectric-items li {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 15px;
  line-height: 20px;
  min-height: 20px;
  border-top: 1px solid rgba(255,255,255,.3);
}

.selectric-items li {
  display: block;
  padding: 10px;
  color: #000;
  cursor: pointer;
}

.selectric-items li.selected {
  background: #E0E0E0;
  color: #444;
}

.selectric-items li.highlighted {
  background: #aaa;
  color: #000;
}

.selectric-items li:hover {
  background: #aaa;
  color: #000;
}

.selectric-items .disabled {
  filter: alpha(opacity=30);
  opacity: 0.3;
  cursor: default !important;
  background: none !important;
  color: #fff !important;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric-items .selectric-group .selectric-group-label {
  font-weight: bold;
  padding-left: 10px;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  color: #444;
}

.selectric-items .selectric-group.disabled li {
  filter: alpha(opacity=100);
  opacity: 1;
}

.selectric-items .selectric-group li {
  padding-left: 25px;
}

/* Booking Case */

.booking-bar .selectric .label{
  height:42px;
  line-height: 42px;
}

.booking-bar .selectric-wrapper{
  padding-left: 55px;
}


/*Black Forest Case*/

.black-forest-color-scheme .form-style .form-field-row .form-field input,
.black-forest-color-scheme .form-style .form-field-row .form-field select,
.black-forest-color-scheme .form-style .form-field-row .form-field .selectric-wrapper{
  background: #fff;
  color: #212121;
}

.black-forest-color-scheme .form-style .form-field-row .form-field label {
  color: #fff;
}
.black-forest-color-scheme .form-style .form-field-row .form-field .selectric .label {
  color: #212121;
}


.black-forest-color-scheme .selectric-items li.highlighted {
  background: #006633;
  color: #fff;
}

.black-forest-color-scheme .selectric-items li:hover {
  background: #006633;
  color: #fff;
}

.black-forest-color-scheme .selectric-items {
  background: #444;
}

/*Schloss Reinach Case*/

.schloss-reinach-scheme  .selectric-items li{
  color: #212121;
}

.schloss-reinach-scheme .selectric-items li.highlighted {
  background: #CFC9C0;
}

.schloss-reinach-scheme .selectric-items li:hover {
  background: #755741;
  color: #fff;
}

.schloss-reinach-scheme .selectric-items .disabled{

  color: #212121 !important;
}

.schloss-reinach-scheme .selectric-items {
  background: #D8D2C7;
  color: 212121;
}


/* ACCESSABILITY */
div:focus-visible,
button:focus,
span:focus-visible,
a:focus {
    outline: 3px solid black;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

a.skiplink {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    z-index: 200;
    text-align: center;
    border: 1px solid #1a1a1a;
    color: #1a1a1a;
    background: #fff;
    padding: 10px;
    transition: all .3s ease;
    transform: translateY(-110%);
}
a.skiplink:focus {
	transform: none;
}
a.skiplink:focus + header {
	top: 44px;
}