/*
Theme Name: 180 Marketing Custom Theme for Gutenberg
Theme URI: http://wordpress.org/
Description: Custom theme, hand crafted perfection.
Author: 180 Marketing
Version: 1.5
Tags: blank
Text Domain: blanktheme
*/

/*	Global Colours
*/


/* =Fonts and Global Reset
-------------------------------------------------------------- */
@import url("https://p.typekit.net/p.css?s=1&k=ort3ofq&ht=tk&f=59830.59837.61057.61070&a=444700056&app=typekit&e=css");


* {
	margin: 0px;
	padding: 0px;
}

.row .columns {
	font-family: avenir-lt-pro, sans-serif;
    font-weight: 200;
    font-style: normal;
	font-size: 16px;
	line-height: 20px;
}

a img {
	border: none;
}

/* =Basic Content Styles
-------------------------------------------------------------- */
h1, 
h2, 
h3 {
	
}

h1 {
	margin-bottom: 15px;
	text-align: center;
    font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 60px;
    color: #072039;
}

h2 {
	font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 41px;
    font-weight: 300;
    line-height: 46px;
	margin-bottom: 20px;
}

h3 {
	margin-bottom: 5px;
}

p, 
.main ul, 
.main ol, 
table {
	margin-bottom: 15px;
}

.main ul li,
.main ol li {
	
}

.main ul {
	padding-left: 15px;	
}

.main ol {
	padding-left: 20px;	
}

a:not(nav li a) {
	color: #194d91;
    text-decoration: none;
}

a:hover:not(nav li a) {
	text-decoration: underline;
}

.green-btn:hover {
	background-color: #fff !important;
	text-decoration: none !important;
}

.navy-btn a:hover, .navy-btn:hover {
	background-color: #d6e264 !important;
	color: #194d91 !important;
	text-decoration: none !important;
}

.white-btn:hover {
	text-decoration: none !important;
}


ul.block-grid {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

strong {
    font-weight: 700;
}

img.recapBadge {
	display: block;
	max-width: 250px !important;
	box-shadow: 0 0 4px 1px rgba(0, 0, 0, .08);
   	-webkit-box-shadow: 0 0 4px 1px rgba(0, 0, 0, .08);
    -moz-box-shadow: 0 0 4px 1px rgba(0,0,0,.08);
}


/* =Custom Section Styles
-------------------------------------------------------------- */

.wrapper.fullWidth {
	display: flex;
	justify-content: center;
}

.wrapper.white {
	background-color: #fff;
}

.wrapper.paleBlue {
	background-color: #8abbd9;
}

.wrapper.mediumBlue {
	background-color: #194d91;
}

.wrapper.navy {
	background-color:  #072039;
}

.wrapper.limeGreen {
	background-color: #d6e264;
}

.wrapper.charcoal {
	background-color: #282828;
}

.wrapper.whiteGradient {
	background: #ffffff;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(243, 248, 248, 0.9) 40%,
		rgba(225, 240, 241, 0) 70%
	);
}


.wrapper.bgImage {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
}

.wrapper.bgImage #gradient {
	background: #ffffff;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(225, 240, 241, 0) 70%
	);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}


.wrapper.bgImage .row {
	position: relative;
	z-index: 99;
}

.wrapper.mediumBlue,
.wrapper.mediumBlue h1,
.wrapper.mediumBlue h2,
.wrapper.mediumBlue h3,
.wrapper.mediumBlue h4,
.wrapper.mediumBlue h5, 
.wrapper.mediumBlue p,
.wrapper.mediumBlue ul,
.wrapper.mediumBlue a,
.wrapper.mediumBlue .gfield_label,
.wrapper.mediumBlue .gfield--type-html,
.wrapper.mediumBlue .gform-field-label--type-inline,
.wrapper.mediumBlue .gform-field-label--type-sub,
.wrapper.mediumBlue .gform_confirmation_message,
.wrapper.navy,
.wrapper.navy h1,
.wrapper.navy h2,
.wrapper.navy h3,
.wrapper.navy h4,
.wrapper.navy h5, 
.wrapper.navy p,
.wrapper.navy ul,
.wrapper.navy a,
.wrapper.navy .gfield_label,
.wrapper.navy .gfield--type-html,
.wrapper.navy .gform-field-label--type-inline,
.wrapper.navy .gform-field-label--type-sub,
.wrapper.navy .gform_confirmation_message,
.wrapper.charcoal,
.wrapper.charcoal h1,
.wrapper.charcoal h2,
.wrapper.charcoal h3,
.wrapper.charcoal h4,
.wrapper.charcoal h5, 
.wrapper.charcoal p,
.wrapper.charcoal ul,
.wrapper.charcoal a,
.wrapper.charcoal .gfield_label,
.wrapper.charcoal .gfield--type-html,
.wrapper.charcoal .gform-field-label--type-inline,
.wrapper.charcoal .gform-field-label--type-sub,
.wrapper.charcoal .gform_confirmation_message,
.wrapper.gradient,
.wrapper.gradient h1,
.wrapper.gradient h2,
.wrapper.gradient h3,
.wrapper.gradient h4,
.wrapper.gradient h5, 
.wrapper.gradient p,
.wrapper.gradient ul,
.wrapper.gradient a,
.wrapper.gradient .gfield_label,
.wrapper.gradient .gfield--type-html,
.wrapper.gradient .gform-field-label--type-inline,
.wrapper.gradient .gform-field-label--type-sub,
.wrapper.gradient .gform_confirmation_message,
.wrapper.bgImage,
.wrapper.bgImage h1,
.wrapper.bgImage h2,
.wrapper.bgImage h3,
.wrapper.bgImage h4,
.wrapper.bgImage h5, 
.wrapper.bgImage p,
.wrapper.bgImage ul,
.wrapper.bgImage a,
.wrapper.bgImage .gfield_label,
.wrapper.bgImage .gfield--type-html,
.wrapper.bgImage .gform-field-label--type-inline,
.wrapper.bgImage .gform-field-label--type-sub,
.wrapper.bgImage .gform_confirmation_message,
.wrapper.custom,
.wrapper.custom h1,
.wrapper.custom h2,
.wrapper.custom h3,
.wrapper.custom h4,
.wrapper.custom h5, 
.wrapper.custom p,
.wrapper.custom ul,
.wrapper.custom a,
.wrapper.custom .gfield_label,
.wrapper.custom .gfield--type-html,
.wrapper.custom .gform-field-label--type-inline,
.wrapper.custom .gform-field-label--type-sub,
.wrapper.custom .gform_confirmation_message {
	color: #fff;
}

.wrapper.mediumBlue a.textLink,
.wrapper.navy a.textLink,
.wrapper.gradient a.textLink,
.wrapper.bgImage a.textLink,
.wrapper.custom a.textLink {
	color: #fce16a;
}

.wrapper.mediumBlue a.textLink:hover,
.wrapper.navy a.textLink:hover,
.wrapper.gradient a.textLink:hover,
.wrapper.bgImage a.textLink:hover,
.wrapper.custom a.textLink:hover {
	color: #8ac5ec;
}

.wrapper.normal {
	padding: 90px 20px;
}

.wrapper.reduced {
	padding: 60px 20px;
}

.wrapper.noTop {
	padding: 0px 20px 90px;
	margin-top: -90px;
	position: relative;
	z-index: 99999;
}

/* =Header
-------------------------------------------------------------- */

body.home header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: linear-gradient(
		to bottom,
		rgba(10, 15, 20, 0.9) 0%,
		rgba(10, 15, 20, 0.65) 55%,
		rgba(10, 15, 20, 0) 100%
	);
}

header {
    padding: 20px;
}

header .row {
	display: flex;
}

.headerWrap {
    position: relative;
}

header a.logo {
    display: block;
    max-width: 200px;
}

/* =Menu
-------------------------------------------------------------- */

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

nav li {
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 800;
    letter-spacing: 0.08rem;
    text-transform: uppercase;
	float: left;
	position: relative;
	list-style: none;
}

.current-menu-item a {
    color: #8abbd9 !important;
}

.current-menu-item a {
	color: #8abbd9 !important;
}

.current-menu-item:not(#menu-item-20):not(#menu-item-22) > a {
	border-bottom: 2px solid #8abbd9 !important;
}

.menu-item-20 a:before {
    content: "\f015";
    font-family: "Font Awesome 6 Pro";
    font-size: 20px;
}

.menu-item-20 a {
    font-size: 0px;
}


.menu-item-22 {
    background-color: #194d91;
    border-radius: 100px;
    /*color: #194d91;*/
    padding: 0 15px;
    margin-left: 15px;
}

.menu-item-22 a {
    color: #194d91;
}

.menu-item-22:hover {
    background-color: #d6e264;
}

.menu-item-22 a:hover {
    color: #194d91 !important;
}


nav {
	display: block;
	margin: 0 auto;
	margin-top: 15px;
	/*margin-left: 30px;*/
	width: 100%;
	position: relative;
	z-index: 9999;
	min-height: 50px;
	height: auto !important;
	*zoom: 1;
}

.home nav a {
	color: #FFFFFF;
}

nav a {
	display: block;
	line-height: 42px;
	padding: 0 20px;
	font-size: 14px;
	text-decoration: none;
}

nav ul ul {
	box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	display: none;
	position: absolute;
	top: 42px;
	left: 0;
	float: left;
	width: 180px;
	z-index: 99999;
	padding: 5px;
	background-color: #000;
}
nav ul ul ul {
	left: 100%;
	top: -5px;
	background-color: #666;
}

.home nav li:hover > a {
	color: #fff;
}

nav ul li:hover > ul {
	display: block;
}

nav ul ul a {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.8em;
	min-width: 170px;
}

.home nav ul li.current_page_item > a,
.home nav ul li.current-menu-ancestor > a,
.home nav ul li.current-menu-item > a,
.home nav ul li.current-menu-parent > a {
	color: #fff;
}

* html nav ul li.current_page_item a,
* html nav ul li.current-menu-ancestor a,
* html nav ul li.current-menu-item a,
* html nav ul li.current-menu-parent a,
* html nav ul li a:hover {
	color: #fff;
}

ul ul .menu-item-has-children {
	width: 175px;
}

nav a.menu-link {
   display:  none;
   background: #333;
   padding-top: 6px;
   padding-bottom: 35px;
   height: 42px;
   line-height: 33px;
   text-transform: uppercase;
   width: 100%;
   color: #FFFFFF;
   font-weight: bold;
   text-decoration: none;
   text-align: left;
   font-size: 15px;
   padding-left: 15px;
}

.menu:before,
.menu:after {
    content: " "; 
    display: table; 
}

.menu:after {
    clear: both;
}

/*.menu-link:after {
	content: url( images/menu.png );
	right: 20px;
	top: 6px;
	position: absolute;
}*/

.menuMobile {
	display: none;
}

.active .menuMobile {
	display: block;
	text-align: left;
	padding: 10px 20px;
}


/* =Slideshow
-------------------------------------------------------------- */

.slideshow {
    width: 100%;
    height: 650px;
    overflow: hidden;
	position: relative;
	isolation: isolate;
}

.slideshow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 500;
	pointer-events: none;

	background: linear-gradient(
		to bottom,
		rgba(6, 15, 22, 0.78) 0%,
		rgba(6, 15, 22, 0.58) 50%,
		rgba(6, 15, 22, 0.48) 100%
	);

	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: transform;
}

.slide-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 999;
	width: 100%;
	padding: 0 30px;
	text-align: center;
	color: #fff;
	pointer-events: none;
	text-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
}

.slideshow-intro-small {
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 38px;
    margin-bottom: 0;
}

.slideshow-intro-big {
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 800;
    font-style: normal;
    text-transform: uppercase;
    font-size: 48px;
    margin-bottom: 0;
}

.slideshow-intro-cursive {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 48px;
    margin-bottom: 0;
    color: #8abbd9;
}

.slideshow .slide {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.cycle-prev,
.cycle-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	width: 66px;
	height: 66px;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: rgba(24, 49, 70, 0.55);
	color: #fff;
	cursor: pointer;
	box-shadow: none;
	appearance: none;
	transition: background-color 0.2s ease;
}

.cycle-prev {
	left: 40px;
}

.cycle-next {
	right: 40px;
}

.cycle-prev:hover,
.cycle-next:hover,
.cycle-prev:focus-visible,
.cycle-next:focus-visible {
	background: rgba(24, 49, 70, 0.9);
}

.cycle-prev i,
.cycle-next i {
	font-size: 34px;
	line-height: 1;
	pointer-events: none;
}

.slideshow .slide {
    position: relative;
}

.slideshow .slide-img-wrap {
	width: 100%;
	height: 100%;
}

.slideshow img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	object-position: center top;
}

/* =Homepage Hero
-------------------------------------------------------------- */

.hero-intro {
	position: relative;
	z-index: 10;
	min-height: 200px;
	padding: 0;
	background: #194d91;
	text-align: center;
	margin-top: -5px;
}

.green-btn, .hero-intro .button, a.vacation-living-btn {
    background-color: #d6e264;
    padding: 12px 30px;
    border-radius: 100px;
    text-decoration: none;
    color: #194d91;
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 800;
    font-size: 18px;
    font-style: normal;
    text-transform: uppercase;
}

a.vacation-living-btn {
    color: #1a2f5a !important;
}

.scriptText {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 200;
    font-size: 30px;
    line-height: 35px;
    color: #194d91;
}

.page-id-7 .discover-title {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 60px;
    line-height: 60px;
    max-width: 490px;
    margin: 0 auto;
    color: #194d91;
    float: right;
    margin-right: 8%;
    margin-top: 25px;
}

.main .row {
    max-width: 100%;
}

.fullWidth .row {
    max-width: 960px;
    justify-self: center;
}

.page-id-7 .twoCol p {
    max-width: 600px;
}

.hero-intro p {
    margin-bottom: 30px;
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 25px;
    color: #fff;
}

.hero-wave {
	position: relative;
	z-index: 10;
	height: 140px;
	margin-top: -140px;
	margin-bottom: -2px;
	color: #194d91;
	pointer-events: none;
}

.hero-wave svg {
	display: block;
	width: 100%;
	height: 100%;
}

.page-id-7 .entry-title {
    display: none;
}

/* =Homepage Discover Section
-------------------------------------------------------------- */

.homepage-badge {
    width: 450px;
    height: 450px;
    margin-top: -150px;
    justify-self: center;
    transform: translateX(-330px);
    background-image: url("images/WavyCircle.svg");
    background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	justify-content: center;
	display: flex;
	flex-direction: column;
	text-align: center;
	margin-bottom: 150px;
}

.homepage-badge p {
    padding: 20px;
    max-width: 350px;
    margin: 0 auto;
}

.wrapper:has(.homepage-lifestyle) {
	padding:0;
}

.wrapper:has(.discover-title) {
    padding: 60px 0px 0px !important;
}

.discover-text {
    max-width: 490px;
    font-size: 18px;
    line-height: 22px;
}

.homepage-badge .ready-to-find {
    font-family: avenir-lt-pro, sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    font-size: 30px;
    line-height: 35px;
    color: #d6e264 !important;
}

.homepage-badge span.your-place {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    text-transform: capitalize;
    font-size: 60px;
    margin-bottom: 15px;
}

.homepage-badge p.explore {
    padding: 0 30px;
    font-size: 18px;
}


.badge-btn {
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 800;
    color: #8abbd9 !important;
    letter-spacing: 0.9px;
    font-size: 20px;
}

.badge-btn:after {
    content: ' \f061';
    font-family: 'Font Awesome 6 Pro';
}

.vacation-homes-section {
    display:flex;
    justify-content: space-evenly;
    padding: 60px;
    text-align: center;
}

.vacation-homes-section h3 {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    font-size: 50px;
    line-height: 50px;
    color: #8abbd9 !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
    margin-bottom: 15px;
}

.vacation-homes-section p {
    font-size: 22px;
    max-width: 350px;
    justify-self: center;
    padding-bottom: 15px;
}



.wrapper.bgImage:has(.homepage-lifestyle) #gradient {
	background: linear-gradient(
		180deg,

		/* Match the solid white section above */
		#ffffff 0%,
		#ffffff 10%,
		rgba(255, 255, 255, 0.98) 15%,
		rgba(255, 255, 255, 0.82) 22%,
		rgba(255, 255, 255, 0.55) 29%,
		rgba(255, 255, 255, 0.28) 36%,
		rgba(255, 255, 255, 0) 45%,

		/* Preserve the image through the middle */
		rgba(7, 32, 57, 0) 65%,

		/* Existing navy transition at the bottom */
		rgba(7, 32, 57, 0.08) 78%,
		rgba(7, 32, 57, 0.16) 89%,
		rgba(7, 32, 57, 0.26) 100%
	);
}

.wrapper.bgImage,
.wrapper.twoCol.whiteGradient {
	border: 0;
	box-shadow: none;
}

.wrapper.twoCol.gradient {
	position: relative;
	z-index: 2;
	margin-top: -60px;
	border-top: 0;
	background: #072039;
	box-shadow: none;
	padding-bottom: 30px;
}

.wrapper.twoCol.gradient::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 400px;
	z-index: 0;
	transform: none;
	pointer-events: none;
	margin-bottom: -5px;
	overflow: visible;
	background: linear-gradient(
		180deg,
		rgba(7, 32, 57, 0) 0%,
		rgba(7, 32, 57, 0.06) 12%,
		rgba(7, 32, 57, 0.16) 27%,
		rgba(7, 32, 57, 0.32) 43%,
		rgba(7, 32, 57, 0.52) 59%,
		rgba(7, 32, 57, 0.72) 74%,
		rgba(7, 32, 57, 0.9) 89%,
		#072039 100%
	);
}

.wrapper.twoCol.gradient.noTop:has(.vacation-homes) > .row {
	position: relative;
	z-index: 2;
}

.wrapper.twoCol.gradient.noTop .columns:has(.vacation-homes, .vacation-living) {
    display: flex;
    justify-content: center;
}

.vacation-homes, .vacation-living {
    margin-top: -60px;
    text-align: center;
    max-width: 600px;
    padding: 30px;
    justify-items: center;
}

.vacation-homes h3, .vacation-living h3 {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    font-size: 48px;
    line-height: 50px;
    margin-bottom: 10px;
    color: #8abbd9 !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
}

.vacation-homes p, .vacation-living p {
    font-size: 18px;
    margin-bottom: 30px;
    /*max-width: 300px !important;*/
} 

.wrapper.twoCol.gradient.noTop > .row {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}


#post-7 .bgImage {
    object-fit: cover;
    background-position: top;
}


/* =Homepage Amenities
-------------------------------------------------------------- */


.homepage-amenities {
    margin-top: 50px;
    margin-bottom: 50px;
}

.page-id-7 .wrapper.fullWidth.white.noTop:has(.homepage-amenities) {
    padding-bottom: 30px;
}

.page-id-7 .contentCarousel {
	position: relative;
	text-align: center;
}

.page-id-7.contentCarousel > .row {
	max-width: 1200px;
}

.page-id-7 .contentCarousel .owl-carousel {
	position: relative;
	max-width: 1000px;
	margin: 40px auto 0;
}


.page-id-7 .contentCarousel .owl-stage {
	display: flex;
	align-items: flex-start;
}

.page-id-7 .contentCarousel .owl-item {
	display: flex;
}

.page-id-7 .contentCarousel .item {
	width: 100%;
	text-align: center;
}


.page-id-7 .contentCarousel .imgWrap img {
	display: block;
	width: 200px !important;
	height: 200px;
	max-width: none;
	margin: 0 auto 16px;
	border-radius: 100%;
	object-fit: cover;
	object-position: center;
}


.page-id-7 .contentCarousel .imgWrap .title {
	min-height: 38px;
	margin: 0;
	color: #26578E;
	font-size: 17px;
	font-weight: 700;
	line-height:20px;
	text-align: center;
	text-transform: uppercase;
	max-width: 150px;
	justify-self: center;
}

.contentCarousel .owl-nav {
	position: absolute;
	top: 95px;
	right: 0;
	left: 0;
	height: 0;
	margin: 0;
	pointer-events: none;
}

.contentCarousel .owl-nav button.owl-prev,
.contentCarousel .owl-nav button.owl-next {
	position: absolute;
	top: 0;
	width: 42px;
	height: 60px;
	margin: 0;
	padding: 0 !important;

	border: 0;
	background: transparent !important;
	color: #1d579c !important;

	font-size: 40px !important;
	line-height: 1;
	transform: translateY(-50%);
	pointer-events: auto;
}

.contentCarousel .owl-nav button.owl-prev {
	left: -150px;
}

.contentCarousel .owl-nav button.owl-next {
	right: -150px;
}

.contentCarousel .owl-nav button:hover,
.contentCarousel .owl-nav button:focus {
	background: transparent !important;
	color: #91c8e8 !important;
}

.page-id-7 .owl-prev i, .page-id-7 .owl-next i {
    font-weight: 100;
}

.page-id-7 .wrapper:has(.owl-carousel) h3 {
    color: #194d91;
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    text-transform: capitalize;
    font-size: 46px;
    line-height: 50px;
    margin-bottom: 40px;
}

.page-id-7 .wrapper:has(.owl-carousel) p {
    /*max-width: 800px;*/
    justify-self: center;
    font-size: 17px;
    line-height: 22px;
}

.amenities-wave {
	width: 100%;
	height: 120px;
	color: #fff;
	line-height: 0;
	pointer-events: none;
}

.amenities-wave svg {
	display: block;
	width: 100%;
	height: 100%;
}

.wrapper.fullWidth:has(.amenities-wave) {
	padding: 0;
	background: #072039;
	margin-top: -10px;
	margin-bottom: -10px;
}

.wrapper.fullWidth:has(.amenities-wave) > .row {
	width: 100%;
	max-width: none;
	margin: 0;
}

.wrapper.fullWidth:has(.amenities-wave) > .row > .columns {
	padding: 0;
	margin-bottom: -23px;
}

.amenities-wave--bottom svg {
	transform: scaleY(-1);
}


/* =Homepage Side Image - Life is Better by the Lake
-------------------------------------------------------------- */

.amenities-wave--bottom {
	position: relative;
	z-index: 3;
	margin-bottom: -70px;
}



.page-id-7 .side-img-text {
	max-width: 600px;
	transform: translate(20%, 80%);
}

.page-id-7 .side-img-text p {
    font-size: 20px;
    line-height: 22px;
}

.page-id-7 span.by-the-lake {
	font-family: cc-spaghetti-western-script, sans-serif;
	text-transform: lowercase;
	font-size: 40px;
	font-weight: 100;
}

.page-id-7 .side-img-text h2 {
	margin-bottom: 40px;
	color: #d6e264 !important;
	font-family: avenir-lt-pro, sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 32px;
	letter-spacing: 1px;
	text-transform: uppercase;
}


span.by-the-lake {
    font-family: cc-spaghetti-western-script, sans-serif;
    text-transform: lowercase;
    font-size: 40px;
    font-weight: 100;
}

.side-img-text h2 {
    margin-bottom: 40px;
    color: #d6e264 !important;
    font-size: 30px;
    line-height: 32px;
    text-transform: uppercase;
    letter-spacing: 1px;

}


/* =========================================================
   DISTANCE COUNTER
========================================================= */

.distanceCounter {
	padding: 70px 0 65px;
	background-color: #072039;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	text-align: center;
}


.distanceCounter::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background: rgba(3, 22, 48, 0.85);
	pointer-events: none;
}


.distanceCounter .row {
	position: relative;
	z-index: 1;
}

.distanceCounter .row > .columns {
	display: flex;
	/*float: none;*/
	width: 100%;
	flex-direction: column;
	align-items: center;
}


.distanceCounter .distanceCounter-title {
	display: block;
	clear: both;
	width: 100%;
	margin: 0 0 50px;
	padding: 0;
	color: #fff;
	font-family: avenir-lt-pro, sans-serif;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	opacity: 0.8;
	margin-top: -40px;
}



.distanceCounter .distanceCounter-grid {
	display: grid;
	clear: both;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	width: 65%;
	gap: 15px;
	justify-self: center;
}



.distanceCounter .distanceCounter-item {
	min-width: 0;
	text-align: center;
}



.distanceCounter .distanceCounter-number {
	display: block;
	margin: 0 0 18px;
	color: #fff;
	font-family: cc-spaghetti-western-script, sans-serif;
	font-size: clamp(72px, 7vw, 115px);
	font-weight: 400;
	line-height: 0.85;
	text-align: center;
}



.distanceCounter .distanceCounter-label {
	display: block;
	max-width: 220px;
	margin: 0 auto;
	color: #e5ee29 !important;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
}


.distanceCounter .distanceCounter-intro {
	max-width: 1200px;
	margin: 50px auto 0;
	color: #fff;
	font-size: 20px;
	line-height: 1.45;
	text-align: center;
	/*margin-bottom: 30px;*/

}

.distanceCounter .distanceCounter-intro p {
	margin-top: 0;
}

.distanceCounter .distanceCounter-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Homepage Photo Carousel
========================================================= */


.photoCarousel {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #fff;
}

.photoCarousel .owl-carousel {
	position: relative;
}



.photoCarousel .owl-stage-outer {
	cursor: grab;
}

.photoCarousel .owl-stage-outer:active {
	cursor: grabbing;
}


.photoCarousel .owl-stage {
	display: flex;
}

.photoCarousel .owl-item {
	display: flex;
	height: auto;
}

.photoCarousel .item {
	display: flex;
	width: 100%;
	height: 100%;
}



.photoCarousel .photo {
	display: block;
	width: 100%;
	height: 280px;
	overflow: hidden;
}

.photoCarousel .photo img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}



.photoCarousel .owl-nav {
	position: static;
	margin: 0;
}



.photoCarousel .owl-nav button.owl-prev,
.photoCarousel .owl-nav button.owl-next {
	position: absolute;
	z-index: 5;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 60px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: #072039 !important;
	color: #fff !important;
	font-size: 24px !important;
	line-height: 1;
	transform: translateY(-50%);
	transition:
		background-color 0.25s ease,
		color 0.25s ease;
}



.photoCarousel .owl-nav button.owl-prev {
	left: 5px;
}



.photoCarousel .owl-nav button.owl-next {
	right: 5px;
}



.photoCarousel .owl-nav button.owl-prev:hover,
.photoCarousel .owl-nav button.owl-next:hover,
.photoCarousel .owl-nav button.owl-prev:focus,
.photoCarousel .owl-nav button.owl-next:focus {
	background: #e5ee29 !important;
	color: #072039 !important;
}

.photoCarousel .owl-nav button.owl-prev:focus-visible,
.photoCarousel .owl-nav button.owl-next:focus-visible {
	outline: 3px solid #e5ee29;
	outline-offset: 3px;
}


.photoCarousel .owl-nav button.disabled {
	opacity: 0.35;
	cursor: default;
}

.photoCarousel .photo {
	position: relative;
	cursor: zoom-in;
}

.photoCarousel .photo::after {
	content: "\f00e";
	position: absolute;
	right: 15px;
	bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(7, 32, 57, 0.85);
	color: #fff;
	font-family: "Font Awesome 6 Pro";
	font-size: 17px;
	font-weight: 300;
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.photoCarousel .photo:hover::after,
.photoCarousel .photo:focus-visible::after {
	opacity: 1;
	transform: translateY(0);
}


/* =========================================================
   TESTIMONIAL CAROUSEL
========================================================= */

.testimonialCarousel {
	position: relative;
	overflow: hidden;
	padding: 0 0 80px !important;
	color: #072f68;
	margin-top: -10px;
	height: 500px;
	display: flex;
	justify-content: center;
}

.testimonialCarousel .row {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
}



.testimonialCarousel-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 500px;
}

.testimonialCarousel-heading h2 {
	display: block;
	float: none !important;
	width: 100%;
	max-width: 370px;
	margin: 0;
	padding: 0;
	color: #194d91;
	font-family: cc-spaghetti-western-script, sans-serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.05;
	text-align: left;
	text-transform: none;
	transform: none;
}


.testimonialCarousel-content {
	position: relative;
}

.testimonialCarousel .owl-carousel {
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
}



.testimonialCarousel .testimonialCarousel-text {
	margin: 0;
	color: #072039;
	font-size: 24px;
	font-weight: 400;
	line-height: 30px;
}


.testimonialCarousel .testimonialCarousel-text p {
	display: inline;
	margin: 0;
}



.testimonialCarousel .testimonialCarousel-attribution {
	display: block;
	margin-top: 20px;
}

.testimonialCarousel .testimonialCarousel-name {
	display: block;
	margin: 0;
	color: #194d91;
	font-family: cc-spaghetti-western-script;
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
	margin-left: 10px;
}

.testimonialCarousel .testimonialCarousel-details {
	display: block;
	margin-top: 5px;
	color: #194d91;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	margin-left: 10px;
}



.testimonialCarousel .owl-theme .owl-nav.disabled + .owl-dots {
	margin-top: 24px;
	text-align: left;
}

.testimonialCarousel .owl-theme .owl-dots {
	margin-top: 24px;
	text-align: left;
}

.testimonialCarousel .owl-theme .owl-dots .owl-dot {
	margin: 0;
	padding: 5px 3px !important;
}

.testimonialCarousel .owl-theme .owl-dots .owl-dot span {
	display: block;
	width: 11px;
	height: 11px;
	margin: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.9);
	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.testimonialCarousel .owl-theme .owl-dots .owl-dot.active span,
.testimonialCarousel .owl-theme .owl-dots .owl-dot:hover span {
	background-color: #0754a3;
	transform: scale(1.1);
}

.testimonialCarousel .owl-theme .owl-dots .owl-dot:focus-visible {
	outline: 2px solid #0754a3;
	outline-offset: 2px;
}



.testimonialCarousel .owl-stage-outer {
	cursor: grab;
}

.testimonialCarousel .owl-stage-outer:active {
	cursor: grabbing;
}

.testimonialCarousel-wave {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 90px;
	pointer-events: none;
}

.testimonialCarousel-wave svg {
	display: block;
	width: 100%;
	height: 100%;
}


/* =========================================================
   SHARED SIDE-IMAGE COMPONENT STYLES
========================================================= */

.navy-btn a, .navy-btn {
    background-color: #194d91;
    color: #d6e264;
    padding: 12px 30px;
    border-radius: 100px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 1px;
}

.page-id-7 .navy-btn {
    font-size: 16px;
}

.page-id-7 .navy-btn a {
    font-size: 15px;
}

/*.homepage-amenities a {
    background-color: #194d91;
    color: #d6e264;
    padding: 12px 30px;
    border-radius: 100px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    font-size: 16px;
}*/

.outro-buttons .green-btn:hover {
    background-color: #fff !important;
}

.menu-item-22.current_page_item:hover {
    background-color: #fff !important;
}

.sideImg__text-block {
    padding: 60px 90px;
    color: #072039;
    display: flex;
    flex-direction:column;
    min-height: 500px;
    justify-content: center;

}

.wrapper.sideImg.Right .sideImg__text-block {
    float: right;
}

/*.wrapper.sideImg.Left .sideImg__text-block {
    margin-left: 50px;
}*/

.sideImg__text-block h3{
    margin-bottom: 40px;
    font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 38px;
    font-weight: 300;
    line-height: 40px;
}

.sideImg__text-block ul {
	margin-left: 0;
	margin-bottom: 30px;
	padding-left: 0;
	list-style: none;
}

.sideImg__text-block li {
	position: relative;
	padding-left: 22px;
	padding-bottom: 10px;
}

.sideImg:has(.vacation) h3 {
    margin-top: 50px;
}

.sideImg__text-block li::before {
	content: '\276F';
	position: absolute;
	top: -2px;
	left: 2px;
	color: #d6e264;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}


/* =========================================================
   INTERIOR-PAGE SIDE IMAGE SECTIONS
========================================================= */

.page-id-7 .wrapper.sideImg .side-image {
    position: relative;
    max-height: 500px;
    object-position: center top;
}

.wrapper.sideImg {
	height: auto;
}

.wrapper.sideImg .row {
	display: flex;
	align-items: stretch;
}

.wrapper.sideImg .large-5 {
	position: relative;
	padding: 0;
	min-height: 0;
	overflow: hidden;
}

.wrapper.sideImg .side-image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

/*body.page:not(.page-id-7) .wrapper.sideImg {
	height: auto;
	max-height: none;
	overflow: visible;
}

.wrapper.sideImg .row {
	display: flex;
	align-items: stretch;
}

body.page:not(.page-id-7) .wrapper.sideImg .large-5,
body.page:not(.page-id-7) .wrapper.sideImg .large-7 {
	float: none;
}

body.page:not(.page-id-7) .wrapper.sideImg .large-5 {
	display: flex;
	padding: 0;
}*/

/*body.page:not(.page-id-7) .wrapper.sideImg .side-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}*/

/*body.page:not(.page-id-7) .wrapper.sideImg .large-7 {
	display: flex;
	align-items: center;
	flex-direction: column;
}*/

/*body.page:not(.page-id-7) .sideImg__text-block {
	width: 100%;
	max-width: 700px;
	margin: 50px auto;
	padding: 30px;
	color: #072039;
}*/

/*body.page:not(.page-id-7) .sideImg__text-block h3 {
	margin-bottom: 40px;
	font-family: cc-spaghetti-western-script, sans-serif;
	font-size: 38px;
	font-weight: 300;
	line-height: 40px;
}*/


/* =========================================================
   INTERIOR PAGE HERO
========================================================= */

.interiorHero {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 500px;
	overflow: hidden;
	background-color: #072039;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}



.interiorHero::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(3, 22, 48, 0.8) 0%,
			rgba(3, 22, 48, 0.55) 50%,
			rgba(3, 22, 48, 0.25) 100%
		);
	pointer-events: none;
}



.interiorHero .interiorHero-row {
	position: relative;
	z-index: 1;
	width: 100%;
	margin-top: 80px;
}

.interiorHero .interiorHero-title {
	margin: 0 auto;
	padding: 0;
	max-width: 1200px;
	align-self: center;
	color: #fff;
	font-size: 80px;
	font-weight: 400;
	line-height: 90px;
	text-align: center;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}



.interiorHero.no-image {
	min-height: 300px;
	background-color: #072039;
}

.interiorHero.no-image::before {
	display: none;
}


/* =========================================================
   HEADER OVER HERO IMAGE
========================================================= */

header.overlayHeader {
	position: absolute;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	padding-bottom: 80px;
	background:
		linear-gradient(
			to bottom,
			rgba(3, 15, 29, 0.95) 0%,
			rgba(3, 15, 29, 0.78) 45%,
			rgba(3, 15, 29, 0.35) 75%,
			rgba(3, 15, 29, 0) 100%
		);
}

header.overlayHeader .row {
	position: relative;
	z-index: 2;
}



header.overlayHeader nav a {
	color: #fff;
}

header.overlayHeader nav a:hover,
header.overlayHeader nav a:focus,
header.overlayHeader nav .current-menu-item > a {
	color: #8dc4e3;
}


/* =========================================================
   ABOUT PAGE
========================================================= */


.page-id-12 h2 {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 48px;
    line-height: 50px;
    margin-bottom: 40px;
    color: #194d91;
}

.outro-buttons {
    display: flex;
    justify-content: center;
    padding: 30px;
}

.about-page-outro p {
    font-size: 18px;
}


.outro-buttons a {
    margin: 0 15px;
    font-size: 14px;
}

.resort-enhancements ul {
	margin: 20px 0 25px;
	padding: 0;
	list-style: none;
}

.resort-enhancements ul li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 30px;
	line-height: 1.4;
}

.resort-enhancements ul li::before {
	content: "\f005";
	position: absolute;
	top: 2px;
	left: 0;
	color: #d6e264;
	font-family: "Font Awesome 6 Pro";
	font-size: 16px;
	font-weight: 900;
	text-shadow: 0 1px 2px rgba(7, 32, 57, 0.3);
}

.resort-enhancements h3 {
    text-align: center;
    margin-bottom: 40px;
    font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 40px;
    font-weight: 100;
    line-height: 45px;
    color: #072039;
}

.resort-enhancements {
/*    max-width: 700px;
    margin-top: 60px;*/
}

.resort-enhancements__disclaimer {
    font-size: 14px;
    line-height: 16px;
    font-style: italic;
    margin-bottom: 0px
    
}

.wrapper:has(.resort-enhancements__disclaimer) {
    padding: 20px !important;
}


/* =========================================================
   ABOUT PAGE PHOTO CAROUSEL
========================================================= */

.page-id-12 .photoCarousel {
	position: relative;
	width: 100%;
	max-width: 100%;
	padding-right: 0 !important;
	padding-left: 0 !important;
	overflow: hidden;
	box-sizing: border-box;
}

.page-id-12 .photoCarousel .owl-carousel {
	position: relative;
	width: 100%;
	max-width: 100%;
}

.page-id-12 .photoCarousel .owl-stage-outer {
	width: 100%;
	overflow: hidden;
}

.page-id-12 .photoCarousel .owl-stage {
	display: flex;
}

.page-id-12 .photoCarousel .owl-item {
	display: flex;
	height: auto;
}

.page-id-12 .photoCarousel .item {
	display: flex;
	width: 100%;
	height: 100%;
}

.page-id-12 .photoCarousel .photo {
	display: block;
	width: 100%;
	height: 280px;
	overflow: hidden;
}

.page-id-12 .photoCarousel .photo img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}



.page-id-12 .photoCarousel .owl-nav {
	position: static;
	display: block !important;
	height: 0;
	margin: 0;
}

.page-id-12 .photoCarousel .owl-nav button.owl-prev, .page-id-12 .photoCarousel .owl-nav button.owl-next {
	position: absolute;
	z-index: 10;
	top: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	visibility: visible;
	width: 44px;
	height: 60px;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: 24px !important;
	line-height: 1;
	background: #072039 !important;
	border: 0;
	border-radius: 0;
	opacity: 1;
	transform: translateY(-50%);
	pointer-events: auto;
}

.page-id-12 .photoCarousel .owl-nav button.owl-prev {
	left: 0;
}

.page-id-12 .photoCarousel .owl-nav button.owl-next {
	right: 0;
}

.page-id-12 .photoCarousel .owl-nav button.owl-prev:hover, .page-id-12 .photoCarousel .owl-nav button.owl-next:hover, .page-id-12 .photoCarousel .owl-nav button.owl-prev:focus, .page-id-12 .photoCarousel .owl-nav button.owl-next:focus {
	color: #072039 !important;
	background: #e5ee29 !important;
}

.page-id-12 .photoCarousel .owl-nav button.owl-prev:focus-visible, .page-id-12 .photoCarousel .owl-nav button.owl-next:focus-visible {
	outline: 3px solid #e5ee29;
	outline-offset: 3px;
}



.page-id-12 .photoCarousel .owl-nav.disabled {
	display: block !important;
}


/* =========================================================
   RESORT LIFE PAGE
========================================================= */

.page-id-14 .fullWidth h2 {
    color: #194d91;
}

.page-id-14 .fullWidth p {
    color: #072039;
}


/* =========================================================
   RESORT LIFE CONTENT GRID
========================================================= */

.page-id-14 .contentGrid-items::before,
.page-id-14 .contentGrid-items::after {
	display: none !important;
	content: none !important;
}

.page-id-14 .contentGrid {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.page-id-14 .contentGrid-header {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}

.page-id-14 .contentGrid-title {
	float: none !important;
	width: 100%;
	margin: 0 0 30px;
	color: #072039;
	text-align: center;
}

.page-id-14 .contentGrid-intro {
	max-width: 850px;
	margin: 0 auto 55px;
	color: #072039;
	text-align: center;
}

.page-id-14 .contentGrid-intro p {
	font-size: 18px;
}




.page-id-14 .contentGrid-items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 30px;
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
	padding: 0 35px;
}

.page-id-14 .contentGrid-item {
	float: none;
	width: auto !important;
	padding: 0;
}




.page-id-14 .contentGrid-item-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 24px;
	background-color: #fff;
	box-shadow: 0 12px 30px rgba(3, 22, 48, 0.18);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.page-id-14 .contentGrid-item-inner:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(3, 22, 48, 0.28);
}




.page-id-14 .contentGrid-item-inner img {
	display: block;
	order: 1;
	width: 100%;
	height: 270px;
	margin: 0;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.page-id-14 .contentGrid-item-inner:hover img {
	transform: scale(1.04);
}


.page-id-14 .contentGrid-item-inner > p:has(img) {
	order: 1;
	height: 270px;
	margin: 0;
	overflow: hidden;
}

.page-id-14 .contentGrid-item-inner > p:has(img) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}




.page-id-14 .contentGrid-item-inner h3 {
	position: absolute;
	z-index: 2;
	top: 220px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 36px);
	min-height: 82px;
	margin: 0;
	padding: 14px 24px;
	border-radius: 48px 0 48px 0;
	background-color: rgba(214, 226, 100, 0.92);
	color: #072039;
	font-family: avenir-lt-pro, sans-serif;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.05;
	text-align: center;
}




.page-id-14 .contentGrid-item-inner > p:not(:has(img)) {
	order: 2;
	flex-grow: 1;
	margin: 0;
	padding: 58px 28px 30px;
	color: #072039;
	font-size: 17px;
	line-height: 1.5;
	text-align: center;
}




.page-id-14 .contentGrid-item-inner ul {
	order: 2;
	flex-grow: 1;
	margin: 0;
	padding: 34px 28px 30px 50px;
	color: #072039;
}


/* ========================================
   VACATION HOME LISTINGS
======================================== */

.vacation-homes-listings {
	padding: 30px 90px;
}

.vacation-homes-listings > .row {
	width: 100%;
	max-width: 1380px;
	margin-right: auto;
	margin-left: auto;
}

.vacation-homes-intro .fullWidth h3 {
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 30px;
    color: #194d91;
}

.vacation-homes-intro p, .vacation-homes-intro .sideImg p {
    font-size: 18px;
    line-height: 24px;
}

.vacation-homes-listings h2:not(.vacation-homes-grid h2) {
    color: #194d91;
}

.vacation-homes-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 35px;
	width: 100%;
}

.vacation-home-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background-color: #a9cde3;
	border-radius: 28px;
	box-shadow: 0 12px 35px rgba(7, 32, 57, 0.12);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.vacation-home-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 45px rgba(7, 32, 57, 0.18);
}

.vacation-home-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background-color: #e7e7e7;
}

.vacation-home-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.vacation-home-card:hover .vacation-home-card-image img {
	transform: scale(1.04);
}

.vacation-home-card-placeholder {
	width: 100%;
	height: 100%;
	background-color: #e7e7e7;
}

.vacation-home-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	padding: 30px 25px 35px;
	text-align: center;
}

.vacation-home-card-title {
	margin: 0 0 15px;
	color: #072039;
	font-size: clamp(25px, 2vw, 32px);
	line-height: 1.15;
	text-align: center;
}

.vacation-home-card-title a {
	color: inherit;
	text-decoration: none;
}

.vacation-home-card-details {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	margin-bottom: 18px;
	color: #52616f;
	font-size: 16px;
	text-align: center;
}

.vacation-home-card-details span {
	display: inline-flex;
	align-items: center;
}

.vacation-home-card-details span:not(:last-child)::after {
	margin-left: 14px;
	content: "\2022";
}

.vacation-home-card-price {
	margin: auto 0 22px;
	color: #072039;
	font-size: 25px;
	font-weight: 700;
	text-align: center;
}

.vacation-home-card-button {
	margin: 0;
	background-color: #fff;
    padding: 12px 30px;
    border-radius: 100px;
    text-decoration: none;
    color: #194d91;
    text-transform: uppercase;
    font-weight: 700;
    font-family: avenir-lt-pro, sans-serif;
}

.vacation-home-card-button:hover {
    background-color: #194d91;
    color: #fff;
}

.vacation-homes-empty {
	margin: 0;
	text-align: center;
}


.listings-visit-tour {
    padding: 100px;
    text-align: center;
    background-color: #194d91;
    color: #fff;
    margin-top: 50px;
}

.listings-visit-tour p {
    margin-bottom: 40px;
}

.listings-visit-tour a {
    background-color: #d6e264;
    padding: 12px 30px;
    border-radius: 100px;
    text-decoration: none;
    text-transform: uppercase;
    color: #194d91;
    font-weight: 700;
}

.listings-visit-tour a:hover {
    background-color: #ffffff;
}

.listings-visit-tour p, .listings-visit-tour a {
    font-family: avenir-lt-pro, sans-serif;
    font-size: 18px;
}

.listings-visit-tour h3 {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 38px;
    font-weight: 100;
}

.fine-print {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 12px;
    text-align: center;
}

.fine-print p {
    margin-bottom: 30px !important;
}

@media (max-width: 460px) {
    .listings-visit-tour {
        padding: 20px 20px 50px;
    }
    .listings-visit-tour h3 {
        font-size: 32px;
        line-height: 40px;
    }
	
	.fine-print p {
		padding: 10px;
	}
	
	.vacation-homes-listings h2:not(.vacation-homes-grid h2) {
		margin: 20px !important;
	}
}


/* ========================================
   VACATION HOME MAIN IMAGE
======================================== */


.vacation-home-main-image {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 10;
	margin: 0 0 45px;
	background-color: #dfe7eb;
	border-radius: 28px;
	box-shadow: 0 12px 35px rgba(7, 32, 57, 0.12);
}

.vacation-home-main-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.vacation-home-main-image-overlay {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 30px;
	background-color: rgba(7, 32, 57, 0);
	opacity: 0;
	transition:
		background-color 0.3s ease,
		opacity 0.3s ease;
	inset: 0;
}

.vacation-home-main-image:hover img,
.vacation-home-main-image:focus img {
	transform: scale(1.03);
}

.vacation-home-main-image:hover .vacation-home-main-image-overlay,
.vacation-home-main-image:focus .vacation-home-main-image-overlay {
	background-color: rgba(7, 32, 57, 0.5);
	opacity: 1;
}


/* ========================================
   SINGLE VACATION HOME
======================================== */

.single-vacation_home {
	color: #072039;
}



.single-vacation_home .vacation-home-hero {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(380px, 42vw, 600px);
	background-position: center;
	background-size: cover;
	text-align: center;
}

.single-vacation_home .vacation-home-hero .interiorHero-row {
	width: 100%;
}

.single-vacation_home .vacation-home-hero .interiorHero-title {
	max-width: 1300px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 30px;
	padding-left: 30px;
	color: #fff;
	text-align: center;
}

.single-vacation_home .fine-print {
    margin-top: 30px;
}

/* ========================================
   MAIN LISTING LAYOUT
======================================== */

.vacation-home-overview {
	padding: 80px 30px;
	background-color: #fff;
}

.vacation-home-overview > .row {
	display: flex;
	align-items: flex-start;
	gap: clamp(45px, 6vw, 90px);
	width: 100%;
	max-width: 1300px;
	margin-right: auto;
	margin-left: auto;
}

.vacation-home-overview .vacation-home-main,
.vacation-home-overview .vacation-home-sidebar {
	float: none;
	padding: 0;
}

.vacation-home-main {
	flex: 1 1 auto;
	min-width: 0;
}



.vacation-home-back-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 35px;
	color: #1e5fa8;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: gap 0.25s ease;
}

.vacation-home-back-link:hover,
.vacation-home-back-link:focus {
	gap: 15px;
	color: #072039;
}

.vacation-home-description h3 {
    font-size: 22px;
    margin-bottom: 35px;
}

.vacation-home-description {
	margin-bottom: 55px;
}

.vacation-home-description h2 {
    margin-bottom: 45px;
    color: #1766aa;
}

.vacation-home-description p {
	color: #425467;
	font-size: 18px;
	line-height: 1.8;
}

/* ========================================
   AMENITIES
======================================== */

/* VACATION HOME SIDEBAR */
.vacation-home-sidebar {
	padding-left: 45px;
}

.vacation-home-details-card {
	width: 100%;
	margin: 0 0 35px;
	padding: 30px;
	color: #fff;
	background: #072039;
	border-radius: 25px;
	box-shadow: 0 15px 35px rgba(7, 32, 57, 0.15);
}

.vacation-home-availability {
	display: table;
	margin: 0 auto 15px;
	padding: 6px 18px;
	color: #072039;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	background: #fff;
	border-radius: 30px;
}

.vacation-home-price {
	margin: 0 0 25px;
	text-align: center;
}

.vacation-home-price-label {
	display: block;
	margin: 0 0 3px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.vacation-home-price strong {
	display: block;
	color: #d6e264;
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
}

.vacation-home-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 0 30px;
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

/*.vacation-home-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	padding: 0 8px;
	color: #fff;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}*/

.vacation-home-stat:last-child {
	border-right: 0;
}

.vacation-home-stat .fa-solid {
	margin: 0 0 6px;
	color: #fff;
	font-size: 18px;
}

.vacation-home-stat strong {
	display: block;
	margin: 0 0 2px;
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.vacation-home-stat span:last-child {
	display: block;
	color: #fff;
	font-size: 11px;
	line-height: 1.25;
}

.vacation-home-amenities {
	margin: 0 0 30px;
	padding: 0 0 30px;
	color: #fff;
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0;
}

.vacation-home-amenities h2,
.vacation-home-details h2 {
	margin: 0 0 20px;
	color: #fff;
	text-align: center;
}

.vacation-home-amenities-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vacation-home-amenities-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
}

.vacation-home-amenities-list li .fa-solid {
	display: flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #072039;
	font-size: 11px;
	background: #d6e264;
	border-radius: 50%;
}

.vacation-home-details {
	margin: 0;
}

.vacation-home-details-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 25px;
	margin: 0;
}

.vacation-home-detail {
	margin: 0;
}

.vacation-home-detail dt {
	margin: 0 0 3px;
	color: #d6e264;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.vacation-home-detail dd {
	margin: 0;
	color: #fff;
	font-size: 15px;
	line-height: 1.35;
}

.vacation-home-financing-card {
	width: 100%;
	margin: 0 0 20px;
	padding: 30px 32px;
	color: #072039;
	background: #f0f4f6;
	border-radius: 25px;
}

.vacation-home-financing-card h2 {
	margin: 0 0 15px;
	color: #072039;
	text-align: center;
}

.vacation-home-payment-summary {
	margin: 0 0 22px;
	padding: 0 0 20px;
	color: #072039;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	border-bottom: 1px solid rgba(7, 32, 57, 0.15);
}

.vacation-home-payment-summary strong {
	color: #072039;
}

.vacation-home-financing-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 25px;
	margin: 0;
}

.vacation-home-financing-detail {
	margin: 0;
}

.vacation-home-financing-detail dt {
	margin: 0 0 3px;
	color: #1766aa;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.vacation-home-financing-detail dd {
	margin: 0;
	color: #072039;
	font-size: 15px;
	line-height: 1.35;
}

.vacation-home-sidebar-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.vacation-home-sidebar-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 22px;
	color: #072039;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	background: #d6e264;
	border: 0;
	border-radius: 30px;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.vacation-home-sidebar-button:hover,
.vacation-home-sidebar-button:focus {
	color: #072039;
	background: #8abbd9;
	transform: translateY(-2px);
	text-decoration: none;
}

.vacation-home-sidebar-button .fa-solid {
	margin-left: 15px;
	font-size: 14px;
}

.vacation-home-accordion .collapseRow {
	margin: -15px 0 5px;
	padding: 25px;
	background: #f0f4f6;
	border-radius: 0 0 20px 20px;
}

.vacation-home-accordion .title.is-open {
	border-radius: 20px 20px 0 0;
}

.vacation-home-accordion .title .fa-solid {
	transition: transform 0.25s ease;
}

.vacation-home-accordion .title.is-open .fa-solid {
	transform: rotate(180deg);
}

/* MORTGAGE CALCULATOR */
#mortgagecalc_wrapper {
	width: 100%;
	color: #072039;
}

#mortgagecalc_wrapper .row {
	display: flex;
	flex-wrap: wrap;
	width: auto;
	margin-right: -8px;
	margin-left: -8px;
}

#mortgagecalc_wrapper .columns {
	padding-right: 8px;
	padding-left: 8px;
}

#mortgagecalc_wrapper label {
	display: block;
	margin: 0 0 6px;
	color: #072039;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#mortgagecalc_wrapper input[type="text"] {
	display: inline-block;
	width: calc(100% - 14px);
	height: 42px;
	margin: 0 0 18px;
	padding: 8px 10px;
	color: #072039;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.2;
	background: #fff;
	border: 1px solid rgba(7, 32, 57, 0.2);
	border-radius: 8px;
	box-shadow: none;
}

#mortgagecalc_wrapper input[type="text"]:focus {
	border-color: #1766aa;
	box-shadow: 0 0 0 2px rgba(23, 102, 170, 0.12);
	outline: 0;
}

#mortgagecalc_wrapper input[type="text"]:disabled {
	color: #536270;
	background: transparent;
	border-color: transparent;
	cursor: not-allowed;
	opacity: 1;
	letter-spacing: 1px;
}

#mortgagecalc_wrapper .button_wrapper {
	margin: 5px 0 25px;
	text-align: center;
}

#mortgagecalc_wrapper #calc {
	display: inline-block;
	min-width: 160px;
	margin: 0;
	padding: 12px 25px;
	color: #072039;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	background: #d6e264;
	border: 0;
	border-radius: 30px;
	cursor: pointer;
	transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

#mortgagecalc_wrapper #calc:hover,
#mortgagecalc_wrapper #calc:focus {
	background: #8abbd9;
	transform: translateY(-2px);
}

#mortgagecalc_wrapper .totalWrap {
	margin: 0 0 20px;
	padding: 22px;
	color: #fff;
	background: #072039;
	border-radius: 18px;
}

#mortgagecalc_wrapper .totalWrap h4 {
	margin: 0 0 15px;
	color: #fff;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

#mortgagecalc_wrapper .total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

#mortgagecalc_wrapper .total:last-child {
	border-bottom: 0;
}

#mortgagecalc_wrapper .total label {
	margin: 0;
	color: #fff;
	font-size: 12px;
}

#mortgagecalc_wrapper .total span {
	color: #d8e958;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

#mortgagecalc_wrapper .note {
	margin: 0;
	text-align: center;
}

#mortgagecalc_wrapper .note p {
	margin: 0;
	color: #536270;
	font-size: 12px;
	line-height: 1.5;
}

#mortgagecalc_wrapper .note em {
	font-style: italic;
}


/* 600PX */
@media screen and (max-width: 600px) {

	#mortgagecalc_wrapper .row {
		display: block;
		margin-right: 0;
		margin-left: 0;
	}

	#mortgagecalc_wrapper .columns {
		float: none;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}

	#mortgagecalc_wrapper input[type="text"] {
		width: calc(100% - 14px);
	}

	#mortgagecalc_wrapper #calc {
		width: 100%;
	}

	#mortgagecalc_wrapper .total {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

}




/* 1080PX */
@media screen and (max-width: 1080px) {

	.vacation-home-sidebar {
		padding-left: 25px;
	}

	.vacation-home-details-card,
	.vacation-home-financing-card {
		padding: 28px 24px;
	}

	.vacation-home-price strong {
		font-size: 36px;
	}

	.vacation-home-amenities-list,
	.vacation-home-details-list,
	.vacation-home-financing-list {
		grid-template-columns: 1fr;
	}

}


/* 960PX */
@media screen and (max-width: 960px) {

	.vacation-home-main,
	.vacation-home-sidebar {
		float: none;
		width: 100%;
	}

	.vacation-home-sidebar {
		margin-top: 40px;
		padding-left: 0;
	}

	.vacation-home-details-card,
	.vacation-home-financing-card,
	.vacation-home-sidebar-buttons {
		max-width: 600px;
		margin-right: auto;
		margin-left: auto;
	}

	.vacation-home-amenities-list,
	.vacation-home-details-list,
	.vacation-home-financing-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* 600PX */
@media screen and (max-width: 600px) {

	.vacation-home-details-card,
	.vacation-home-financing-card {
		padding: 28px 22px;
		border-radius: 20px;
	}

	.vacation-home-price strong {
		font-size: 34px;
	}

	.vacation-home-stats {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.vacation-home-stat {
		padding: 0 0 18px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.vacation-home-stat:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.vacation-home-amenities-list,
	.vacation-home-details-list,
	.vacation-home-financing-list {
		grid-template-columns: 1fr;
	}

}

.vacation-home-main-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

.vacation-home-main-stats .vacation-home-stat {
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	justify-content: center;
	column-gap: 9px;
	padding: 8px 15px;
	color: #072039;
	background: #8abbd9;
	border: 0;
	border-radius: 30px;
}

.vacation-home-main-stats .vacation-home-stat .fa-solid {
	grid-row: 1 / 3;
	margin: 0;
	color: #072039;
	font-size: 17px;
}

.vacation-home-main-stats .vacation-home-stat strong {
	margin: 0;
	color: #072039;
	font-size: 17px;
	line-height: 1;
	text-align: left;
}

.vacation-home-main-stats .vacation-home-stat span:last-child {
	color: #072039;
	font-size: 12px;
	line-height: 1.2;
	text-align: left;
}



/* ========================================
   PHOTO GALLERY
======================================== */

/* Vacation Home Photo Carousel Navigation */
.vacationHomePhotoCarousel {
	position: relative;
}

.vacationHomePhotoCarousel .owl-nav {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 0;
	margin: 0;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 10;
}

.vacationHomePhotoCarousel .owl-nav button.owl-prev,
.vacationHomePhotoCarousel .owl-nav button.owl-next {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	background-color: rgba(7, 32, 57, 0.55) !important;
	color: #fff !important;
	font-size: 20px !important;
	line-height: 1;
	transform: translateY(-50%);
	transition:
		background-color 0.2s ease,
		opacity 0.2s ease;
	pointer-events: auto;
	opacity: 0.75;
}

.vacationHomePhotoCarousel .owl-nav button.owl-prev {
	left: 20px;
}

.vacationHomePhotoCarousel .owl-nav button.owl-next {
	right: 20px;
}

.vacationHomePhotoCarousel .owl-nav button:hover,
.vacationHomePhotoCarousel .owl-nav button:focus {
	background-color: rgba(7, 32, 57, 0.85) !important;
	opacity: 1;
}

.vacationHomePhotoCarousel .owl-nav button.disabled {
	opacity: 0.25;
	cursor: default;
}

.vacation-home-gallery-section {
	padding: 80px 30px 100px;
	background-color: #f1f5f7;
}

.vacation-home-gallery-section > .row {
	width: 100%;
	max-width: 1400px;
	margin-right: auto;
	margin-left: auto;
}

.vacation-home-gallery-heading {
	margin-bottom: 35px;
	text-align: center;
}

.vacation-home-gallery-heading h2 {
	margin-bottom: 0;
}

.vacation-home-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

.vacation-home-gallery-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background-color: #dfe7eb;
	border-radius: 24px;
	box-shadow: 0 8px 25px rgba(7, 32, 57, 0.1);
}

.vacation-home-gallery-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.vacation-home-gallery-image:hover img,
.vacation-home-gallery-image:focus img {
	transform: scale(1.05);
}

/* ========================================
   BOTTOM CTA
======================================== */

.vacation-home-bottom-cta {
	padding: 90px 30px;
	background-color: #8abbd9;
}

.vacation-home-bottom-cta > .row {
	width: 100%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

.vacation-home-bottom-cta-content {
	padding: clamp(45px, 7vw, 80px);
	color: #fff;
	background-color: #1e5fa8;
	border-radius: 35px;
	box-shadow: 0 18px 45px rgba(7, 32, 57, 0.16);
	text-align: center;
}

.vacation-home-bottom-cta-content h2 {
	max-width: 800px;
	margin: 0 auto 20px;
	color: #fff;
}

.vacation-home-bottom-cta-content p {
	max-width: 700px;
	margin: 0 auto 30px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 18px;
	line-height: 1.7;
}

.vacation-home-bottom-cta-content .button {
	margin: 5px;
	border: 2px solid #fff;
	border-radius: 100px;

}

.vacation-home-bottom-cta-content .button:not(.secondary) {
	color: #1e5fa8;
	background-color: #fff;
	padding: 12px 30px;
	text-decoration: none;
}

.vacation-home-bottom-cta-content .button:not(.secondary):hover,
.vacation-home-bottom-cta-content .button:not(.secondary):focus {
	color: #fff;
	background-color: #072039;
	border-color: #072039;
}

.vacation-home-bottom-cta-content .button.secondary {
	color: #fff;
	background-color: transparent;
	padding: 12px 30px;
	text-decoration: none;


}

.vacation-home-bottom-cta-content .button.secondary:hover,
.vacation-home-bottom-cta-content .button.secondary:focus {
	color: #072039;
	background-color: #fff;
}


/* ========================================
   VACATION HOME THUMBNAILS
======================================== */

.vacation-home-thumbnails-section {
	margin-top: 40px;
}

.vacation-home-thumbnails-section h2 {
	margin: 0 0 20px;
	color: #072039;
	text-align: center;
}

.vacation-home-thumbnails {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.vacation-home-thumbnail {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background-color: #dfe7eb;
	border-radius: 14px;
}

.vacation-home-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.vacation-home-thumbnail-overlay {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 20px;
	background-color: rgba(7, 32, 57, 0);
	opacity: 0;
	transition:
		background-color 0.3s ease,
		opacity 0.3s ease;
	inset: 0;
}

.vacation-home-thumbnail:hover img,
.vacation-home-thumbnail:focus img {
	transform: scale(1.08);
}

.vacation-home-thumbnail:hover .vacation-home-thumbnail-overlay,
.vacation-home-thumbnail:focus .vacation-home-thumbnail-overlay {
	background-color: rgba(7, 32, 57, 0.6);
	opacity: 1;
}


/* =========================================================
   CONTACT PAGE
========================================================= */

.page-id-18 .wrapper.twoCol.normal {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.page-id-18 .gform_title {
    display: none;
}

.page-id-18 h3 {
    font-family: cc-spaghetti-western-script, sans-serif;
    font-size: 36px;
    font-weight: 200;
    margin-bottom: 30px;
    line-height: 40px;
    color: #194d91;
}

.page-id-18 .gform-field-label {
    font-family: avenir-lt-pro, sans-serif !important;
    font-size: 16px !important;
}

.page-id-18 .gform_wrapper {
    margin-top: 40px;
}

.page-id-18 iframe {
	display: block;
	width: 95%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	margin-top: 40px;
	border: 0;
	border-radius: 10px;
}

.gfield_required_text:before {
    content: '*';
    color: red;
    font-size: 16px;
}

.gfield_required_text {
    font-size: 0px !important;
}

.req-asterisk {
    color: red;
}

.required-details p {
    font-size: 14px;
}


.menu-item-22.current-menu-item a {
    color: #194d91 !important;
}

.menu-item-22.current_page_item {
    background-color: #8abbd9 !important;
}


.gform_button {
    border-radius: 100px !important;
    align-self: center !important;
    background-color: #d6e264 !important;
    color: #194d91 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: avenir-lt-pro, sans-serif !important;
    padding: 12px 30px !important;
}

.gform_button:hover {
    background-color: #194d91 !important;
    color: #d6e264 !important
}


.gform-footer {
    justify-content: center !important;
}

label.gform-field-label.gform-field-label--type-sub {
    text-align: left;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
    text-align: left;
}



/* =Photo Gallery
-------------------------------------------------------------- */
ul.collapseRow li,
ul.staticGal li {
	padding: 0 10px 10px 0px !important;
}

a.photo {
	display: block;
	height: auto;
	width: 100%;
	text-align: center;
	vertical-align: middle;
	position: relative;
}

a.photo img {
	margin: auto;
	width: 100%;
}

.accordianWrap h2.title {
	border-bottom: 3px solid #6A933B;
	position: relative;
	padding-bottom: 5px;
	padding-right: 45px;
}

.accordianWrap h2.title:hover {
	border-bottom: 3px solid #2174A1;
	cursor: pointer;
	color: #6A933B;
}

.accordianWrap h2.title:after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 0px;
	font-size: 30px;
	color: #666666;
	padding-left: 10px;
}

.accordianWrap h2.title.open:after {
	content: '-';
}

/* =Clearfix
-------------------------------------------------------------- */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.clearfix { 
	display: inline-block; 
}

* html .clearfix { 
	height: 1%; 
}

.clearfix { 
	display: block; 
}

/* =Auxiliary Pages
-------------------------------------------------------------- */
body.search .entry-utility,
body.search .entry-meta {
	display: none;
}

body.blog .row.pagination {
	padding: 15px 0;
}

body.blog .row.pagination .columns {
	text-align: center;
}

/* =Images
-------------------------------------------------------------- */
.main img,
.entry-content img {
	margin: 0;
	max-width: 100%;
}

.main .alignleft,
.main img.alignleft {
	display: inline;
	float: left;
	margin-right: 24px;
	margin-top: 4px;
}

.main .alignright,
.main img.alignright {
	display: inline;
	float: right;
	margin-left: 24px;
	margin-top: 4px;
}

.main .aligncenter,
.main img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.main img.alignleft,
.main img.alignright,
.main img.aligncenter {
	margin-bottom: 12px;
}

/* =Gutenberg Styles
-------------------------------------------------------------- */
.wp-block-image {
	text-align: center;
}


/* =Widget Areas
-------------------------------------------------------------- */
.widget-area ul {
	list-style: none;
	margin-left: 0;
}

.widget-area ul ul {
	list-style: square;
	margin-left: 1.3em;
}

.widget_search #s {/* This keeps the search inputs in line */
	width: 100%;
}

.widget_search label {
	display: none;
}

.widget-container {
	margin: 0 0 18px 0;
}

.widget-title {
	color: #222;
	font-weight: bold;
}

.widget-area a:link,
.widget-area a:visited {
	text-decoration: none;
}

.widget-area a:active,
.widget-area a:hover {
	text-decoration: underline;
}

.widget-area .entry-meta {
	font-size: 11px;
}

/* Main sidebars */
#primary {
	width: 100%;
	padding: 26px 20px;
}

div.entry-meta {
	margin-bottom: 10px;
	font-style: italic;	
}

body.blog .large-9,
body.archive .large-9,
body.single .large-9 {
	padding-right: 20px !important;
	border-right: 1px solid #000;
}

body.blog .post,
body.search .post,
body.archive .post {
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

/* =Table Styles
-------------------------------------------------------------- */
table thead tr td {
	border-left: 1px solid #49176E;
}

table {
	border-spacing: 0px;
	border-top: 1px solid #D3D3D3;
	border-right: 1px solid #D3D3D3;
}

table tr td {
	padding: 5px 10px;
	border-left: 1px solid #D3D3D3;
	border-bottom: 1px solid #D3D3D3;
}

table tr.shaded td {
	background-color: #EEEEEE;
}

table thead tr.shaded td,
table thead tr td {
	background-color: #333333;
	color: #FFFFFF;
	font-weight: bold;
}

table.No-Style-Table,
table.No-Style-Table tr td,
table.No-Style-Table tr.shaded td {
	border: 0px !important;
	padding: 0px !important;
	background-color: transparent !important;
}


/* =========================================================
   FOOTER
========================================================= */

.siteFooter {
	position: relative;
	padding: 70px 0 35px;
	background-color: #fff;
	color: #124881;
	margin-top: -5px;
}

.siteFooter a {
	color: #124881;
	text-decoration: none;
	transition: color 0.25s ease;
}

.siteFooter a:hover,
.siteFooter a:focus {
	color: #072039;
	text-decoration: underline;
}

.siteFooter a:focus-visible {
	outline: 3px solid #e5ee29;
	outline-offset: 4px;
}


/* =========================================================
   MAIN FOOTER LAYOUT
========================================================= */

.siteFooter .footer-main {
	display: flex;
	align-items: flex-start;
	padding-bottom: 65px;
}

.siteFooter .current-menu-item a {
    color: #124881 !important;
    border-bottom: 1px solid #124881;
}


/* =========================================================
   FOOTER LOGO
========================================================= */

/*.siteFooter .footer-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}*/

.siteFooter .footer-logo a {
	display: block;
	max-width: 200px;
}

.siteFooter .footer-logo a:hover,
.siteFooter .footer-logo a:focus {
	text-decoration: none;
}

.siteFooter .footer-logo img {
	display: block;
	width: 100%;
	max-width: 200px;
	height: auto;
	margin: 0 auto;
}

.siteFooter .footer-site-name {
	display: block;
	color: #124881;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
}


.siteFooter .footer-contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.siteFooter .footer-contact-list li {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	margin-bottom: 20px;
	padding: 0;
	font-size: 15px;
	line-height: 1.4;
}

.siteFooter .footer-contact-list li:last-child {
	margin-bottom: 0;
}

.siteFooter .footer-contact-list i {
	padding-top: 2px;
	color: #124881;
	font-size: 17px;
	text-align: center;
}


/* =========================================================
   SOCIAL LINKS
========================================================= */

.siteFooter .footer-social {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 25px;
}

.siteFooter .footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: #124881;
	color: #fff;
	font-size: 19px;
	text-decoration: none;
	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

.siteFooter .footer-social a:hover,
.siteFooter .footer-social a:focus {
	background-color: #072039;
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
}


/* =========================================================
   FOOTER NAVIGATION
========================================================= */

.siteFooter .footer-navigation {
	display: flex;
	justify-content: center;
}

.siteFooter .footer-navigation nav {
	display: block;
	width: 100%;
	max-width: 250px;
}

.siteFooter .footer-menu {
	display: block !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	text-align: left;
}

.siteFooter .footer-menu > li {
	display: block !important;
	float: none !important;
	position: static;
	width: 100% !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

.siteFooter .footer-menu > li:last-child {
	margin-bottom: 0 !important;
}

.siteFooter .footer-menu > li > a {
	display: inline-block !important;
	float: none !important;
	width: auto;
	margin: 0 !important;
	padding: 0 !important;
	color: #124881;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
}

.siteFooter .footer-menu > li > a:hover,
.siteFooter .footer-menu > li > a:focus {
	color: #072039;
	text-decoration: underline;
}


/* =========================================================
   COPYRIGHT ROW
========================================================= */

.siteFooter .footer-bottom {
	text-align: center;
}

.siteFooter .footer-bottom p {
	margin: 0;
	color: #124881;
	font-size: 13px;
	line-height: 1.5;
}

.siteFooter .footer-divider {
	display: inline-block;
	margin: 0 9px;
}


/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */

.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#fff;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#eea904;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#fff;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#eea904}


/* =Responsive Styles — Largest to Smallest
-------------------------------------------------------------- */

/* =1280px and Below
-------------------------------------------------------------- */
@media screen and (max-width: 1280px) {
	.page-id-7 .side-img-text {
		transform: translate(12%, 50%);
	}

}

@media (max-width: 1280px) {
	.contentCarousel .owl-carousel {
		max-width: calc(100% - 120px);
	}

	.contentCarousel .owl-nav button.owl-prev {
		left: -20px;
	}

	.contentCarousel .owl-nav button.owl-next {
		right: -20px;
	}

}

/* =1240px and Below
-------------------------------------------------------------- */
@media only screen and (max-width: 1240px) {
	/*.hentry {
		padding: 20px;
	}*/
}

/* =1200px and Below
-------------------------------------------------------------- */
@media (max-width: 1200px) {
    .vacation-homes, .vacation-living {
        padding: 10px;
    }

    .vacation-homes p, .vacation-living p {
        font-size: 16px;
    }

    a.vacation-living-btn {
        font-size: 15px;
    }

    .vacation-homes h3, .vacation-living h3 {
        font-size: 44px;
        text-align: center;
    }
}

@media screen and (max-width: 1200px) {

	.page-id-7 .side-img-text {
		transform: none;
		margin: 0 auto;
	}

}

@media (max-width: 1200px) {
    .resort-enhancements {
        margin: 0 auto;
        margin-top: 30px;
        margin-bottom: 30px;
    }

}

@media screen and (max-width: 1200px) {

	.page-id-14 .contentGrid-items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 1050px;
	}

}

/* =========================================================
   INTERIOR-PAGE SIDE IMAGE — RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
.wrapper.sideImg.Right.white .row {
    display: flex;
    flex-direction: column-reverse;
    }
}

@media screen and (max-width: 1200px) {

	.wrapper.sideImg .row {
		display: block;
	}

	.wrapper.sideImg .large-5,
	.wrapper.sideImg .large-7 {
		float: none;
		width: 100%;
	}

	.wrapper.sideImg .large-5 {
		height: 450px;
	}

	.wrapper.sideImg .large-7 {
		height: auto;
		padding: 60px 40px;
	}

	.sideImg__text-block {
		max-width: 960px;
		margin: 0 auto;
		padding: 0px !important;
		min-height: 300px;
	}

	.wrapper.sideImg.Right .sideImg__text-block {
		float: none;
	}

	.outro-buttons {
        flex-direction: column;
        max-width: 400px;
        text-align: center;
        justify-self: center;
    }

}

/* ========================================
   RESPONSIVE
======================================== */

/* =1100px and Below
-------------------------------------------------------------- */
@media screen and (max-width: 1100px) {

	.vacation-homes-listings > .row {
		max-width: 900px;
	}

	.vacation-homes-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* =1080px and Below
-------------------------------------------------------------- */

@media (max-width: 1080px) {
    .distanceCounter .distanceCounter-grid {
        width: 100%;
        gap: 35px;
    }
}

@media only screen and (max-width: 1080px) {

	body {
		overflow-x: hidden;
	}
	
	nav ul li:hover > ul {
		display: none;
	}
	
	nav ul ul {
		top: 0px;
		position: relative;
		float: none;
		display: none !important;
	}

	nav li {
		height: auto; 
		min-height: 36px; 
		height: auto !important;
		height: 36px;
	}

	.menu-item-22 {
        background-color: transparent;
        border-radius: 0;
        padding: 0;
        margin-left: 0;
    }

    .menu-item-22 a {
        background-color: #fff;
        color: #194d91 !important;
    }

	.menuWrap.active {
        display: block !important;
    }

    .menu > li {
        float: none !important;
    }

    .menu > li > .menu-item-has-children {
   		background-image: none; 
    }

    .menu-item-has-children {
    	width: 100%;
    }

    nav ul li:not(.siteFooter nav ul li) {
    	margin-bottom: 0px !important;
    	border-bottom: 1px solid #ccc;
    }

    .menu li .more {
        background-image: url(images/list.png);
        background-repeat: no-repeat;
        background-position: 50% 50%;
        float: right;
      	width: 20%;
		border-left: 1px solid rgba(255,255,255,.3);
		padding: 8px 15px;
        cursor: pointer;
    	z-index: 200;
        position: relative;
    }

   .menu li .more:before {
		content: "";
		background: rgba(0,0,0,.3);
		width: 1px;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
  		left: -2px;
    }

    ul.menu {
    	border-top: 1px solid #fff;
    }
    
    .menu ul {
        display: block;
        width: 100%;
        z-index: 9999999;
    }
   	
   	.menu > li.hover > ul, 
   	.menu li li.hover ul {
        position: static;
        display: block !important; /* Show Menu Fix */
    }
    
    nav a {
    	width: 100%;
    	padding: 0px;
    	text-align: center;
    	padding-left: 15px;
    	line-height: 35px
    }

    nav ul ul ul li a {
		padding-left: 45px;
	}

    nav ul ul,
    nav ul ul li {
    	width: 100%;
    }

    nav ul ul {
    	padding: 0px !important;
    }

    nav ul ul li {
    	float: none;
    }

    nav {
   		width:100% !important;
   	}

   	nav ul ul ul {
		left: 0;
		top: 0;
	}

	.menuWrap.active ul#menu-menu-1 {
		display: block !important;
	}

	header .row {
	align-items: center;
	justify-content: space-between;
	}

	header a.logo {
		max-width: 150px;
	}

	nav {
		width: auto !important;
		min-height: 0;
		margin: 0;
	}

	nav a.menu-link {
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		position: relative;
		/*left: 50%;
		width: 100%;
		margin-left: -50vw;*/
		height: 50px;
		padding: 0 20px;
		background: transparent;
		color: #fff;
		line-height: 1;
	}


	.hamburger-icon {
		position: relative;
		display: inline-block;
		width: 26px;
		height: 20px;
		flex-shrink: 0;
	}

	.hamburger-icon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 2px;
		transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
	}

	.hamburger-icon span:nth-child(1) { top: 0; }
	.hamburger-icon span:nth-child(2) { top: 9px; }
	.hamburger-icon span:nth-child(3) { top: 18px; }

	nav a.menu-link.active .hamburger-icon span:nth-child(1) {
		top: 9px;
		transform: rotate(45deg);
	}

	nav a.menu-link.active .hamburger-icon span:nth-child(2) {
		opacity: 0;
	}

	nav a.menu-link.active .hamburger-icon span:nth-child(3) {
		top: 9px;
		transform: rotate(-45deg);
	}


	.menuWrap {
		display: none;
		position: fixed;
		left: 0;
		width: 100vw;
		/*max-height: calc(100vh - 60px);*/
		overflow-y: auto;
		background-color: #194d91;
		box-shadow: 0 12px 24px rgba(0,0,0,0.35);
		z-index: 9998;
	}

	nav a {
		transition: background-color 0.2s ease;
	}

/*	nav a:hover,
	nav a:focus-visible {
		background-color: rgba(255,255,255,0.08);
	}*/


	body.nav-open {
		overflow: hidden;
	}

	.menuMobile {
		display: none;
		position: absolute;
		top: 100%;
		right: 20px;
		left: 20px;
		padding: 15px;
		background-color: #072039;
	}

	.active .menuMobile {
		display: block;
	}
}	


@media (max-width: 1080px) {
    .page-id-7 .discover-title {
        font-size: 55px !important;
        line-height: 55px;
        margin-right: 0;
        max-width: 475px;
    }

    .homepage-badge {
        transform: translateX(-245px);
        width: 430px;
        height: 430px;
        margin-top: -170px;
    }
}

@media (max-width: 1080px) {
  /*  body.page:not(.page-id-7) .sideImg__text-block {
        max-width: 800px;
        padding: 10px;
        margin-left: 10px !important;
        margin: 0;
        margin-bottom: 20px;
    }*/
}

/* =========================================================
   LARGE TABLET
========================================================= */

/* =1050px and Below
-------------------------------------------------------------- */
@media screen and (max-width: 1050px) {

	.page-id-14 .contentGrid-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 950px;
	}

	.page-id-14 .contentGrid-item-inner img,
	.page-id-14 .contentGrid-item-inner > p:has(img) {
		height: 320px;
	}

	.page-id-14 .contentGrid-item-inner h3 {
		top: 270px;
		font-size: 20px;
	}

}

/* =1024px and Below
-------------------------------------------------------------- */

@media screen and (max-width: 1024px) {

	.page-id-18 .wrapper.twoCol .row > .columns:first-child {
		float: none;
		width: 100%;
		max-width: 700px;
		margin: 0 auto 60px;
	}

	.page-id-18 .wrapper.twoCol .row > .columns:first-child iframe {
		margin-right: auto;
		margin-left: auto;
	}

	.page-id-18 .wrapper.twoCol .row > .columns:last-child {
		float: none;
		width: 100%;
	}

}
@media (max-width: 1024px) {
    .page-id-7 .discover-title {
        max-width: 760px;
        text-align: center;
        font-size: 50px !important;
        line-height: 50px;
        margin-top: 0px;
        float: none;
        margin: 0 auto;
        margin-bottom: 40px;
    }

    .discover-text {
        max-width: none;
        margin: 0 auto;
        justify-self: center;
    }

    .homepage-badge {
        transform: none;
        margin-top: 0;
    }

    .vacation-homes, .vacation-living {
        margin-top: 0;
    }
}

/* =Responsive Slider Styles
-------------------------------------------------------------- */

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1024px) {
    .vacation-home-amenities h2 {
        text-align: center;
    }
}

@media screen and (max-width: 1024px) {

	.vacation-home-overview > .row {
		display: block;
		max-width: 800px;
	}

	.vacation-home-main,
	.vacation-home-sidebar {
		width: 100%;
	}

	.vacation-home-sidebar {
		margin-top: 55px;
	}

	.vacation-home-information {
		position: static;
	}

	.vacation-home-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 1024px) { /*  MEDIUM GRID BREAK  */
	
}

/* =960px and Below
-------------------------------------------------------------- */

@media (max-width: 960px) {
    .distanceCounter .distanceCounter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 960px) {
    .testimonialCarousel-heading h2 {
        font-size: 45px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .testimonialCarousel .testimonialCarousel-text {
        width: 400px;
        height: auto;
    }

    .page-id-7 .wrapper:has(.owl-carousel) p  {
        font-size: 15px;
        line-height: 20px;
    }
}

/* =========================================================
   CONTACT INFORMATION
========================================================= */

@media (max-width: 960px) {

    .interiorHero .interiorHero-title {
        font-size: 60px;
        line-height: 60px;
        max-width: 600px;
        text-align:center;
        justify-self: center;
        margin-top: 60px;
    }

    .interiorHero .interiorHero-row {
    	margin-bottom: 40px;
    }


    .page-id-18 .wrapper.twoCol.normal {
        margin: 0 auto;
        text-align: center;
        padding-top: 20px;
    }

    .page-id-18 h3 {
        margin-top: 40px;
    }
}


@media (max-width: 960px) {
   .testimonialCarousel-wave {
      height: 70px;
   }
}

/* =========================================================
   TABLET
========================================================= */

/* =900px and Below
-------------------------------------------------------------- */

@media (max-width: 900px) {
    .testimonialCarousel-quote {
        justify-content: center;
        display: flex;
        flex-direction: column;
        align-content: space-evenly;
        flex-wrap: wrap;
    }

    .testimonialCarousel .owl-theme .owl-nav.disabled + .owl-dots {
        text-align: center;
    }
}



@media screen and (max-width: 900px) {

	.distanceCounter {
		padding: 60px 0;
	}

	.distanceCounter .distanceCounter-title {
		margin-bottom: 45px;
	}

	.distanceCounter .distanceCounter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 50px 30px;
	}

	.distanceCounter .distanceCounter-number {
		font-size: clamp(70px, 13vw, 100px);
	}

	.distanceCounter .distanceCounter-label {
		max-width: 220px;
	}

	.distanceCounter .distanceCounter-intro {
		max-width: 700px;
		margin-top: 50px;
		font-size: 17px;
	}

}

/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 900px) {

	/*.photoCarousel {
		padding-right: 45px;
		padding-left: 45px;
	}*/

	.photoCarousel .photo {
		height: 250px;
	}

	.photoCarousel .owl-nav button.owl-prev,
	.photoCarousel .owl-nav button.owl-next {
		width: 38px;
		height: 55px;
	}

}

/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 900px) {

	.testimonialCarousel {
		padding: 70px 0 120px !important;
		height: 600px;
	}

	.testimonialCarousel .row {
		display: block;
	}

	.testimonialCarousel-heading,
	.testimonialCarousel-content {
		float: none;
		width: 100%;
	}

	.testimonialCarousel-heading {
		display: block;
	}

	.testimonialCarousel-heading h2 {
		margin-bottom: 40px !important;
		text-align: center;
		margin-top: 50px !important;
	}

	.testimonialCarousel .owl-carousel {
		max-width: 700px;
	}

}

/* =========================================================
   ABOUT PAGE PHOTO CAROUSEL — TABLET
========================================================= */

@media screen and (max-width: 900px) {

	.page-id-12 .photoCarousel {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.page-id-12 .photoCarousel .photo {
		height: 250px;
	}

	.page-id-12 .photoCarousel .owl-nav button.owl-prev, .page-id-12 .photoCarousel .owl-nav button.owl-next {
		width: 38px;
		height: 55px;
	}
}

/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 900px) {

	.cycle-prev, .cycle-next {
        width: 40px;
        height: 40px;
    }

    .cycle-prev i, .cycle-next i {
	    font-size: 26px;
	}

	.interiorHero {
		min-height: 420px;
	}

	    .vacation-homes-intro h3 {
        margin-top: 30px;
        font-size: 32px !important;
        text-align: center;
        line-height: 36px;
    }

    .vacation-homes-intro .sideImg__text-block {
        text-align: center;
    }

}

/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 900px) {

	.siteFooter {
		padding-top: 60px;
	}

	.siteFooter .footer-main {
		flex-wrap: wrap;
		padding-bottom: 50px;
	}

		.siteFooter .footer-logo {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-bottom: 50px;
	}

	.siteFooter .footer-logo a {
		display: block;
		width: 200px;
		max-width: 100%;
		flex: 0 0 200px;
	}

	.siteFooter .footer-logo svg {
		display: block;
		width: 100%;
		height: auto;
	}

	.siteFooter .footer-contact,
	.siteFooter .footer-navigation {
		width: 45%;
		margin-left: 30px;
	}

}

@media (max-width: 760px) {
    .cycle-next {
        right: 10px;
        transform: translateY(90px);
    }

    .cycle-prev {
        left: 10px;
        transform: translateY(90px);
    }

    .slideshow-intro-small {
        font-size: 30px;
    }

    .slideshow-intro-big {
        font-size: 36px;
    }

    .slideshow-intro-cursive {
        font-size: 38px;
    }

}

/* =========================================================
   MOBILE
========================================================= */

/* =760px and Below
-------------------------------------------------------------- */

@media (max-width: 760px) {
   .discover-title {
      max-width: 600px !important;
   }

   .homepage-badge {
      margin-bottom: 100px;
   }

   .amenities-wave {
      height: 80px;
   }
}

@media (max-width: 760px) {
    .distanceCounter .distanceCounter-label {
        font-size: 15px;
    }
}

@media screen and (max-width: 760px) {

	.page-id-14 .contentGrid-items {
		grid-template-columns: 1fr;
		max-width: 500px;
		gap: 30px;
		padding: 0 20px;
	}

	.page-id-14 .contentGrid-intro {
		margin-bottom: 40px;
		max-width: 500px;
	}

	.page-id-14 .contentGrid-item-inner img,
	.page-id-14 .contentGrid-item-inner > p:has(img) {
		height: 280px;
	}

	.page-id-14 .contentGrid-item-inner h3 {
		top: 177px;
		left: -15px;
		width: 205px;
		height: 103px;
		padding-left: 38px;
		font-size: 18px;
	}

	.page-id-14 .contentGrid-item-inner > p:not(:has(img)) {
		padding: 30px 24px 26px;
		font-size: 16px;
	}

}

/* =640px and Below
-------------------------------------------------------------- */
@media (max-width: 640px) {
    .slideshow-intro-small {
        font-size: 30px;
    }

    .slideshow-intro-big {
        font-size: 36px;
    }

    .slideshow-intro-cursive {
        font-size: 30px;
        line-height: 35px;
    }

    .hero-intro p {
        font-size: 18px;
    }

    .hero-intro .button {
        font-size: 14px;
    }

    .hero-intro {
        min-height: 190px;
    }
}

@media (max-width: 640px) {

	.page-id-7 .wrapper.fullWidth.white.noTop:has(.homepage-amenities) {
		padding-bottom: 35px;
	}


    .page-id-7 .discover-title {
        font-size: 36px !important;
        line-height: 36px;
        max-width: 400px !important;
    }

    .discover-text {
	    font-size: 16px;
	    max-width: 350px;
    }

    .homepage-badge {
        width: 400px;
        height: 400px;
    }

    .homepage-badge .ready-to-find {
        font-size: 24px;
    }

    .homepage-badge span.your-place {
        font-size: 46px;
    }

    .homepage-badge p.explore {
        font-size: 17px;
    }

    .badge-btn {
        font-size: 18px;
    }
}

@media screen and (max-width: 640px) {

	.vacation-home-main-image {
		aspect-ratio: 4 / 3;
		margin-bottom: 35px;
		border-radius: 20px;
	}
}

@media screen and (max-width: 760px) {

	.vacation-homes-listings {
		padding: 50px 20px 65px;
	}

	.vacation-homes-grid {
		grid-template-columns: 1fr;
		gap: 28px;
		max-width: 450px;
		margin-right: auto;
		margin-left: auto;
	}

	.vacation-home-card {
		border-radius: 22px;
	}

	.vacation-home-card-content {
		padding: 25px 20px 30px;
	}
}

@media screen and (max-width: 640px) {

	.single-vacation_home .vacation-home-hero {
		min-height: 380px;
	}

	.single-vacation_home .vacation-home-hero .interiorHero-title {
		padding-right: 20px;
		padding-left: 20px;
	}

	.vacation-home-overview {
		padding: 55px 20px;
	}

	.vacation-home-description {
		margin-bottom: 40px;
	}

	.vacation-home-description p {
		font-size: 16px;
	}

	.vacation-home-amenities {
		padding: 30px 25px;
		border-radius: 22px;
	}

	.vacation-home-amenities-list {
		grid-template-columns: 1fr;
	}

	.vacation-home-information {
		padding: 35px 25px;
		border-radius: 24px;
	}

	.vacation-home-stats {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.vacation-home-stat {
		padding: 0 0 20px;
	}

	.vacation-home-stat:not(:last-child) {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.vacation-home-stat:last-child {
		padding-bottom: 0;
	}

	.vacation-home-gallery-section {
		padding: 60px 20px 70px;
	}

	.vacation-home-gallery {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.vacation-home-gallery-image {
		border-radius: 20px;
	}

	.vacation-home-bottom-cta {
		padding: 65px 20px;
	}

	.vacation-home-bottom-cta-content {
		padding: 45px 25px;
		border-radius: 25px;
	}

	.vacation-home-bottom-cta-content .button {
		display: block;
		width: 100%;
		margin: 10px 0 0;
	}
}

@media screen and (max-width: 640px) {

	.vacation-home-thumbnails {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vacation-home-thumbnail {
		border-radius: 10px;
	}
}

@media only screen and (max-width: 640px) { 
	.footer span.pipe {
		display: none;
	}

	.footer span.design {
		display: block;
	}
}

@media (max-width: 640px) {
    .interiorHero .interiorHero-title {
        font-size: 48px;
        line-height: 52px;
    }

    .vacation-homes-intro p, .vacation-homes-intro .sideImg p {
        font-size: 16px;
    }

    .sideImg__text-block {
        padding: 0;
        font-size: 16px !important;
    }

}

/* =600px and Below
-------------------------------------------------------------- */
@media (max-width: 600px) {
	.contentCarousel .owl-carousel {
		max-width: calc(100% - 70px);
	}

	.contentCarousel .imgWrap img {
		width: 220px !important;
		height: 220px;
	}

	.contentCarousel .owl-nav {
		top: 110px;
	}

	.contentCarousel .owl-nav button.owl-prev {
		left: 0px;
	}

	.contentCarousel .owl-nav button.owl-next {
		right: -0px;
	}
}

@media screen and (max-width: 600px) {

		.wrapper.sideImg .large-5 {
		height: 320px;
	}

	.sideImg__text-block {
		padding: 45px 25px;
	}

	.sideImg__text-block h3 {
		margin-bottom: 25px;
		font-size: 32px;
		line-height: 1.15;
	}



}

/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 600px) {

/*	.interiorHero {
		min-height: 290px;
		background-position: center;
	}*/

	.interiorHero::before {
		background: rgba(3, 22, 48, 0.6);
	}

	.interiorHero .interiorHero-title {
		/*font-size: clamp(42px, 12vw, 58px);*/
		line-height: 1.05;
		text-align: center;
	}

}

/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 600px) {

	.siteFooter {
		padding: 50px 0 30px;
	}

	.siteFooter .footer-main {
		display: block;
		padding-bottom: 40px;
		text-align: center;
	}

	.siteFooter .footer-logo,
	.siteFooter .footer-contact,
	.siteFooter .footer-navigation {
		float: none;
		width: 100%;
	}

	.siteFooter .footer-logo {
		margin-bottom: 40px;
	}

	.siteFooter .footer-logo img {
		max-width: 200px;
	}

	.siteFooter .footer-contact {
		margin-bottom: 42px;
	}

	.siteFooter .footer-contact-list {
		display: inline-block;
		text-align: left;
	}

	.siteFooter .footer-social {
		justify-content: center;
		margin-bottom: 40px;
	}

	.siteFooter .footer-navigation {
		display: block;
	}

	.siteFooter .footer-navigation nav {
		max-width: none;
	}

	.siteFooter .footer-menu {
		text-align: center;
	}

	.siteFooter .footer-menu > li {
		margin-bottom: 17px !important;
		text-align: center;
	}

	.siteFooter .footer-menu > li > a {
		text-align: center;
	}

	.siteFooter .footer-bottom p {
		line-height: 1.8;
	}

	.siteFooter .footer-bottom p > span,
	.siteFooter .footer-bottom p > a {
		display: block;
	}

	.siteFooter .footer-divider {
		display: none !important;
	}

}

@media (max-width: 600px) {
    .siteFooter .footer-contact, .siteFooter .footer-navigation {
        margin: 0;
    }
}

@media (max-width: 640px) {
    .hero-wave {
       height: 78px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

-------------------------------------------------------------- */
@media screen and (max-width: 960px) {

	.distanceCounter {
		padding: 50px 0;
	}

	.distanceCounter .distanceCounter-title {
		margin-bottom: 40px;
		font-size: 32px;
	}

	.distanceCounter .distanceCounter-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.distanceCounter .distanceCounter-number {
		margin-bottom: 12px;
		font-size: 80px;
	}

	.distanceCounter .distanceCounter-label {
		max-width: 270px;
		font-size: 16px;
	}

	.distanceCounter .distanceCounter-intro {
		margin-top: 45px;
		font-size: 16px;
	}

}

/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 500px) {

/*	.photoCarousel {
		padding-right: 35px;
		padding-left: 35px;
	}*/

	.photoCarousel .photo {
		height: 260px;
	}

	.photoCarousel .owl-nav button.owl-prev,
	.photoCarousel .owl-nav button.owl-next {
		width: 32px;
		height: 50px;
		font-size: 20px !important;
	}

	.photoCarousel .owl-nav button.owl-prev {
		left: 0;
	}

	.photoCarousel .owl-nav button.owl-next {
		right: 0;
	}

}

/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 500px) {

	.testimonialCarousel {
		padding: 55px 0 105px;
	}

	.testimonialCarousel-heading h2 {
		margin-bottom: 35px;
		font-size: 40px;
	}

	.testimonialCarousel .testimonialCarousel-text {
		font-size: 17px;
		line-height: 1.5;
	}

	.testimonialCarousel .testimonialCarousel-name {
		font-size: 27px;
	}

	.testimonialCarousel .testimonialCarousel-details {
		font-size: 14px;
	}

	.testimonialCarousel .owl-theme .owl-dots {
		margin-top: 20px;
	}

	.testimonialCarousel-wave {
		height: 65px;
	}

}

/* =========================================================
   ABOUT PAGE PHOTO CAROUSEL — MOBILE
========================================================= */

@media screen and (max-width: 500px) {

	.page-id-12 .photoCarousel .photo {
		height: 260px;
	}

	.page-id-12 .photoCarousel .owl-nav button.owl-prev, .page-id-12 .photoCarousel .owl-nav button.owl-next {
		width: 32px;
		height: 50px;
		font-size: 20px !important;
	}
}

@media (max-width: 460px) {
    .distanceCounter .distanceCounter-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }
}

/* =370px and Below
-------------------------------------------------------------- */
@media (max-width: 370px) {

	.hero-intro p {
		max-width: 250px;
		justify-self: center;
	}

	.page-id-7 .discover-title {
        font-size: 32px !important;
        max-width: 300px;
    }

    .slideshow-intro-small {
        font-size: 20px;
    }

    .slideshow-intro-big {
        font-size: 30px;
    }

    .slideshow-intro-cursive {
        font-size: 30px;
        line-height: 30px;
    }

    .cycle-next {
        right: 10px;
    }

    .cycle-prev {
        left: 10px;
    }

    .hero-intro .button {
        padding: 10px 20px;
    }

    .discover-text {
        max-width: 300px;
        font-size: 14px;
    }

    .homepage-badge {
        width: 300px;
        height: 300px;
    }

    .homepage-badge span.your-place {
        font-size: 33px;
        line-height: 32px;
    }

    .homepage-badge .ready-to-find {
        font-size: 18px;
        line-height: 26px;
    }

    .homepage-badge p.explore {
        font-size: 14px;
    }

    .badge-btn {
        font-size: 14px;
    }

    .homepage-badge p {
        padding: 7px;
    }

    .vacation-homes p, .vacation-living p {
        font-size: 15px;
    }

    a.vacation-living-btn {
        font-size: 14px;
    }

    .vacation-homes h3, .vacation-living h3 {
        font-size: 38px;
        line-height: 38px
    }

    .page-id-7 .contentCarousel h3 {
        font-size: 30px !important;
        line-height: 30px !important;
    }

    .contentCarousel .owl-nav button.owl-next {
        right: -10px;
    }

    .contentCarousel .owl-nav button.owl-prev {
        left: -10px;
    }

    .page-id-7 .side-img-text p {
        font-size: 15px;
    }

    .distanceCounter .distanceCounter-title {
        font-size: 28px;
        line-height: 28px;
    }

    .distanceCounter .distanceCounter-intro {
        font-size: 15px;
    }

    .testimonialCarousel-heading h2 {
        font-size: 36px !important;
        line-height: 36px !important;
        max-width: 300px !important;
    }

    .page-id-7 .wrapper:has(.owl-carousel) p {
        font-size: 14px;
        line-height: 15px;
    }

    .testimonialCarousel {
        padding: 0px !important;
    }

        .amenities-wave {
        height: 50px;
    }

    .wrapper.fullWidth:has(.amenities-wave) > .row > .columns {
        margin-bottom: 0px;
    }

    .testimonialCarousel-wave {
        height: 30px;
    }

    .siteFooter {
        margin-top: 0;
    }

    .hero-wave {
        height: 50px;
    }

    .testimonialCarousel .testimonialCarousel-text {
        width: 300px;
        margin-left: 15px;
    }

    .testimonialCarousel .testimonialCarousel-attribution {
        margin-left: 10px;
    }
}

@media (max-width: 360px) {
    .vacation-home-sidebar-cta .button {
        font-size: 14px;
        padding: 10px 20px;
    }
}