html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd { margin: 0; padding: 0; font-weight: normal; }
html, body { margin: 0; padding: 0; }

body {
	background: #fff;
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	font-size: 18px;
	font-weight: 300;
	color: #101212;
	-webkit-font-smoothing: antialiased;
}
a:link, a:visited { color: #556d97; text-decoration: none; }
a:hover, a:active { color: #965d54; }
strong { font-weight: bold }


h2 {
	font-size: 27px;
	line-height: 49px;
}
h2.mobile, h2.tablet { text-align: center; }
h2 strong {
	display: block;
	padding-left: 31px;
	font-size: 55px;
	font-weight: normal;
}
h2 em {
	padding-left: 48px;
	font-style: normal;
}
h2 span {
	position: relative;
	display: inline-block;
	top: -7px;
	left: 5px;
	width: 200px;
	height: 1px;
	background: red;
	border-bottom: 1px solid #101212;
}
h2 span.sleft { left: -5px; }


.container {
	max-width: 915px;
	margin: 0 auto;
}
.container-inner {
	padding: 0 20px;
}
.row {
	position: relative;
}


.link {
	position: relative;
	background-image: linear-gradient(to top, rgba(0,0,0,0), rgba(0,0,0,0) 2px, #556d97 2px, #556d97 3px, rgba(0,0,0,0) 3px);
	text-decoration: none;
	color: #556d97;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
	-webkit-transition: color 200ms ease;
	transition: color 200ms ease;
}
.link:hover, .link:focus {
	background-image: linear-gradient(to top, rgba(0,0,0,0), rgba(0,0,0,0) 2px, #965d54 2px, #965d54 3px, rgba(0,0,0,0) 3px);
	color: #965d54;
}


.btn, .btn:link, .btn:visited {
	display: inline-block;
	padding: 14px 26px;
	border: 0;
	border-radius: 6px;
	background: #5e74aa;
	font-family: inherit;
	font-size: inherit;
	color: #f5f1ee;
	text-align: center;
	cursor: pointer;
}
.btn:hover, .btn:active {
	background: #965d54;
	text-shadow: 1px 1px #764942;
	outline:0;
}
.btn:focus { outline:0 }


.field { padding: 27px 0 0 0; }
.field label {
	display: block;
	padding-bottom: 4px;
}
.field input, .field textarea {
	width: 100%;
	padding: 11px;
	border: 2px solid #d7cdad;
	background: #fff;
	font-family: inherit;
	font-size: 16px;
}
.field textarea { height: 165px; }


#superbar {
	position: fixed;
	width: 100%;
	display: block;
	padding: 9px 0 11px;
	background: rgba(47,47,44,0.8);
	box-shadow: rgba(47,47,44,0.8) 0 0 10px;
	font-size: 14px;
	text-align: left;
	color: #fff;
	text-shadow: rgba(17,17,14,0.8) 1px 1px 4px;
	z-index: 7777;
}
#superbar p { padding: 0 20px; }
#superbar .right { float: right; }

#superbar-icons {
	display: inline-block;
	position: relative;
	top: 1px;
	padding-left: 12px;
}



#header {
	position: relative;
	height: 385px;
	background: #d7cdad url(../img/header-v4.jpg) no-repeat center;
	background-size: cover;
	text-align: center;
}
#header-title {
	display: inline-block;
	margin: 0 auto;
	padding-top: 111px;
	color: #f5f1ee;
	font-size: 17px;
	text-shadow: 1px 1px rgba(61,60,55,0.75);
}
#header h1 {
	margin: 13px 0;
	padding: 14px 20px 11px;
	border-top: 1px solid rgba(244,241,238,0.75);
	border-bottom: 1px solid rgba(244,241,238,0.75);
	font-size: 52px;
}

#header-btns {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 620px;
	margin-left: -310px;
}
#header-btns .btn {
	padding: 16px 27px 14px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 4px solid #53669b;
	text-shadow: 1px 1px #5f7191;
	font-size: 18px;
}
#header-btns-external {
	display: inline-block;
}
#header-btns-mobile {
	display: none;
}
#header .btn-external {
	background: #965d54;
	border-color: #764942;
	text-shadow: 1px 1px #764942;
}
#header .btn:hover, #header .btn:active {
	background: #764942;
	border-color: #764942;
	text-shadow: 1px 1px #764942;
}


#intro {
	margin-top: 70px;
	margin-right: 360px;
}
#intro p {
	padding: 27px 0 0 31px;
	line-height: 31px;
}


#prices {
	position: absolute;
	top: 131px;
	right: 0;
	width: 309px;
	padding: 4px;
	background: #101212;
	color: #f5f1ee;
}
#prices-inner {
	padding: 21px 27px 21px;
	background: #101212;
	border: 1px solid #d5cbb0;
}
#prices table {
	width: 100%;
	border-collapse: collapse;
}
#prices th, #prices td {
	padding: 3px 0 7px;
	border-top: 1px solid #303232;
}
#prices tr:first-child th, #prices tr:first-child td {
	border-top: 0;
}
#prices th {
	font-weight: normal;
	text-align: left;
}
#prices td {
	text-align: right;
	color: #d7cdad;
}
#prices .btn {
	margin: 17px 0;
	width: 100%;
}
#prices p {
	color: #c7ccc9;
	font-size: 14px;
}


#rooms {
	padding-top: 80px;
	clear: both;
	overflow: hidden;
}
#rooms h2 { text-align: center; }
#rooms dl {
	float: left;
	width: 50%;
	margin: 15px 0 0 0;
	padding: 0 10px;
}
#rooms dl:nth-child(3) {
	margin-top: 36px;
}
#rooms dt {
	padding: 24px 0 0 0;
	font-size: 22px;
}
#rooms dd {
	padding: 6px 0 6px 31px;
	font-style: italic;
}


#images {
	margin-top: 36px;
	font-size: 0;
	overflow: hidden;
}
#images div {
	float: left;
	width: 25%;
	padding: 10px;
}
#images a, #images span {
	display: block;
	padding: 4px;
	background: #d7cdad;
}
#images a:hover, #images a:active { background: #556d97; }
#images img {
	width: 100%;
	border: 1px solid #fff;
}


#map {
	clear: both;
	position: relative;
	max-width: 1100px;
	height: 550px;
	margin: 80px auto 0;
}
#map-img {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/map.jpg) no-repeat center;
}
#map-inner {
	position: absolute;
	right: 0;
	top: 55px;
	width: 510px;
	height: 440px;
	padding: 27px 27px 0;
	background: #fff;
}
#map p { padding: 27px 0 0 31px; }


#contact {
	padding-top: 80px;
	overflow: hidden;
}
#contact-info {
	margin-top: 31px;
	padding-right: 50px;
}
#contact-info p { padding-bottom: 31px; }
p#contact-details {
	padding-left: 31px;
	padding-bottom: 10px;
	line-height: 24px;
}
#contact-form {
	width: 555px;
}
#contact-form button {
	float: right;
	margin-top: 21px;
}
#contact-form .form-text {
	margin: 27px 0 0 27px;
	padding: 9px 11px 7px;
	color: #fff;
	border-radius: 2px;
}
#contact-form .form-text--error { background: #965d54 }
#contact-form .form-text--success { background: #5e74aa }


#reviews-intro {
	padding-top: 80px;
	text-align: center;
}

#reviews {
	padding-top: 60px;
	overflow: hidden;
}
.reviews-col {
	width: 50%;
	float: left;
}
.review {
	margin: 0 12px 24px 12px;
	padding: 10px 18px 14px;
	border-radius: 3px;
	border: 1px solid #d5cbb0;
}
.review h6 {
	font-size: 20px;
	font-style: italic;
	background-image: linear-gradient(to top, rgba(0,0,0,0), rgba(0,0,0,0) 3px, #d5cbb0 3px, #d5cbb0 4px, rgba(0,0,0,0) 4px);
	text-decoration: none;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;

}
.review p {
	padding-top: 7px;
	font-size: 16px;
	line-height: 21px;
}
#review-links {
	clear: both;
	text-align: center;
}
#review-links p {
	padding-bottom: 12px;
}
#review-links a {
	padding: 7px 13px;
	border-radius: 4px;
}



#thanks h2 {
	margin: 45px 0;
	text-align: center;
}
#thanks p { padding-bottom: 40px; }


#footer {
	margin-top: 80px;
	border-top: 4px solid #ccc;
	background: #eee;
	font-size: 14px;
}
#footer .right { float: right; }
#footer .container-inner { padding: 21px 20px; }





#lightbox-background {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.47);
	z-index: 8888;
}
#lightbox-container {
	display: none;
	position: fixed;
	top: 40px;
	right: 40px;
	bottom: 40px;
	left: 40px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 0 7px 0 rgba(0,0,0,0.80);
	border-radius: 3px;
	z-index: 8888;
}
#lightbox-inner {
	width: 100%;
	height: 100%;
	padding: 20px;
	border: 1px solid #d5cbb0;
	background: center no-repeat url(../img/spinner.gif);
	cursor: pointer;
}
#lightbox-image {
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background: center no-repeat url(../img/room-1.jpg);
}







.mobile { display: none; }
.tablet { display: none; }

@media (max-width: 830px) {
	#intro h2 span { width: 75px; }
	#prices { top: 181px; }
}

@media (max-width: 760px) {
	h2 { text-align: center; }
	h2 strong { padding-left: 0; font-size: 42px; }
	h2 em { padding-left: 0; font-size: 24px; }
	h2 span { display: none; }
	#header { height: 455px; }
	#header-btns { display: none; }
	/*#header-btns { left: 0; width: 100%; margin: 0; }*/
	/*#header-btns .btn-call { padding-top: 19px; border-radius: 6px; }*/
	/*#header-btns-external { display: block; padding-top: 24px; }*/

	#header-btns-mobile { position: absolute; display: block; bottom: 0; width: 100%; }
	#header-btns-mobile div { display: flex; justify-content: center; gap: 21px; margin-top: 21px; }
	#header-btns-mobile div .btn { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

	#intro { margin-right: 0; }
	#intro p { padding-left: 0; }
	#prices { position: static; top: auto; margin: 31px auto 0; }
	#rooms dl { margin: 11px 0 0; }
	#rooms dt { padding: 18px 0 0 0; font-size: 20px; }
	#rooms dd { padding: 4px 0; }
	#images div { width: 33%; }
	#images img { width: 100%; }
	#map p { padding-left: 0; }
	#contact { padding-top: 20px; }
	#contact-info { float: none; width: auto; margin: 27px 0 0 0; }
	#contact-form { width: 100%; margin-right: 0; }
	.field { padding: 27px 0 0 0; }
	#contact-form button { width: 100%; }
	.hide-tablet { display: none; }
	.tablet { display: block; }
	#review-links { text-align: center; }
	#review-links a { display: block; width: 175px; margin: 0 auto 14px; }
}

@media (max-width: 620px) {
	#superbar { text-align: center; }
	#superbar .right { float: none; }
	#rooms dl { float: none; width: 100%; }
	#rooms dl:nth-child(3) { margin-top: 0; }
	#images div { width: 50%; }
	#map { height: auto; margin: 40px 18px; }
	#map-img { height: 310px; background: url(../img/map-small.jpg) no-repeat center; }
	#map h2 { margin: 0 30px 18px; }
	#map-inner { position: static; width: auto; height: auto; padding-top: 0; }
	.reviews-col { float: none; width: 100%; }
	.hide-mobile { display: none; }
	.mobile { display: block; }
	#lightbox-container { top: 8px; right: 8px; bottom: 8px; left: 8px; padding: 8px; box-shadow: none; border-radius: 0; }
	#lightbox-inner { padding: 8px; }
}


@media (max-width: 450px) {
	h2 span { width: 30px; }
}

.grecaptcha-badge {
	visibility: collapse !important;
}
