:root {
    scroll-behavior: auto!important;
}
.frame-space-before-extra-small{
  padding-top: 1vw;
  margin-top: 0;
}
.frame-space-after-extra-small{
  padding-bottom: 1vw;
  margin-bottom:0;
}
.frame-space-before-small{
  padding-top: 4vw;
  margin-top: 0;
}
.frame-space-after-small{
  padding-bottom: 4vw;
  margin-bottom:0;
}
.frame-space-before-medium {
  padding-top: 6vw;
  margin-top: 0;
}
.frame-space-after-medium {
  padding-bottom: 6vw;
  margin-bottom:0;
}
.frame-space-before-large{
  padding-top: 8vw;
  margin-top: 0;
}
.frame-space-after-large{
  padding-bottom: 8vw;
  margin-bottom:0;
}
.frame-space-before-extra-large {
  padding-top: 20vw;
  margin-top: 0;
}
.frame-space-after-extra-large {
  padding-bottom: 20vw;
  margin-bottom:0;
}
.frame-layout-1 {
  padding-left:5%;
  padding-right:5%;
}
.frame-layout-2 {
  padding-left:10%;
  padding-right:10%;
}
.frame-layout-3 {
  padding-left:15%;
  padding-right:15%;
}
.frame-layout-4 {
  padding-left:25%;
  padding-right:25%;
}
html, body{
	background-color: #333;

}
body, .wrap {
	background-color: #565656;
	color: #dadada;
  -webkit-text-size-adjust: 100%;
  
}
#wrap {
	max-width: 2000px;
	margin: 0 auto;
  background-color: #0F1A2F;
}
.socialicons {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
	z-index: 20;
}
.socialicons .frame.button a{
	text-align: left;
	width: 220px;
	justify-content: inherit;
	margin-right: -160px;
	background-color: rgba(0,0,0,0.1);
	padding-left: 60px;
    transition: transform 0.2s ease-in-out
}
.socialicons .frame.button a:hover {
	transform: translateX(-135px);
    transition: transform 0.2s ease-in-out
}
.socialicons a{
    background-repeat:no-repeat;
	background-size: 30px;
	background-position: 20px center;
}
.socialicons .gutschein {
	background-image: url('../elements/gift.svg');
}
.socialicons .anfrage {
	background-image: url('../elements/anfrage.svg');
}
.ce-div {
	opacity: 1;
}
.content li a, .content p a {
	color: inherit;
}
.content h2 a {
	color: inherit;
}
.content > div > h1 {

}
.content .lead {
	font-size: 1.5rem;
}
.fitimg .image {
	margin-bottom: 0;
}
.fitimg .image .image-embed-item {
	width: 100%;
	height: auto;
}
.header {
  position:relative;
	height:100svh;
}
.contentlink {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
  z-index:2;
}
.contentlink a {
	display: block;
	height: 100%;
	width: 100%;
}
.header::before {
	content: '';
	background: linear-gradient(180deg, rgba(0,0,0,0.1) 0% ,rgba(0,0,0,0) 100%);
	position: absolute;
	display: block;
	z-index: 2;
	height: 30vh;
	width: 100%;
}
.header::after {
	content: '';
	display: block;
	bottom: 0;
	width: 100%;
	position: absolute;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3001401244091386) 100%);
	height: 30vh;
	z-index: 1;
}
.header .image {

	margin-bottom: 0;
}
.header h1 {
	line-height: 0.9;
	font-family: 'Poppins',inherit sans-serif;
	font-weight: 400;
	color: #F02837;
	text-shadow: rgba(0,0,0,0.25) 4px 4px;
	letter-spacing: -5%;
}
.header .vidwrap {
	height: 100svh;
	margin-bottom: 0;
	background-size: cover;
	background-position: center;
}

.header .vidwrap video {
    width:100%;
    height:100%;
	object-fit: cover;
	object-position: center;
}
.header .image .image-embed-item {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.header .ce-bodytext {
	position: absolute;
	width: 100%;
	color: #fff;
	text-shadow: 0 0 1px rgba(0,0,0,0.8);
  z-index: 2;
}
.header h3 {
	line-height: 1.2;
	letter-spacing: normal;
	font-size: 2rem;
}
.finger .ce-bodytext {
	padding-left: 5vw;
	background-image: url('../elements/Peace_Illu.svg');
	background-repeat: no-repeat;
	background-position: center left;
	background-size: contain;
}
.header > div {
	height: 100%;
}
.header .h-row {
	position: relative;
	z-index: 2;
	height: 100%;
	padding-left: 1.5vw;
}
.header .vid {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}
.header .h-row .ce-bodytext{
	position: relative;
	bottom: inital;
	width: 100%;
	color: #fff;
	text-shadow: 0 0 1px rgba(0,0,0,0.8);
  z-index: 2;
}
.header .ce-bodytext h2 {
	font-size: 2rem;
	font-weight: 300;
	line-height: 1;
	font-family: 'Poppins', sans-serif;
}
.header .ce-bodytext h4 {
	font-size: 1.125rem;
	letter-spacing: 0.5rem;
	font-weight: 600;
	line-height: 3;
}
.ce-image.ce-right .image {
	justify-content: end;
	display: flex;
}
.ce-image.ce-center .image {
	justify-content: center;
	display: flex;
}
.ce-bodytext .button {
	border: 1px solid;
	border-radius: 10vw;
	padding: 0 1.4rem 0 1.8rem;
	font-size: 1rem;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.5rem;
	color: #565656;
}

.gallery .image {
	margin-bottom: 0;
}
.sticky-wrap {
    position: relative;
    height: auto;  /* Ensures wrapper grows to fit sticky content */
  }
.section.sticky.first {
	min-height: auto;
	position: sticky;
}  

.sticky {
	position: relative;
	top: 0;
	z-index: 10;
	min-height: 100vh;
	/* border-top: 5px solid #fff; */
	will-change: transform;
	background-color: transparent;
}
.sticky > div{
position:realtive;
}
.section.sticky.next > div {
	padding: 10svh 20vw;
}
.sticky .big-lead {
	position: relative;
	font-size: 20vw;
	font-family: sans-derif, "poppins";
	font-weight: 400;
	width: 100%;
	line-height: 1.05;
	color: rgba(255,255,255,0.1);
	margin: 0;
}
.sticky.first h3 {
	color: #F02837;
	position: absolute;
	height: 100%;
	top: 0;
	width: 100%;
	align-content: center;
	font-family: sans-serif, "Manrope";
	letter-spacing: 40%;
	font-size: 1.6vw;
	font-weight: 600;
	text-transform: uppercase;
}
.sticky.next  h2 {
	font-size: 3.5rem;
    font-weight:500;
}
.sticky.next  h4 {
	font-size: 0.8rem;
	line-height: 1.2;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
}
.sticky.next .ce-textpic > a {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 3;
	opacity: 0;
}



.section.sticky > .frame-type-shortcut {
	padding: 0;
}
.section.sticky > a {
	display: none;
}
.sticky .imgwrap .image {
	height: 100vh;
	margin: 0;
}
.sticky.next .image {
	width: 100%;
	height: 100%;
	margin:0;
}
.sticky.next .image-embed-item {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sticky.next .ce-textpic {
	position: relative;
}
.sticky.next .ce-textpic::after {
	content: '';
	width: 100%;
	position: absolute;
	display: block;
	height: 25%;
	bottom: 0;
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
	z-index: 1;
}
.sticky.next .ce-bodytext {
	bottom: 5svh;
	position: absolute;
	color: #fff;
	left: 5vw;
	z-index: 2;
}
.sticky .imgwrap .image-embed-item {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sticky .txt {
	background-color: #D9D9D9;
}
.sticky .shine {
	position: relative;
	overflow: hidden;
	color: #565656;
}
.sticky .shine > div {
	z-index: 2;
	position: relative;
}
.sticky .shine::after {
	background-image: radial-gradient(circle, rgb(255, 255, 255) 0%, rgba(217, 217, 217, 0) 70%);
	position: absolute;
	content: '';
	display: block;
	border-radius: 100%;
	width: 35vw;
	height: 35vw;
	top: -15vw;
	right: -15vw;
  z-index:1;
}

.sticky .shine .ce-textpic.ce-right {
	flex-direction: row-reverse;
	display: flex;
	justify-content: start;
	align-items: center;
}
.sticky .shine .ce-textpic.ce-right .ce-gallery {
	padding-left: 2vw;
}
.sticky .shine h1 {
	font-family: 'Barlow Semi Condensed', sans-serif;
	line-height: 1;
	font-weight: 600;
	font-size: 3.75rem;
}
.sticky .shine h4 {
	font-size: 1.125rem;
	line-height: 1;
	letter-spacing: 0.3rem;
	font-weight: 600;
}
.sticky .shine p {
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 300;
}
.sticky .shine .ce-bodytext a {
	text-decoration: none;
}
.sticky-wrap section:first-child {
	border: 0;
}
/* Parallax-like effect */
.sticky-wrap > section {
    will-change: transform;
}
.starbg {
	background-image: url('../elements/stern_grau_hinter_special_schrift.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.starbg h1 {
	font-family: 'Barlow Semi Condensed', sans-serif;
	line-height: 1;
	font-weight: 600;
	font-size: 3.75rem;
}
.starbg p {
	margin-bottom: 0;
}
.leistungen h3 {
	position: relative;
	margin-top: 0.65rem;
}
.leistungen ul {
    padding-left: 0;
  margin-bottom:0;
}
.leistungen li {
	list-style-type: none;
	border-top: 1px solid;
	font-size: 1.5rem;
	line-height: 3;
}
.leistungen li:last-child {
	border-bottom: 1px solid;
}
.row.team .ce-bodytext {
	padding: 3vw 2vw;
}
.pp-tabs-custom .nav-tabs {
	justify-content: center;
	z-index: 101;
	position: relative;
	width: auto;
	margin: 0 auto;
	display: flex;
	max-width: fit-content;
	border-bottom: 0;
}
.pp-tabs-custom .nav-tabs .nav-link {
	border: 1px solid;
	border-radius: 10vw;
	padding: 0 1.4rem 0 1.8rem;
	font-size: 1rem;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.5rem;
	color: #DADADA;
	margin: 0 0.5rem;
}
.pp-tabs-custom .nav-tabs .nav-link.active {
	border: 1px solid rgba(0,0,0,0);
	color: #DADADA;
    background-color: rgba(218,218,218,0.2);
}
.pp-tabs-custom .tab-content {
	padding: 0 5px;
}
.spec {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
}
.spec .item-content {
	height: 100%;
	justify-content: space-between;
	display: flex;
	flex-direction: column;
}
.spec > div {
	padding: 0;
	border-radius: 0;
	background-color: #D9D9D9;
	border: 0;
	margin: 0 5px;
	border: 0;
	color: #565656;
}

.spec .item-image {
	margin: 0 5px;
	padding-right: 3vw;
  position:relative;
}

.spec .item-image .item-image-link {
	position: absolute;
	top: 0;
	width: calc(100% - 3vw);
	height: 100%;
}
.spec .item-image .item-image-link a {
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	opacity: 0;
}

.spec .item-text {
	position: relative;
}
.spec .item-text h2 {
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-weight: 600;
	font-size: 3rem;
	line-height: 1;
	text-transform: uppercase;
	padding-left: 2vw;
	margin-bottom: 3rem;
	padding-top: 6rem;
}
.spec .item-text pre {
	text-align: center;
	background: #565656;
	width: 12rem;
	height: 12rem;
	align-content: center;
	border-radius: 50%;
	margin-left: auto;
	margin-top: calc(-7rem);
	border: 9px solid #565656;
	box-sizing: border-box;
	-webkit-box-shadow: inset 0px 0px 0px 1px #DADADA;
	color: #dadada;
	position: absolute;
	font-size: 0.875rem;
	font-family: inherit;
	margin-bottom: 0;
	line-height: 1.2;
	right: 2vw;
}
.spec .item-text pre strong {
	font-size: 2.2rem;
}
.spec .item-text ul {
	margin-bottom: 0;
	padding-left: 5vw;
    padding-right:1vw;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.25;
}
.spec .item-text ul li {
	list-style-position: outside;
	/* list-style: '\01F784'; */
	padding-left: 0.5rem;
}

.spec .item-link {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.spec .item-link a {
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	width: fit-content;
}
.spec .item-link a::before {
	content: '';
	background-image: url('../elements/pfeil_grau.svg');
	display: block;
	width: 4vw;
	background-position-x: right;
	background-size: 120%;
	background-repeat: no-repeat;
	background-position-y: center;
	height: 1rem;
	margin-right: 1vw;
}
.spec .item-image img {
	width: 100%;
	height: auto;
}
.frame.button a {
	color: #fff;
	border: 1px solid;
	border-radius: 10vw;
	padding: 0 1.4rem 0 1.8rem;
	font-size: 1rem;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
	text-align: center;
	min-width: 8vw;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.5rem;
	font-family: 'Poppins', sans-serif;
}
.frame.button .ce-headline-center {
	text-align: center;
	width: fit-content;
	margin: 0 auto;
}
.frame.button .ce-headline-left {
	text-align: left;
	width: fit-content;
	margin: 0 0 auto 0;
}
.btdark .frame.button a {
	color: #dadada !important;
	background-color: #565656;
	border-color: #565656;
}
.btlight .frame.button a {
    color: #565656;
    background-color: #dadada;
    border-color: #dadada;
}
.nature .cec-image-wrap {
	position: absolute;
	height: 100%;
	width: 100%;
}
.nature .cec-image-wrap div {
	height: 100%;
}
.footerlogo .image{
  margin-bottom:0;
}
.nature .card{
    border-radius: 0;
}
.nature .lead {
	font-weight: 600;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	font-size: 1rem;
	margin-bottom: 0;
}
.nature .image {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
}
.nature .card-body .image{
  padding-left: 3vw;
}
.nature .cec-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tns-item .image-embed-item {
	width: 100%;
	height: auto;
}
.tiny-sticky {
	position: relative;
}
.tiny-sticky .ce-gallery {
	position: relative;
}
.tiny-sticky .tns-controls {
	position: absolute;
	z-index: 2;
	top: 50%;
	width: 100%;
}
.tiny-sticky .tns-controls button {
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	background-color: rgba(218, 218, 218, 0.7);
}
.tiny-sticky .tns-controls button:hover {
	background-color: rgba(218, 218, 218, 1);
}
.tiny-sticky .tns-controls button:nth-child(1) {
	left: 3vw;
}
.tiny-sticky .tns-controls button:nth-child(2) {
	right: 3vw;
}
.tiny-sticky .tns-controls button > div {
	background-image: url('../elements/pfeil_grau.svg');
	text-indent: -9999px;
	overflow: hidden;
	width: 20px;
	height: 20px;
	background-position: center right;
	background-size: 5rem;
	background-repeat: no-repeat;
	margin: 20px;
	box-sizing: border-box;
	background-color: transparent;
}
.tiny-sticky .tns-controls .prv {
	transform: rotate(180deg);
     
}
.tiny-sticky .tns-controls .nxt {

     
}
.raute hr.ce-div::before {
	content: '';
	width: 76px;
	height: 33px;
	background-image: url('../elements/raute.svg');
	display: flex;
	position: relative;
	/* background: rebeccapurple; */
	z-index: 2;
	margin: 0 auto;
	top: -16px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.raute hr.ce-div {
	opacity: 1;
	position: relative;
	border: 0;
	height: 1px;
	background: #dadada;
	overflow: visible;
}
.instalink a {
	color: inherit;
	text-decoration: none;
	padding-left: 40px;
	background-image: url('../elements/instagram.svg');
	background-repeat: no-repeat;
	background-position: left center;
	height: 30px;
	align-content: center;
	background-size: contain;
	font-weight: 600;
	letter-spacing: 0.2rem;
}
.step .img .image {
	margin: 0;
}

.step .img::after {
	content: '';
	display: block;
	height: 5rem;
	width: calc(25% - 12px);
	background: #d9d9d9;
	margin-left: auto;
}
.step .text {
	background: #d9d9d9;
	margin-top: 5rem;
	color: #565656;
}
.step .text h2 {
	text-transform: uppercase;
}
.step .text h4 {
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0.2rem;
}
.step .text .ce-textpic.ce-right.ce-intext {
	display: flex;
	flex-direction: row-reverse;
	justify-content: start;
	align-items: center;
}
.step .text .ce-textpic.ce-right.ce-intext .ce-gallery{
    padding-left:10px;
}
.step .text .frame.button a {
	color: #565656;
}

.inclusive ul {
	list-style-type: '>';
	list-style-position: outside;
	padding-left: 15px;
}
.inclusive ul li {
	padding-left: 10px;
	line-height: 1.5;
	font-size: 1.5rem;
	font-weight: 300;
}
.inclusive h2 {
	font-weight: 200;
	font-family: 'Poppins' ,sans-serif;
	font-size: 3.5rem;
}
.inclusive h4 {
	font-size: 1.5rem;
}
.inclusive p {
	font-size: 1.5rem;
    font-weight:300;
}
.room .details h2 {
	text-transform: uppercase;
}
.room .details h4 {
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0.2rem;
}
.room .details ul {
	list-style-type: '>';
	list-style-position: outside;
	padding-left: 15px;
}
.room .details ul li {
  padding-left: 10px;
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 300;
}
.room .text p {
	font-size: 1.5rem;
	font-weight: 300;
}
.link360 {
	position: relative;
	height: 100%;
	width: 100%;
	display: block;
}
a.link360:after {
    content:'';
	display: block;
	height: 100%;
	width: 100%;
	background-color: rgba(68,68,68,0.5);
	background-image: url('../elements//360-icon-light.svg');
	position: absolute;
	top: 0;
	z-index: 2;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20%;
	transition: opacity .5s ease-in;
	opacity: 0;
}
a.link360:hover::after{
  opacity: 1;
  transition: opacity .5s ease-in;
}

.tiny-4col h2 {
	font-size: 2.8rem;
}
.tiny-item > div{
  background-color: #dadada;
  color: #565656;
  padding: 2rem;
}

.enturn > .frame-type-image img {
	transform: rotate(180deg);
}
:lang(en) .mainnav::after {
	transform: rotate(180deg);
}

.footer {
	color: #0F1A2F;
	background-color: #fff;
	min-height: 100vh;
	align-content: center;
}

.footer a {
	color: inherit;
	text-decoration: none;
}
.footer h2 {
    font-size: 3.75rem;
  line-height:1;
}
.footer h3 {
	font-size: 3rem;
	letter-spacing: normal;
	font-weight: 600;
}
.footer p, .footer a {
	/* font-size: 1.5rem; */
	/* font-weight: 300; */
}
.footer ul {
	list-style-type: none;
	padding-left: 0;
}