/* CSS by mrks.ch */

/* Reset Styles
***********************/
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q demo
blockquote:before, blockquote:after,q:before, q:after {content: ''; content: none;}
table {border-collapse: collapse; border-spacing: 0;}
strong {font-weight: bold;}
em {font-style: italic;}
img {border: 0px; vertical-align: bottom;}

/* start general styles */
html { overflow-y: scroll; }
.mobile {display:none !important;}
.onlymobile {display:none;}
body { 
	background:#fff;
	-webkit-font-smoothing: antialiased; 
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust:none;
	height: auto;
	color:#000;
	font-family: urw-din, sans-serif;
	font-weight: 400;
	font-style: normal;
	}

/* start sitebuild styles */
	
html,body {
    height:100%;
}

p {font-size:22px; line-height:32px; margin-top:18px; color:#000;}

h1 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:60px; line-height:60px; color: #D2232A; padding:0 0 60px;}
h2 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:44px; line-height:44px; padding:0 0 40px;}
h3 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:34px; line-height:34px; color: #D2232A;}

.trans {-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;}
.trans:hover {-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;}
/* end general styles */

/* start link styles */
a:link, a:visited {
	text-decoration:none;
	color:#000;
	-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;
	}
a:hover {
	
	text-decoration:underline;
	-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;
	}
/* end link styles */

.loading-window-start {position:fixed; width:100%; background:#fff; left:0; right:0; top:0; bottom:0; z-index:199;} .loading-window-start img {width:100%;}
.loading-window {position:fixed; width:100%; background:#fff; left:0; right:0; top:0; bottom:0; z-index:89;}


#header {border-bottom: 2px solid #000000; height:100px; width:96%; left: 2%; position:fixed; z-index:95;}
#header-background {height:114px; background: #ffffff; width:100%; left: 0%; position:fixed; z-index:95;}
.header-toplogo {position:absolute; left:0.3%; top:16px; width:63px; z-index:99;} .header-toplogo img {width:100%;}

/* subnavigation */
.header-subnavi {box-sizing:border-box; z-index:97; position:relative; margin: 40px auto 0; width: max-content; text-align: center;}
.header-subnavi ul li {margin:0 28px 0; list-style:none; float:left; text-align:center;}
.header-subnavi ul li a {color:#000; font-size:18px; line-height:18px; padding:0px; text-decoration:none; font-family: urw-din, sans-serif; font-weight: 700; font-style: normal; letter-spacing: 0.5px;}
.header-subnavi ul li a:hover {color:#000; text-decoration:none;}
.header-subnavi ul li a.active {color:#000; text-decoration:none; border-bottom: 1px solid #000000;}

.header-socialwrapper {box-sizing:border-box; z-index:99; float:right; position:fixed; bottom:20px; right:2%;}
.header-socialwrapper a {color: #000; display: inline-block; margin: 0 0 0 20px; font-size: 17px;}

/* navigation overlay */
#navigationwrapper {position:fixed; right:-375px; top:0; height:100vh; width:375px; box-sizing:border-box; background:#fff; border-left:1px solid #D2232A; border-bottom:1px solid #D2232A; z-index:98;}
.navigation-show {right:0 !important;}

#navigation {position:relative; margin:110px auto 0;}
#navigation ul li {margin:3vh 0; display:block; list-style:none; position:relative; text-align:center;}
#navigation ul li a {color:#000; font-size:18px; line-height:18px; padding:0px; text-decoration:none; font-family: urw-din, sans-serif; font-weight: 700; font-style: normal; letter-spacing: 0.5px;}
#navigation ul li a:hover {color:#000; text-decoration:none;}
#navigation ul li a.active {color:#000; text-decoration:none; border-bottom: 1px solid #000000;}

.nav-reservation {background: #D2232A; border:2px solid #D2232A; padding: 4px 7px !important; color: #fff !important;}
.nav-reservation:hover {color: #000 !important;}

/* HOME NEWS BOX */
.homeboxwrapper {position:fixed; left:0px; right:0px; top:116px; bottom: 0px; height:100%; background:none; z-index:99;}
.homeboxwrapper video, .homeboxwrapper img {
	  object-fit: cover;
	  width: 100vw;
	  height: 100vh;
	  position: fixed;
	  top: 0;
	  left: 0;
	}
.home-logo {position:absolute; width:300px; left:50%; top:50%; transform:translate(-50%,-80%); z-index:98;} .home-logo img {width:100% !important; position:relative; height: auto !important; object-fit: inherit;}

.home-footer {box-sizing:border-box; position:fixed; background:#fff; bottom:0; width:100%; z-index:99; text-align:left; padding:15px 2%;}
.home-footer p {margin:0; font-size:17px; line-height:25px; letter-spacing:0.3px;}
.home-footer p a {color:#000;}

#contentcontainer {position:relative; z-index:5; margin:0; padding:160px 0 0;}
.contentlimiter1 {width: 80%; max-width:1600px; margin:auto; padding:0 100px; position:relative; z-index:6;}
.contentlimiter2 {width: 90%; margin:auto; padding:0 50px; position:relative; z-index:6;}
.block404 {font-size:40px; line-height:50px; padding:100px 0;}

.block-title1 {box-sizing:border-box; margin:0px 0 60px; padding:0px 0 0px; z-index:20; position:relative;}

.block-text1 {box-sizing:border-box; padding: 0 0 0 360px; margin: 0 0 100px; background-size: 330px 100%; background-position: left top; background-repeat: no-repeat; background-image: linear-gradient(cyan, cyan);}
.block-text1 h2 {margin: 0px 0 -30px;}

.block-text2 {box-sizing:border-box; padding: 0 0 0 0px; margin: 0 0 100px;}
.block-text2 h2 {font-size: 30px; line-height: 30px; margin: 70px 0 30px; padding: 0;}

.block1 {box-sizing:border-box; width:100%; margin: 0px 0 80px; position: relative;}
.block1-box {box-sizing:border-box; width:100%; position: relative; border:2px solid #D2232A; border-radius: 50px; margin: 26px auto 0; padding: 30px 80px; cursor:pointer; text-align: left;}

.block1-box-content {box-sizing:border-box; width:100%; margin:0px 0 0; padding: 50px 0 20px; display:none;}
.block1-box-content p {margin-top:22px;}

.plus {
	  position: absolute; left: 30px; top: 28px;
	  
	  --b: 2px; /* the thickness */
	  width: 22px; /* the size */
	  aspect-ratio: 1;
	  border: 10px solid #D2232A; /* the outer space */
	  background:
		conic-gradient(from 90deg at var(--b) var(--b),#D2232A 90deg,#fff 0) 
		calc(100% + var(--b)/2) calc(100% + var(--b)/2)/
		calc(50%  + var(--b))   calc(50%  + var(--b));
	  display: inline-block;
	}
.alt {
	  border: none;
	  margin: 10px;
	  background:
		conic-gradient(from 90deg at var(--b) var(--b),#fff 90deg,#D2232A 0) 
		calc(100% + var(--b)/2) calc(100% + var(--b)/2)/
		calc(50%  + var(--b))   calc(50%  + var(--b));
	}

.up {
	  transform: rotate(0deg);
	  -webkit-transform: rotate(0deg);
	}
.down {
	  transform: rotate(55deg) !important;
	  -webkit-transform: rotate(55deg) !important;
	}
	
	
.block-slider1 {box-sizing:border-box; width:100%; margin:0px 0 80px; padding:0px; position:relative;}
.block-slider1 img {width: 100%;} 


/* NEWS */
.newsbox {width:44%; margin:30px 3% 50px; float:left; text-align:left; font-size:14px;} .newsbox img {width:100%; padding:0 0 25px;} .newsbox img:hover {opacity:0.7;}
/* .newsbox p {padding:0 0 14px; margin:0; line-height:21px;} */
.newsbox h2 {font-size: 34px; line-height: 44px; margin: 0 0 30px; padding: 0; color: #D2232A;}
.newsbox-more {display: block; margin: 20px 0 0;}

.news-detail-block {}
.news-detail-block h1 {font-size: 44px; line-height: 54px; margin: 40px 0 40px; padding: 0;}

.newsbox-imagewrapper {width:100%; position:relative; padding-top:50%; margin-bottom:25px; background:#F9F9F9; z-index:10; overflow:hidden;}
.newsbox-image {position:absolute; overflow:hidden; top:0%; width:100%;} .newsbox-image img {width:100%;} .newsbox-image video {width:100%;}

.news-header-box {width:100%; position:relative; aspect-ratio: 2 / 1; background:#F9F9F9; z-index:10; overflow:hidden;}
.news-header-image {position:absolute; overflow:hidden; top:0; width:100%;} .news-header-image img {width:100%;} .news-header-image video {width:100%;}

.gallery-wrapper {margin:30px -3% 0px;}
.gallery-box {width:44%; margin:3% 3% 0; box-sizing:border-box; float: left;} .gallery-box img {width:100%;} .gallery-box video {width:100%;}
/* END NEWS */

/* FLICKITY */
.main-carousel {margin:0px 0 0px;}
.carousel-cell {width: auto;}
.carousel-cell img {height: 65vh; width: auto; margin:auto; display:block;}
.flickity-button {
  background: transparent !important;}
.flickity-button-icon {
  fill: #D2232A !important;
}

/* position outside */
.flickity-prev-next-button.previous {
  left: 47% !important; top: 106% !important;
}
.flickity-prev-next-button.next {
  right: 47% !important; top: 106% !important;
}

.downloadbox {display: inline-block; background: #D2232A; border: 2px solid #D2232A; color: #fff !important; font-size: 30px; line-height: 30px; padding: 15px 30px; border-radius: 30px; margin-top: 50px;}
.downloadbox:hover {text-decoration: none; background: none; color: #D2232A !important;}

.downloadbox2 {margin: 10px 40px 50px 0;}

#footer {background: #D2232A; padding:60px 0 140px;}
#footer p, #footer p a, #footer a {color: #fff;}
#footer h2 {color: #fff;}
.footer-box-topline {box-sizing:border-box; width:96%; margin: 0 2% 130px; border-top: 2px solid #fff; height: 2px; }
.footer-box {box-sizing:border-box; width:28%; float: left; margin:0px 0 0 0; padding:0 5px;}
.footer-box img {width: 84%;}
.footer-box-center {margin:0 8%;}

.footer-box-reservation {margin: 50px 0 50px;}
.footer-box-reservation a {display: inline-block; background: #fff; border: 2px solid #fff; color: #D2232A !important; font-size: 30px; line-height: 30px; padding: 15px 30px; border-radius: 30px;}
.footer-box-reservation a:hover {text-decoration: none; background: none; color: #fff !important;}

.insta-header {padding:0px; margin:0px 0 0; color:#fff; text-align:center;} 
.insta-header img {width:120px; padding-bottom:5px;}
.insta-header p {font-size:26px; margin: 0;}
.insta-header a {}

#instafeed {margin: 70px 0 0 ; padding:10px; background: #fff;}

/* --Clearfix */
.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}
.clear {clear:both;}

/* Media Queries
***********************/
@media screen and (max-width: 1300px) {
	
}

@media screen and (max-width: 1090px) {
	.desktop {display:none;}
	.mobile {display:inherit !important;}
	
	
	.block404 {font-size:30px; line-height:40px; padding:100px 0;}
	
}

@media screen and (max-width: 800px) {
	.nomobile {display:none !important;}
	.onlymobile {display:inherit !important;}
	
	
	p {font-size:16px; line-height:24px; margin-top:18px; color:#000;}
	
	h1 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:35px; line-height:35px; color: #D2232A; padding:0 0 30px;}
	h2 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:30px; line-height:30px; padding:0 0 10px;}
	h3 {font-family: urw-din, sans-serif; font-weight: 400; font-style: normal; font-size:20px; line-height:34px; color: #D2232A;}
	
	.trans {-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;}
	.trans:hover {-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;}
	/* end general styles */
	
	/* start link styles */
	a:link, a:visited {
		text-decoration:none;
		color:#000;
		-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;
		}
	a:hover {
		
		text-decoration:underline;
		-webkit-transition:all 0.4s ease 0s; transition:all 0.4s ease 0s; -moz-transition:all 0.4s ease 0s; -o-transition:all 0.4s ease 0s; -ms-transition:all 0.4s ease 0s;
		}
	/* end link styles */
	
	.loading-window-start {position:fixed; width:100%; background:#fff; left:0; right:0; top:0; bottom:0; z-index:199;} .loading-window-start img {width:100%;}
	.loading-window {position:fixed; width:100%; background:#fff; left:0; right:0; top:0; bottom:0; z-index:89;}
	
	
	#header {border-bottom: 2px solid #000000; height:94px; width:96%; left: 2%; position:fixed; z-index:95;}
	#header-background {height:107px; background: #ffffff; width:100%; left: 0%; position:fixed; z-index:95;}
	.header-toplogo {position:absolute; left:3%; top:16px; width:30px; z-index:99;} .header-toplogo img {width:100%;}
	
	/* subnavigation */
	.header-subnavi {box-sizing:border-box; z-index:97; position:relative; margin: 62px auto 0; width: max-content; text-align: center;}
	.header-subnavi ul li {margin:0 20px 0; list-style:none; float:left; text-align:center;}
	.header-subnavi ul li a {color:#000; font-size:15px; line-height:15px; padding:0px; text-decoration:none; font-family: urw-din, sans-serif; font-weight: 700; font-style: normal; letter-spacing: 0px;}
	.header-subnavi ul li a:hover {color:#000; text-decoration:none;}
	.header-subnavi ul li a.active {color:#000; text-decoration:none; border-bottom: 1px solid #000000;}
	
	.header-socialwrapper {box-sizing:border-box; z-index:99; float:right; position:fixed; bottom:20px; right:2%;}
	.header-socialwrapper a {color: #000; display: inline-block; margin: 0 0 0 20px; font-size: 17px;}
	
	/* navigation overlay */
	#navigationwrapper {position:fixed; right:-375px; top:0; height:100vh; width:375px; box-sizing:border-box; background:#fff; border-left:1px solid #D2232A; border-bottom:1px solid #D2232A; z-index:98;}
	.navigation-show {right:0 !important;}
	
	#navigation {position:relative; margin:110px auto 0;}
	#navigation ul li {margin:3vh 0; display:block; list-style:none; position:relative; text-align:center;}
	#navigation ul li a {color:#000; font-size:18px; line-height:18px; padding:0px; text-decoration:none; font-family: urw-din, sans-serif; font-weight: 700; font-style: normal; letter-spacing: 0.5px;}
	#navigation ul li a:hover {color:#000; text-decoration:none;}
	#navigation ul li a.active {color:#000; text-decoration:none; border-bottom: 1px solid #000000;}
	
	/* HOME NEWS BOX */
	.homeboxwrapper {position:fixed; left:0px; right:0px; top:106px; bottom: 0px; height:100%; background:none; z-index:99;}
	.homeboxwrapper video, .homeboxwrapper img {
		  object-fit: cover;
		  width: 100vw;
		  height: 100vh;
		  position: fixed;
		  top: 0;
		  left: 0;
		}
	.home-logo {position:absolute; width:40%; left:50%; top:50%; transform:translate(-50%,-100%); z-index:98;} .home-logo img {width:100% !important; position:relative; height: auto !important; object-fit: inherit;}
	
	.home-footer {box-sizing:border-box; position:fixed; background:#fff; bottom:0; width:100%; z-index:99; text-align:left; padding:13px 2%;}
	.home-footer p {margin:0; font-size:15px; line-height:15px; letter-spacing:0.3px;}
	.home-footer p a {color:#000;}
	
	#contentcontainer {position:relative; z-index:5; margin:0; padding:150px 0 0;}
	.contentlimiter1 {width: 90%; max-width:1600px; margin:0 3% 0 7%; padding:0 0px; position:relative; z-index:6;}
	.contentlimiter2 {width: 90%; margin:auto; padding:0 20px; position:relative; z-index:6;}

	.block404 {font-size:40px; line-height:50px; padding:100px 0;}
	
	.block-title1 {box-sizing:border-box; margin:0px 0 60px; padding:0px 0 0px; z-index:20; position:relative;}
	
	.block-text1 {box-sizing:border-box; padding: 0 0 0 0px; margin: 0 0 100px; background: none !important;}
	.block-text1 h2 {margin: 20px 0 -10px;}
	
	.block-text2 {box-sizing:border-box; padding: 0 0 0 0px; margin: 0 0 100px;}
	.block-text2 h2 {font-size: 30px; line-height: 30px; margin: 70px 0 30px; padding: 0;}
	
	.block1 {box-sizing:border-box; width:96%; margin: 0px 0 80px; position: relative;}
	.block1-box {box-sizing:border-box; width:100%; position: relative; border:2px solid #D2232A; border-radius: 34px; margin: 26px auto 0; padding: 15px 20px 15px 44px; cursor:pointer; text-align: left;}
	
	.block1-box-content {box-sizing:border-box; width:100%; margin:0px 0 0; padding: 10px 0 20px; display:none;}
	.block1-box-content p {margin-top:16px;}
	
	.plus {
		  position: absolute; left: 11px; top: 15px;
		  
		  --b: 2px; /* the thickness */
		  width: 16px; /* the size */
		  aspect-ratio: 1;
		  border: 10px solid #D2232A; /* the outer space */
		  background:
			conic-gradient(from 90deg at var(--b) var(--b),#D2232A 90deg,#fff 0) 
			calc(100% + var(--b)/2) calc(100% + var(--b)/2)/
			calc(50%  + var(--b))   calc(50%  + var(--b));
		  display: inline-block;
		}
	.alt {
		  border: none;
		  margin: 10px;
		  background:
			conic-gradient(from 90deg at var(--b) var(--b),#fff 90deg,#D2232A 0) 
			calc(100% + var(--b)/2) calc(100% + var(--b)/2)/
			calc(50%  + var(--b))   calc(50%  + var(--b));
		}
	
	.up {
		  transform: rotate(0deg);
		  -webkit-transform: rotate(0deg);
		}
	.down {
		  transform: rotate(55deg) !important;
		  -webkit-transform: rotate(55deg) !important;
		}
		
		
	.block-slider1 {box-sizing:border-box; width:100%; margin:0px 0 60px; padding:0px; position:relative;}
	.block-slider1 img {width: 100%;} 
	
	/* NEWS */
	.newsbox {width:100%; margin:0px 0% 50px; float:left; text-align:left; font-size:14px;} .newsbox img {width:100%; padding:0 0 25px;} .newsbox img:hover {opacity:0.7;}
	/* .newsbox p {padding:0 0 14px; margin:0; line-height:21px;} */
	.newsbox h2 {font-size: 24px; line-height: 34px; margin: 0 0 10px; padding: 0; color: #D2232A;}
	.newsbox-more {display: block; margin: 20px 0 0;}
	
	.news-detail-block {}
	.news-detail-block h1 {font-size: 30px; line-height: 40px; margin: 20px 0 20px; padding: 0;}
	
	.newsbox-imagewrapper {width:100%; position:relative; padding-top:50%; margin-bottom:15px; background:#F9F9F9; z-index:10; overflow:hidden;}
	.newsbox-image {position:absolute; overflow:hidden; top:0%; width:100%;} .newsbox-image img {width:100%;} .newsbox-image video {width:100%;}
	
	.news-header-box {width:100%; position:relative; aspect-ratio: 2 / 1; background:#F9F9F9; z-index:10; overflow:hidden;}
	.news-header-image {position:absolute; overflow:hidden; top:0; width:100%;} .news-header-image img {width:100%;} .news-header-image video {width:100%;}
	
	.gallery-wrapper {margin:30px 0% 0px;}
	.gallery-box {width:100%; margin:3% 0% 0; box-sizing:border-box; float: left;} .gallery-box img {width:100%;} .gallery-box video {width:100%;}
	/* END NEWS */
	
	
	/* FLICKITY */
	.main-carousel {margin:0px 0 0px;}
	.carousel-cell {width: auto;}
	.carousel-cell img {height: 65vh; width: auto; margin:auto; display:block;}
	.flickity-button {
	  background: transparent !important;}
	.flickity-button-icon {
	  fill: #D2232A !important;
	}
	
	/* position outside */
	.flickity-prev-next-button.previous {
	  left: 40% !important; top: 107% !important;
	}
	.flickity-prev-next-button.next {
	  right: 40% !important; top: 107% !important;
	}
	
	.downloadbox {display: inline-block; background: #D2232A; border: 2px solid #D2232A; color: #fff !important; font-size: 14px; line-height: 14px; padding: 10px 10px; border-radius: 30px; margin-top: 10px;}
	.downloadbox:hover {text-decoration: none; background: none; color: #D2232A;}
	
	.downloadbox2 {margin: 0px 10px 30px 0;}
	
	#footer {background: #D2232A; padding:30px 0 70px;}
	#footer p, #footer p a, #footer a {color: #fff;}
	#footer h2 {color: #fff;}
	.footer-box-topline {box-sizing:border-box; width:96%; margin: 0 2% 40px; border-top: 2px solid #fff; height: 2px; }
	.footer-box {box-sizing:border-box; width:100%; float: left; margin:0px 0 0 0; padding:0 5px;}
	.footer-box img {width: 84%;}
	.footer-box-center {margin:0 0%;}
	
	.footer-box-reservation {margin: 30px 0 30px;}
	.footer-box-reservation a {display: inline-block; background: #fff; border: 2px solid #fff; color: #D2232A !important; font-size: 15px; line-height: 14px; padding: 10px 20px; border-radius: 30px;}
	.footer-box-reservation a:hover {text-decoration: none; background: none; color: #fff !important;}
	
	.insta-header {padding:0px; margin:60px 0 0; color:#fff; text-align:left;} 
	.insta-header img {width:120px; padding-bottom:5px;}
	.insta-header p {font-size:20px; line-height: 28px margin: 0;}
	.insta-header a {}
	
	#instafeed {margin: 30px 0 0 ; padding:3px; background: #fff;}
	

}