/* ------------------- */
/* STYLESHEET SECTIONS */
/* ------------------- */
/*  1__CSS Resets
    2__Layout helpers
    3__Header
    4__Main content
    5__Footer
    6__Typo3 overrides
    7__Bootstrap overrides
    8__Media queries
*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,700|Oswald');

/* ------------------------ */
/* 1__CSS Resets            */
/* ------------------------ */
/* Limited CSS reset */
/* See normalize-4.1.1.css */

html, body, button, input, select, textarea {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

html {
	height: 100%;
	font-size: 16px; /* This is the base size the rem unit refers to */
}

body {
	font-size: 1rem;
	min-height: 100%;
	margin: 0;
	padding: 0;
	color: #515254;
}

/* ------------------ */
/* 2__Layout helpers  */
/* ------------------ */
.clear {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.halign-l {
	text-align: left;
}

.halign-r {
	text-align: right;
}

.halign-c {
	text-align: center;
}

.valign-t {
	vertical-align: top;
}

.valign-m {
	vertical-align: middle;
}

.valign-b {
	vertical-align: bottom;
}

.css-table {
	display: table;
	width: 100%;
	table-layout: fixed;
}

/* Use this over .css-table in cases where you want the table to take up 100% of the parent's height. An example use
case would be where you want to vertically center overlaid text on a background image. The background image would be part
of the parent, the text component would be a child inside of a block with a "display: table-cell" CSS property.
 */
.wrapper-table {
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

.css-table-row {
	display: table-row;
}

.css-table-cell {
	display: table-cell;
}

.full-width-img {
	width: 100%;
	height: auto;
	display: block;
}

.constrain {
	width: 1000px;
	margin: 0 auto;
}

.constrain-1000w {
	max-width: 1030px;
	margin: 0 auto;
}

.constrain-1240w {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
}

.constrain-1512w {
	position: relative;
	max-width: 1512px;
	margin: 0 auto;
}

/* ----------------------------- */
/* Bootstrap full height columns */
/* ----------------------------- */
/* Full height Bootstrap row */
/* Requires the following HTML structure
            <div class="row">
               <div class="bs-row-full-height">
                <div class="col-xs-6 bs-col-full-height">
                  <div class="bs-col-inside">
                    Your content in here
                  </div>
                </div>
              </div>
            </div>
*/
.bs-row-full-height {
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

/* Full height Bootstrap column */
.bs-col-full-height {
	display: table-cell;
	float: none;
	height: 100%;
}

/* Column internal container for full height Bootstrap column */
.bs-col-inside {
	margin-top: 1px;
	margin-bottom: 1px;
}

/* Responsive container for 16:9 video clips (eg Youtube). The video iframe should be a child of a div with a class of
  "video-container-16-9". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyYoutubeClips() JavaScript function to do it programmatically.
*/
.video-container-16-9 {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.video-container-16-9 iframe,
.video-container-16-9 object,
.video-container-16-9 embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Responsive container for embedded Google Maps. The Youtube iframe should be a child of a div with a class of
  "gmap-container". If creating such a container is not possible because you don't have access to the HTML eg in
  a CMS content element, you can call the ICIT responsifyGoogleMaps() JavaScript function to do it programmatically.
  NOTE: The aspect ratio doesn't have to be 16:9. You could make it 4:3 by setting padding-bottom: 75.6%
*/
.gmap-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.gmap-container iframe, .gmap-container object, .gmap-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mobile-only-block,
.mobile-only-inline {
	display: none;
}

.desktop-only {
	display: block;
}

.img-circle {
	border-radius: 50%;
}

.mw300 {
	max-width: 300px;
}

.pt-60 {
	padding-top: 60px;
}

.pb-60 {
	padding-bottom: 60px;
}

/* ------------------------ */
/* 3__Header styles         */
/* ------------------------ */
#main-header {
	background-color: #fff;
	color: #3A8C87;
}

.header-grid {
	display: grid;
	grid-template-columns: 160px 1fr 130px;
	grid-template-areas: "header-logo header-menu header-cta-button";
}

.header-grid .header-logo-box {
	grid-area: header-logo;
	align-self: center;
}

.header-grid .header-menu-box {
	grid-area: header-menu;
	align-self: center;
	text-align: right;
}

.header-grid .header-cta-box {
	grid-area: header-cta-button;
	align-self: center;
	padding-right: 20px;
	text-align: right;
}

.header-grid .header-mobile-nav-btn-box {
	display: none;
	align-self: center;
	grid-area: header-mobile-nav-btn;
}

.header-grid .header-cta-box .arr-button {
	float: right;
}

#header-logo {
	max-width: 100%;
	height: auto;
}

#header-inner {
	padding-top: 25px;
	padding-bottom: 25px;
}

#main-header .header-bottom-strip {
	height: 15px;
	background: #83b3b2; /* Old browsers */
	background: -moz-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #83b3b2 0%, #3a8c87 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#83b3b2', endColorstr='#3a8c87', GradientType=1); /* IE6-9 */
}

/* ------------------------ */
/* 4__Main Content          */
/* ------------------------ */
#top-hero-wrap {
	margin: 0 auto 40px;
	position: relative;
	z-index: 0;
}

#top-hero-wrap[class^="polybox"] {
	margin-bottom: 5px;
}

#top-hero-wrap .cover {
	width: 100%;
	padding: 250px 0 calc(250px + 3.5vw);
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
}

#top-hero-wrap .cover > img,
#top-hero-wrap .cover .ce-image img {
	display: none;
}

#top-hero-wrap .cover .ce-image {
	overflow: visible;
}

#top-hero-wrap .hero-text {
	padding-left: 5px;
}

#top-hero-wrap .hero-text-large > div {
	display: inline-block;
	margin-bottom: 8px;
	padding: 5px 10px;
	background: #3A8C87;
	color: #fff;
	font-size: 2.8em;
	font-weight: 300;
	line-height: 1;
}

#top-hero-wrap .hero-text-small > div {
	display: inline-block;
	padding: 5px 10px;
	background: #3A8C87;
	color: #fff;
	font-size: 2.1em;
	font-weight: 300;
	line-height: 1.25;
}

#top-hero-wrap .hero-text .arr-button {
	margin-top: 20px;
}

/* START object-fit:cover Fix for IE & IE Edge */
/* Note, requires JS to write the "compat-object-fit class to appropriate container element */
.cover.compat-object-fit {
	background-size: cover;
	background-position: center center;
}

.cover.compat-object-fit-x-left {
	background-size: cover;
	background-position-x: left;
}

.cover.compat-object-fit-x-center {
	background-size: cover;
	background-position-x: center;
}

.cover.compat-object-fit-x-right {
	background-size: cover;
	background-position-x: right;
}

.cover.compat-object-fit-y-top {
	background-size: cover;
	background-position-y: top;
}

.cover.compat-object-fit-y-center {
	background-size: cover;
	background-position-y: center;
}

.cover.compat-object-fit-y-bottom {
	background-size: cover;
	background-position-y: bottom;
}

/* Hide the image if object fit is not supported in IE/Edge - opacity to 0 for the link area */
.cover.compat-object-fit img {
	opacity: 0;
}

/* END object-fit:cover Fix for IE & IE Edge */

#site-body {
	padding: 0;
	margin-top: 30px;
}

#site-body img {
	max-width: 100%;
	height: auto;
}

hr {
	border-top: 1px solid #ddd;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
}

h1,
h2 {
	text-transform: uppercase;
	color: #3A8C87;
}

h3 {
	text-transform: uppercase;
	font-size: 1.75em;
}

a {
	transition: .1s all ease-out;
}

a,
a:visited,
a:hover,
a:active,
a:focus {
	color: #EC6A30;
	text-decoration: none;
}

a:hover,
a:active,
a:focus {
	text-decoration: underline;
}

.bold {
	font-weight: 700;
}

#site-body ul,
footer ul {
	list-style-type: none;
	padding-left: 27px;
}

ol li {
	padding-left: 3px;
}

#site-body ul:not(.pagination) li,
footer ul li {
	list-style-position: inside;
	text-indent: -6px;
	margin-bottom: .3em;
}

#site-body ul li:before,
footer ul li:before {
	display: inline-block;
	position: relative;
	content: '\2022';
	margin-left: -8px;
	margin-right: 11px;
	font-size: 2em;
	line-height: .5em;
	color: #3A8C87;
	top: 6px;
}

#site-body ol,
footer ol {
	padding-left: 22px;
}

blockquote {
	font-size: 2em;
}

/*
.cols .row > div > div {
	margin-top: 30px;
}
*/

.cols > div:last-child {
	margin-bottom: 30px;
}

.cols .column h1:first-child,
.cols .column h2:first-child,
.cols .column h3:first-child,
.cols .column h4:first-child,
.cols .column h5:first-child,
.cols .column h6:first-child,
.cols .column p:first-child {
	margin-top: 0;
}

.wide.grey-panel {
	background-color: #f0f0f0;
	padding: 60px 0;
}

.testimonial-strip *,
.testimonial-strip h1,
.testimonial-strip h2,
.testimonial-strip h3,
.testimonial-strip h4,
.testimonial-strip h5,
.testimonial-strip h6 {
	color: #fff;
}

.testimonial-strip .ce-image {
	overflow: visible;
}

.testimonial-strip.style-1 {
	margin: 0 0 70px;
	background: #83b3b2; /* Old browsers */
	background: -moz-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #83b3b2 0%, #3a8c87 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#83b3b2', endColorstr='#3a8c87', GradientType=1); /* IE6-9 */
}

.testimonial-strip.style-1 > .css-table {
	width: auto;
	margin: auto;
}

.testimonial-strip.style-1 .body-text a,
.testimonial-strip.style-1 .body-text a:visited,
.testimonial-strip.style-1 .body-text a:hover,
.testimonial-strip.style-1 .body-text a:focus,
.testimonial-strip.style-1 .body-text a:active {
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}

.testimonial-strip.style-1 .image-column {
	position: relative;
	width: 200px;
}

.testimonial-strip.style-1 .image-column img {
	max-width: 200px !important;
	border-radius: 100%;
	position: absolute;
	display: block;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}

.testimonial-strip.style-1 .spacer-column {
	width: 30px;
}

.testimonial-strip.text-column {
	position: relative;
}

.testimonial-strip .quotes-graphic {
	position: absolute;
	right: 15px;
	bottom: -10px;
	width: 94px;
	height: auto;
}

.testimonial-strip.style-1 .body-text {
	font-size: 1.2em;
	font-weight: 400;
	color: #fff !important;
}

.testimonial-strip.style-1 .text-column {
	padding: 30px 0;
}

.testimonial-strip.style-1 .text-column :first-child {
	margin-top: 0;
}

.testimonial-strip.style-1 .text-column :last-child {
	margin-bottom: 0;
}

.polybox-bottom-0-0-100-0-100-100-0-7vw {
	/*-webkit-clip-path: polygon(0 0, 100% 0, 100% 96%, 0 83%);*/
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
}

.polybox-top-0-0-100-7vw-100-100-0-0 {
	/*-webkit-clip-path: polygon(0 0, 100% 7vw, 100% 96%, 0 83%);*/
	-webkit-clip-path: polygon(0 0, 100% 7vw, 100% 110%, 0 110%);
	clip-path: polygon(0 0, 100% 7vw, 100% 110%, 0 110%);
}

div[class*="polybox-top"] {
	position: relative;
	padding-top: 170px;
	padding-bottom: 40px;
	margin-top: 38px;
	z-index: 2;
}

.amenities-grid {
	display: grid;
	grid-template-columns: 37px 1fr;
	grid-gap: 17px 13px;
}

.amenities-grid .ico-box img {
	width: 100%;
	height: auto;
}

/* Outlined Buttons */
/* ---------------- */
.outlined-button {
	padding: 5px 15px;
	border: 3px solid #3A8C87;
	font-family: 'Oswald', sans-serif;
	font-size: 1.3em;
	color: #515254;
	text-transform: uppercase;
	transition: all .3s;
}

.outlined-button:visited,
.outlined-button:hover,
.outlined-button:focus,
.outlined-button:active {
	color: #515254;
	text-decoration: none;
}

.outlined-button:hover {
	color: #fff;
	background: #3A8C87;
}

.outlined-button:focus,
.outlined-button:active {
	background: #46aea8;
}

/* Arrow Buttons */
/* ------------- */
.arr-button {
	display: table;
	line-height: 40px;
	vertical-align: middle;
	text-align: center;
	padding: 0 14px 0 18px;
	color: #fff;
	background: #f0862e;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	font-family: 'Oswald', sans-serif;
	font-size: 1.3em;
	transition: 0s all ease-out;
}

h4.arr-button {
	margin: 10px 0;
}

.arr-button:visited,
.arr-button:hover,
.arr-button:active,
.arr-button:focus {
	color: #fff;
	text-decoration: none;
}

.arr-button::after {
	position: absolute;
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
}

a.arr-button:hover {
	background: #EC6A30;
}

a.arr-button:active,
a.arr-button:focus {
	background: #df642d;
}

.arr-button.next::after {
	border-style: solid;
}

/* Next Button */
/* ----------- */
.arr-button.next::after {
	top: 0;
	right: -20px;
	border-width: 20px 0 20px 20px;
	border-color: transparent transparent transparent #f0862e;
}

a.arr-button.next:hover::after {
	border-left-color: #EC6A30;
}

a.arr-button.next:active::after,
a.arr-button.next:focus::after {
	border-left-color: #df642d;
}

.instagram-card-grid > .row > div {
	margin: 15px 0;
}

.tx-pb-social .pb-list.instagram-card-grid {
	margin: 0;
}

.instagram-card-grid .card {
	margin-top: 0 !important;
}

.instagram-card-grid .card .instagram-link,
.instagram-card-grid .card .instagram-link:visited {
	text-decoration: none;
	text-transform: none;
	color: #515254;
}

.instagram-card-grid .card .instagram-link:hover,
.instagram-card-grid .card .instagram-link:focus,
.instagram-card-grid .card .instagram-link:active {
	text-decoration: none;
	text-transform: none;
	color: #515254;
	opacity: .7;
}

.instagram-card-grid .card-img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover;
}

.instagram-card-grid .card-body {
	padding: 1.1rem;
}

.unit-type-cards {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 10px;
	position: relative;
}

.unit-type-cards > .card {
	border: none;
}

.unit-type-cards .card-img {
	width: 100% !important;
	height: 300px !important;
	object-fit: cover;
}

.unit-type-cards .card-header {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: white;
	font-size: 1.4em;
	/*margin: 3px 0;*/
	background: #ec6a32; /* Old browsers */
	background: -moz-linear-gradient(left, #ec6a32 0%, #f08630 50%, #ec6a32 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #ec6a32 0%, #f08630 50%, #ec6a32 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #ec6a32 0%, #f08630 50%, #ec6a32 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ec6a32', endColorstr='#ec6a32', GradientType=1); /* IE6-9 */
}

.unit-type-cards .card-body {
	padding: 1rem 1.25rem 2rem;
	background: #f0f0f0;
}

.unit-type-cards .unit-price {
	margin-bottom: 10px;
	font-family: 'Oswald', sans-serif;
	font-size: 1.2em;
	font-weight: 400;
}

.unit-specs {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 10px;
}

.unit-specs .spec-item {
	flex: 1 1 auto;
}

#site-body .unit-specs .unit-spec-ico {
	height: 37px;
	width: auto;
}

.unit-specs .spec-text {
	font-family: 'Oswald', sans-serif;
	font-size: 1.5em;
	font-weight: 400;
	vertical-align: bottom;
	padding-left: 5px;
}

.unit-specs .spec-text .thin {
	font-family: 'Open Sans', sans-serif;
	font-size: 1em;
	font-weight: 300;
	vertical-align: bottom;
}

.unit-type-cards .call-to-action {
	font-family: 'Oswald', sans-serif;
	font-size: 1.2em;
	font-weight: 400;
}

.unit-type-cards .arr-button {
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}

/* Social media feed */
.tx-pb-social .pb-list {
	zoom: 1
}

.tx-pb-social .pb-list:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/* Length of stay grid on details pages */
.length-of-stay-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas: "grid-item-1 grid-item-2 grid-item-3";
	grid-gap: 10px;
}

.length-of-stay-grid .grid-item-spacer-start {
	display: none;
	grid-area: grid-item-spacer-start;
}

.length-of-stay-grid .grid-item-spacer-end {
	display: none;
	grid-area: grid-item-spacer-end;
}

.length-of-stay-grid .grid-item:nth-child(2) {
	grid-area: grid-item-1;
}

.length-of-stay-grid .grid-item:nth-child(3) {
	grid-area: grid-item-2;
}

.length-of-stay-grid .grid-item:nth-child(4) {
	grid-area: grid-item-3;
}

.length-of-stay-grid .grid-item img {
	width: 100%;
	height: auto;
}

/* Contact form */
form.contact-us-form {
	overflow: hidden;
}

form.contact-us-form .powermail_fieldset_1,
form.contact-us-form .powermail_fieldset_2 {
	margin-left: -15px;
	margin-right: -15px;
}

form.contact-us-form .powermail_fieldset_1 > .row {
	display: inline-block;
	width: 50%;
	margin-left: 0;
	margin-right: 0;
}

form.contact-us-form .powermail_fieldset_1 > .row > .powermail_fieldwrap {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width: 576px) {
	form.contact-us-form .powermail_fieldset_1 > .row {
		width: 100%;
		display: block;
	}
}

/* ------------------------ */
/* 5__Footer Content        */
/* ------------------------ */
footer {
	position: relative;
	padding: 40px 0;
	color: #fff;
	background: #83b3b2; /* Old browsers */
	background: -moz-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #83b3b2 0%, #3a8c87 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #83b3b2 0%, #3a8c87 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#83b3b2', endColorstr='#3a8c87', GradientType=1); /* IE6-9 */
}

.footer-graphic-left {
	position: absolute;
	bottom: 0;
	left: 0;
}

.footer-graphic-right {
	position: absolute;
	bottom: 0;
	right: 0;
}

footer h1:first-child,
footer h2:first-child,
footer h3:first-child,
footer h4:first-child,
footer h5:first-child,
footer h6:first-child,
footer p:first-child {
	margin-top: 0;
}

footer h3 {
	font-family: 'Open Sans', sans-serif;
	font-size: 1.05em;
	text-transform: inherit;
	font-weight: 700;
}

footer .footer-row-2 {
	margin-top: 30px;
}

footer a,
footer a:visited,
footer a:hover,
footer a:active,
footer a:focus {
	text-decoration: none;
	color: #fff;
	transition: 0s all ease-out;
}

footer a:hover,
footer a:active,
footer a:focus {
	text-decoration: underline;
}

/*
footer .footer-row-1 .footer-r1-griditem1 a,
footer .footer-row-1 .footer-r1-griditem1 a:visited {
	text-decoration: underline;
}
footer .footer-row-1 .footer-r1-griditem1 a:hover,
footer .footer-row-1 .footer-r1-griditem1 a:active,
footer .footer-row-1 .footer-r1-griditem1 a:focus {
	text-decoration: none;
}
*/

footer .social-links a {
	position: relative;
	display: block;
	float: left;
	text-align: center;
	width: 41px;
	height: 41px;
	line-height: 41px;
	font-size: 22px !important;
	color: #3A8C87 !important;
	background: #fff;
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
}

footer .social-links a:not(:first-child) {
	margin-left: 15px;
}

footer .social-links a:hover,
footer .social-links a:focus,
footer .social-links a:active {
	background: #97fff8;
}

footer .footer-row-1 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas: "accomm-sites contact-us get-social";
	grid-gap: 15px;
}

footer .footer-row-1 .footer-r1-griditem1 {
	grid-area: accomm-sites;
}

footer .footer-row-1 .footer-r1-griditem2 {
	grid-area: contact-us;
}

footer .footer-row-1 .footer-r1-griditem3 {
	grid-area: get-social;
}

footer .footer-nav {
	font-size: .85em;
	text-align: center;
	font-weight: 700;
}

footer .footer-nav a,
footer .footer-nav a:visited,
footer .footer-nav a:hover,
footer .footer-nav a:focus,
footer .footer-nav a:active {
	text-decoration: none;
}

footer .footer-nav a:not(:first-of-type) {
	padding-left: 9px;
}

footer .footer-nav a:not(:last-of-type) {
	padding-right: 12px;
	border-right: 3px solid white;
}

/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */
.ce-gallery figure {
	display: block;
}

.ce-gallery figcaption {
	display: block;
}

/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
#top-hero-wrap .ce-gallery .ce-outer,
#top-hero-wrap .ce-gallery .ce-inner {
	width: 100%;
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery,
#top-hero-wrap .ce-intext.ce-left .ce-gallery,
#top-hero-wrap .ce-above .ce-gallery {
	margin-bottom: 0;
}

/* Typo3 overrides for correct image height in #top-hero-wrap once inside of a flexslider */
#top-hero-wrap .flexslider {
	margin-bottom: 0;
	border: none;
}

#top-hero-wrap > div {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li > div {
	height: 100%;
}

#top-hero-wrap > div .flexslider .slides img {
	width: inherit;
}

/* Typo3 overrides - fixes for IE 11 */
.ce-gallery,
.ce-column {
	max-width: 100%;
}

.ce-gallery img {
	max-width: 100%;
	height: auto;
}

/* ------------------------ */
/* 7__Bootstrap Overrides   */
/* ------------------------ */
.btn-primary {
	color: #fff;
	background-color: #3A8C87;
	border-color: #3A8C87;
	border-radius: 0;
	letter-spacing: 1px;
	transition: background-color 0.2s ease-in-out 0s;
}

.btn-primary:hover {
	color: #fff;
	background-color: #063c4a;
	border-color: #063c4a;
}

.btn-primary:focus,
.btn-primary.focus {
	color: #fff;
	background-color: #09566a;
	border-color: #09566a;
	outline: none;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
	color: #fff;
	background-color: #09566a;
	border-color: #09566a;
}

.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
	color: #fff;
	background-color: #09566a;
	border-color: #09566a;
	outline: none;
}

/* ------------------------ */
/* 8__Media Queries         */
/* ------------------------ */
@media only screen and (max-width: 3000px) {
	section[class*="polybox-top"] {
		padding-top: 230px !important;
		padding-bottom: 40px !important;
		margin-top: 38px;
	}
}

@media only screen and (max-width: 2600px) {
	section[class*="polybox-top"] {
		padding-top: 180px !important;
		padding-bottom: 40px !important;
		margin-top: 38px;
	}
}

@media only screen and (max-width: 2000px) {
	section[class*="polybox-top"] {
		padding-top: 130px !important;
		padding-bottom: 40px !important;
		margin-top: 38px;
	}
}

@media only screen and (max-width: 1500px) {
	footer {
		padding: 40px 0 70px;
	}
}

/* Large Devices, Wide Screens (Bootstrap col-lg-*) */
@media only screen and (max-width: 1200px) {
}

@media only screen and (max-width: 1079px) {
	.header-cta-box .arr-button {
		font-size: 1.2em;
		line-height: 36px;
	}

	.header-cta-box .arr-button.next::after {
		right: -18px;
		border-width: 18px 0 18px 18px;
	}
}

@media only screen and (max-width: 1050px) {
	.header-grid {
		grid-template-columns: 160px 1fr 116px;
	}

	#top-hero-wrap .cover {
		padding: 150px 0 calc(150px + 3.5vw);
	}

	#top-hero-wrap .hero-text-large > div {
		font-size: 2.775em;
	}

	#top-hero-wrap .hero-text-small > div {
		font-size: 1.575em;
	}
}


@media only screen and (max-width: 999px) {
	#menu-desktop {
		display: none;
	}

	.header-grid {
		grid-template-columns: 160px 1fr 80px;
		grid-template-areas: "header-logo header-cta-button header-mobile-nav-btn";
	}

	.header-grid .header-mobile-nav-btn-box {
		display: block;
		text-align: right;
	}
}


/* Medium Devices, Desktops (Bootstrap col-md-*) */
@media only screen and (max-width: 992px) {
}

@media only screen and (max-width: 959px) {
	#site-body .unit-specs .unit-spec-ico {
		height: 30px;
		width: auto;
	}

	.unit-specs .spec-text {
		font-size: 1.35em;
	}
}

@media only screen and (max-width: 860px) {
	footer .footer-row-1 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "accomm-sites accomm-sites" "contact-us get-social";
	}

	.footer-graphic-left,
	.footer-graphic-right {
		width: 160px;
		height: auto;
	}
}

@media only screen and (max-width: 800px) {
	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.6rem;
	}

	h3 {
		font-size: 1.4875em;
	}

	div[class*="polybox-top"] {
		padding-top: 100px;
		margin-top: 38px;
	}

	.testimonial-strip.style-1 .image-column {
		width: 160px;
	}

	.testimonial-strip.style-1 .image-column img {
		max-width: 160px !important;
	}

	.testimonial-strip.style-1 .spacer-column {
		width: 20px;
	}

	.testimonial-strip .quotes-graphic {
		right: 15px;
		bottom: -10px;
		width: 70px;
	}

	.testimonial-strip.style-1 .body-text {
		font-size: 1em;
	}

	.unit-type-cards {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 36px 10px;
	}

	.arr-button {
		line-height: 36px;
		padding: 0 14px;
		font-size: 1.2em;
	}

	.arr-button.next::after {
		right: -18px;
		border-width: 18px 0 18px 18px;
	}

	.unit-type-cards .arr-button {
		bottom: -18px;
	}

	section[class*="polybox-top"] {
		padding-top: 100px !important;
	}
}

/* Small Devices, Tablets (Bootstrap col-sm-*) */
@media only screen and (max-width: 767px) {
	body {
		font-size: .92rem;
	}

	#top-hero-wrap .hero-img-scroll-down-btn {
		position: absolute;
		bottom: 6.5vw;
	}

	.cols.cols-50-50 .column:first-child,
	.cols.cols-33-66 .column:first-child,
	.cols.cols-33-66 .column:nth-child(2),
	.cols.cols-66-33 .column:first-child,
	.cols.cols-66-33 .column:nth-child(2),
	.cols.cols-33-33-33 .column:not(:last-child) {
		margin-bottom: 20px;
	}

	footer .social-links a {
		position: relative;
		display: block;
		float: left;
		text-align: center;
		width: 34px;
		height: 34px;
		line-height: 34px;
		font-size: 18px !important;
		color: #3A8C87 !important;
		background: #fff;
		transition: all 500ms ease;
		-webkit-transition: all 500ms ease;
		-ms-transition: all 500ms ease;
		-o-transition: all 500ms ease;
		-moz-transition: all 500ms ease;
	}
}

@media only screen and (max-width: 680px) {
	/*
	footer {
		padding: 40px 0 90px;
	}
	*/
	.footer-graphic-left,
	.footer-graphic-right {
		width: 140px;
		height: auto;
	}
}

@media only screen and (max-width: 660px) {
	#top-hero-wrap .hero-text-large > div {
		font-size: 2.08em;
		line-height: 1.1;
	}

	#top-hero-wrap .hero-text-small > div {
		font-size: 1.18em;
	}

	.arr-button {
		line-height: 34px;
		padding: 0 12px;
		font-size: 1.15em;
	}

	.arr-button.next::after {
		right: -17px;
		border-width: 17px 0 17px 17px;
	}

	.unit-type-cards .arr-button {
		bottom: -17px;
	}

	.length-of-stay-grid .grid-item-spacer-start,
	.length-of-stay-grid .grid-item-spacer-end {
		display: block;
	}

	/*
	.length-of-stay-grid {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
		grid-template-areas: "grid-item-spacer-start-1 grid-item-1 grid-item-1 grid-item-2 grid-item-2 grid-item-spacer-end-1"
		"grid-item-spacer-start-1 grid-item-spacer-start-2 grid-item-3 grid-item-3 grid-item-spacer-end-2 grid-item-spacer-end-1";
	}
	*/
	.length-of-stay-grid {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-areas: "grid-item-1 grid-item-1 grid-item-2 grid-item-2"
		"grid-item-spacer-start grid-item-3 grid-item-3 grid-item-spacer-end";
	}

	/*
	.length-of-stay-grid {
		grid-template-columns: 1fr;
	}
	*/
}

@media only screen and (max-width: 610px) {
	div[class*="polybox-top"] {
		padding-top: 80px;
	}
}

@media only screen and (max-width: 590px) {
	#top-hero-wrap .cover {
		padding: 90px 0 calc(90px + 3.5vw);
	}

	#top-hero-wrap .hero-img-scroll-down-btn {
		position: absolute;
		bottom: 8vw;
	}

	#top-hero-wrap .hero-img-scroll-down-btn img {
		width: 29px;
		height: auto;
	}
}

@media only screen and (max-width: 575px) {
	section[class*="polybox-top"] {
		padding-top: 80px !important;
	}

	.arr-button {
		line-height: 40px;
		padding: 0 14px;
		font-size: 1.3em;
	}

	.arr-button.next::after {
		right: -20px;
		border-width: 20px 0 20px 20px;
	}

	.unit-type-cards {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 40px 10px;
	}

	.unit-type-cards .arr-button {
		bottom: -20px;
	}

	.row > .col-12:nth-child(2) > .amenities-grid,
	.row > .col-12:nth-child(2) > .frame > .ce-image > .amenities-grid {
		margin-top: 15px;
	}

	footer {
		padding: 30px 0 30px;
	}

	footer .footer-row-1 {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas: "accomm-sites" "contact-us" "get-social";
	}

	footer .footer-nav {
		display: none;
	}

	footer .footer-graphic-left {
		display: none;
	}
}

@media only screen and (max-width: 510px) {
	.testimonial-strip.style-1 .image-column {
		width: 140px;
	}

	.testimonial-strip.style-1 .image-column img {
		max-width: 140px !important;
	}

	.testimonial-strip.style-1 .spacer-column {
		width: 15px;
	}

	.testimonial-strip .quotes-graphic {
		right: 15px;
		bottom: -20px;
		width: 60px;
	}

	.testimonial-strip.style-1 .body-text {
		font-size: 1em;
	}
}

@media only screen and (min-width: 481px) {
	.flex-row.row {
		display: flex;
		flex-wrap: wrap;
	}

	.flex-row.row > [class*='col-'] {
		display: flex;
		flex-direction: column;
	}

	.flex-row.row:after,
	.flex-row.row:before {
		display: flex;
	}
}

/* Extra Small Devices, Phones (Bootstrap col-xs-*) */
@media only screen and (max-width: 480px) {
	.desktop-only {
		display: none;
	}

	.mobile-only-block {
		display: block;
	}

	.mobile-only-inline {
		display: inline-block;
	}

	.header-grid {
		grid-template-columns: 140px 1fr 60px;
	}

	#top-hero-wrap .hero-text-large > div {
		font-size: 1.768em;
		line-height: 1.1;
	}

	#top-hero-wrap .hero-text-small > div {
		font-size: 1.062em;
	}

	.testimonial-strip.style-1 .image-column {
		width: 120px;
	}

	.testimonial-strip.style-1 .image-column img {
		max-width: 120px !important;
	}

	.arr-button {
		line-height: 36px;
		padding: 0 14px;
		font-size: 1.2em;
	}

	.arr-button.next::after {
		right: -18px;
		border-width: 18px 0 18px 18px;
	}
}

@media only screen and (max-width: 400px) {
	.header-grid {
		grid-template-columns: 135px 1fr 50px;
	}

	.arr-button {
		line-height: 34px;
		padding: 0 12px;
		font-size: 1.15em;
	}

	.arr-button.next::after {
		right: -17px;
		border-width: 17px 0 17px 17px;
	}


	.length-of-stay-grid {
		grid-template-columns: 1fr;
		grid-template-areas: "grid-item-1" "grid-item-2" "grid-item-3";
	}

	.length-of-stay-grid .grid-item-spacer-start,
	.length-of-stay-grid .grid-item-spacer-end {
		display: none;
	}
}

/* Custom, iPhone Retina */
@media only screen and (max-width: 320px) {

}

@media only screen and (min-width: 3001px) {
	section[class*="polybox-top"] {
		padding-top: 260px !important;
		padding-bottom: 40px !important;
		margin-top: 38px;
	}
}