/* =GENERAL
-------------------------------------------------------------- */
* {
	border-radius: 0 !important;
}

body {
	padding-top: 100px;
	color: #5b5b5b;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.3em;
	font-family: 'Lora', serif;
	font-weight: 300;
}
.h1, h1 {
	color: #00693f;
	font-size: 60px;
}
.h2, h2 {
	color: #00693f;
	font-size: 38px;
}
.h3, h3 {
	font-size: 24px;
}
.h4, .h5, .h6, h4, h5, h6 {
	font-size: 20px;
}
p {
	margin-bottom: 1.5em;
	line-height: 1.6em;
}
a {
	color: #5b5b5b;
	text-decoration: none;
}
a:hover,
a:focus,
a:active {
	color: #00693f;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}
img.alignleft {
	float: left;
	margin-right: 25px;
	margin-bottom: 25px;
}
img.alignright {
	float: right;
	margin-right: 25px;
	margin-bottom: 25px;
}
hr {
	border-top: 2px solid #f2f2f2;
	margin: 20px auto;
}

.button {
	margin-bottom: 0.5em;
	font-size: 18px;
	line-height: 1.8em;
	text-align: center;
}
.button:before {
	display: none;
}
.button a, a.button {
	display: inline-block;
	padding: 10px 20px;
	min-width: 240px;
	background-color: #00693f;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
.button a:hover, a.button:hover {
	background-color: #5b5b5b;
}

/* =HEADER
-------------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	z-index: 1003;
	background: #00693f;
}
#header .row > div {
	text-align: center;
}
#header a#logo-link {
	display: inline-block;
	height: 100px;
	line-height: 100px;
	vertical-align: middle;
}
#header a#logo-link img {
	display: inline-block;
	width: auto;
	max-height: 52px;
	margin-bottom: 3px;
}
#header #logo-text {
	color: #fff;
	font-family: 'Lora', serif;
	font-size: 40px;
	line-height: 100px;
}
#toggle-menu,
#toggle-book {
	float: left;
	min-width: 200px;
	margin-top: 24px;
}
#toggle-book {
	float: right;
}
.toggle a {
	display: block;
	padding: 10px 5px;
	border: 2px solid #fff;
	color: #fff;
	font-size: 18px;
	line-height: 1.6em;
	text-align: center;
}
.toggle a:hover,
.toggle.active a {
	background-color: #fff;
	color: #00693f;
}
.toggle a i {
	margin-right: 10px;
}


#header .header_left {
	float: left;
	margin:24px 0 0 26px;
}
#header .header_left img {
	width: auto;
	height: 52px;
}

#header .header_right {
	float: right;
	/*margin:31px 26px 0 0;*/
	margin:24px 26px 0 0;
}
#header .header_right img {
	width: auto;
	height: 52px;
}

#overlay {
	display: none;
	background-color: rgba(0,105,63,0.9);
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1000;
}
.overlay-content {
	display: none;
	padding: 70px 15px 0;
	position: absolute;
	top: 100px;
	width: 100%;
	z-index: 1002;
}
.overlay-content .textwidget {
	color: #fff;
	text-align: center;
}
.overlay-content h2 {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 45px;
	color: #fff;
	text-align: center;
}
.overlay-content h2:after {
	content: " ";
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -106px;
	height: 2px;
	width: 212px;
	background-color: #fff;
}
.overlay-content p.button,
.overlay-content a.button {
	margin-top: 15px;
}
.overlay-content p.button a,
.overlay-content a.button {
	border: 3px solid #fff;
	background-color: transparent;
}
.overlay-content p.button a:hover,
.overlay-content a.button:hover {
	background-color: #fff;
	color: #00693f;
}

.main-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}
.main-nav ul li {
	position: relative;
	margin: 0.6em 0;
	font-family: 'Lora', serif;
	font-size: 24px;
	line-height: 1.2em;
}
.main-nav ul li ul {
	margin-top: 10px;
	margin-bottom: 20px;
}
.main-nav ul li ul li {
	margin: 0;
	font-size: 18px;
}
.main-nav ul li a {
	display: inline-block;
	padding: 0.2em;
	color: #fff;
	white-space: nowrap;
	text-decoration: none;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}

.main-nav > ul > li.active > a,
.main-nav > ul > li > a:hover,
body.single .main-nav > ul > li.current_page_parent > a {
	background-color: #fff;
	color: #00693f;
}

#mobile-nav {
	display: none;
}

/* =SLIDER
-------------------------------------------------------------- */
/* general */
#slider {
	position: relative;
	overflow: hidden;
}
#slider .slider-overlay {
	content: " ";
	background: rgba(0,0,0,0.2);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#slider img {
	display: block;
	max-width: 100%;
	height: auto;
}
#slider.header-image-full {
	padding-bottom: 25%;
	background: no-repeat center center;
	-webkit-background-size: cover; /*for webKit*/
	-moz-background-size: cover; /*Mozilla*/
	-o-background-size: cover; /*opera*/
	background-size: cover; /*generic*/
}
#slider .slider-content {
	position: absolute;
	width: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 0;
	color: #fff;
	text-align: center;
}
#slider.header-image-full.header-image-short .slider-content {
	top: auto;
	bottom: 80px;
	transform: translate(-50%, 0);
}
#slider .slider-content h1 {
	margin-bottom: 0.3em;
	color: #fff;
	line-height: 1em;
}
#slider .slider-content h2 {
	margin-bottom: 0.3em;
	color: #fff;
	font-size: 60px;
	line-height: 1em;
}

/* slider - tall image - js is used to fill the viewport */
#slider.header-image-full.header-image-tall {
	padding-bottom: 0;
}

/* carousel - js used to fill the viewport */
#slider.carousel .item {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#slider.carousel .item a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

/* carousel controls */
.carousel-control {
	width: 70px;
	opacity: 0.8;
	background: none!important;
	font-size: 40px;
	text-shadow: none;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
.carousel-control:hover {
	opacity: 1;
}
.carousel-control .wrapper-control {
	position: absolute;
	width: 100%;
	height: 60px;
	top: 50%;
	margin-top: -30px;
}
.carousel-control.right .wrapper-control {
	right: 0;
}
.carousel-control.left .wrapper-control {
	left: 0;
}

.carousel-control .wrapper-control i {
	position: absolute;
	top: 0;
	height: 60px;
	color: #fff;
	line-height: 60px;
	top: auto;
	font-weight: 300;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
.carousel-control:hover .wrapper-control i {
	color: #fff;
}
.carousel-control.right .wrapper-control i {
	left: 5px;
}
.carousel-control.left .wrapper-control i {
	right: 5px;
}

/* =SUB MENU
-------------------------------------------------------------- */
#sub-nav {
	position: relative;
	width: 100%;
	padding: 10px 0;
	background-color: #f6f6f6;
	text-align: center;
	z-index: 1000;
}
#sub-nav .show-menu {
	display: none;
}
#sub-nav input {
	display: none;
}
#sub-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
#sub-nav ul li {
	display: inline-block;
	margin: 0 10px;
	font-size: 18px;
}
#sub-nav li a {
	display: block;
	padding: 7px 10px;
	color: #00693f;
	white-space: nowrap;
	line-height: 1.5em;
	text-decoration: none;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
#sub-nav li.active > a,
body.single #sub-nav li.current_page_parent > a,
#sub-nav li a:hover {
	background-color: #00693f;
	color: #fff;
}

/* =CONTENT
-------------------------------------------------------------- */
main#content {
	margin: 0 auto;
	clear: both;
}

article.page {
	padding-top: 100px;
	padding-bottom: 30px;
	text-align: center;
}
article h1 {
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
article h1:after {
	content: " ";
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -120px;
	height: 2px;
	width: 240px;
	background-color: #00693f;
}
article h2 {
	margin-bottom: 0.8em;
}
article h2, article h3, article h4, article h5, article h6 {
	margin-bottom: 0.8em;
}
article ul {
	list-style: none;
	padding: 0;
	margin-bottom: 2em;
}
article ul li {
	margin-bottom: 0.2em;
}
article ul li:before {
	content: "~";
	margin-right: 17px;
	font-size: 1em;
}
article ol {
	padding-left: 0;
	list-style-position:inside;
}
article img {
	margin-bottom: 25px;
}
article a {
	color: #00693f;
}

/* column content */
article.page .col-1,
article.page .col-2 {
	margin-bottom: 40px;
}

/* contact forms - general */
label {
	display: block;
	margin: 0 0 2px;
	font-size: 16px;
	font-weight: normal;
}
input[type="text"],
input[type="email"] {
	width: 100%;
	height: 42px;
	padding: 0 15px;
	background-color: transparent;
	color: #a2a2a2;
	border: 3px solid #dfdfdf;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	line-height: 42px;
}
input[type="text"]:focus,
input[type="email"]:focus {
	outline: none;
}
select {
	width: 100%;
	height: 42px;
	padding: 0 15px;
	background-color: transparent;
	background-image: url(../images/icon-select-arrow.png);
	background-repeat: no-repeat;
	background-position: 94% 50%;
	border: 3px solid #dfdfdf;
	font-family: 'Lato', sans-serif;
	line-height: 36px;
	-moz-appearance: none;
	-webkit-appearance: none;
}
select::-ms-expand {
	display: none;
}
textarea {
	width: 100%;
	height: 42px;
	padding: 0 15px;
	resize: none;
	background-color: transparent;
	color: #a2a2a2;
	border: 3px solid #dfdfdf;
	font-family: 'Lato', sans-serif;
	line-height: 36px;
}
input[type="submit"] {
	padding: 0 20px;
	min-width: 212px;
	height: 48px;
	background-color: #00693f;
	color: #fff;
	border: none;
	line-height: 48px;
	font-size: 18px;
	font-family: 'Lato', sans-serif;
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
input[type="submit"]:hover {
	background-color: #5b5b5b;
}

/* contact forms plugin specific */
.wpcf7 {
	text-align: left;
}
.wpcf7 ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.wpcf7 ul li {
	margin-bottom: 15px;
}
.wpcf7 ul li:before {
	content: "";
	display: none;
}
.wpcf7 label {
	font-size: 24px;
	font-family: 'Lora', serif;
}
.wpcf7 input[type="submit"] {
	float: left;
}

/* contact page */
.contact h3 {
	color: #00693f;
	font-weight: 700;
	font-size: 20px;
}
.contact p {
	margin-bottom: 50px;
	font-family: 'Lora', serif;
	font-size: 20px;
	line-height: 1.3em;
}
.contact p:last-of-type {
	margin-bottom: 0;
}

/* blog */
.wrapper-posts {
	padding-top: 50px;
	padding-bottom: 50px;
}
.wrapper-posts > h1 {
	margin-bottom: 0.6em;
}
.post-index {
	margin-bottom: 50px;
}
.post-index .thumb-wrap {
	margin-bottom: 30px;
}
.post-index .thumb-wrap a,
.post-index .thumb-wrap a img {
	display: block;
}
.post-index h2 {
	margin-bottom: 20px;
}
.post-index .post-date {
	margin-bottom: 20px;
	padding-bottom: 0.2em;
	border-bottom: 2px solid #f2f2f2;
	font-size: 15px;
}

.wrapper-posts .wp-pagenavi {
	text-align: center;
}
.wrapper-posts .wp-pagenavi a,
.wrapper-posts .wp-pagenavi span {
	display: inline-block;
	padding: 0;
	border: 0;
	width: 30px;
	height: 30px;
	margin: 0 2px;
	line-height: 30px;
	font-weight: 300;
}
.wrapper-posts .wp-pagenavi span.current {
	font-weight: 300;
}
.wrapper-posts .wp-pagenavi a:hover,
.wrapper-posts .wp-pagenavi span {
	background-color: #00693f;
	color: #fff;
	border: none!important;
}

/* blog single */
article.post {
	padding-top: 50px;
}
article.post h1 {
	margin-bottom: 0.6em;
	text-align: center;
}

/* sidebar */
#sidebar {
	padding-top: 60px;
}
#sidebar .widget {
	margin-bottom: 50px;
}
#sidebar .widget h2 {
	margin-bottom: 0.4em;
	padding-bottom: 0.2em;
	border-bottom: 2px solid #f2f2f2;
	font-size: 24px;
}
#sidebar .widget ul {
	list-style: none;
	padding: 0;
}
#sidebar .widget ul li {
	margin-bottom: 0.5em;
	color: #868686;
	font-size: 15px;
}
#sidebar .widget ul li a {
	color: #868686;
}
#sidebar .widget ul li.current-cat a {
	color: #2d2d2d;
}
#sidebar .widget ul li a:active,
#sidebar .widget ul li a:focus {
	text-decoration: none;
}
#sidebar .widget_search label {
	display: block;
	color: #868686;
	font-size: 15px;
	font-weight: 300;
}
#sidebar .widget_search input[type="search"] {
	float: left;
	width: 70%;
	padding: 5px;
	margin-bottom: 10px;
	background: #eee;
	border: none;
	font-size: 15px;
	line-height: 22px;
}
#sidebar .widget_search input[type="submit"] {
	float: left;
	width: 30%;
	min-width: 0;
	padding: 0;
	height: 32px;
	line-height: 32px;
}
#sidebar .tagcloud a {
	margin-right: 10px;
	color: #868686;
}
		
/* booking bar */
.booking-form {
	max-width: 1170px;
	margin: 0 auto;
	padding: 20px 0;
}
.booking-form ul {
	padding: 0;
	list-style: none;
}
.booking-form li {
	margin-bottom: 5px;
}
.booking-form label {
	color: #fff;
	font-size: 18px;
}
.booking-form input[type="text"],
.booking-form input[type="email"] {
	margin-top: 5px;
	color: #fff;
}
.booking-form select {
	margin-top: 5px;
	color: #fff;
	background-image: url(../images/icon-select-arrow-white.png);
}
.booking-form select option {
	background-color: #00693f;
	color: #ffffff;
}
.booking-form ul li.booking-form-list-arrival i {
	position: absolute;
	right: 24px;
	bottom: 13px;
}
.booking-form input[type="submit"] {
	width: 100%;
	margin-top: 22px;
	margin-bottom: 30px;
	background-color: #fff;
	color: #00693f;
}
.booking-form input[type="submit"]:hover {
	opacity: 0.8;
}


.ui-widget-header {
	border: 1px solid #00693f;
	background: #00693f;
	color: #fff;
	font-weight: bold;
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
	border: 1px solid #ccc;
	background: #fff;
	text-align: center;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover,
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover {
	border: 1px solid #00693f;
	background: #00693f;
	font-weight: normal;
	color: #ffffff;
}


/* booking integration */
article.booking {
	padding-top: 30px;
	padding-bottom: 0;
}
article.booking iframe {
	width: 100%;
	height: 3000px;
	border: none;
}

/* =CTAS
-------------------------------------------------------------- */
/* page ctas */

	/* general */
	.page-cta {
		overflow: hidden;
	}
	.page-cta-block-buttons {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.page-cta h1,
	.page-cta h2,
	.page-cta h3,
	.page-cta h4,
	.page-cta h5,
	.page-cta h6	{
		position: relative;
		padding-bottom: 0.3em;
		margin-bottom: 0.6em;
	}
	.page-cta h1:after,
	.page-cta h2:after {
		content: " ";
		position: absolute;
		bottom: 0;
		left: 50%;
		margin-left: -106px;
		height: 2px;
		width: 212px;
		background-color: #00693f;
	}
				
	/* text */
	.page-cta .page-cta-block-text.bg-grey {
		background-color: #f6f6f6;
	}
	.page-cta .wrapper-page-cta-block-text {
		padding: 40px 10%;
		text-align: center;
	}
	.page-cta .col-sm-12 .wrapper-page-cta-block-text {
		padding: 40px 0;
	}
	.page-cta .wrapper-page-cta-block-text strong {
		color: #00693f;
	}
	.page-cta .wrapper-page-cta-block-text ul {
		list-style: none;
		padding: 0;
		margin-bottom: 2em;
	}
	.page-cta .wrapper-page-cta-block-text ul li {
		margin-bottom: 0.2em;
	}
	.page-cta .wrapper-page-cta-block-text ul li:before {
		content: "~";
		margin-right: 17px;
		font-size: 1em;
	}

	/* image */
	.page-cta .page-cta-block-image {
		position: relative;
		padding-right: 0;
		padding-left: 0;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.page-cta .page-cta-block-image.col-sm-6 {
		min-height: 400px;
	}
	.page-cta .page-cta-block-image.col-sm-12 {
		min-height: 500px;
	}
	.page-cta .page-cta-block-image-overlay {
		content: " ";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgba(0,0,0,0.1)
	}
	.page-cta .wrapper-page-cta-block-image-text {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 25px;
		background-color: rgba(255,255,255,0.85);
		color: #484848;
		text-align: center;
	}
	.page-cta .wrapper-page-cta-block-image-text h2 {
		margin: 0;
		padding: 0;
	}
	.page-cta .wrapper-page-cta-block-image-text h2:after {
		display: none;
	}
	.page-cta .wrapper-page-cta-block-image-text p {
		display: inline-block;
		margin-bottom: 0;
	}
	.page-cta .wrapper-page-cta-block-image-text .page-cta-block-buttons {
		display: inline-block;
	}
	.page-cta .wrapper-page-cta-block-image-text .button {
		margin-bottom: 0;
		margin-left: 20px;
	}
	.page-cta .wrapper-page-cta-block-image-text .button a {
		padding: 8px 20px;
		border: 2px solid #00693f;
		background-color: transparent;
		color: #00693f;
	}
	.page-cta .wrapper-page-cta-block-image-text .button a:hover {
		background-color: #00693f;
		color: #fff;
	}
			
	/* image & text */
	.page-cta .page-cta-block-imgtxt {
		text-align: center;
		margin-top: 0;
		margin-top: 80px;
		margin-bottom: 80px;
	}
	.page-cta .wrapper-page-cta-block-imgtxt-img {
		padding-bottom: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.page-cta .wrapper-page-cta-block-imgtxt-txt {
		padding: 25px 0;
	}
			
	/* booking bar */
	.page-cta .page-cta-block-booking {
		width: 100%;
		padding: 80px 15px;
		background-color: #00693f;
		color: #fff;
	}
	.wrapper-page-cta-block-booking-text {
		text-align: center;
	}
	.wrapper-page-cta-block-booking-text h1,
	.wrapper-page-cta-block-booking-text h2 {
		color: #fff;
	}
	.wrapper-page-cta-block-booking-text h1:after,
	.wrapper-page-cta-block-booking-text h2:after {
		background-color: #fff;
	}
				
	/* toggle content */
	.page-cta-block-toggle {
		margin: 0 auto;
	}
	.page-cta-block-toggle .toggle-intro {
		padding: 100px 0 50px;
		text-align: center;
	}
	.page-cta-block-toggle .toggle-list {
		margin-bottom: 30px;
	}
	.page-cta-block-toggle .toggle-heading {
		position: relative;
		padding: 10px 0;
		border-bottom: 2px solid #fff;
		-webkit-transition: all 250ms linear 0ms;
		-moz-transition: all 250ms linear 0ms;
		-o-transition: all 250ms linear 0ms;
		transition: all 250ms linear 0ms;
	}
	.page-cta-block-toggle .toggle-heading:after {
		content: "\f105";
		height: 50px;
		width: 50px;
		position: absolute;
		top: 10px;
		right: 0;
		text-align: center;
		font-family: 'fontAwesome';
		font-size: 50px;
		line-height: 50px;
		font-weight: 300;
		vertical-align: middle;
	}
	.page-cta-block-toggle .toggle-heading:hover {
		cursor: pointer;
	}
	.page-cta-block-toggle .toggle-heading.active:after {
		content: "\f107";
	}
		
	.page-cta-block-toggle .toggle-heading h2 {
		margin: 0;
		padding-right: 50px;
		font-size: 30px;
		font-weight: 700;
		color: #00693f;
	}
	.page-cta-block-toggle .toggle-heading h2:after {
		display: none;
	}
		
	.page-cta-block-toggle .toggle-content {
		display: none;
		padding: 10px 0;
	}
	.page-cta-block-toggle .toggle-heading.open + .toggle-content  {
		display: block;
	}
		
	/* map */
	#wrapper-map {
		width: 100%;
	}
	#map-marker-info {
		max-width: 160px;
	}
	#map-marker-info img {
		max-width: 100%;
	}
	#map-marker-info p {
		margin: 0;
		text-align: center;
	}

/* =FOOTER
-------------------------------------------------------------- */
footer {
	padding: 110px 0 80px;
	color: #484848;
	text-align: center;
}
footer .row > div {
	margin-bottom: 50px;
}
footer h2 {
	margin-bottom: 0.6em;
}
footer p {
	margin-bottom: 1em;
	font-size: 16px;
	line-height: 1.5em;
}
footer ul {
	margin-bottom: 1em;
	padding: 0;
	list-style: none;
}
footer ul li {
	font-size: 16px;
	line-height: 1.5em;
}
footer a {
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}

footer div.wpcf7 {
	padding: 20px 0 40px;
	text-align: center;
}
footer div.wpcf7 .newsletter-email {
	margin-bottom: 50px;
}
footer div.wpcf7 .newsletter-submit input {
	float: none;
}
footer div.wpcf7 .ajax-loader {
	display: none!important;
}

#footer-social li {
	display: inline-block;
}
#footer-social li a {
	color: transparent;
	font: 0/0 a;
}
#footer-social li a i {
	margin: 0 5px;
	color: #00693f;
	font: 30px/1.5em 'FontAwesome';
	-webkit-transition: all 250ms linear 0ms;
	-moz-transition: all 250ms linear 0ms;
	-o-transition: all 250ms linear 0ms;
	transition: all 250ms linear 0ms;
}
#footer-social li a:hover i {
	color: #5b5b5b;
}
footer #footer-widget-5 img {
	margin: 10px;
}



.video-wrapper {
	max-width: 560px;
	margin: 0 auto;
}
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.video-container iframe,  

.video-container object,  

.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.entry-content img, 
.entry-content iframe, 
.entry-content object, 
.entry-content embed {
        max-width: 100%;
}

/* ------------------------------------------------------ Sitemap CSS -------------------------------------------------------------------------------- */
body#page-sitemap main#content {
	max-width: 100%;
}
.wsp-container{
  padding: 100px 0;
  text-align: center;
}
.wsp-container>ul{
  list-style: none;
  padding: 0;
  margin: 10px 0;
}
.wsp-container>ul>li{
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  vertical-align: top;
  margin-right: 40px;
  margin-top: 20px;
  text-align: left;
}
article .wsp-container ul li::before {
	content: "";
	margin-right: 0;
	font-size: 1em;
}
.wsp-container>ul>li>a{
  display: block;
  margin-bottom: 5px;
}

.wsp-container>ul>li ul{
  padding-left: 10px;
  list-style: none;
}
.wsp-container>ul>li ul>li::before{
    content: '';
    position: absolute;
    display: block;
    border-top: 1px solid #7e8377;
    top: 9px;
    left: -7px;
    width: 8px;
    height: 0;
}
.wsp-container>ul>li ul>li::after{
    content: '';
    position: absolute;
    display: block;
    border-left: 1px solid #7e8377;
    height: 100%;
    width: 0px;
    top: 0px;
    left: -8px;
}
.wsp-container>ul>li ul>li:last-child::after{
  height: 10px;
}
.wsp-container>ul>li>ul>li{
  position: relative;
  font-weight: normal;
  font-size: 14px;
  padding-left: 5px;
  line-height: 26px;
}


@media only screen and (max-width: 767px){
  .wsp-container{
    padding: 0;
    text-align: left;
    padding-left: 15px;
  }
  .wsp-container>ul>li{
    display:block;
    margin-top: 10px;
  }
  .wsp-container>ul>li ul{
    padding-left: 20px;
    list-style: circle;
  }
  .wsp-container>ul>li ul>li::after, .wsp-container>ul>li ul>li::before{
    content: none;
  }
  .wsp-container>ul>li ul>li{
    padding-left: 0px;
  }

}


/* =USEFUL
-------------------------------------------------------------- */
.clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	clear: both;
	overflow: hidden;
	visibility: hidden;
	max-height:0;
}

.clearfix {
	zoom: 1; /* For IE7 and below */
}

.row-eq-height {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	justify-content: center;
}

.row-no-padding > [class*="col-"] {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ui-datepicker {
	z-index: 99999!important;
}

/* contact form */
div.wpcf7-response-output {
	clear: both;
	margin: 1em 0!important;
	padding: 0!important;
	border: 0!important;
}
div.wpcf7 .ajax-loader {
	float: right;
}

/* placeholder colours, defined separately otherwise they're ignored by all browsers  */
::-webkit-input-placeholder { /* WebKit browsers */
	color: inherit;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: inherit;
	opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: inherit;
	opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: inherit;
}

/* prevent automatic styling of telephone numbers */
a[href^=tel]{
	color:inherit;
	text-decoration:none;
}

/* prevent rounded corners on form inputs */
textarea,
input[type=text],
input[type=email],
input[type=image],
input[type=submit] {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
}

/* work around mobile device auto-fitting where text is made too narrow on non responsive sites */
@media only screen and (max-device-width: 800px) {
   h1,h2,h3,h4,h5,h6,p,li,dt,dd {
	   background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==); 
	   background-repeat:repeat;
	}
}




.map_wrapper {
	/*width: 1275px;
	height: 901px;*/
	width: 1146px;
	height: 835px;
	position: relative;
	margin: 0 auto;
}
.map_wrapper #magnifier {
    position: absolute;
    top: 0px;
    z-index: 3;
	cursor:pointer !important;
	display: none;
}
.map_wrapper #magnifier .explore-text {
	color:#FFFFFF;
	font-size:15px;
	position:absolute;
	left:26px;
	top:34px;
	cursor:pointer !important;
}
.map_wrapper #tool-tip {
	background:#666666;
	color:#FFFFFF;
	display:none;
	font-family:Verdana, Geneva, sans-serif;
	font-size:12px;
	text-align:center;
    position:absolute;
	float:left;
	padding:6px;
	z-index:101;
	width:311px;
}
.map_wrapper #explore-mobile {
	display: none !important;
	position: absolute;
	top: 10px;
	left: 15px;
	z-index: 300;
	cursor: pointer !important;
}
.map_wrapper #explore-mobile .explore-text-mobile {
	color:#006633;
	font-size:15px;
	position:absolute;
	left:0;
	top:20px;
	cursor:pointer !important;
	width:139px !important;
	text-align:center !important;
}
.map_wrapper #mobilemap {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
	z-index: 200;
}

.map_pages .subpopup {
	display: none;
	position: fixed;
	top: 0;
	left: 50%;
	right: 50%;
	bottom: 0;
	z-index: 10000;
	flex-direction: column;
	justify-content: center;
	resize: vertical;
	/*background: rgba(255,255,255,0.85);*/
	margin: 0 -400px;
}
.map_pages .subpopup .subpopup_inner {
	position: relative;
	background: #fff;
	max-width: 800px;
	max-height: 800px;
	/*height: 100%;*/
	overflow: auto;
	width: 100%;
	margin: 0 auto;
	-webkit-box-shadow: 0 0 25px 0 rgba(0,0,0,0.4);
	box-shadow: 0 0 25px 0 rgba(0,0,0,0.4);
}
.map_pages .subpopup_container {
	padding: 40px;
}
.map_pages .subpopup .subpopup_title {
	color: #00693f;
	font-size: 38px;
	line-height: 38px;
	margin-bottom: 20px;
	font-family: 'Lora', serif;
	font-weight: 300;
}
.map_pages .subpopup .subpopup_content.hasthumb {
	float: left;
	width: 50%;
	padding-right: 1%;
}
.map_pages .subpopup .subpopup_content {
	font-size: 14px;
	text-align: left;
}
.map_pages .subpopup .subpopup_thumbnail {
	float: left;
	width: 50%;
	padding-left: 1%;
}
.map_pages .subpopup .closebutton {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	padding: 10px;
	font-size: 20px;
}
.child_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(255,255,255,.85);
}

@media only screen
and (min-device-width : 320px)
and (max-device-width : 1024px) {
	.map_wrapper #mobilemap {
	  display:block;
	}
	.map_wrapper #explore-mobile {
		  display:block !important;
	}
	.map_pages .subpopup {
		left: 0;
		right: 0;
		margin: 0 0;
	}
	.map_pages .subpopup_container {
		padding: 20px;
	}
	.map_pages .subpopup .subpopup_title {
		font-size: 33px;
		line-height: 33px;
	}
	.map_pages .subpopup .subpopup_content {
		font-size: 13px;
	}	
	.map_pages .subpopup .subpopup_content.hasthumb {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	.map_pages .subpopup .subpopup_thumbnail {
		float: none;
		width: 100%;
		padding-left: 0;
	}
}



/* =RESPONSIVE
/* rough breakpoints, but the design would dictate how the 
/* page adapts. Also see viewport sizes on:
/* http://i-skool.co.uk/mobile-development/web-design-for-mobiles-and-tablets-viewport-sizes/
-------------------------------------------------------------- */

@media (max-width: 1023px) {
	.h1, h1 {
		font-size: 50px;
	}
	.h2, h2 {
		font-size: 28px;
	}
	.h3, h3 {
		font-size: 20px;
	}
	
	#main-nav {
		display: none;
	}
	/*#sub-nav {
		display: none;
	}*/
	#mobile-nav {
		display: block;
	}
				
}
@media (max-width: 991px) {
	#sub-nav { padding: 0; }
	#sub-nav .show-menu {
		display: block;
		font-weight: 300;
		color: #fff;
		font-size: 18px;
		cursor: pointer;
		background: #00693f;
		padding: 5px 0;
		margin-bottom: 0;
	}
	#sub-nav .show-menu:hover {
		color: #ffffff;
	}
	
	#sub-nav input#show-menu:not(:checked) ~ #menu{
		display: none;
	}
	
	#sub-nav input#show-menu:checked ~ #menu{
		display: block;
	}
	#sub-nav ul li {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	
	
	#toggle-menu, #toggle-book {
		min-width: 150px;
	}
	
	/* general */
	.button {
		font-size: 16px;
	}
	.button a {
		min-width: 0;
	}
			
	/* slider */
	#slider .slider-content {
		width: 80%;
	}
	#slider .slider-content h2 {
		font-size: 50px;
	}
	
	.carousel-control {
		width: 45px;
	}
	
	/* sidebar */
	#sidebar .widget_search input[type="search"] {
		width: 100%;
	}
	#sidebar .widget_search input[type="submit"] {
		width: 100%;
	}
	
	/* ctas */
		/* image */
		.page-cta .wrapper-page-cta-block-image-text .page-cta-block-buttons {
			clear: both;
			padding-top: 7px;
		}
		.page-cta .wrapper-page-cta-block-image-text .button {
			margin-left: 0;
		}
		.page-cta .wrapper-page-cta-block-image-text .button a {
			padding: 0 15px;
		}
		/* image & text */
		.wrapper-page-cta-block-imgtxt-txt {
			min-height: 260px;
			position: relative;
			padding-bottom: 60px;
		}
		.wrapper-page-cta-block-imgtxt-txt .button {
			width: 100%;
			position: absolute;
			bottom: 0;
			left: 0;
		}
		
		.wrapper-page-cta-block-imgtxt-txt .button a {
			width: 100%;
		}
	
		#page-meet-the-donkeys .page-cta .page-cta-block-imgtxt {
			margin-top: 20px;
			margin-bottom: 20px;
		}
		#page-meet-the-donkeys .wrapper-page-cta-block-imgtxt-txt {
			min-height: 150px;
			padding-bottom: 20px;
		}
		#page-meet-the-donkeys .wrapper-page-cta-block-imgtxt-img {
			height: 150px;
			overflow: hidden;
		}

}

@media (max-width: 767px) {

	
	
	/* general */
	.container .row-eq-height {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
		/* position image blocks above text */
		.row-eq-height .page-cta-block-text + .page-cta-block-image:nth-child(2) { 
			-webkit-order: -1;
			order: -1;
		}
	
	.h1, h1 {
		font-size: 40px;
	}
	.h2, h2 {
		font-size: 22px;
	}
	.h3, h3 {
		font-size: 18px;
	}
				
	/* header */
	body {
		padding-top: 80px;
	}
	#header {
		height: 80px;
	}
	#header .row > div {
		padding-right: 0;
		padding-left: 0;
	}
	#toggle-menu,
	#toggle-book {
		min-width: 0;
		width: 60%;
		margin-right: 5%;
	}
	#toggle-menu {
		margin-left: 5%;
		margin-right: 0;
	}
	.toggle a {
	    padding: 8px 5px;
		font-size: 13px;
	}
	#header .header_left {
		margin: 25px 0 0 20px;
	}
	#header .header_right {
		margin: 25px 20px 0 0;
	}
	#header .header_left img,
	#header .header_right img {
		height: 41px;
	}
	
	#header a#logo-link {
		height: 80px;
		line-height: 80px;
	}
	#header a#logo-link img {
		height: 40px;
		margin-top: 4px;
		margin-bottom: 0;
		max-width: none;
	}
	.overlay-content {
		padding-top: 30px;
	}
	.main-nav ul li {
		font-size: 18px;
	}
			
				
	/* slider */
	#slider.header-image-full {
		padding-bottom: 55%;
	}
	#slider.header-image-full.header-image-tall { /* slider - tall image - js used to fill the viewport */
		padding-bottom: 0;
	}
			
	#slider.header-image-full.header-image-short .slider-content {
		transform: none;
		bottom: 40px;
		left: 10%;
		width: 80%;
		text-align: center;
	}
	#slider .slider-content h2 {
		font-size: 40px;
	}
			
				
	/* content */
	article.page {
		padding-top: 40px;
	}
				
	/* blog */
	.wrapper-posts {
		padding: 50px 5%;
	}
	.post-index {
		margin-bottom: 50px;
	}
			
	/* ctas */
				
		/* text */
		.page-cta .page-cta-block-text {
			width: 100%;
		}
			
		/* image */
		.page-cta .page-cta-block-image {
			width: 100%;
		}
				
		/* image & text */
		.page-cta .page-cta-block-imgtxt {
			margin-top: 15px;
			margin-bottom: 15px;
		}
			
		/* toggle content */
		.page-cta-block-toggle .toggle-intro {
			padding: 50px 0 20px;
		}
		.page-cta-block-toggle .toggle-list {
			margin-bottom: 0;
		}
		.page-cta-block-toggle .toggle-heading h2 {
			font-size: 22px;
		}
		/*.wrapper-page-cta-block-imgtxt-txt .button {
			position: relative;
		}*/
			
	/* footer */
	footer .row > div {
		margin-bottom: 40px;
	}
	footer h2 {
		margin-bottom: 0.5em;
	}
			
}
@media (max-width: 540px) {
	#header .col1,
	#header .col3 {
		width: 20%;
	}
	#header .col2 {
		width: 60%;
	}
	
	#header .header_left,
	#header .header_right {
		display: none;
		
	}
	#toggle-menu, #toggle-book {
		width: 100%;
	}
	
	
	
}
@media (max-width: 400px) {
	#toggle-menu a span,
	#toggle-book a span {
		display: none;
	}
}
@media (max-width: 340px) {
	
	/* header */
	.toggle a {
	    padding: 6px 5px;
		font-size: 12px;
	}
	
	#header a#logo-link img {
		height: 35px;
		margin-bottom: 5px;
	}
	
	/* footer */
	footer {
		padding: 70px 0 30px;
	}

}