










/** imports
************************************/
@import url("normalize.min.css");
@import url("grid.css");
@import url("font-awesome/css/font-awesome.min.css");
@import url("https://fonts.googleapis.com/css?family=Roboto+Slab:100,400,700|Niconne");












/** element debug
************************************/
* {

	/* 	outline:1px solid rgba(0,0,0,.1); */
}












/** base styles
************************************/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

body {
	font-family: "Roboto Slab", sans-serif;
	background: white;
	color: #6B6357;
}

svg,
img {
	height: auto;
	width: auto;
	max-width: 100%;
}

a {
	text-decoration: none;
	transition: all .3s;
	display: inline-block;
	color: #D06746;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color:black;
	margin: 0;
}

h1 {
	font: 4em "Niconne";
	color: #AD9575;
}

h6 {
	font: 2.5em "Niconne";
	padding: .5em 0em 1em;
	color: rgb(183, 101, 74);
}

p {
	margin-top: 0;
}

form {
	background: #ECE6DE;
	padding: 1rem;
	border-radius: 16px;
}


input[type=text],
input[type=submit],
select,
button {
	padding: .5em;
	border-radius: .2em;
	border: 0;
	background: rgba(255, 255, 255, .9);
}

button {
	background: rgb(128, 60, 37);
	color: white;
	padding: .5em 2em
}

.link--more {
	font-size:.7em;
	padding:1em;
	border:1px solid;
	line-height:1;
	border-radius:.5em;
	background:white;
	transition:all .3s;
}
.link--more:hover {
	background:#803c25;
	color:white;
}








/** util classes
************************************/
.wrap {
	max-width: 75rem;
	margin: auto;
	position: relative;
}

.wrap:after {
	display: block;
	clear: both;
	content: "";
}

.editpage {
	background: rgba(0, 0, 0, .5);
	padding: 1em 2em;
	position: fixed;
	top: 0;
	right: 0;
	color: white;
}

.editpage:hover {
	background: black;
}

/* spam honeypot */
input#email {
	position: absolute;
	left: -999em;
}
p.submit {
	text-align:right;
	margin-bottom:0;
}












/** header
**********************************/
.header {
	background: #D06747;
	background: #B7654A;
	font-size: .8em;
}

.header a {
	color: white;
}

@media (min-width:900px) {
	.header .wrap {
		display: table;
		width: 100%;
	}

	.header .nav {
		display: table-cell;
	}

	.header .nav ul {
		margin-left: auto;
	}

	.header .branding {
		display: table-cell;
		width: 13em;
	}

}












/** branding logo
**********************************/
.branding {
	padding: 1em;
	text-align: center;
	display: inline-block;
}

.branding svg {
	fill: white;
	height: 50px;
}

.branding strong {
	font-weight: normal;
	font-family: Niconne;
	font-size: 1.3em;
}

@media (max-width:900px) {
	.branding {
		display: block;
	}

}












/** nav head and foot
**********************************/
.nav ul {
	margin: 0;
	line-height: 1;
	padding: 0;
	list-style: none;
}

.nav a {
	display: block;
	padding: 1em;
}

.nav a:hover {
	background: rgba(255, 255, 255, .3) !important;
}

.nav .current > a{
	background: rgba(255, 255, 255, .1);
	border-bottom: .3em solid rgba(255, 255, 255, 1);
}
.nav .parent > a {
	background: rgba(255, 255, 255, .1);
}


.nav ul li:hover > ul {
	display:block;
}
.nav ul ul {
	display:none;
	position:absolute;
	z-index:99999;
	background:#b7654a;
	width:15em;
}
.nav ul ul li {
	display:block;
}


@media (min-width:900px) {
	.nav ul {
		display: table;
	}

	.nav li {
		display: table-cell;
	}

	.nav .toggle {
		display: none;
	}

}

@media (max-width:900px) {
	.header .nav {
		position: fixed;
		top: 0;
		right: -50vw;
		z-index: 999;
		background: #1F92A2;
		height: 100%;
		width: 50vw;
		padding: 1em;
		transition: right .3s;
	}

	.shownav .header .nav {
		right: 0;
	}

	.nav a.toggle {
		position: fixed;
		bottom: 1em;
		right: 1em;
		background: rgba(0, 0, 0, .5);
	}

	.nav a.toggle:hover {
		background: rgba(0, 0, 0, .8) !important;
	}

}












/** pagination
**********************************/
.MarkupPagerNav {
	display: table;
	margin: auto;
	line-height: 1;
}

.MarkupPagerNav li {
	display: table-cell;
}

.MarkupPagerNav a {
	display: block;
	padding: 1em;
}
.MarkupPagerNavOn a {
	background: rgb(210, 103, 70);
	color: rgb(255, 255, 255);
}











/** thumbs
**********************************/
.thumb a {
	display: block;
}

.thumb img {
	width: 100%;
	display: block;
}












/** banner
**********************************/
.banner {
	position: relative;
}

.banner img {
	display: block;
	width: 100%;
}
.banner a {
	line-height: 1;
	font-size: 1.3em;
	color: white;
	text-shadow: 1px 1px 2px black;
	font-family: Niconne;
}

.banner .caption {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1rem;
}
.banner .more_photos {
	position:absolute;
	bottom:0;
	left:0;
	margin:0;
	padding:1rem;
}












/** body
************************************/
.body {
	line-height: 1.8;
}












/** footer
**********************************/
.footer {
	background: #803C25;
	font-size: .8em;
	color: rgba(255, 255, 255, .4);
	padding: 3em 0;
}

.footer a {
	color: inherit;
}

.footer a:hover {
	color: white;
}

.footer .copyright {
	text-align: right;
	color: rgba(0, 0, 0, 0.7);
	/* font-size: .8em; */
	margin: 2em 0;
}

@media (max-width:900px) {
	.footer {
		padding: 2em;
	}

	.footer .nav ul {
		display: block;
	}

	.footer .nav li {
		display: inline;
	}

	.footer .nav li a {
		display: inline-block;
		padding: .5em;
	}

}












/** content
************************************/
.content {
	margin: 2em 0 5em;
}
@media (max-width:75rem){
	.content {
		padding: 0 2em;
	}
}












/** villa list
************************************/
.villa {
	padding: 1em;
	font-size: .8rem;
}

.villa .thumb {
	margin: 0;
}

.villa .title {
	margin: 0;
}

.villa .title a {
	background: #8BBFE4;
	padding: .6rem;
	display: block;
	color: white;
	line-height: 1;
}

.villa .summary {
	padding: 1rem;
	margin: 0;
	background: rgba(139, 191, 228, 0.07);
}












/** villa list
************************************/
.villa .overview {
	display: table;
	width: 100%;
	margin: 0;
	line-height: 1;
	font-size: .9em;
}

.villa .overview > span {
	display: table-cell;
	padding: .7em;
}

.villa .overview .capacity {
	width: 33%;
	text-align:right;
}












/** villa list
************************************/
.villa .region {
	margin: 0;
	padding: 0 1em 1em;
	line-height: 1;
	font-size: .8em;
	background: #8BBFE4;
	color: black;
}












/**
************************************/
.t_villa .overview {
	margin: 0;
	background: #F7F5F2;
	padding: 1em;
	line-height: 1;
}

.t_villa .overview span {
	padding-right: 3em;
}

.t_villa .description {
	padding: 1em 3em;
}

.t_villa .details > div > div {
	margin-bottom: 1em;
}

.structure,
.features,
.rates {
	padding: 2rem;
	font-size: .8rem;
}

.rates [class*='g-col'] {
	font-size: .8rem !important;
}












/**
************************************/
.specs {
	padding: 2em;
	background: #F7F5F2;
	line-height: 1.5;
}

.specs dt {
	color: black;
	font-weight: bold;
}

.specs dd {
	margin: 0 0 1em 1em;
}

.specs ul {
	margin: 0;
	padding: 0;
	list-style: none;
}












/**
************************************/
.images {
	padding: 1em;
}

.images .thumb {
	padding: 1em;
}












/** homepage styles
************************************/
.p_home .welcome {
	font-size: 1.6em;
	font-weight: 100;
	padding: 1em 2em;
}

@media (max-width:700px) {
	.p_home .welcome {
		font-size: 1.1em;
		color: black;
	}

}

.p_home .mission {
	font-size: .9em;
	line-height: 2;
	padding: 5em;
	-webkit-columns: 3;
	-moz-columns: 3;
	columns: 3;
	-webkit-column-gap: 3em;
	-moz-column-gap: 3em;
	column-gap: 3em;
	text-align: justify;
}

@media (max-width:900px) {
	.p_home .mission {
		-webkit-columns: 1;
		-moz-columns: 1;
		columns: 1;
	}

}

.p_home .images h2 {
	display: none;
	padding: 0;
}

.p_home .gallery {
	background: #F7F5F2;
}
.p_home .gallery .wrap {
	max-width:50em;
	padding:3em 0;
}
.p_home .content {
	padding: 0;
	margin: 0;
}










/** search form
************************************/
.search .features {
	font-size:1rem;
}
.search input[type=text],
.search select {
	width:100%;
}
.search .occupancy input {
	width:30%;
}
.search > div,
.search > p {
	padding:.5em 1em !important;
}
.search span {
	color:rgba(0,0,0,.5);
}
@media (max-width:45em) {
	.search .features {
		display:none;
	}
}
.p_search .MarkupPagerNav {
	margin-bottom: 5em;
}





/** label
************************************/
label {
	display: block;
	/* color: white; */
}







/** request form
************************************/
.request h2 {
	font: 2.5em "Niconne";
	font-weight:normal;
	color: #AD9575;
}
.request form {
	/*margin: 0;*/
}
.request form > div > div {
	margin-bottom: 1em;
	padding:0 .5em;
}
.request form input {
	width:100%;
}







/** blog
************************************/
.blog .post {
	margin-bottom:5em;
}







/** tour
************************************/
.tour {
	margin:5em 0;
}





/** availability calendar url
************************************/
.calendar_url {
	display:block;
}







/** social share links
************************************/
.social_share_links {
	position:absolute;
	top:0;
	right:0;
	font-size:.7em;
	line-height:1;
}
.social_share_links a {
	font-size:2em;
	display:inline-block;
	text-align:center;
	padding:.25em;
	width:1.5em;
	color:inherit;
	vertical-align:middle;

}
.social_share_links a:hover {
	color:white;
	background:#B7654A;
}
.social_share_links span {
	display:inline-block;
	padding:1em;
	padding-right:1em;
	vertical-align:middle;
}














/** specials
**********************************/
.specials .special {
	padding:2em;
}
.specials .thumb {
	margin-bottom:0;
}
.specials .thumb:after {
	content: "";
	display:block;
	clear:both;
}

.specials .thumb img {
	float:left;
	width: 33.333%;
}
.specials .thumb img:first-child {
	width:66.667%;
}
.specials .thumb img:nth-child(4){
	clear:left;
}
.specials h1 {
	font-size: 2.5em;
}
.specials .title a {
	background:#8BBFE4;
	display:block;
	padding:.5em 1em;
	color:white;
	font-size:.8em;
	margin-bottom:1em;
}
.specials .rates {
	padding: 1em 2em 2em;
	font-size: 1em;
}
.specials .request {
	font-size:.9em;
}
.specials form h2 {
	color:white;
}
.specials form {
	background: rgba(139, 191, 228, 0.57);
	border-radius:.5em;
}
.specials form button {
	background: rgba(0, 0, 0, 0.08);
}






/** tour
************************************/
.email_signup form {
	background:none;
}
.email_signup {
	background: #35BFE3;
	text-align:center;
	transition:all .5s;
	padding:3em;
	position:fixed;
	box-shadow:.5em .5em 2em rgba(0,0,0,.5);
	border-radius:.5em;
	z-index:999;
	width:90%;
	top:100%;
	left:5%;
}
@media (min-width:600px) {
	.email_signup {
		left:50%;
		top:100%;
		max-width:500px;
		margin-left:-250px;
	}
}
.email_signup.is_visible {
	top:30%;
}
.email_signup .close {
	color:white;
	position:absolute;
	top:0;
	right:0;
	font-size:2em;
	padding:.2em .4em;
	line-height:1;
}
.email_signup label {
	display:inline-block;
	color:white;
	margin-bottom:1em;
}
.email_signup input,
.email_signup button {
	font-size: .8rem;
}
.email_signup button {
	background:rgba(0,0,0,.2);
}

@media (max-width:900px) {
	.email_signup {
		/* display:none; */
	}
	.email_signup label {
		display:block;
		padding-bottom:1em;
	}
}



.website_banner {
	padding:1em 0em;
	text-align:right;
	background: #554747;
	/* 	font-size:.8em; */
}
.website_banner a {
	color:white;
}
.website_banner__feature_title {
	font: 1.6em Niconne;
}
.website_banner .bx-wrapper {
	border:0;
	background:none;
	box-shadow:none;
}



.align_center {
	display:block;
	margin:auto;
}
