/* fonts */

@font-face {
  font-family: 'Josefin Sans';
  src: url('../fonts/JosefinSans-Bold.ttf') format('truetype'),
  	   url('../fonts/JosefinSans-Bold.woff') format('woff'),
  	   url('../fonts/JosefinSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url('../fonts/JosefinSans-Light.ttf') format('truetype'),
         url('../fonts/JosefinSans-Light.woff2') format('woff2'),
         url('../fonts/JosefinSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


/* general stuff */

body{
	font-family: 'helvetica neue' 'helvetica' 'arial' 'sans-serif';
	font-size:16px;
	color:black;
}

h1, h2, h3, h4, h5, h6 {
	font-family:'Josefin Sans';
	font-weight:700;
}

h1{
	display:none;
}

h2{
	font-size:2.8em;
}

h3{
	font-size:1.3em;
}

.menubar-placeholder{
	height: 50px;
	padding: 0;
	margin: 0;
}

.container .fa-facebook, .container .fa-tripadvisor{
	color:white;
	width:50px;
	height:50px;
	text-align:center;
	line-height:50px;
	margin:0px 8px 8px 0;
	background-color:black;
/*	border-color: black;
	border-style: solid;
	border-width: 3px; */
	font-size:24px;
	border-radius:50%;
}	 

.footer-navigation .fa-facebook, .footer-navigation .fa-tripadvisor{
	color:white;
	width:15px;
	height:15px;
	text-align:center;
	line-height:15px;
	margin:0px 4px 4px 10px;
	font-size:15px;
}	 

footer{
	width:100%;
	text-align:left;
	padding:20px 40px;
	border:0;
	border-top:1px;
	border-color:black;
	border-style:solid;
	bottom:0;
	color:#fff;
	background-image:url('../../assets/img/tile.png');
	font-family:'Josefin Sans';
}

footer .links a, footer .links a:hover {
	color: white;
	font-weight: 100;
	font-family: 'helvetica neue' 'helvetica' 'arial' 'sans-serif';
	font-size: 10pt;
}

footer a, footer a:hover, footer a:focus	{
	color: white;
}

.not-active {
	pointer-events: none;
	cursor: default;
}

.footer-contacts p{
	display:inline-block;
	color:#ffffff;
	vertical-align:middle;
}

.fa.footer-contacts-icon{
	color:black;
	width:38px;
	height:38px;
	text-align:center;
	line-height:37px;
	margin:22px 15px 10px 0;
	background-color:white;
	font-size:18px;
	border-radius:50%;
}

span.new-line-span{
	display:block;
	font-weight:normal;
	display:block;
	font-weight:normal;
	font-size:14px;
	line-height:2;
}

.room-description {
	padding-top: 0.5em;
}

.room-detail {
	display:inline-block;
	vertical-align:middle;
}

.trophy-icon {
	font-size:2.5em;
	vertical-align:middle;
	padding:0;
	margin:0;
	padding-right:0.4em;
	padding-bottom:0.3em;
}

.trophy {
	margin-left: auto;
	margin-right: auto;
}

.room-icon {
	font-size:2em;
	vertical-align:middle;
	padding:0;
	margin:0;
	padding-right:0.2em;
}

.close-spacing {
	word-spacing: -0.15em;
	white-space: nowrap;
}

section{
	max-width:500px;
	margin:0 auto;
	margin-bottom:30pt;
	margin-left:0;
}

table{
	max-width:350px;
	min-width:250px;
	border:0;
	background-color:none;
	color:white;
}

video {
  width: 100%;
  height: auto;
  padding: 3em;
  padding-bottom: 1.5em;
}

div.row{
	margin-top:1em;
}

a.anchor {
	display: block;
	position: relative;
	top: -82px;
	visibility: hidden;
}

.container {
	width: 100%; 
	margin-left:auto;
	margin-right:auto; 
	margin-top: 0em; 
	margin-bottom: 0em;
	padding-top: 2em;
	padding-bottom: 2em;
	padding-left: 3em; 
	padding-right: 3em; 
	min-height: calc(100vh - 200px);
}

.labyrinth{
	background-image:url(../../assets/img/tile.png);
	color: white;
}

.landing.paginated{
	background-image:url(../../assets/img/tile.png);
	box-sizing: border-box;
	min-height: 400px;
	min-height: calc(100% - 0);
	min-height: 100vh;
}

.labyrinth a, .labyrinth a:hover {
	color: white;
	font-weight: 400;
}

.container.paginated {
	box-sizing: border-box;
	min-height: 400px;
	min-height: calc(100vh - 50px);
}

.container.short {
	box-sizing: border-box;
	min-height: auto;
	background-image: none;
	padding: 0;
	margin: 0;
}

.container.short section {
	background-color: #c0c0c0;
	color: black;
	padding: 1em;
	border-radius: 1em;
	box-sizing: border-box;
	min-height: 0;
	margin: 0;
	margin-top: 0.5em;
	margin-bottom: 1.0em;
}

.container.short.alternate section {
	background-image:url(../../assets/img/tile.png);
	color: white;
}

span.rounded-box {
	background-color: white;
	color: black;
	padding-left: 0.5em;
	padding-right: 0.5em;
	padding-top: 0.4em;
	padding-bottom: 0.3em;
	border-radius: 1em;
	white-space: nowrap;
}

span.glyphs {
	font-size: 80%;
	letter-spacing: -0.1em;
}

/* navigation bar */

nav.navbar.navbar-inverse.navbar-fixed-top{
	background-image:url(../../assets/img/tile.png);
	font-family:'Josefin Sans';
	font-weight:700;
}

a.navbar-brand.navbar-link{
	background:initial;
}

.navbar-inverse .navbar-nav li a,
.navbar-inverse .navbar-header a
{
	color: white;
}

.navbar-inverse .navbar-nav li a:hover,
.navbar-inverse .navbar-nav li a:focus,
.navbar-inverse .navbar-header a:hover,
.navbar-inverse .navbar-header a:focus
{
	color: #ef4d37;
}

.navbar-inverse .navbar-nav > .active > a
{
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.navbar-inverse .navbar-nav > .active > a:hover, 
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-header .active > a:hover,
.navbar-inverse .navbar-header .active > a:focus
{
	color: #ef4d37;
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.navbar-inverse .navbar-toggle:hover .icon-bar {
	background-color: #ef4d37;
}

.navbar-inverse .navbar-toggle:hover  {
	background-color: transparent;
}

a.expander
{
	color: black;
}

a.expander:hover, 
a.expander:focus
{
	text-decoration: underline;
}

li#lang-switch{
	float:right;
	background: transparent;	
}

img#brand-icon{
	vertical-align:top;
	padding:0;
	margin:0;
}


/* logo */

.intro-logo {
	opacity: 1.0; 
	max-width: 80%; 
	width: 650px; 
	position: absolute; 
	top: 0;  
	left: 50%;  
	transform: translate(-50%, 40%);
}

/* carousel */

div.carousel-caption{
	vertical-align:center;
	text-shadow:none;
	position:static;
	display:block;
	padding-left:80px;
	padding-right:80px;
	color: white;
}

div.carousel-caption a {
	color: inherit;
	font-weight: 700;
}

div.carousel-caption a:hover {
	color: inherit;
	font-weight: 700;
}

.carousel-inner{
	background:transparent;
	height:auto;
}

a.left.carousel-control{
	background-image:none;
}

a.right.carousel-control{
	background-image:none;
}

span.glyphicon.glyphicon-chevron-left{
	color:white;
}

span.glyphicon.glyphicon-chevron-right{
	color:white;
}

.carousel{
	height:100px;
	background-color:transparent;
}


/* intro */

.intro-header{
	text-align: center;
	padding-top:1.0em;
	padding-bottom:2.0em;
/*	height:70vh;
	min-height: 350px; */
}

.intro-header a {
	color: white;
}

.intro-video{
	max-width:50em;
	padding-left:0;
	padding-right:0;
	padding-bottom:0;
	margin-left:auto;
	margin-right:auto;
}

.intro-text {
	color: white;
	font-family:'Josefin Sans';
	font-size:1.3em;
	font-weight:700;
	padding-top:1em;
	padding-bottom:0.5em;
	padding-left:5%;
	padding-right:5%;
	margin-left:auto;
	margin-right:auto;
}

.intro-header .btn-info {
	margin-left: 0.8em;
	margin-right: 0.8em;
	margin-top: 0.7em;
	margin-bottom: 0.7em;
}

.intro-overlay {
	position: absolute; 
	height: 495px; 
	top: 0%; 
	width: 100%;
}

.intro-buttons-overlay {
	display: none;
	position: absolute; 
	width: 100%; 
	bottom: 0; 
	text-align: center;
}

.intro-buttons {
	padding-bottom: 1em;
}

.intro-images {
	margin-left: 50%; 
	transform: translateX(-50%); 
	min-width: 1400px; 
	width:100%; 
	word-spacing: -0.28em;
}

.btn-info {
	text-shadow: none;
	background-color: #ef4d37;
/*	background-image: linear-gradient(rgb(239, 77, 55) 0px, rgb(200, 57, 40) 100%); */
	margin-top: 0.3em;
	margin-bottom: 0.3em;
	background-image: none;
	border: none;
}

.btn-disabled {
	color: white;
	text-shadow: none;
	background-color: #c0c0c0;
	background-image: none;
	border: none;
   pointer-events: none;
   cursor: default;
}

.labyrinth .btn-info, .labyrinth .btn-info:hover, .labyrinth a {
/*	margin-top: 1em;*/
	text-decoration: none;
}

.btn-info:hover, .btn-info:focus, .btn-info:active {
	background-color: #ff5d47;
}


/* room list */

.room {
	padding-top:0em;
	padding-bottom:1em;
	margin-right:2.0em;
	max-width:26em;
	min-height:54em;
}


/* price list */

.pricelist {
	max-width:25em;
	min-width:21.0em;
	min-height:24.5em;
}

.pricelist-sub {
	padding-top:0.2em;
}


/* gallery */

.galleryimage {
	padding-right:0.6em;
	padding-bottom:0.6em;
}

.gallery {
	word-spacing:-0.25em; /* zero */
}

.modal-body {
	padding: 0;
}

.modal-dialog {
	margin: 0;
}

.modal-backdrop.in {
	opacity: 0.7
}

.modal-content {
	border-radius: 0;
}

/* employee list */

div.employee {
	float: left;
	width: 12em;
	min-height: 17em;
	margin: 0.7em;
}

.employee img {
	width: 140px;
}

.employee p {
	text-align: center; 
}

.employee h3 {
	font-size: 1.5em;
	font-weight:700;
	text-align: center; 
}

.employee h4 {
	font-size:1.5em;
	font-weight:100;
	text-align: center; 
}



/* awards list */

.awards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
}

.award {
	font-weight: 100;
    text-align: center;
}

.award a {
    display: block;
    padding: 1em;
}

.award p {
	padding-bottom: 1em;
}

.award img {
	padding-top: 0px;
	padding-bottom: 5px;
	width: 200px;
}

img.award-square {
	padding-bottom: 20px;
	height: 200px;
	object-fit: contain;
}


/* contacts */

p.address-line {
	margin:0;
}

section.address {
	margin-bottom:20px;
}


/* faq page */

.faq-header {
	background-image:url(../../assets/img/locks_background.jpg);
	background-repeat:no-repeat;
	background-position: center;
	height: 20em;
	margin: 0;
	padding: 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.collapse > li {
	padding-bottom: 6pt;
}

/* extraordinary alerts */

div.intro-notice-box{
	margin: 1em;
	padding: 0;
	border-color: white;
	border-style: solid;
	border-width: 3px; 
	max-width: 44em;
	margin-left:auto;
	margin-right:auto;
	margin-top:1em;	
	margin-bottom:2em;
}

/*
	color: white;
	font-family:'Josefin Sans';
	font-size:1.3em;
	font-weight:700;
	padding-top:5%;
	padding-bottom:0.5em;
	max-width:40em;
	padding-left:6%;
	padding-right:4%;
	margin-left:auto;
	margin-right:auto;
*/

.intro-text.notice-title {
	font-size: 1.5em;
	text-align: left;
	border: 0;
}

.intro-text.notice a {
	text-decoration:underline;
}

.intro-text.notice {
	padding-top: 0;
	text-align: left;
	border: 0;
}


/* exceptions for small devices */

@media (max-width : 992px) {
	.faq-header {
		height: 10em;
	}

	video {
	  padding: 2em;
  	padding-bottom: 1em;
	}

	.nav>li>a {
		padding-left:8px;
		padding-right:8px;
	}
}

@media (max-width : 768px) {
	.room {
		min-height:0;
		max-width:35em;
		margin-bottom:1.5em;
	}

	.container {
		min-height: calc(100vh - 400px);
	}

	div.intro-notice-box{
		border-style: none;
	}

	video {
	  padding: 1em;
  	  padding-bottom: 1em;
	}

	.pricelist {
		min-width:19.5em;
	}
}

@media (max-height : 500px) {
	.intro-images {
		min-width: 830px; 
	}

	.intro-overlay {
		height: 305px; 
	}

	.intro-logo {
		width: 330px; 
		top: 0;  
		transform: translate(-50%, 50%);
	}

	nav.navbar {
		position: absolute;
	}
}

@media (max-height: 800px) {
	.intro-buttons-overlay {
		display: block;
	}

	.intro-buttons {
		display: none;
	}
}

@media (min-height: 1100px) {
	.intro-buttons {
		padding: 4em;
	}
}	
	
@media (max-width:550px) {
	.pricelist {
		min-height:0; 
		padding-bottom:1.5em;
	}

	.intro-images {
		min-width: 1200px; 
	}

	.intro-overlay {
		height: 425px; 
	}

	.room {
		margin-right:0em;
	}

	.room-detail {
		width: 15em;
	}

	.employee .img {
		width: 120px;
	}

	div.employee {
		float: left;
		width: 10em;
		min-height: 17em;
		margin: 0.3em;
	}

	.award {
		padding: 0em;
	}

	.award img {
		padding-top: 0px;
		padding-bottom: 5px;
		width: 125px;
		height: 130px;
	}

	img.award-square {
		padding-bottom: 5px;
	}

	a.anchor {
		top: -67px;
	}

	.container {
		padding: 1em; 
		margin-top: 0em;
		margin-bottom: 0em;
	}
	
	.intro-text {
		font-size:1.15em;
		padding-left:1.5em;
		padding-right:1.5em;
		padding-bottom:0.8em;
		margin: 0;
	}	 

	.room {
		padding-top:0.5em;
		padding-bottom:0.5em;
	}

	span.glyphs {
		display: none;
	}
	
	/*.intro-testimonials {
		display: none;
	}*/

	.intro-text.notice-title {
		padding-left:30px;
		padding-right:30px;
		padding-top:0em;
		padding-bottom:1.0em;
		margin: 0;
	}

	.intro-text.notice {
		padding-left:30px;
		padding-right:30px;
		padding-bottom:1.0em;
		margin: 0;
	}
	
	video {
	  padding: 1em;
  	  padding-bottom: 1em;
	}

	.intro-logo{
		transform: translate(-50%, 60%);
	}
}

@media (max-width:320px) {
	.trophy-icon {
		font-size:2.1em;
		vertical-align:middle;
		padding:0;
		margin:0;
		padding-right:0.3em;
		padding-bottom:0.3em;
	}

	.room {
		margin-right:0em;
	}

	.room-detail {
		width: 15em;
	}

	.employee .img {
		width: 100px;
	}

	div.employee {
		width: 8em;
		min-height: 13em;
	}

	.employee h3 {
		font-size: 1.2em;
	}

	.employee h4 {
		font-size: 1.2em;
	}
	
	video {
	  padding: 1em;
  	  padding-bottom: 1em;
	}
}


/* workarounds for iOS 7 devices (buggy vh/vw) */

/** 
 * iPad with portrait orientation.
 */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:portrait){
	.container {
		min-height: 624px;
	}

	.landing.paginated {
		min-height: 1024px;
	}

	.container.paginated {
		min-height: 974px;
	}
}

/** 
 * iPad with landscape orientation.
 */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:landscape){
	.container {
		min-height: 368px;
	}

	.landing.paginated {
		min-height: 768px;
	}

	.container.paginated {
		min-height: 718px;
	}
}

/** 
 * iPhone <= 4 with portrait orientation.
 */
@media all and (device-width: 320px) and (device-height: 480px) and (orientation:portrait){
	.container {
		min-height: 80px;
	}

	.landing.paginated {
		min-height: 480px;
	}

	.container.paginated {
		min-height: 430px;
	}
}

/** 
 * iPhone <= 4 with landscape orientation.
 */
@media all and (device-width: 320px) and (device-height: 480px) and (orientation:landscape){
	.container {
		min-height: 10px;
	}

	.landing.paginated {
		min-height: 320px;
	}

	.container.paginated {
		min-height: 270px;
	}
}
