
@font-face { font-family: "Theano Didot"; src: url(../fonts/TheanoDidot-Regular.ttf); }

@-webkit-keyframes breathing {
  0% { -webkit-transform: scale(1); transform: scale(1); }
  50% { -webkit-transform: scale(1.05); transform: scale(1.05); }
  100% { -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes breathing {
  0% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
  50% { -webkit-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05); }
  100% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
}

* { box-sizing: border-box; }
html { display: block; background: #ffffff; color: #444; font: 300 18px/1.8 "Open Sans", sans-serif; }
body { padding: 0; margin: 0; }

div {	display: block; }
a { cursor: pointer; text-decoration: none; background: transparent; outline: none; }
h1,h2,h3,h4,h5,h6 { }

body { font-family: Montserrat,sans-serif; font-weight: 300; font-size: 16px; }
.page {	width: 100%; height: 100%; padding: 20px; position: relative;}
.header { min-height: 100vh; position: relative; display: block; }
.main-nav { background-color: rgba(250, 250, 250, 0); left: 20px; top: 20px; padding: 20px; width: calc(100% - 60px); box-sizing: border-box; position: fixed; transition: background-color .2s, transform .2s, left .2s, width .2s, -webkit-transform .2s; z-index: 3; -webkit-box-pack: justify; justify-content: space-between; display: flex; }
.attached .main-nav { transform: translateY(-20px); background-color: #fafafa; left: 0; width: 100%; }
.main-nav-buttons { float: none; list-style: none; margin: 0; padding: 0; -webkit-box-align: center; align-items: center; display: flex; font-size: 1rem; }
.main-nav-buttons li { float: left; position: relative; }
.main-nav-buttons li button { padding: 0 20px; background-color: transparent; border: 0; cursor: pointer; display: inline-block; font-weight: 500;  height: auto; line-height: 1.4; outline: none; text-align: center; text-transform: uppercase; box-sizing: border-box; align-items: flex-start; text-rendering: auto; letter-spacing: normal; word-spacing: normal; text-indent: 0px; text-shadow: none; margin: 0em; font: 400 13.3333px Arial; }
.main-nav-buttons li button i, .main-left-buttons button i { font-size: 1.5rem; position: relative; top: -1px; vertical-align: middle; text-decoration: none; }
.main-left-buttons { margin-left: auto; }
.headerButton { padding: 0 30px; min-height: 40px; cursor: pointer; background-color: transparent; font-size: 15px; line-height: 1.3; transition: background-color .2s linear,color .2s linear,border .2s linear; }
.headerButton:hover { color: #1d1d1d!important; background-color: #fff; }
.attached .headerButton { border-color: #1d1d1b; color: #1d1d1b; }
.attached .headerButton:hover { background-color: #1d1d1b; color: #fff; }

.main-menu-bar { position: fixed; top: 40px; height: 50px; background-color: rgba(255,255,255,0.7); width: calc(100% - 80px); left: 40px; }
.attached .main-menu-bar { background-color: #ffffff; width: 100%; left: 0; }

div.vouchers-purchase { max-width:100%; }
div.vouchers-purchase div.details.recipient { padding: 10px; }
div.vouchers-purchase div.details ul li span.label { width: 100%!important; }
div.vouchers-main div.vouchers-list div.vouchers-list-item { margin-top: 15px; margin-bottom: 25px; }
div.vouchers-main div.vouchers-list div.vouchers-list-item .voucher-name { font-size: larger; font-weight: bold; }
div.vouchers-main div.vouchers-list div.vouchers-list-item .voucher-longDescription { padding: 5px; }
.LDSVoucherItem { padding-top: 5px; padding-bottom: 5px; }
.LDSVoucherItem .title { font-size: 1.2em; font-weight: bold; }
.LDSVoucherItem table { width: 100%; table-layout: fixed; border-top: solid 2px black; padding-right: 0px; margin-right: 0px; }
.LDSVoucherItem table th.input, .LDSVoucherItem table td.input, .LDSVoucherItem table td:first-child { display: none; }
.LDSVoucherItem table th { font-weight: bold; padding-top: 5px; padding-bottom: 1px; border-bottom: solid 1px black; text-align: center; }
.LDSVoucherItem table .input { width: 15%; text-align: left; }
.LDSVoucherItem table .description, .LDSVoucherItem table .minimum, .LDSVoucherItem table .unitprice, .LDSVoucherItem table .quantity, .LDSVoucherItem table .total { display: table-cell; }
.LDSVoucherItem table .description { text-align: left; }
.LDSVoucherItem table .minimum { width: 10%; }
.LDSVoucherItem table .unitprice { width: 20%; }
.LDSVoucherItem table .quantity { width: 10%; }
.LDSVoucherItem table .total { width: 10%; text-align: right; }
.LDSVoucherItem table .disabled { font-style: italic; }
.LDSVoucherItem table .quantity input { width: 33px!important; }

@media screen and (max-width: 596px) {
  .LDSVoucherItem table, .vouchers-summary table { font-size: 9px; color: #000000; }
}


@media screen and (max-width: 596px) {
  .LDSVoucherItem table, .vouchers-summary table { font-size: 9px; color: #000; }
}

@media(max-width: 1000px) {
  div.vouchers-purchase div.vouchers-summary table { max-width:100%; width: 100%!important; }
}

.logo { position: fixed; top: 50px; left: 50%; transform: translateX(-50%); transition: padding .2s; z-index: 4; cursor: pointer; text-decoration: none; transition: padding .2s; }
.logo.menubar { top: 110px; }
.logo img { max-width: 300px; transition: max-width .2s,height .2s; }
.attached .logo { padding: 10px 0 0; top: 0; }
.attached .logo img { max-height: 68px; position: relative; transform: translateY(-5px); }

.mainImage { width: calc(100% - 40px); min-height: calc(100vh - 20px); background-attachment: fixed; position: fixed; display: inline-block; margin: 0; max-width: 100%; overflow: hidden; vertical-align: middle; background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; }
.mainImage .backgroundImage { width: 100%;  min-height: calc(100vh - 20px); background-attachment: fixed; display: inline-block; margin: 0; vertical-align: middle; background-position: 50% 50%!important; background-repeat: no-repeat!important; background-size: cover!important; }
.background-caption { position: fixed; top: 35vh; left: 50%; transform: translateX(-50%); text-align: center; max-width: 75%; }
.background-caption h1 { font-size: 55px; font-weight: 300; text-transform: uppercase; letter-spacing: -1px; line-height: 55px; }
.background-caption h2 { font-size: 23px; font-weight: 300; letter-spacing: 1px; line-height: 23px; }


/* FLASH MESSAGES */
.LDSFlashMessages { margin:10px auto; width:100%; }
.LDSFlashMessages .flash {
  position:relative; display:block; clear:both; margin:5px auto; width:100%; padding: 15px 30px 15px 15px;
  border-left:5px solid #333; border-radius: 0 4px 4px 0; font-weight:bold; font-size:14px; text-align:left;
  box-sizing:border-box; -moz-box-sizing:border-box;
}
.LDSFlashMessages .flash.error {  background:#F9EDED; color:#B94A48; border-color:#B94A48; }
.LDSFlashMessages .flash.success {  background:#EBFCEE; color:#3CC051; border-color:#3CC051; }
.LDSFlashMessages .flash.warning {  background:#FCF8E3; color:#E5BE52; border-color:#E5BE52; }
.LDSFlashMessages .flash.info {  background:#E6F1F7; color:#3A87AD; border-color:#3A87AD; }
.LDSFlashMessages .flash .close { display:block; cursor:pointer; position:absolute; height:20px; margin-top:-0.7em; top:50%; right:15px; font-size:1.2em; font-weight:bold; pointer-events:none; }

main { position: relative; z-index: 2; display: block; padding-bottom: 120px; padding-top: 120px; overflow: visible; text-align: left; max-width: 100%; }
.main .mainContent { flex-wrap: wrap; list-style: none; padding: 0; text-align: left; }
.main .mainContent p { max-width: 1300px; margin: 15px auto; }
.main .mainContent h1 { max-width: 1300px; margin: 0 auto; }
.main.notMain .mainContent { max-width: 1300px; margin: 0 auto; }

.footer-wrap { display: block; }
footer { background-size: 33%; padding-left: 0; padding-right: 0; padding-top: 100px; background: #fafafa; border-bottom: 20px solid #fafafa; z-index: 1; }
footer.stuck { bottom: 0; left: 20px; position: fixed; width: calc(100% - 40px); padding-top: 300px; }
.footerContent { max-width: 1200px; margin: 0 auto; }
.footer-info { padding-bottom: 20px; }
.footer-info .siteName { font-size: 26px; font-weight: 700; text-align: center; width: 100%; font-family: "Theano Didot"; text-transform: uppercase; }
.footer-info .address { width: 100%; text-align: center; }
.footer-info .phone { width: 100%; text-align: center; }
.footer-menu { text-align: center!important; margin-left: auto; margin-right: auto; font-size: 12px; }
.footer-menu ul { font-size: 12px;  margin: 0 auto 40px; max-width: 850px; list-style: none; padding: 0; }
.footer-menu ul li { display: inline-block; margin: 0 10px 0; }
.footer-menu ul li a {margin-bottom: 0; color: #1d1d1d; cursor: pointer; text-decoration: none; background: transparent; text-transform: uppercase; }
.copyright { text-align: center; font-size: .8333333333rem; }

.social {	text-align: center; padding-top: 10px; padding-bottom: 40px; }
.social .circle { width: 40px; height:40px; border-radius: 100%; line-height: 40px; position: relative; display: inline-block; transition: border-color .2s, background-color .2s, color .2s; }
.social .circle a { font-size: 25px; width: 100%; transition: background-color .2s, color .2s; }
.social .circle a:hover { transition-duration: 0.5s; }
.social .circle:hover { transition-duration: 0.5s; }

.mercuryModal { box-sizing: border-box; position: fixed; width: 50vw; max-width: 800px; min-width: 400px; height: 100vh; top: 0; left: 0; background-color: #EDEDED; z-index: 100; color: #444; }
.modalContent { width: 100%; height: 100%; overflow-x: hidden; overflow-y: scroll;}
.modalMainContent { margin: 100px 20px 20px; text-align: center; font-weight: 300; display: none; }
.modalMainContent h1 { font-family: "Theano Didot"; text-transform: uppercase; }
.modalClose { position: fixed; top: 30px; left: 50px; font-size: 36px; width: 40px; color: #444; cursor: pointer; text-align: center; }
.bookingModal { position: fixed; width: 734px; height: auto; right: 0; top: 0; left: unset; display: none; }
.menuModal { display: none; }
.locateModal { display: none; }
.mercuryModal .map { width: calc(100% - 40px); margin: 0 auto; max-width: 640px; max-height: 400px; height: 400px; max-height: 50vh; border: 3px solid #888; overflow: hidden; }
.modalCover { position: fixed; top: 0; left: 0; display: none; background-color: rgba(0,0,0,0.8); width: 100vw; height: 100vh; z-index: 99; overflow: hidden; }

.page-subtitle h3 {	width: 100%; text-align: center; font-weight: 300; font-size: 30px; margin-bottom: 20px; margin-top: 70px; font-family: "Theano Didot"; text-transform: uppercase; }
.page-subtitle h3:after { background-color: #867050; content: ""; display: block; height: 1px; margin: 10px auto 0; width: 115px; }

.nodeTypes { overflow: hidden; 	position: relative; margin-bottom: 75px; 	margin-top: 70px; }
.nodeContent {	width: 100%; 	position: relative; display: block; box-sizing: border-box; }
.nodeList { position: relative; max-width: 1070px; margin-left: auto; margin-right: auto; }
.nodeType { width: 1070px; position: relative; left: 0px; top: 0px; z-index: 999; opacity: 1; display: block; float: left; height: 100%; min-height: 1px; height: 665px; margin-left: auto; margin-right: auto; outline: none; }
.nodeImage { position: absolute; top: 0; right: 0; height: 630px; width: 722px; }
.nodeFlip .nodeImage { right: unset; left: 0; }
.nodeUnderlay { width: 426px; height: 508px; position: absolute; bottom: 0; left: 0; background-size: cover; }
.nodeFlip .nodeUnderlay { left: unset; right: 0; -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; }
.nodeText { width: 426px; height: 508px; position: absolute; bottom: 40px; left: 40px; padding:20px 30px; }
.nodeFlip .nodeText { left: unset; right: 40px; }
.nodeTitle { width: 100%; text-align: center; font-family: Montserrat,sans-serif; font-weight: 500; font-size: 16px; text-transform: uppercase; line-height:22px; letter-spacing: 2.5px; }
.nodeDesc { font-size: 13px; line-height: 21px; max-height: 305px; overflow: hidden; letter-spacing: 0px; font-weight: 300; }
.nodeButton { margin: 20px auto; text-align: center; }
.nodeCarousel { display: flex; max-width: 200px; }
.nodeCarouselButton svg { outline: none; }
.nodeCarouselButton { background: none; border: 0; cursor: pointer; }
.nodePagination { position: absolute; bottom: 0; right: 20px; }
.nodePagination.nodeFlip { right: unset; left: 20px; }
.nodePages { background-color: transparent; outline: none; }

.gallery { width: calc(100vw - 50px); }
.gallery-item { width: 987px; height: 555px; background-size: cover; overflow: hidden; transition: opacity .3s ease; opacity: .1; }
.gallery-item.slick-center { opacity: 1; }
.galleryPaging { width: 200px; margin: 0 auto; text-align: center; position: relative; right: unset; left: unset; top: unset; bottom: unset; }

.menu li { list-style: none; margin-bottom: 40px; position: relative;}
.subMenu { display: none; margin-left: 0; padding-left: 0; margin-top: 40px;}
.menuLink { text-align: center; width: 100%; height: 100%; text-transform: uppercase; font-size: 23px; color: #444;}
.subMenuItem { position: relative; text-align: center; }
.subMenuLink { text-align: center; width: 100%; height: 100%;}

.arrow-icon { background-color: transparent; display: block; padding: 0.5em; margin: 1em auto; position: relative; cursor: pointer; border-radius: 4px; }
.left-bar { position: absolute; background-color: transparent; top: 0; left: 0; width: 20px; height: 10px; display: block; transform: rotate(35deg); float: right; border-radius: 2px; }
.left-bar:after { content: ""; background-color: #444; width: 20px; height: 5px; display: block; float: right; border-radius: 6px 10px 10px 6px; transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 0.8); z-index: -1; }
.right-bar { position: absolute; background-color: transparent; top: 0px; left: 16px; width: 20px; height: 10px; display: block; transform: rotate(-35deg); float: right; border-radius: 2px; }
.right-bar:after { content: ""; background-color: #444; width: 20px; height: 5px; display: block; float: right; border-radius: 10px 6px 6px 10px; transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 0.8); z-index: -1; }
.open .left-bar:after { transform-origin: center center; transform: rotate(-70deg); }
.open .right-bar:after { transform-origin: center center; transform: rotate(70deg); }
.grid-rate-book { box-sizing: content-box; }

.grid-info { max-width: 800px; margin: 0 auto; }
.grid-packages { padding: 25px 10px; }


.LDSNodeGroup { width: 100%; display: block; margin-top: 30px; }
.LDSNewNode { width: 100%; list-style: none; display: flex; margin: 20px auto 60px; flex-wrap: wrap; max-width:1200px; overflow: hidden; }
.LDSNewNode:nth-child(even) { flex-direction: row-reverse; }
.mer_image { background-position: center; background-size: cover; width: 500px; height: 400px; box-sizing: border-box; max-width: 100%; transition: 0.8s; }
.LDSImage { width: 500px; height: 400px; display: block; flex: 1; max-width: 100%; overflow: hidden; position: relative; }
.LDSImage img { height: 400px; width: 500px; transition: 0.8s; }

.LDSText {box-sizing: border-box;  width: calc(100% - 500px); position: relative; min-width: 500px;}
.LDSTextImage { width: 100%; height: 100%; overflow: hidden; background-position: bottom; background-size: cover; }
.LDSTextWrap p { max-height: 210px; overflow: hidden; }
.LDSTextButton { display: block!important; }

.LDSText { background-size: cover; background-position: center; position: relative; height: 360px; margin-top: 40px; margin-left: 40px; }
.LDSTextWrap { position: absolute; top: -30px; left: -50px; width: calc(100% + 30px); height: calc(100% + 10px); border: 1px solid #dddddd!important; padding: 20px; text-align: center;}

.LDSNewNode:nth-child(even) .LDSText { margin-left: 0; margin-right: 40px; }
.LDSNewNode:nth-child(even) .LDSTextWrap { left: unset; right: -50px; }
.LDSNewNode:nth-child(odd) .LDSText .LDSTextImage { -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; }

.LDSNewNode:hover .mer_image { transform: scale(1.05); }
.LDSNewNode:hover .LDSImage img { transform: scale(1.05); }

@media (max-width: 1069px) {
.LDSNewNode:nth-child(even) { flex-direction: row; }
.LDSNewNode:nth-child(even) .LDSTextWrap { width: calc(100% - 20px); height: 100%; left: 10px; right: 0; top: -10px; }
.LDSText { margin-left: 0; margin-right: 0; margin-top: 0;  }
.LDSTextWrap { width: calc(100% - 20px); height: 100%; left: 10px; right: 0; top: -10px; }
.LDSImage { flex: auto; max-width: 500px; }
}

@media (max-width: 600px) {
.mer_image { max-width: 100%; width: unset; min-width:100%; }
.LDSImage img { max-width: 100%; width: unset; min-width: 100%; }
.LDSNodeGroup { padding-left: 0; }
.LDSText { min-width: 100%; }
}


fieldset.vaOptionsContainer {
    border: 0;
}


.roomTypeTitle { width: 100%; height: auto; min-width: 300px; }
.roomType { width: 100%; position: relative; height: auto; overflow: hidden; }
.roomTypeText { width: 48%; height: auto; float: left; min-width: 320px; }
.roomTypeImage { width: 48%; height: auto; min-width: 300px; float: right; }
.roomTypeGrid { margin-top: 30px; margin-left: auto; margin-right: auto; }

h1.pageTitle { font-family: "Theano Didot"; text-align: center; font-weight: 300; text-transform: uppercase; font-size: 50px; }
h1.pageTitle:after { background-color: #867050; content: ""; display: block; height: 1px; margin: 10px auto 40px; width: 115px; animation: keyline 1s ease-in-out; }



/* choices for Mercury */

.choicesTotalPrice { border-radius: 0!important; }
.choicesTotalPriceText { border-radius: 0!important; }
.choicesBookButton { border-radius: 0!important; }
.choicesRoom { border-radius: 0; }
.choicesRoomImage { border-radius: 0!important; }
.choicesFinalBookButton { border-radius: 0!important; }
.choicesFinalLink { border-radius: 0!important; }
.choicesPricingBox { border-radius: 0!important; }
.choicesStep { border-radius: 0!important; }
.choicesCarouselInner { border-radius: 0!important; }
.choicesRate.dark { border-radius: 0!important; }
.choicesBottomButton { border-radius: 0!important; }
.descriptionAndPrice a { border-radius: 0!important; }
.ui-button { border-radius: 0!important; }
.ui-dialog-titlebar { border-radius: 0!important; }
.choicesSiteTitle { max-width: 1100px; margin: 0 auto; }


.choicesRoom .choicesRoomImage .choicesRoomImageImage { transition: 0.8s all; }
.choicesRoom:hover .choicesRoomImage .choicesRoomImageImage { transform: scale(1.05); }

.LDSCMSForm label { width: 150px; display: block; float: left; }
#map_canvas { max-width: 900px; max-height: 500px; margin: 10px auto; }
#map_canvas + p { margin: 0 auto!important; width: 100%; text-align: center; }


.prettyCheckbox input[type='radio'] + span {
	background-image: url(../images/opacity_radio_clear.png);
	background-color: transparent!important;
}

.prettyCheckbox input[type='checkbox'] + span {
	background-image: url(../images/opacity_checkbox2.png);
	background-color: transparent!important;
}

@media(max-width: 1320px) {
	.LDSNodeGroup { display: grid; }
	.LDSNewNode { margin-left: auto; margin-right: auto; }
}

@media(max-width: 1300px) {
.gallery {  margin: 0 auto; }
}

@media(max-width: 900px) {
	.roomType { margin-left: 10px; margin-right: 10px; }
	.roomImage { width: 100%; max-height:400px; }
	.roomText { width: 100%; }
	.roomType { margin-left: 10px; margin-right: 10px; }
	.roomImage { width: 100%; max-height:400px; }
	.roomText { width: 100%; }
}

@media(max-width: 880px) {
	.nodeUnderlay { left: calc(50% - 223px); width: 446px; height: 308px; background-position: bottom; bottom: 30px; }
	.nodeFlip .nodeUnderlay { right: calc(50% - 223px); width: 446px; height: 308px; background-position: bottom; bottom: 30px; }
	.nodeText { left: calc(50% - 213px); height: 308px; bottom: 70px; }
	.nodeFlip .nodeText { right: calc(50% - 213px); height: 308px; bottom: 70px; }
	.nodeImage { width:100%; height: 400px; }
	.nodeFlip .nodeImage { width:100%; height: 400px; }
}

@media (max-width: 800px) {
	.logo { top: 100px!important; z-index: 1!important; }
  .attached .main-nav { transform: translateY(-40px); }
}

@media (max-width: 734px) {
	.bookingModal {	width: 95%; margin-left: auto; margin-right: auto; }
}

@media(max-width: 680px) {
	.roomType { margin-left: 5px; margin-right: 5px; }
	.roomImage { max-height:300px; }
	.LDSNewNode { width: calc(100% - 40px); }
}

@media (max-width: 600px) {
	.modalClose { top: 10px; left: 20px; }
	.modalMainContent { margin: 40px 10px 10px; text-align: center; font-weight: 300; }
	.modalMainContent h1 { margin-bottom: 10px; padding-top: 20px; }
	.modalMainContent p { margin-top: 5px; margin-bottom: 5px; }
	h1.pageTitle { font-size: 30px; }
}

@media(max-width: 500px) {
	.nodeUnderlay { width: 100%; right: unset; left: 0; }
	.nodeFlip .nodeUnderlay { width: 100%;  right: unset; left: 0; }
	.nodeText { width: calc(100% - 20px); right: unset; left: 10px; }
	.nodeFlip .nodeText { width: calc(100% - 20px); right: unset; left: 10px; }
}

@media(max-width: 480px) {
	.LDSNewNode .LDSImage { width: 100%; }
	.LDSNewNode .LDSText { width: 100%; }
	.LDSNewNode:nth-child(even) .LDSText { width: 100%; }
	.LDSNewNode:nth-child(even) .LDSImage { width: 100%; }
	.LDSNewNode { margin-left: 0; margin-right: 0; width: 100%; }
}

@media (max-width: 440px) {
	.page {	padding: 5px;  }
	.mainImage { width: calc(100% - 10px);  min-height: calc(100% - 10px); }
	footer.stuck { width: calc(100% - 10px); left: 5px; }
}

@media (max-width: 400px) {
	.mercuryModal { width: 100%; min-width: 100%; }
	.roomImage { max-height:200px; }
}

@media (max-width: 359px) {
	.main-nav { left: 0; }
}

header .logo img.showonscroll {
	display: none;
}

header.attached .logo img.hideonscroll {
	display: none;
}

header.attached	.logo img.showonscroll {
	display: block;
}
