@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,800;1,400;1,800&family=Montserrat&display=swap');

body, html {
	margin: 0px;
	padding: 0px;
	background-attachment: fixed;
	background-image: url(../images/backpattern.jpg);
	background-repeat: repeat;
	font:14px/1.5 Bodoni Moda;font-size:calc(14px + 4 * ((100vw - 420px) / 860));
}
img {
	max-width: 100%;
	height: auto;
}
p a {
	color: #333333;
	text-decoration: none;
}
#header {
	position: relative;
	width: 100%;
	max-width: 1900px;
	margin: auto;
	height: auto;
	background-color: #FFFFFF;
}
#header img {
	width: 100%;
	display: block;
}
#header p {
	position: absolute;
	bottom: 22px;
	right: 35px;
	margin: auto;
	height: auto;
}
#navigation {
	position: relative;
	margin: 8px 35px 5px 35px;
	height: auto;
	text-align: center;
}
#navigation ul {
	position: relative;
	width: 100%;
	margin: 0px;
	padding: 0px;
	text-align: center;
	list-style: none;
	font-size: 0px;
	z-index: 100;
}
#navigation li {
	position: relative;
	text-align: center;
	font-size: 21px;
	line-height: 32px;
	border-right: solid 1px #99CC99;
	display: inline-block;
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}
#navigation li:first-of-type {
	border-left: solid 1px #99CC99;
}
#navigation li a {
	color: #333333;
	padding: 9px 22px;
	text-decoration: none;
}

#navigation li a:hover {
	color: #333333;
	text-decoration: none;
	background-color: #FFEEBB;
}
#mainContent {
	position: relative;
	width: 92%;
	max-width: 1600px;
	min-height: 500px;
	margin: 38px auto;
}
#frontContainer {
	position: relative;
	width: 100%;
	display: table;
	border-collapse: separate;
	border-spacing: 25px 5px;
}
#frontSlide {
	position: relative;
	width: 52%;
	margin-top: 9px;
	display: table-cell;
	vertical-align: top;
}
#frontRight {
	position: relative;
	width: 48%;
	display: table-cell;
	vertical-align: middle;
}
#frontText {
	position: relative;
	width: 62%;
	margin-top: 9px;
	display: table-cell;
	vertical-align: top;
}
#frontRightMap {
	position: relative;
	width: 38%;
	display: table-cell;
	vertical-align: middle;
}
#footer {
	position: relative;
	width: 100%;
	padding: 25px 0px;
	border-top: solid 20px #99CC99;
	background-color: #58AB58;
}
#footerContainer {
	position: relative;
	width: 94%;
	margin: auto;
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 120%;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
}
#footerContainer a {
	color: #FFFFFF;
	text-decoration: none;
}
#footerContainer a:hover {
	text-decoration: underline;
}
.moreLink {
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 120%;
	font-weight: 700;
	color: #666666;
	text-decoration: none;
	padding: 6px 55px;
	background-image: linear-gradient(to right, rgba(0,0,0,0), #C5E2C5, #C5E2C5, rgba(0,0,0,0));
}
#moreInfo {
	clear: both;
	margin-top: 25px;
	display: none;
}
.straitList {
	position: relative;
	width: 96%;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
	list-style: none;
	font-size: 0px;
	z-index: 100;
}
.straitList li {
	position: relative;
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 21px;
	color: #333333;
	text-align: center;
	line-height: 32px;
	display: inline-block;
	padding: 25px 3%;
}
.straitList li a {
	color: #C5E2C5;
	padding: px 18px;
	text-decoration: none;
}

h1 {
	font-size: 28px;
	font-weight: 800;
	color: #58AB58;
	line-height: 32px;
	margin-top: 5px;
}
h2 {
	font-size: 24px;
	font-weight: 800;
	color: #555555;
	line-height: 32px;
}
h3 {
	font-size: 18px;
	font-weight: 800;
	color: #333333;
	line-height: 32px;
}
.plainText {
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 16px;
}
.plainLarge {
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 21px;
}
.plainSmall {
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 120%;
}
.XLarge {
	font-family: "Bodoni Moda", Times, serif;
	font-size: 28px;
	font-weight: 800;
	color: #555555;
}
.shadeBox {
	position: relative;
	margin: 10px 25px;
	border: 1px solid #FFCC33;;
	background-color: #FFF8DF;
}
.shadeBoxContent {
	position: relative;
	width: 90%;
	margin: auto;
	text-align: center;
}
#menuLink {
	text-align: center;
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
	font-size: 24px;
	color: #333333;
	line-height: 36px;
	margin: 5px;
	cursor: pointer;
	display: none;
}
#menuLink img {
	vertical-align: middle;
	margin-bottom: 5px;
}
.reserveButton {
	margin: 35px auto;
	text-align: center;
}
.reserveButton a {
	padding: 15px 30px;
	font-size: 32px;
	font-weight: 800;
	color: #FFFFFF;
	text-decoration: none;
	background-color:#58AB58;
	border: solid 2px #FFFFFF;
	border-radius: 22px;
}
.reserveButton a:hover {
	background-color: #3C773C;
}
#googleMapContainer {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	border: solid 1px #333333;
}
#googleMap {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	
}
.amenities {
	position: relative;
	width: 100%;
	padding-bottom: 45px;
	margin-bottom: 55px;
	border-bottom: solid 1px #58AB58;
}
.amenities:first-of-type {
	margin-top: 55px;
}
.amenities ul {
	position: relative;
	width: 100%;
	padding: 0px;
	margin: 0px;
	list-style:none;
}
.amenities ul li {
	width: 30%;
	margin: 10px;
	display: inline-block;
	vertical-align: top;
}
.amenities ul li a {
	text-decoration: none;
	color: #000000;
}
.amenities ul li a:hover {
	text-decoration: underline;
	color: #333333;
}
#back2Top {
    width: 30px;
    line-height: 30px;
    overflow: hidden;
    z-index: 190;
    display: none;
    cursor: pointer;
    -moz-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
    position: fixed;
    bottom: 10px;
    right: 0;
    background-color: #58AB58;
    color: #FFFFFF;
    text-align: center;
    font-size: 24px;
    text-decoration: none;
}
#back2Top:hover {
    background-color: #BBBBBB;
    color: #EEEEEE;
}
.indent {
	margin-left: 45px;
}
.starReview {
	padding-top: 60px;
	display: block;
}
/* review form */
.reviewButton {
	margin: 25px auto;
	text-align: center;
}
.reviewButton a {
	padding: 10px 18px;
	font-size: 18px;
	font-weight: 800;
	color: #FFFFFF;
	text-decoration: none;
	background-color:#58AB58;
	border: solid 2px #FFFFFF;
	border-radius: 21px;
}
.reviewButton a:hover {
	background-color: #3C773C;
}
#reviewCasa {
	position: relative;
	width: 90%;
	max-width: 800px;
	margin: auto;
	font-family: "Montserrat",Arial, Helvetica, sans-serif;
}
#reviewCasa input[type=text] {
	width: 100%;
	padding: 5px 9px;
	border: solid 1px #99CC99;
}
#reviewCasa select {
	width: 100%;
	padding: 5px 9px;
	border: solid 1px #99CC99;
}
#reviewCasa textarea {
	width: 100%;
	padding: 5px 9px;
	border: solid 1px #99CC99;
}
#reviewCasa label {
	white-space: nowrap;
}
#reviewCasa #Submit {
	padding: 10px 18px;
	font-size: 18px;
	font-weight: 800;
	color: #FFFFFF;
	text-decoration: none;
	background-color:#58AB58;
	border: solid 2px #FFFFFF;
	border-radius: 21px;
	margin: auto;
	display: block;
}
#reviewCasa #Submit {
	background-color: #3C773C;
}
/* photo gallery */
.photoGallery {
	position: relative;
	width: 100%;
	text-align: center;
}
.photoContainer {
	position: relative;
	width: 255px;
	text-align: center;
	border: solid 1px #99CC99;
	margin: 12px;
	display: inline-block;
}
.photo {
	position: relative;
	padding-top: 75%;
	background-color: #FFFFFF;
}
.photoThumb {
	position:absolute;
	top: 8px;
	left: 8px;
	right: 8px;
	bottom: 9px;
}
.photoThumb img {
	position:relative;
	height:100%;
	border: solid 1px #333333;
	cursor: pointer;
}
.photoThumb .current {
	opacity: 0.6;
}
.photoThumb img:hover {
	opacity: 0.8;
}
#photoDisplay {
	position: fixed;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	padding-top: 30px;
	background-color: rgba(240,240,240,0.95);
	z-index: 200;
	display: none;
}
#photoDisplay .close {
  position: absolute;
  right: 32px;
  top: 32px;
  width: 32px;
  height: 32px;
  opacity: 1;
  cursor: pointer;
  z-index: 210;
}
#photoDisplay .close:hover {
  opacity: 0.8;
}
#photoDisplay .close:before, .close:after {
  position: absolute;
  left: 15px;
  content: ' ';
  height: 33px;
  width: 2px;
  background-color: #333333;
}
#photoDisplay .close:before {
  transform: rotate(45deg);
}
#photoDisplay .close:after {
  transform: rotate(-45deg);
}
#photoFullContainer {
	position: absolute;
	top: 20px;
	left: 20px;
	bottom: 20px;
	right: 20px;
	padding-top: 60px;
	text-align: center;
	vertical-align: middle;
	color: #FFFFFF;
}
#photoFull {
	max-width: 90%;
	max-height: 90%;
	margin: auto;
	display: block;
	border: solid 4px #FFFFFF;
	box-shadow: 5px 5px 8px rgba(0,0,0,0.4);
	-webkit-box-shadow: 5px 5px 8px rgba(0,0,0,0.4);
	-moz-box-shadow: 5px 5px 8px rgba(0,0,0,0.4);
}
#photoDescription {
	color: #333333;
	text-align: center;
	font-size: 16px;
}
.calendarFrame {
	width: 100%;
	height: 430px;
}

@media only screen and (max-width: 1400px) {
	.straitList li {
	font-size: 16px;
	}
	.straitList li img {
	width: 65px;
	}
	#navigation li {
	font-size: 19px;
	}
	#navigation li a {
	padding: 9px 18px;
	}
}

@media only screen and (max-width: 1200px) {
	#header p {
	bottom: 19px;
	right: 20px;
	}
	#frontContainer {
	display: block;
	}
	#frontSlide, #frontRight, #frontText {
	position: relative;
	width: 100%;
	margin-top: 9px;
	display: block;
	vertical-align: top;
	}
	#frontRightMap {
	position: relative;
	width: 88%;
	height: 350px;
	margin: 25px auto;
	display: block;
	vertical-align: middle;
	}
	#menuLink {
	display: block;
	}
	#navigation {
	margin: 8px 0px 5px 0px;
	}
	#navigation ul {
	position: absolute;
	top: 100%;
	width: 100%;
	margin: 0px;
	padding: 0px;
	display: none;
	background-color: #99CC99;
	}
	#navigation li {
	font-size: 21px;
	line-height: 44px;
	border-right: solid 0px #99CC99;
	display: block;
	border-bottom: solid 1px #FFFFFF;
	}
	#navigation li:first-of-type {
	border-left: none;
	}
	#navigation li a {
	display: block;
	color: #000000;
	}
	h1, h2, h3 {
	text-align: center;
	}
	.shadeBox {
	margin: 45px 3px;
	}
	.amenities ul li {
	width: 45%;
	margin: 10px;
	}
	.starReview {
	margin: auto;
	display: block;
	}
	.indent {
	margin: auto;
	text-align: center;
	}
}
@media only screen and (max-width: 860px) {
	.calendarFrame {
	height: 710px;
	}
}
@media only screen and (max-width: 700px) {
	#header p {
	display: none;
	}
	.reserveButton a {
	padding: 12px 21px;
	font-size: 26px;
	}
	#footerContainer {
	font-size: 14px;
	}
	.straitList li {
	font-size: 16px;
	padding: 25px 15px;
	}
	.straitList li img {
	width: 55px;
	}
	.reviewButton a {
	padding: 8px 14px;
	font-size: 16px;
	}
	#reviewCasa {
	test-align: center;
	line-height: 150%;
	}
	.XLarge {
	font-size: 24px;
	}
	.plainText {
	font-size: 14px;
	}
}

@media only screen and (max-width: 480px) {
	.reserveButton a {
	padding: 8px 12px;
	font-size: 18px;
	}
	#footerContainer {
	font-size: 12px;
	}
	.photoContainer {
	width: 230px;
	}
	.amenities ul li {
	text-align: center;
	}
	.amenities ul li {
	width: 100%;
	margin: 10px auto;
	text-align: center;
	}
	.calendarFrame {
	height: 930px;
	}
}
