/*
Theme Name: A Timeshare Broker, Inc.
Theme URI: https://atimeshare.com
Author: David Van Norman
Author URI: http://vannormanmedia.com
Description: A Timeshare Broker, Inc.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: atimeshare
Tags:
F
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ATB is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# WooCommerce
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
    ## Posts and pages
	## Asides
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button:focus {outline:0;}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
	accent-color: #458a94;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
width:100%;
background-color:#f8f8f8;
border:0px solid #f0f0f0;
text-align:center;
height:76px;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

@media screen and (min-width: 761px) {

	input[type="submit"] {
	position: relative;
	top: 3px;
	right: 3px;
	}
}

input[type="submit"] {
	position:relative;
	top:3px;
	left:2px;
	}
}



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


	input[type="submit"] {
    width: 100%;

}

}

.sue-member-role {
	margin-bottom: -2em !important;
}

.sue-member-name {
	font-weight:500 !important;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #000000;
        font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.5;
	background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: right;
        font-weight: 700;
        font-family:  'Montserrat', sans-serif;
        color: #000;
        color: hsl(0, 0%, 0%);
        -ms-word-break: break-word;
        word-break: break-word;
}



p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;

}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

div.font-16 .su-spoiler-title {
	font-size:16px;
}

div.font-18 .su-spoiler-title {
	font-size:18px;
}

div.font-22 .su-spoiler-title {
	font-size:22px;
}


/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #eee;
	border: 0;
	height: 5px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 1.5em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
   padding: 1em 2em;
    font-size: 16px;
    font-size: 1.6rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    line-height: 1;
    color: hsl(0, 0%, 100%);
    background: #3c3c3c;
    background: hsl(0, 0%, 24%);
    border: 0px;
    border-radius: 3px;
    cursor: pointer;
    -webkit-appearance: button;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {

}
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
    outline: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
       font-family:  'Montserrat', sans-serif;
    font-weight: 300;
    color: #333;
    border: 1px solid #767676;
    background-color: #fff;
}
li#field_1_17 {
    max-width: 75%;
    overflow: hidden;
}

select {

  /* styling */
  background-color: white;
  border: 2px solid #ddd;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;

  /* reset */

  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.round-dropdown {
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.5em 3.5em 0.5em 1em;
  background-image:
    linear-gradient(45deg, transparent 50%, white 50%),
    linear-gradient(135deg, white 50%, transparent 50%),
    radial-gradient(#448892 70%, transparent 72%);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - .5em) .5em;
  background-size:
    5px 5px,
    5px 5px,
    1.5em 1.5em;
  background-repeat: no-repeat;
}

.round-dropdown:focus {
  background-image:
    linear-gradient(45deg, white 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, white 50%),
    radial-gradient(gray 70%, transparent 72%);
  background-position:
    calc(100% - 15px) 1em,
    calc(100% - 20px) 1em,
    calc(100% - .5em) .5em;
  background-size:
    5px 5px,
    5px 5px,
    1.5em 1.5em;
  background-repeat: no-repeat;
  border-color: #448892;
  outline: 0;
}

/*--------------------------------------------------------------
# WooCommerce
--------------------------------------------------------------*/


.woocommerce #content input.button.alt:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce-page #content input.button.alt:hover, .woocommerce-page #respond input#submit.alt:hover, .woocommerce-page a.button.alt:hover, .woocommerce-page button.button.alt:hover, .woocommerce-page input.button.alt:hover {

background:#394f66 !important;

background-color:#394f66 !important;

color:white !important;

text-shadow: transparent !important;

box-shadow: none;

border-color:#000 !important;

}

.woocommerce #content input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce-page #content input.button:hover, .woocommerce-page #respond input#submit:hover, .woocommerce-page a.button:hover, .woocommerce-page button.button:hover, .woocommerce-page input.button:hover {

background:#394f66 !important;

background-color:#394f66 !important;

color:white !important;

text-shadow: transparent !important;

box-shadow: none;

border-color:#ca0606 !important;

}

.woocommerce #content input.button, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce-page #content input.button, .woocommerce-page #respond input#submit, .woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button {

background: #394f66 !important;

color:white !important;

text-shadow: transparent !important;

border-color:#ca0606 !important;

}

.woocommerce #content input.button.alt:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce-page #content input.button.alt:hover, .woocommerce-page #respond input#submit.alt:hover, .woocommerce-page a.button.alt:hover, .woocommerce-page button.button.alt:hover, .woocommerce-page input.button.alt:hover {

background: #394f66 !important;

box-shadow: none;

text-shadow: transparent !important;

color:white !important;

border-color:#ca0606 !important;

}

.woocommerce-message{
border-top-color:#F7F6F6;
}

.clear {
	clear:both;
}


/*--------------------------------------------------------------
# Site Header
--------------------------------------------------------------*/


.site-header {
    margin:auto;
    margin-bottom: 1rem;
}

@media screen and (max-width: 1207px) {
   .site-header {
    margin:auto;
        margin-bottom: 1rem;
	}
}

@media screen and (max-width: 780px) {
	.post-image {
		margin: -1rem 0 1rem !important;
	}
}



.site-branding {
    max-width: 96%;
    margin:auto;
}


.site-branding img {
    max-height: 50px;
    z-index:-1;
    position:relative;
}
.site-title:hover {
	text-decoration: none;
	opacity: .9;
}

.site-title{
	font-size: 2.6rem;
	margin-left: 20px;
	text-decoration:none;
	color:#000000;
	position: relative;
    z-index: 99999;
	}

.site-title-r img {
    float:left;
    margin-left: 0rem;
    position: relative;
    z-index: 999;
    margin-top: 10px;
}

.site-title img {
        position: relative;
    top: -20px;
    display: inline;
/*     height: 90px; */
    z-index:999;
}

.site-title img:hover {
        opacity:.9;
}


.site-phone {
    float: right;
    margin-bottom: 1rem;
    margin-right: 1rem;
    font-size: 20px;
    font-family:  'Montserrat', sans-serif;
    font-weight: 400;
    position: relative;
    top: 0px;
}

.site-phone a{
    color: #000000;
}

.site-phone a:hover{
    color:#273549;
    text-decoration: none;
}

.site-phone i{
    font-size:16px;
    padding-right:5px;
}

.site-phone-mobile {
	display:none;

	}


@media screen and (min-width: 1160px) {
    .site-branding {
    max-width: 1160px;
    margin:auto;
    }
}


@media screen and (max-width: 1159px) {
	.site-title img {
    height:75px;
    top:-38px;
    }
}

@media screen and (max-width: 880px) {
	.site-title img {
    height:75px;
    top:-38px;
    }
}

@media screen and (max-width: 850px) {
	.site-title{
    display:block;
		font-size: 2.2rem;
		text-align: center;
    }
}

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


    .site-title-r img {
        float:left;
        z-index:9;
        margin-left: 0rem;
        margin-top: .5rem;
    margin-top: 5px;
    }

    .site-title img {
        max-height: 45px;
        position:relative;

        top:25px;
        display:block;


    }



    .site-title-mobile {
        display:block;

    }



    .site-phone i{
    font-size:18px;
    padding-right:5px;
    }
    .site-branding{
    margin-bottom:0px;
      position: relative;
  z-index: 999;
    }
}


@media screen and (max-width: 850px) {
.site-branding{
    margin-bottom:0px;
      position: relative;
  z-index: 999;
	padding:1rem;
    }

    .site-phone {
            display:none;
        }

.site-phone-mobile {

    color: #fff;
    position: absolute;
    top: -20px;
    z-index: 99;
    right: 18px;
    display: block;
    width: 52px;
	}

.site-phone-mobile a{
    font-size: 1.7rem;
    color: #fff;
    display:block;
	}

ul#primary-menu.menu.nav-menu {
    margin-top:3.75rem;
	}

.main-navigation.toggled .nav-menu {
    margin-top:5.2rem;
	}

.phone-link a{
font-size: 1.7rem;
    color: #fff;
    display:block;
}

a.site-title-r {
    display: block;
    padding-right: 0px;
    /* padding-top: .4rem; */
    position: absolute;
    width: 40px;
    }

        .site-title-r img {
            max-height: 60px;
	    margin-top:.4em;
margin-top: 5px;
        }

	.main-navigation{
            max-height: 105px;
	    height: 85px;
	}

	.menu-toggle {
	font-size:3em;
	height:100%;
	float:left;
	}

 }

 @media screen and (max-width: 520px) {
 	.button2{
 		display: none !important;
 	}

	.resort-search-wrapper{
		height: 70px !important;
	}

}

@media screen and (max-width: 425px) {
	.site-title{
 	 	font-size: 1.4rem !important;
 	 }
	 a.site-title-r{
		 width: 30px !important;
	 }

	 .listings table td:nth-child(1){
		 font-size: 1.2em !important;
	 }
	 .more_info_button{
		 width: 90% !important;
	 }



}


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

    .site-phone {
            margin-top: 7rem;
           font-size: 24px;
        }

				.site-title{
					font-size: 1.8rem;
					}

        .site-title img {
        max-height: 50px;
        position:relative;
        right:-10px;
        top:10px;
        display:block;
        z-index: 99999;

        }

        .site-title-r img {
            max-height: 40px;
						margin-left: 0px;
						margin-top: 1px;
        }

				.main-navigation{
			            height: 85px;
				    max-height:85px;
				}
 }

.menu-top-nav-container{
            height: 0px;
	}

.menu-top-nav-container ul li:first-child {

	}
/*
@media screen and (max-width: 750px) {
	.menu-top-nav-container ul li:first-child::before  {
            content: "211 Madison Avenue";
            text-align: center;
            display: block;
            font-size: 1.6rem;
            padding: 1rem;
            text-transform: none;
            background-color: #f5f5ef;
            color: #97775c;
            font-weight: 300;
            box-shadow: 0 0px 14px rgba(0,0,0,0.22);
 				}
  }
*/

/*--------------------------------------------------------------
# Index
--------------------------------------------------------------*/
.Widget-content.is-carousel .Widget-header {
	padding-bottom: 15px !important;
    border-bottom: 5px solid #eee !important;
}

.site-main-full {
    max-width:100%;
        background: #fff;
        /*border: #fff;
        border-style: solid;
        border-width: 1px 3px 3px 3px;*/
        width: 780px;
        margin:0 auto 1rem;
        overflow:auto;
        padding: 0 1rem;
}

.site-main-1160 {
    max-width:100%;
        background: #fff;
        /*border: #fff;
        border-style: solid;
        border-width: 1px 3px 3px 3px;*/
        width: 1160px;
        margin:0 auto 1rem;
        overflow:auto;
        padding: 0 1rem;
}

.site-main-apparel {
    max-width:100%;
        background: #fff;
        /*border: #fff;
        border-style: solid;
        border-width: 1px 3px 3px 3px;*/
        width: 1160px;
        margin: auto;
        overflow:auto;
}

.subway-circle{
	width: 25px;
	height:25px;
	border-radius: 50px;
	font-size:1rem;
	color:#fff;
	float:left;
	text-align:center;
	margin: 0rem 1rem 0rem -2rem;
}

.grey{
	background-color: #424242;
}

.tan{
	background-color: #a97818;
}

.red{
	background-color: #ff504b;
}

.orange{
	background-color: #ffa832;
}
.yellow{
	background-color: #fffa47;
	color: #000;
	}
.green{
	background-color: #04a549;
}

.blue{
	background-color: #007ba8;
}

.purple{
	background-color: #d642d3;
}
.half-width{
	width:50%;
}


@media screen and (max-width: 730px) {
	.half-width{
		width:100%;
		padding:2rem;
	}

}

@media screen and (max-width: 500px) {
	.half-width{
		width:100%;
		padding:0rem;
	}

}

.home-banner{
	margin-left:auto;
	margin-right:auto;
	  width: 100%;
  max-width: 1160px;
  margin-top:-1rem;
  margin-bottom:0rem;
}

.homepage-articles{
	padding:2rem;
}

.homepage-articles h2{
	text-align:left;
	font-size:2em;
	color: #212529;
}

@media screen and (max-width: 660px) {
	.homepage-articles h2{
	font-size:1em;
}

}

.home-banner-img{
	overflow:hidden;
	width: 100%;
	height:350px;
	max-width: 100%;
	margin-top:-1rem;
	background-image: url(/wp-content/uploads/2019/01/maldives-1993704_1920.jpg);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-color:#ffffff;
}

.banner-textbox {
	text-align: center;
	background-color: #ffffffb8;
	vertical-align: middle;
	padding: 1rem;
	font-size: 2.2rem;
	margin: auto;
	max-width: 60%;
	width:780px;
	border-radius: 12px;
	position: relative;
  	top: 100px;
	font-weight:400;
}

.banner-textbox span{
	font-family: 'Dancing Script', cursive;
	font-size:3rem;
}

@media screen and (max-width: 750px) {
	.home-banner-img{
	height:300px;
	}

	.banner-textbox {
		font-size: 1rem;
	}

	.banner-textbox span{
		font-size: 2rem;
	}
}

@media screen and (max-width: 460px) {
	.home-banner-img{
	height:200px;
	}
	.banner-textbox {
		top:40px;
	}
}
.table-img{
	overflow:hidden;
	margin:auto;
	float: left;
	height: 100px;
}


@media screen and (max-width: 600px) {
	.table-img{
	overflow:hidden;
	margin:auto;
	float: none;
	height: auto;
	width:100%;
	}

	.resort-search-button{
		overflow: hidden;
		position: relative;
	}


}



.home-banner-slider .caption {
	margin-left:auto;
	margin-right:auto;
	width:90%;
}

.home-banner-slider .caption-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  background: none;
  color: black;
  opacity: 0.7;
  margin: 0;
  display: block;
  width: 100%;
  line-height: 1.4em;
}

@media screen and (max-width: 500px) {
	.resort-search-select select {
		max-width: 100% !important;
		font-size: 1rem !important;
	}
}


.resort-search-select {
	margin: auto;
	display: block;
	text-align: center;
	margin-right: auto !important;
}

.resort-search-select select {
	font-size: 1rem;
	width: 360px;
	position: relative;
	border-radius: 12px;
	background-color: #fff;
}

.resort-search-container {
	width: 100%;
	background-color: #eeeeee;
	margin: auto;
display: block;
text-align: center;
height: 70px;
}

.resort-search-wrapper{
	max-width: 525px;
	margin: auto;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.adWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.adWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.card-1 {
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  transition: all 0.2s ease-in-out;
  padding: 1rem 2rem 1rem 2rem;
  margin-bottom: 1rem;
}

/*.card-1:hover {
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
}*/

.entry-content-full {
  overflow: hidden;

}

.resort-info{
    width:50%;
    line-height: 2.8;
    float:left;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;

}

.resort-info th{
    width:60%;

}

.resort-info tr{
    text-align: left;
    border: #f0f0f0;
        border-style: solid;
        border-width: 0px 0px 2px 0px;
}

.resort-info td{
        width: 100%;
        text-align: center;
    }

.gravity-forms{
    padding-left:2rem;
    width:45%;
        float:left;
}

.contact-info {
width: 45%;
  float: left;
  /* border: #C4C9D2 solid; */
  /* border-width: 2px 0px 2px 0px; */
  background-size: auto 99%;
  background-repeat: no-repeat;
  background-position: bottom;
  /* background-color: #ddd; */
  /* border-radius: 52%; */
}

@media screen and (max-width: 780px) {
    .contact-info{

  width: 100%;
  float: none;

border: #8FA9B2 solid 0px;
    }

    .resort-info td{
        width: 100%;
        text-align: center;
    }

    .resort-info{
    width:100%;
    line-height: 3;
        float:left;
        display: block;
        margin-left: auto;
    margin-right: auto;
    padding: 2rem;

    }
}

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


   .gravity-forms{

    width:100%;
    padding:0 1rem;
        float:none;
        display: block;
        margin-left: auto;
    margin-right: auto;
    }
}

.site-main-index{
        width:100%;
        background: #fff;
        margin: auto;
}



#meteor-slideshow{
    margin-left: auto;
    margin-right: auto;
    z-index:0;

}

div.meteor-slides{
    clear: both;
  float: none;
  height: auto !important;
  line-height: 0;
  margin: auto;
  max-width: 100%;
  overflow: visible !important;
  padding: 0;
  position: relative;
  z-index: 1;
}

.grey-container{
    width: 100%;
    background-color: #f5f5ef;
    padding-top:1rem;
    background-image: url(/wp-content/uploads/2017/04/grey-background.png);
    background-size: 2100px;
    background-position: center top;
}

.white-container{
    width: 100%;
    background-color: #fff;
    margin-bottom:0rem;
    padding: 2rem 2rem 2rem;
}

.white-container-2{
    width: 100%;
    background-color: #fff;
    margin-bottom:-2rem;
    padding:2rem 2rem 0rem 2rem;
}

.welcome-box{
  width: 100%;
  max-width:1160px;
  margin: auto;
  padding: 2rem;
  font-size: 22px;
  text-align: center;
  color:#fff;
  background: #8c8c8c;
}

.welcome-box-header h2 {
    color: #97775c;
    width: 90%;
    /* max-width:1160px;*/
    margin: auto;
    /*  height: 65px;*/
    font-size: 40px;
    /* background: #8c8c8c;*/
    /* border: #fff;*/
    /*  border-style: solid;*/
    /*  border-width: 0px 0px 1px 0px;*/
    text-align: center;
    padding-top: .5rem;
padding-bottom: 1rem;
}

.welcome-box-header h3 {
    color: #97775c;
    width: 90%;
    margin: auto;
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 1.5rem;
    padding-top: .5rem;
}

.welcome-box-header h2:before{
  /*   color:#fff;*/
   /*  font-family: 'Ionicons';*/
   /*  content: '\f2fc';*/
   /*  float:left;*/
    /* padding-left: 20px;*/
   /*  padding-right: 10px;*/
}

.welcome-box-header h2:after{
    /* color:#fff;*/
    /* font-family: 'Ionicons';*/
    /* content: '\f2fc';*/
    /* float:right;*/
    /* padding-left: 10px;*/
    /* padding-right: 20px;*/

}


.view-listings-button {
 width: 250px;
 max-width:80%;
 display: block;
 margin: auto;
 color: #fff;
 background-color: #448892;
 border-radius: 12px;
 text-align: center;
 box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
 transition: all 0.2s ease-in-out;
 text-decoration:none;
 font-size:1.2rem;
}

.view-listings-button:hover {
 box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
background-color:#273549;
text-decoration:none;
}

.view-listings-button-2 {
 width: 400px;
 max-width:80%;
 border-radius:30px;
  display: block;
  margin: auto;
  color: #fff;
  background-color:#ff4141;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  transition: all 0.2s ease-in-out;
  text-decoration:none;
  font-size:1.2rem;
}

.view-listings-button-2:hover {
 box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  background-color:#ff5151;
text-decoration:none;
}


@media screen and (min-width: 781px) {
.view-listings-button-2 {
 width: 130px;
  display: block;
  margin: auto;
  color: #fff;
  background-color:#ff4141;
  text-align: left;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  transition: all 0.2s ease-in-out;
  text-decoration:none;
  font-size:1rem;
}

.view-listings-button-2:hover {
 box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  background-color:#ff5151;
text-decoration:none;
}



}

.view-listings-button-3 {
 /* width: 300px;*/
  display: block;
  margin: auto;
  color: #000;
  background-color:#fff;
  text-align: center;
}

.view-listings-button-3:hover {

  background-color:#fff;
text-decoration:none;
}

.view-listings-button a{
  color: #fff;
}

.view-rentals-button {
  position:relative;
  margin-top: -24px;
  width: 200px;
  background-color: #7a8ab2;
  display: block;
  margin-left: auto;
  color: #fff;
  text-align: center;
}

.view-rentals-button a{
  color: #fff;
}


.view-articles-button {
  position:relative;
  margin-top: -24px;
  width: 200px;
  background-color: #888888;
  display: block;
  margin-left: auto;
  color: #fff;
  text-align: center;
}

.view-articles-button a{
  color: #fff;
}

.services-container{
	max-width: 960px;
	 margin: auto;
	 min-height: 100px;
}

.service-icon{
	font-size:8rem;
	padding-top:2rem;
}

.service-container{
    overflow:hidden;
    width: 100%;
    max-width: 900px;
    margin:auto;
    font-size: 22px;
    text-align: center;
    margin-top: 3rem;
}

.services-circle{
	float:left;
}

.services-circle a:hover{
	color:#fff;
}

.services-circle a{
	position:relative;
	/* top:-90px; */
	z-index:9;
	text-decoration:none;
	font-size:1.3rem;
	text-align:center;
	vertical-align:middle;
	color:#000;
	width: 23%;
	margin: 0 2%;
	line-height:2;
	transition: font-weight .2s ease-in-out;
}

.services-circle a:hover{
	color:#000;
	text-decoration:none;
	font-weight:600;
}


.rental-container{
	max-width: 960px;
	 margin: 1rem auto;
	 min-height: 100px;
	display:flex;
	flex-direction: row;
    align-content: center;
    justify-content: space-evenly;
	flex-wrap:wrap;
}

.rental-option {
	min-width: 300px;
	margin:1rem;
}

.rental-option i{
	display: flex;
    font-size: 1.5rem;
    position: absolute;
    color: #448892;
	margin-top: 15px;
}


.rental-option a{
	text-decoration:none;
	font-size:1.3rem;
	text-align:center;
	color:#000;
	display:block;
	text-transform: uppercase;
	transition: font-weight .2s ease-in-out;
}

.rental-option a:hover{
	color:#000;
	text-decoration:none;
	font-weight:600;
}

/* @media (max-width: 780px) {
  .rental-container {
    flex-direction: column;
  }
} */


.services-circle-widget{
	float:left;
	margin:1rem 3.5rem;

	width:180px;
	height:180px;
	border-radius:50%;

  	transition: all 0.2s ease-in-out;
}

.services-circle-widget:hover{
	box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
	background-color:#ffffff;
}

.services-circle-widget a{
	display:table-cell;
	position:relative;
	z-index:9;
	text-decoration:none;
	color:#fff;
	text-align:center;
	vertical-align:middle;
	height:180px;
	width:180px;
}

.services-circle-widget a:hover{
	color:#fff;
	text-decoration:none;
}



@media screen and (min-width: 1060px) {
	.services-circle{
		width: 33%;
	}
}








@media screen and (max-width: 961px) {
.services-circle{float:none;margin: 1rem auto 2rem;width: 75%;}
.services-circle-widget{
float:none;
margin: 1rem auto;
     }
}

@media screen and (max-width: 1080px) and (min-width: 962px) {
    .services-circle{
	width: 33%;
	}


	.services-circle-widget{
	margin:2rem 5.5em;
     }

}


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


	.services-container{
   	 margin-top: 0rem;
	}
}






.membership-circle{
    float: left;
    margin: 0.5rem 2rem 2rem;
    width: 229px;
    height: 100px;
    border-radius: 0%;
    border: 8px solid #ddd;
    transition: all 0.2s ease-in-out;
}

.membership-circle:hover{
	border: 8px solid #273549;
	background-color:#273549;
}

.membership-circle a{
    display: table-cell;
    position: relative;
    z-index: 9;
    text-decoration: none;
    color: #000;
    font-size: 1.2rem;
    text-align: center;
    vertical-align: middle;
    height: 100px;
    width: 230px;
    padding-left: 1.4rem;
}

.membership-circle a:hover{
	color:#fff;
	text-decoration:none;
}

.resale-deals-index{
    overflow: hidden;
    width: 100%;
    max-width: 928px;
    margin: 1rem 1rem;
    padding: 0;
    font-size: 24px;
    text-align: center;
    background: #fff;
    border-bottom: 3px double #ddd;
}

@media screen and (max-width: 700px) {
	.membership-circle{
	float:none;
	margin: 1rem auto;
     }

	.membership-circle-widget{
	float:none;
	margin: 1rem auto;
     }
	.program-circle{
	float:none;
	margin: 1rem auto;
     }

}

@media screen and (min-width: 795px) and (max-width: 1160px) {

	.membership-circle-widget{
	margin:1rem 4.93rem;
     }

}


@media screen and (min-width: 800px) and (max-width: 1080px) {
    .membership-circle{
	/* margin:2rem; */
	}

 .program-circle{
	    margin: 2rem 5.5rem;
     }

	.-deals-index{
        overflow:hidden;
        overflow-y:hidden;

      }
}

.resale-deals-index-header h2:before{
   /* color:#000;*/
    /*font-family: 'FontAwesome';*/
    /*content: '\f07a';*/
    /*float:left;*/
    /*padding-left: 20px;*/
    /*padding-right: 10px;*/
}

.resale-deals-index-header h2:after{
    /*color:#000;*/
    /*font-family: 'FontAwesome';*/
    /*content: '\f07a';*/
    /*float:right;*/
    /*padding-left: 10px;*/
    /*padding-right: 20px;*/
}

.resale-deals-index-header h2{

  margin-top: 0rem;
   padding-bottom: 1rem;
    color:#97775c;
    width:96%;
    margin:auto;
    max-width:1160px;
    height:auto;
    font-size:40px;
    text-align: center;
    background: #fff;
    border: #000;
     /*border-style: solid;*/
    border-width: 0px 0px 1px 0px;
}

.rental-deals-index{
    overflow:hidden;
    width: 100%;
    margin:auto;
  max-width:1160px;
  padding: 2rem 1rem;
  font-size: 24px;
  text-align: center;
  background: #8c8c8c;

}

.rental-deals-index img{
    height:auto;
    width:370px;

}

.rental-deals-index-header h2:before{
    color:#fff;
    font-family: 'FontAwesome';
  /*  content: '\f124';*/
    float:left;
    padding-left: 20px;
    padding-right: 10px;
}

.rental-deals-index-header h2:after{
    color:#fff;
    font-family: 'FontAwesome';
   /* content: '\f124';*/
    float:right;
    padding-left: 10px;
    padding-right: 20px;
}

.rental-deals-index-header h2{
  color:#fff;
  width: 96%;
max-width:1160px;
    margin:1rem auto;
/*  height: 65px;*/
  font-size: 40px;
  text-align: center;
  background: #8c8c8c;
  border: #fff;
 /*  border-style: solid;*/
  border-width: 0px 0px 1px 0px;
}

.new-articles{
    overflow: hidden;
    max-height: 400px;
    max-width: 1160px;
    margin: auto;
    width: 100%;
    padding: 0;
    font-size: 24px;
    text-align: center;
    background: #fff;

}

.new-articles-header h2:before{
    color:#000;
    font-family: 'Ionicons';
   /* content: '\f2bf';*/
    float:left;
    padding-left: 20px;
    padding-right: 10px;
}

.new-articles-header h2:after{
    color:#000;
    font-family: 'Ionicons';
   /* content: '\f2bf';*/
    float:right;
    padding-left: 10px;
    padding-right: 20px;
}

.new-articles-header h2{

  margin-top: 0rem;
   margin-bottom: 0;
    color:#000;
    width:96%;
    margin: 1rem auto 0rem auto;
    max-width:1160px;
    font-size:40px;
    text-align: center;
    background: #fff;
    border: #000;
    /*border-style: solid;*/
    border-width: 0px 0px 1px 0px;
}

.new-articles-header h2 a{
    color:#000;
}

#featured_category_widget-6 {
    float:left;
    margin:2rem;

}


#featured_category_widget-7 {
    float:left;
    margin:2rem;

}

#featured_category_widget-8 {
     margin:2rem;
     float:left;
}

#featured_category_widget-9 {
    float:left;
    margin:2rem;

}


#featured_category_widget-10 {
    float:left;
    margin:2rem;

}

#featured_category_widget-11 {
     margin:2rem;
     float:left;
}

.widgets_on_page ul{
    margin:0;
    width:100%;
    padding:0;
    list-style:none;
}


.widgets_on_page ul li a img{
    display:block;
    float:left;
    margin-left: auto;
    margin-right: auto;

}

.widgets_on_page ul li a:nth-child(1){

}


.widgets_on_page ul li a:nth-child(2){
   border: #8fa9b2;
        border-style: solid;
        border-width: 0px 0px 100px 0px;
}

.widgets_on_page ul li a:nth-child(3){

}



.widgets_on_page ul li h3{
    display:table-cell;
    margin-left: auto;
    margin-right: auto;
    margin-top:0px;
    height: 86px;
    vertical-align: middle;
}

.widgets_on_page ul li h3 a{
    clear:none;
    float:none;
    font-size:22px;
}



.widgets_on_page h2{
    width:100%;
    height:65px;
    font-size:40px;
    text-align: center;
    background: #000;
    border: #8fa9b2;
        border-style: solid;
        border-width: 0px 0px 3px 0px;
}




.widgets_on_page h2 a{
    color:#fff;

}

.widgets_on_page h2 a:before{
    color:#fff;
    font-family: 'Ionicons';
    content: '\f3f8';
    float:left;
    padding-left: 20px;
    padding-right: 10px;
}

.widgets_on_page h2 a:after{
    color:#fff;
    font-family: 'Ionicons';
    content: '\f3f8';
    float:right;
    padding-left: 10px;
    padding-right: 20px;
}

.widgets_on_page h3{
    width:320px;
}

@media screen and (min-width: 780px) and (max-width: 1207px) {
    .site-main-full {
        max-width: 780px;
        width:96%;
    }

.site-main-apparel {
        max-width: 780px;
        width:96%;
    }

    .site-main-index{
        width:100%;
        background: #fff;
        margin: auto;
    }



}

@media screen and (max-width: 812px) {
    .site-main-full {
        max-width: 100%;
    }

	.site-main-1160 {
        max-width: 100%;
    }

.site-main-apparel {
        max-width: 100%;
    }

}

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


    .site-main-index{
        width:100%;
        background: #fff;
        margin: auto;

    }

}

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


    #featured_category_widget-6 {
    float:left;
    display:block;

    }

    #featured_category_widget-7 {
    float:left;
    display:block;

    }

    #featured_category_widget-8 {
         float:left;
         display:block;
    }

 #featured_category_widget-9 {
    float:left;
    display:block;

    }

    #featured_category_widget-10 {
    float:left;
    display:block;

    }

    #featured_category_widget-11 {
         float:left;
         display:block;
    }


}

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

      .new-articles{
        overflow:hidden;
        overflow-y:hidden;
        height:310px;
	width: 770px;
      }

      .widgets_on_page ul li h3{
        display:block;
        margin-left: auto;
        margin-right: auto;
        margin-top:-30px;
        height: 60px;
        line-height: .8;
/*        position: relative;
  top: 50%;
  transform: translateY(-50%);*/
    }

    .widgets_on_page ul li h3 a{
    clear:none;
    float:none;
    font-size:18px;
    }

	#featured_category_widget-6 {
        width:320px;
    float:left;
    display:block;

    }

    #featured_category_widget-7 {
        width:320px;
    float:left;
    display:block;

    }

     #featured_category_widget-8 {
        display:none;
    }

#featured_category_widget-9 {
        width:320px;
    float:left;
    display:block;

    }

    #featured_category_widget-10 {
        width:320px;
    float:left;
    display:block;

    }

     #featured_category_widget-11 {
        display:none;
    }

    #featured_category_widget-6 img{
        width:320px;
        height:200px;
    float:left;
    display:block;
    margin-top:1rem;
    }

    #featured_category_widget-7 img{
        width:320px;
        height:200px;
    float:left;
    display:block;
    margin-top:1rem;
    }

    #featured_category_widget-8 img{
        width:320px;
        height:200px;
         float:left;
         display:block;
    }

#featured_category_widget-9 img{
        width:320px;
        height:200px;
    float:left;
    display:block;
    margin-top:1rem;
    }

    #featured_category_widget-10 img{
        width:320px;
        height:200px;
    float:left;
    display:block;
    margin-top:1rem;
    }

    #featured_category_widget-11 img{
        width:320px;
        height:200px;
         float:left;
         display:block;
    }


}

@media screen and (max-width: 575px){
	.rwd-line {

	}

	.rwd-line-about {
   	 display: block;
	}


}

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

    .site-main-full {
        max-width: 780px;
        width:96%;
    }

.site-main-apparel {
        max-width: 780px;
        width:96%;
    }


      .new-articles{
        overflow:hidden;
        overflow-y:hidden;
        height:315px;
	width:100%;
      }

	#featured_category_widget-6 {
        width: 100%;
        float: none;
        margin: auto;
        margin-top: 2rem;
        display: block;

    }

    #featured_category_widget-7 {
        width:100%;
    float:none;
    display:none;
    margin-left: auto;
    margin-right:auto;

    }

#featured_category_widget-9 {
        width: 100%;
        float: none;
        margin: auto;
        margin-top: 2rem;
        display: block;

    }

    #featured_category_widget-10 {
        width:100%;
    float:none;
    display:none;
    margin-left: auto;
    margin-right:auto;

    }

    .widgets_on_page ul li h3{
        display:block;
        margin-left: auto;
        margin-right: auto;
        margin-top:-60px;
        height: auto;
        min-height:43px;
/*        position: relative;
  top: 50%;
  transform: translateY(-50%);*/
    }

    #featured_category_widget-7 h3{
        margin-top:-30px;

    }

    #featured_category_widget-7 h3 a{

    }

#featured_category_widget-10 h3{
        margin-top:-30px;

    }

    #featured_category_widget-10 h3 a{

    }




}

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

    .welcome-box-header h2:after{
        display:none;

    }


    .welcome-box-header h2 {
        font-size: 30px;

      }

.welcome-box-header h3 {
        font-size: 1rem;

      }

    .resale-deals-index-header h2{
            font-size: 30px;
            line-height: 1.5;
    }

    .resale-deals-index-header h2:after{
            display:none;
    }



    .rental-deals-index-header h2{
            font-size: 30px;
            line-height: 2;
    }

    .rental-deals-index-header h2:after{
            display:none;
    }

    .new-articles-header h2{
            font-size: 30px;
            line-height: 1.7;
    }

    .new-articles-header h2:after{
            display:none;
    }

    .new-articles-index{
        overflow:hidden;
        overflow-y:hidden;
        height:300px;
      }

      .widgets_on_page ul li h3{
        width: 90%;
        display:block;
        margin-left: auto;
        margin-right: auto;
        margin-top:0px;
/*        position: relative;
  top: 50%;
  transform: translateY(-50%);*/
    }
#featured_category_widget-6
	{
        width:100%;
    float:left;
    display:block;
    margin-top: 0px;

    }

    #featured_category_widget-7 {
        width:100%;
    float:left;
    display:none;
    margin-top: 0px;

    }


    #featured_category_widget-7 img{
        width:96%;
        margin-top:1.2rem;
        margin-left: auto;
        margin-right: auto;
    float:left;
    display:block;

    }


#featured_category_widget-9
	{
        width:100%;
    float:left;
    display:block;
    margin-top: 0px;

    }

    #featured_category_widget-10 {
        width:100%;
    float:left;
    display:none;
    margin-top: 0px;

    }


    #featured_category_widget-10 img{
        width:96%;
        margin-top:1.2rem;
        margin-left: auto;
        margin-right: auto;
    float:left;
    display:block;

    }



}


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


      .new-articles{
        overflow:hidden;
        overflow-y:hidden;
   height:290px;
      }

      .widget_featured_category_widget h3 {
          min-width:0px;
      }

}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
    text-decoration: none;
    color: #448892;
}

a:hover,
a:focus,
a:active {
    text-decoration: underline;
    color: #333;
    color: hsl(0, 0%, 20%);
}



/*--------------------------------------------------------------
Listings Category
--------------------------------------------------------------*/


.listing_CTA {

}

a.listing_CTA {
    color:#fff;
	text-transform:uppercase;
	background: #448892;
	border-radius:30px;
	padding: 5px 5px;
	font-size: .9rem;
}

a.listing_CTA:hover,a.listing_CTA:active{
/*     color:#fff; */
}
a.listing_resortname:hover,a.listing_resortname:active{
    color:#273549;
}
div.hover_info_button:hover,
div.hover_info_button:active,
.listings td a:hover {
/*     box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%); */
/*     border-radius: 30px; */
	color: #000;
    transition: all 200ms ease-in;
    transform: scale(1.01);
}


table.resort_info p{
    width: 100%;
}

table.resort_info .ssba{
    float: none;
}

table.resort_info .ssba img{
    width: 100%;/*
    margin-right: 20px;*/
    margin:-10px 10px 10px 10px;

}

table.resort_info{
    font-size:1.2em;
    box-sizing: border-box;
    width: 90%;
    background-color:#fff;
    padding: 2rem;
    margin: auto;
}

table.resort_info th, table.resort_info td{
    border-bottom:2px solid #eee;
    text-align:left;
    width: 250px;
    min-width:155px;
    line-height: 1.5;
    padding: 0rem 0rem 0rem 0rem;
    /* width: 57%; */
}

table.closing-costs td{
    min-width:60px !important;
}

table.resort_info th{
    color:#448892;
    padding: 12px 0rem;
    max-width: 100px;
}
table.resort_info tr.notes th{
    vertical-align:top;
/*    width:50px;*/
    width: 50%;
    padding-top:10px;
    border-bottom:1px solid #fff;
}
table.resort_info tr.notes td{
    width:100%;
    padding:5px 0px 0 0;
}

.listing_tabs {
    clear:both;
    font-size:18px;
    height:30px;
    margin-left:9px;
}
.listing_tabs ul {
    list-style: none;
}
.listing_tabs li {
    float:left;
    height:30px;
    margin-right:5px;
}
.listing_tabs li a {
    display:block;
    color:#333333;
    max-height:30px;
    padding:5px 7px;
    outline:none;
    text-align: left;
    vertical-align: middle;
}

.listing_tabs tr {
    border: #f0f0f0;
    border-style: solid;
    border-width:2px 0 2px 0;
}

.listing_tabs li a:hover, body.category-hilton .listing_tabs li.page-item-2203 a, body.category-marriott .listing_tabs li.page-item-2205 a, body.category-disney .listing_tabs li.page-item-2207 a, body.category-worldmark .listing_tabs li.page-item-2209 a, body.category-fairfield .listing_tabs li.page-item-2211 a, body.category-hyatt .listing_tabs li.page-item-2213 a, body.category-intrawest .listing_tabs li.page-item-2216 a, body.category-westin .listing_tabs li.page-item-2218 a, body.category-royal .listing_tabs li.page-item-2222 a, body.category-others .listing_tabs li.page-item-2220 a{
    background:#6699FF;
    color:#FFFFFF;
}

.listing_tabs li a:selected, body.category-hilton .listing_tabs li.page-item-2203 a, body.category-marriott .listing_tabs li.page-item-2205 a, body.category-disney .listing_tabs li.page-item-2207 a, body.category-worldmark .listing_tabs li.page-item-2209 a, body.category-fairfield .listing_tabs li.page-item-2211 a, body.category-hyatt .listing_tabs li.page-item-2213 a, body.category-intrawest .listing_tabs li.page-item-2216 a, body.category-westin .listing_tabs li.page-item-2218 a, body.category-royal .listing_tabs li.page-item-2222 a, body.category-others .listing_tabs li.page-item-2220 a{
    background:#6699FF;
    color:#FFFFFF;
}

.chart {
    border: #f0f0f0;
    border-style: none;
    border-width: 0 2px 0 2px;
    padding: 0 0rem;
    background: #fff;
    margin-top:1rem;
	overflow:scroll;
}

.chart th, .chart td{
    text-align:left;
    vertical-align:middle;
    padding:0 10px;

}

.chart tr:nth-child(even){
    background-color:#f0f0f0;
}

.chart th{
    background:#f0f0f0;
    color:#000000;
    height:40px;
    text-align: center;
}


.chart2 {
    border: #f0f0f0;
    border-style: none;
    border-width: 0 2px 0 2px;
    padding: 0 0rem;
    background: #fff;
    margin-top:1rem;
	overflow:scroll;
}

.chart2 th, .chart td{
    text-align:left;
    vertical-align:middle;
    padding:0 10px;

}

.chart2 tr:nth-child(even){
    background-color:#f0f0f0;
}

.chart2 th{
    background:#f0f0f0;
    color:#000000;
    height:40px;
    text-align: center;
}

table.tablesorter thead tr th {
	border-left: 2px solid #dddddd;
	border-right: 2px solid #dddddd;
	border-top:0px;
	border-bottom:0px;
	padding: 0px 20px;
    line-height: 1.2;
}

.listings table th:nth-child(1) {
    border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	border-left: 0px;
}

.listings table th:nth-last-child(1) {
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	border-right: 0px;
}

.listings table td:nth-child(1) {
    text-align: left;
    padding-left: 5px;
    font-weight: 700;
}

.listings table td:nth-last-child(1) {
	min-width: 200px;
    font-weight: 700;
}

.listings{
    border: #f0f0f0;
    border-style: none;
    border-width: 0 2px 0 2px;
    padding: 0 0rem;
    background: #fff;
    margin-top:1rem;
}

.listings table{
    clear:both;
/*    background:url(images/table_bg.jpg) 0 40px repeat;*/
    color:#333333;
    border-collapse: collapse;
    padding:0 0 11px 0;
    width: 100%;
    font-size:1.2rem;
}

.listings tr[data-href] {
  cursor: pointer;
  transition: all 0.2s ease;
  transform: scale(1);
}

.listings tr[data-href]:hover,
.listings tr[data-href]:focus {
  background-color: #fcfcfc;
/*   outline: 2px solid #0056b3; /* Helpful for keyboard navigation */ */
  outline-offset: -2px;
	transform: scale(1.01);
}

.listings th, .listings td{
    text-align:left;
    vertical-align:middle;
    padding:0 10px;

}
.listings th{
    background:#f0f0f0;
    color:#000000;
/*    text-transform:uppercase;*/
    height:40px;
    text-align: center;
    font-size:1.1em;
	padding-right: 20px;
}

.more_info_button{
    min-width: 30px;
}


.listings td{
    border-bottom: 2px solid #eee;
    padding: 12px;
}

.listings td.resort_title{
    max-width:30%;
    min-width: 160px;
}
#content.listings td.notes p{
    line-height:normal;
    margin:0;
}
.listings td a{

    display: block;
    text-decoration: none;
    text-align: center;
}
.listings td a:hover{
/*    opacity:.9;*/
}

.notes:empty { display: none; }

.notes p{
    padding-left:10px;
    font-weight: 400;
}

.notes p:before{
    content: '- '
}

/* responsive chart */
@media screen and (max-width: 200px) {

	.chart table,
   .chart tbody {
        display: block;
        width: 100%;
    }

	.chart td.resort_title{
    max-width:100%;
    min-width: 0px;
    background:#7CB034;
    }

	.chart thead { display: none; }

	.chart tr {
        border-bottom: 1px solid #eee;
        padding-bottom: 12px;
        margin-bottom: 12px;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        background-color: #eeeeee;
    }


	.chart tr,
    .chart th,
    .chart td {
        display: block;
        padding: 0;
        text-align: left;
        white-space: normal;
    }

	.chart th[data-title]:before,
    .chart td[data-title]:before {
        content: attr(data-title) ":\00A0";
        font-weight: bold;
    }

		.chart td {
        border: none;
        margin-bottom: 6px;
        color: #444;
        padding: 0rem 1rem;
				line-height: 2;
    }

     	.chart td:nth-child(1) {
        font-size: 1.6em;
        font-weight: bold;
        margin-bottom: 6px;
        color: #fff;
        background-color: #273549;
        text-align: center;
        line-height: 2;
        position:relative;
        z-index:2;
    }

	.chart table td:empty { display: none; }

	.chart table th:nth-child(2),
		.listings table td:nth-child(2) {
			float: none;
			padding: 1rem 1rem 0rem;
		}

}

/* responsive table */
@media screen and (max-width: 780px) {

.listing-photo img{
    margin-bottom: -.66rem;
}


    .notes:empty { display: none; }

    .more_info_button{
    min-width: 110px;
    width: 70%;
    background:#448892;
    color: #fff;
    float: none;
    margin-top: 0px;
    border-radius:30px;
    text-align:center;
    margin:auto;
    }

    .more_info_button{
    min-width: 110px;
    width: 70%;
    color: #fff;
    float: none;
    margin-top: 0px;
    border-radius:30px;
    text-align:center;
    margin:auto;
    }

    .listings td a{
    color: #ffffff;
    font-weight: 700;
	font-size: unset;
    }


    a.listing_resortname:hover,a.listing_resortname:active{
    color:#000;
    }

    .listings td.resort_title{
    max-width:100%;
    min-width: 0px;
    background:#7CB034;
    }

   .listings table,
   .listings tbody {
        display: block;
        width: 100%;
    }

    .listings thead { display: none; }

    .listings table tr,
    .listings table th,
    .listings table td {
        display: block;
        padding: 0;
        text-align: left;
        white-space: normal;
    }

    .listings table tr {
        border-bottom: 1px solid #eee;
        padding-bottom: 12px;
        margin-bottom: 1rem;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-color: #f0f0f0;
		border-radius: 12px;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }



    .listings table th[data-title]:before,
    .listings table td[data-title]:before {
        content: attr(data-title) ":\00A0";
        font-weight: bold;
    }



    .listings table td {
        border: none;
        margin-bottom: 6px;
        color: #444;
        padding: 0rem 1rem;
				line-height: 2;
    }

	.listings table td:empty { display: none; }

    .listings table td:nth-child(1) {
        font-size: 1.6em;
        font-weight: bold;
        margin-bottom: 6px;
        color: #fff;
        background-color: #273549;
        text-align: center;
        line-height: 2;
        position:relative;
        z-index:2;
		border-top-left-radius: 12px;
        border-top-right-radius: 12px;
        padding: 5px;
    }



		.listings table th:nth-child(2),
		.listings table td:nth-child(2) {
			float: none;
			padding: 1rem 1rem 0rem;
		}





}

@media screen and (max-width: 1160px) {
    .listings{
    border: #f0f0f0;
    border-style: none;
    border-width: 0 2px 0 2px;
    padding: 0 1rem;
    background: #fff;
    margin-top:1rem;
}
}


.listing-photo img{
text-align: center;
    max-height: 300px;
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
}

.sidebar_featured_title {
	font-weight: 700;
font-size: 1.2rem;

}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
    position: relative;
    float: right;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #273549;
    clear: both;
    height: 65px;
    font-family:  'Montserrat', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    background-position:center top;
    z-index:99995;
    box-shadow: 0 0px 20px rgba(0,0,0,0.22);
}

.menu-toggle {
            display: none;
	}
.main-navigation ul {
    list-style: none;
    padding:0;
    margin:auto;
    color: #458891;
    display: flex;
	justify-content: center;
}
.main-navigation li {
    float: left;
    position: relative;

}


.main-navigation a {
    display: block;
    padding: .9em 1em;
    font-size: 18px;
    text-decoration: none;
    line-height: 1.8em;
    color: #ffffff;
}


.main-navigation ul ul {
    position: absolute;
    left: 0;
    z-index: 99999;
    display: none;
    float: left;
    padding: 0;
    background: #ffffff;
    background: hsl(0, 0%, 100%);
    color: #000;
}
.main-navigation ul ul ul {
    left: 100%;
    top: 0;
}
.main-navigation ul ul a {
    width: 200px;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
    color: #fff;
    background: #448892;
}
.main-navigation ul ul a {
	font-size: .8rem;
	color: #000;
}
.main-navigation ul ul a:hover {
    background: #448892;
}

.main-navigation ul li:hover > ul {
    display: block;
}

@media screen and (min-width: 1160px) {
	.main-navigation .current_page_item > a,
	.main-navigation .current-menu-item > a,
	.main-navigation .current_page_item > a:hover,
	.main-navigation .current-menu-item > a:hover {
	    background: #448892;
	    color: #fff;
	}
}

.main-navigation .current_page_ancestor {
    background: #448892;
}

.main-navigation ul ul .current_page_parent,
.main-navigation .current_page_parent .current_page_item > a {
    background: white;
    color: #313131;
    color: hsl(0, 0%, 19%);
}


.resale-categories{
    width:100%;
    font-size:1.2em;
    display:block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    background-color:#666;
    border-bottom:6px solid #7a8ab2;

}
.resale-categories ul
{
margin: 0;
padding: 0;
list-style-type: none;
text-align: center;
}

.resale-categories ul li { display: inline; }

.resale-categories ul li a
{
text-decoration: none;
padding: 0em 1em;
margin:0 .4rem;
color: #fff;
background-color: #666;
}

.resale-categories ul li a:hover
{
color: #fff;
background-color: #7a8ab2;
}



.rental-categories{
    width:100%;
    font-size:1.2em;
    display:block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    background-color:#666;
    border-bottom:6px solid #7a8ab2;

}
.rental-categories ul
{
margin: 0;
padding: 0;
list-style-type: none;
text-align: center;
}


.rental-categories ul li { display: inline; }

.rental-categories ul li a
{
text-decoration: none;
padding: 0em 1em;
margin:0 .4rem;
color: #fff;
background-color: #666;
}

.rental-categories ul li a:hover
{
color: #fff;
background-color: #7a8ab2;
}

@media screen and (max-width: 640px) {
    .rental-categories ul li {
        display: inline-block;
	width:100%;
    }
    .resale-categories ul li {
        display: inline-block;
	width:100%;
    }
}


@media screen and (max-width: 1060px) {
    .rental-categories ul li {
        display: inline-block;
    }
    .resale-categories ul li {
        display: inline-block;
    }


    .rental-categories {
        width: 85%;
        margin-bottom: 1rem;
    }
    .resale-categories {
        width: 85%;
        margin-bottom: 1rem;
    }

}



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

    .main-navigation {
    background-position:none;
    height:60px;
    padding-left: 0rem;
    }
	.menu-toggle {
		display: flex;
		background-color: rgba(255, 255, 255, 0);
		width: 70px;
		padding: 0;
		font-weight: normal;
		justify-content: center;
		align-items: center;
		height: 60px;
		cursor: pointer;
		transition: all .5s ease-in-out;
 }

 .menu-button {
		width: 28px;
		margin: 0 0.5rem;
		height: 4.5px;
		background: #fff;
		border-radius: 1px;
		transition: all .5s ease-in-out;
		position: relative;
}
.menu-button::before,
.menu-button::after {
	 content: '';
	 position: absolute;
	 margin: 0 0.5rem;
	 width: 28px;
	 height: 4.5px;
	 background: #fff;
	 border-radius: 1px;
	 transition: all .5s ease-in-out;
}

.menu-button::before{
	transform: translate(-22px, -10px);
}

.menu-button::after{
	transform: translate(-22px, 10px);
}
/* MENU BUTTON ANIMATION */
.menu-toggle.open .menu-button {
	transform: translateX(-50px);
	background: transparent;
}

.menu-toggle.open .menu-button::before {
	transform: rotate(45deg) translate(17px, -17px);
}

.menu-toggle.open .menu-button::after {
	transform: rotate(-45deg) translate(17px, 17px);
}

	.main-navigation.toggled .nav-menu {
		    display: block;
    background: #fff;
    max-width: 100%;
    text-align: center;
    position: relative;
    top: 0px;
    padding-left: 0px;
    transform: translatex(0);
    width: 100%;
    box-shadow: 0 22px 29px rgba(0,0,0,0.12);
    height:auto;
	}

.main-navigation a {
    color: #000000;
}


	.main-navigation ul {
    display: block;
    background: #fff;
    max-width: 100%;
    text-align: center;
    position: relative;
    top: 0px;
    width: 100%;
    padding-left: 0px;
    transform: translatex(-300%);
    transition: transform .5s ease-in-out;
    -webkit-transition: transform .5s ease-in-out;
    -moz-transition: transform .5s ease-in-out;
    -ms-transition: transform .5s ease-in-out;
    -o-transition: transform .5s ease-in-out;
    box-shadow: 0 18px 29px rgba(0,0,0,0.12);
	}

	.main-navigation li {
		float: none;

	}

	.main-navigation li a {
		padding: 1.3em 2em;
	}

	.main-navigation li li a {
		padding-left: 4em;
	}

	.main-navigation li li li a {
		padding-left: 6em;
	}

	.main-navigation li:hover > a {
		background: #273549;
		background: hsl(0, 0%, 19%);
	}

	.main-navigation ul ul,
	.main-navigation ul ul ul {
		position: relative;
		top: inherit;
		left: 0;
		display: none;
		float: none;
		background: #313131;
		background: hsl(0, 0%, 19%);
	}

	.main-navigation ul ul a { width: 100%; }

	.main-navigation ul a:hover,
	.main-navigation ul ul a:hover {
		background: #4d4d4d;
	}

	.main-navigation .current_page_ancestor { background: inherit; }

	.main-navigation ul ul .current_page_parent {
		color: inherit;
		background: inherit;
	}

	.main-navigation .current_page_item > a,
	.main-navigation .current_page_item > a:hover,
	.main-navigation .current_page_item li:hover,
	.main-navigation .current_page_parent .current_page_item > a  {

	}

	.site-phone {
    }

}
/* End responsive menu */


.screen-reader-text {
	display:none;
}

/* ==========================================================================
   1. CORE MEGA MENU FRAMEWORK (Shared Desktop Rules)
   ========================================================================== */

/* Break out of the theme's parent width constraints */
#primary-menu > li.has-mega-menu {
    position: static !important; 
}

/* Base wrapper positioning for all mega menus */
#primary-menu > li.has-mega-menu > .mega-menu-dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important; 
    width: 100% !important;
    max-width: 1000px !important; 
    display: none !important; 
    background: #ffffff !important;
    z-index: 99999 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    border-top: 1px solid #eee;
	border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Desktop Hover States */
#primary-menu > li.has-mega-menu:hover > .mega-menu-dropdown {
    display: block !important; 
}

/* Universal sub-menu resets across all mega layouts */
#primary-menu > li.has-mega-menu ul.sub-menu {
    position: relative !important;
    float: none !important;
    left: auto !important;
    top: auto !important;
    background: transparent !important;
    width: 100% !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: grid !important;
}

/* ==========================================================================
   2. VARIANT A: Visual Destination Tiles (BUY Menu)
   ========================================================================== */
.layout-tiles > .mega-menu-grid > .sub-menu {
    /* Reads the variable straight out of the HTML, falling back to 4 if missing */
    grid-template-columns: repeat(var(--desktop-columns, 4), 1fr) !important; 
    gap: 20px !important;
    padding: 30px !important;
}

#primary-menu > li.has-mega-menu ul.sub-menu > li.mega-menu-tile {
    position: relative !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
    background-color: #2c3e50 !important; 
    aspect-ratio: 1 / 1; 
    transition: transform 0.3s ease !important;
}

#primary-menu > li.has-mega-menu ul.sub-menu > li.mega-menu-tile:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
}

#primary-menu > li.has-mega-menu ul.sub-menu > li.mega-menu-tile::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.8) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

#primary-menu > li.has-mega-menu ul.sub-menu > li.mega-menu-tile > a {
    position: absolute !important;
    top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; height: 100% !important;
    display: flex !important;
    align-items: flex-end !important;
	justify-content: center !important;
	text-align: center !important;
    padding: 20px !important;
    color: #ffffff !important; 
    font-size: 18px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8) !important; 
    z-index: 2 !important;
    box-sizing: border-box !important;
    background: transparent !important; 
    line-height: 1.2 !important;
    white-space: normal !important; 
    text-transform: none !important; 
}

/* Search bar positioning */
.mega-menu-top-content {
    width: 100%;
    position: relative; 
    z-index: 999999;
    text-transform: none;
	padding: 20px 30px 0 30px !important;
}

/* ==========================================================================
   3. VARIANT B: 2-Column Icon + Subtext List (SELL Menu)
   ========================================================================== */
.layout-icon_list > .mega-menu-grid > .sub-menu {
    /* Reads the ACF column count variable; defaults to 2 columns if blank */
    grid-template-columns: repeat(var(--desktop-columns, 2), minmax(300px, 1fr)) !important; 
    gap: 30px !important;
    padding: 30px !important;
}

.layout-icon_list .sub-menu > li {
    position: relative !important; /* CRITICAL: Establishes boundaries for the link layer */
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 25px !important; /* Spacing values restored */
    border-radius: 8px !important;
    background-color: #ffffff !important;
    border: 1px solid #f1f5f9 !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
    box-sizing: border-box !important;
}

.layout-icon_list .sub-menu > li:hover {
    background-color: #f8fafc !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important;
}

.layout-icon_list .sub-menu > li > a {
    display: flex !important;
    align-items: flex-start !important;
    padding: 0 !important;
    width: 100% !important;
    color: #273549 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    background: transparent !important;
}

/* Pseudo-element trick: Expands the link hit area across 100% of the parent container frame */
.layout-icon_list .sub-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 5 !important;
}

.layout-icon_list .menu-item-icon {
    width: 44px !important;
    height: 44px !important;
    margin-right: 20px !important;
    flex-shrink: 0 !important;
    object-fit: contain !important;
}

.layout-icon_list .menu-item-desc {
    display: block !important;
    margin-top: 6px !important;
    margin-left: 64px !important;
    font-size: 14px !important;
    color: #65748b !important;
    font-weight: 400 !important;
    text-transform: none !important;
    line-height: 1.5 !important;
}

/* ==========================================================================
   4. MOBILE RESPONSIVE UNIFICATION (859px and below)
   ========================================================================== */

/* Hide toggle arrow completely on desktop layouts */
.mobile-mega-toggle { display: none !important; }

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

    /* Force background white and text dark, overriding theme modifications */
    #primary-menu > li:hover > a,
    #primary-menu > li.focus > a,
    #primary-menu > li:focus-within > a,
    #primary-menu > li > a:hover {
        background: #ffffff !important;
        color: #000000 !important;
    }

    #primary-menu > li.has-mega-menu {
        position: relative !important; 
    }

    /* Fixed 79px height target */
    .mobile-mega-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: absolute !important;
        right: 0; top: 0; bottom: auto !important; 
        height: 79px !important; width: 79px !important; 
        cursor: pointer;
        z-index: 999999 !important;
        background: transparent !important; 
        border: none !important;
    }

    /* Stable dark circle line boundary wrapper */
    .chevron-circle {
        width: 32px; height: 32px;
        border-radius: 50%;
        border: 1px solid rgba(0, 0, 0, 0.3) !important;
        display: flex; align-items: center; justify-content: center;
    }

    /* Clean dark grey indicator icon */
    .chevron-circle::after {
        content: "" !important; display: block !important; 
        width: 10px !important; height: 10px !important;
        background: transparent !important;
        border-right: 2px solid #333333 !important; 
        border-bottom: 2px solid #333333 !important;
        border-top: 0 !important; border-left: 0 !important;
        transform: translateY(-3px) rotate(45deg) !important; 
        transition: transform 0.3s ease !important; 
    }

    /* Upward transformation when dropdown wrapper is shown */
    #primary-menu > li.has-mega-menu.mega-menu-open .chevron-circle::after {
        transform: translateY(2px) rotate(225deg) !important;
    }

    /* Mobile Display Engine Overrides: Defeats desktop hovers & focus leaks */
    #primary-menu > li.has-mega-menu:hover > .mega-menu-dropdown,
    #primary-menu > li.has-mega-menu.focus > .mega-menu-dropdown {
        display: none !important;
    }

    /* Show layout wrapper on open state flags */
    #primary-menu > li.has-mega-menu.mega-menu-open > .mega-menu-dropdown {
        display: block !important;
        position: relative !important; 
        background: #f8f9fa !important;
        box-shadow: inset 0 3px 10px rgba(0,0,0,0.05) !important;
        border-top: none !important;
        padding-bottom: 15px !important;
    }

    /* Mobile Tile Grid (BUY dropdown) */
    .layout-tiles > .mega-menu-grid > .sub-menu {
        padding: 15px !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 15px !important;
        transform: translateX(0) !important;
        display: grid !important;
    }
    
	.layout-tiles .sub-menu > li > a { 
        padding: 12px !important; 
        font-size: 15px !important; 
        justify-content: center !important; /* Optional: Keeps mobile tile titles centered */
    }

    /* Mobile Icon List (SELL dropdown - Centered layout optimization) */
    .layout-icon_list > .mega-menu-grid > .sub-menu {
        padding: 15px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        transform: translateX(0) !important;
        display: grid !important;
    }
    
    .layout-icon_list .sub-menu > li { 
        padding: 25px !important; /* Spacing container bounds preserved */
        border: 1px solid #e2e8f0 !important; 
    }

    /* Center alignment rules inside cards for responsive layouts */
    .layout-icon_list .sub-menu > li > a { 
        justify-content: center !important; 
        color: #273549 !important;
        flex-direction: column !important; 
        align-items: center !important; 
        text-align: center !important;
    }

    .layout-icon_list .menu-item-icon {
        margin-right: 0 !important;
        margin-bottom: 12px !important; 
    }

    .layout-icon_list .menu-item-desc {
        margin-left: 0 !important; 
        text-align: center !important;
        width: 100% !important;
    }
	
	.mega-menu-top-content { padding: 15px 15px 0 15px !important; }

    /* Mobile Dynamic Blog Cards */
    .layout-blog > .mega-menu-grid > .sub-menu {
        padding: 15px !important;
        grid-template-columns: 1fr !important; 
        gap: 20px !important;
        transform: translateX(0) !important;
        display: grid !important;
    }
}

/* ==========================================================================
   5. EXTREME MOBILE (Phones under 600px)
   ========================================================================== */
@media screen and (max-width: 600px) {
    .layout-tiles > .mega-menu-grid > .sub-menu {
        grid-template-columns: 1fr !important; 
        gap: 10px !important;
    }
    .layout-tiles > .mega-menu-grid > .sub-menu > li.mega-menu-tile {
        aspect-ratio: 3 / 1 !important; 
    }
	
	/* NEW: Force Blog cards into a single column on phones */
    .layout-blog > .mega-menu-grid > .sub-menu {
/*         grid-template-columns: 1fr !important; 
        gap: 15px !important; */
    }
}

/* ==========================================================================
   6. VARIANT C: Dynamic Blog Cards (BLOG Menu)
   ========================================================================== */
.layout-blog > .mega-menu-grid > .sub-menu {
    grid-template-columns: repeat(var(--desktop-columns, 3), 1fr);
    gap: 25px !important;
    padding: 30px !important;
}

.layout-blog .sub-menu > li.mega-blog-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    border: 1px solid #f1f5f9 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.layout-blog .sub-menu > li.mega-blog-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
}

/* CRITICAL FIX: Strip global theme padding from the image link wrapper */
.layout-blog .mega-blog-image-link {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
    line-height: 0 !important;
}

.layout-blog .mega-blog-image {
    height: 180px !important; /* Slightly taller to balance the missing excerpt */
    background-size: cover !important;
    background-position: center !important;
    background-color: #eee !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.layout-blog .mega-blog-content {
    padding: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important; /* Forces title to top, link to bottom */
}

.layout-blog .mega-blog-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
    margin: 0 0 20px 0 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

/* CRITICAL FIX: Reset theme link padding on the title */
.layout-blog .mega-blog-title a {
    color: #273549 !important;
    text-decoration: none !important;
    padding: 0 !important;
    background: transparent !important;
    display: inline !important; 
}

/* CRITICAL FIX: Reset theme link padding on the Read More text */
.layout-blog .mega-blog-read-more {
    margin-top: auto !important;
    font-weight: bold !important;
    color: #448892 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    background: transparent !important;
    display: inline-block !important; 
}

/* Footer Button (View All) */
.layout-blog .sub-menu > li:not(.mega-blog-card) {
    grid-column: 1 / -1 !important;
    display: flex !important;
    padding: 0 !important;
    margin-top: 5px !important;
    border: none !important;
}

.layout-blog .sub-menu > li:not(.mega-blog-card) > a {
    background: #f8f9fa !important;
    color: #273549 !important;
    font-weight: 700 !important;
    padding: 15px 25px !important;
    border-radius: 6px !important;
    text-align: center !important;
    border: 1px solid #e2e8f0 !important;
    width: 100% !important;
    transition: background 0.2s ease !important;
    display: block !important;
}

.layout-blog .sub-menu > li:not(.mega-blog-card):hover > a {
    background: #e2e8f0 !important;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	display:none;
        clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;

}



.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;

	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}




/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

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

@media screen and (max-width: 520px) {
 .alignleft {
	float:none;
	display: block;
	margin-left: auto;
	margin-right: auto;
 }

 .alignright {
	float:none;
	display: block;
	margin-left: auto;
	margin-right: auto;
 }

}
/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/* Search widget. */
.widget_search .search-submit {
	display: none;
}

.atb-card-header {
	background-color: #448892;
	margin-top: 1rem;
	padding: 0;
	border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.atb-card-header-listings {
	background-color: #448892;
	margin-top: 1rem;
	padding: 0;
}

.atb-card {
	background-color: #eeeeee;
	padding: 1rem;
	border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
	transition: all 0.2s ease-in-out;
}

.atb-card-listings {
	background-color: #eeeeee;
	padding: 1rem;
	transition: all 0.2s ease-in-out;
}
.atb-card-listings:hover {
    box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%);
    transform: scale(1.01);
}

.atb-card-header h2{
	color:#fff;
	text-align: center;
	line-height: 3;
	margin: 0;
	font-size: 1.3rem;
}

.atb-card-header-listings h2{
	color:#fff;
	text-align: center;
	line-height: 1;
    padding: 1rem 0 0rem;
	margin: 0;
	font-size: 1.3rem;
}

.sidebar_featured_img {
    height: 150px;
    overflow: hidden;
    margin-top: 1rem;
    display: flex;
    align-items: center;
}

.sidebar_featured_img img {
    width: 100%;
	min-height:150px;
}

.sidebar_featured_data {
    margin: 0 1rem;
    text-align: center;
}

.sidebar_featured_data p {
    margin: 1rem;
}

.sidebar_featured_title {
	font-weight: 700;
	font-size: 1.2rem;

}

/*--------------------------------------------------------------
# Categories
--------------------------------------------------------------*/
.product-tile{

    border:#f0f0f0;
    border-style: solid;
    border-width: 0 0 4px 0;
    min-height: 200px;
}

.product-tile img{
    width: 150px;
    height: 150px;
    display: block;
    float: left;
    margin-right: 1rem;
    border-radius: 50%;

}

.product-tile h2{
    font-size:32px;
    margin-bottom: 0rem;
    margin-top: -1rem;
}

.benefits-box{
	margin:auto;
	max-width:1080px;
}

.benefits-box img{
	width:200px;
	height:200px;
}

.benefit-container{
	width:100%;
	background-color:#8c8c8c;
}

.product-benefit{
	float:left;
	width:33%;
	height:auto;
}

.product-benefit img{
	float:left;
	margin:2rem 5rem;
	width:200px;
	height:200px;
	border-radius:50%;
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  	transition: all 0.2s ease-in-out;
}

.product-benefit img:hover{
	box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);

}

.product-benefit h2{
	text-align:center;
	color:#fff;

}

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

	.main-navigation ul li:hover > ul {
	    display: none;
	}

  .product-benefit{
	float:none;
	width:50%;
	height:auto;
	margin:auto
	}

	.product-benefit img{
	float:none;
	margin:2rem auto;
	width:100%;
	height:auto;
	border-radius:50%;
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  	transition: all 0.2s ease-in-out;
	}


}

.article-tile{

    min-height: 200px;
}

.article-tile img{
    display: block;
    float: left;
    margin-right: 1rem;

}

.article-tile h2{
    font-size:26px;
    margin-bottom: 0rem;
    margin-top: -1rem;
}

.post-thumbnail{
      margin-top: 0rem;
}

.post-thumbnail-widget{
      margin-top: 0rem;
}

.post-image{
    margin-top: 0rem;
	max-height: 500px;
	overflow: hidden;
	margin-bottom: 1rem;
}

.post-image img{
	width:100%;
}

.post-thumbnail-full{
      margin: 0 0 1rem !important;
}

.post-thumbnail img{
		width: 96px;
		height: 96px;
		float: left;
		display: block;
		margin-right: 1rem;
		margin-top: .5rem;
		margin-left: 3rem;
		border-radius: 50%;
		margin-bottom: 1rem;
	    box-shadow: 0px 0px 9px 4px #ccc;
}

.post-thumbnail-widget img{
		width: 100%;
	float: none;
    display: block;
  margin-right: 1rem;
}



.post-thumbnail-listing img{
    width:28%;
    display: block;
    float:left;
/*  margin-right: auto;
  margin-left: auto;*/
  margin:1rem 2rem;
}

.post-title {
	text-align: left;
    font-weight: 700;
		font-size:20px;
}

.post-excerpt{
	text-align: left;
}

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

		.post-thumbnail img{
				width: 80%;
				box-sizing: border-box;
				float: none;
				display: block;
				margin-right: auto;
				margin-left: auto;
				border-radius: 0;
				height: auto;
				box-shadow: 0px 0px 0px 0px #fff;
		}
}


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


/*    .post-thumbnail{
    display:block;
    float:none;
    margin-left: auto;
    margin-right: auto;
    max-width:600px;
    height:auto;
    width:100%;
    }*/

.post-thumbnail-listing{
    float:none;
}

   .post-thumbnail-listing img{
    float:none;
    width: 60%;
    max-width: 300px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    }

}

@media screen and (max-width: 750px) {
 .product-tile img{
     width:auto;
     max-height:250px;
	height:auto;
      display: block;
  float: none;
  margin-left: auto;
  margin-right: auto;
    border-radius:0%;
}

.product-tile h2{
    font-size:32px;
    margin-bottom: 0rem;
    margin-top: 0rem;
}




 .article-tile img{
     width:100%;
     max-height:250px;
	height:auto;
      display: block;
  float: none;
  margin-left: auto;
  margin-right: auto;
    border-radius:0%;
}

.article-tile h2{
    font-size:20px;
    margin-bottom: 0rem;
    margin-top: 0rem;
}


}


/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.entry-footer{
	padding: 1em 0 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.new-article-container{
    width:1160px;
    display:block;
    margin-right: auto;
    margin-left: auto;
/*     border: 3px solid #000; */
    margin-top: 2rem;
}

hr.style-three {
    padding: 0 1rem;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;

}

hr.style-three:after {
    font-family: 'FontAwesome';
    content: "\f16a";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-four {
    padding: 0 1rem;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;

}

hr.style-four:after {
    font-family: 'FontAwesome';
    content: "\f05a";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-five {
    padding: 0 1rem;
    border: none;
    border-top: 0px solid #666;
    color: #666;
    text-align: center;

}

hr.style-five:after {
    font-family: 'Ionicons';
    content: "\f471";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-six {
    padding: 0;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;
}

hr.style-six:after {
    font-family: 'Ionicons';
    content: "\f142";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-seven {
    padding: 0;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;
}

hr.style-seven:after {
    font-family: 'Ionicons';
    content: "\f3b4";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-eight {
    padding: 0;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;
}

hr.style-eight:after {
    font-family: 'Ionicons';
    content: "\f456";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-nine {
    padding: 0 1rem;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;
}

hr.style-nine:after {
    font-family: 'Ionicons';
    content: "\f3f8";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-ten {
    padding: 0;
    border: none;
    border-top: 2px solid #666;
    color: #666;
    text-align: center;
}

hr.style-ten:after {
    font-family: 'FontAwesome';
    content: "\f0c0";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.2em;
    padding: 0 0.25em;
    background: white;

}

hr.style-11 {
    padding: 0;
    border: none;
    border-top: 2px solid #fff;
    color: #fff;
    text-align: center;
    width: 90%;
    max-width: 1160px;
}

hr.style-11:after {
    font-family: 'Ionicons';
    content: "\f2fc";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 2.2em;
    padding: 0 0.25em;
    background: #8c8c8c;

}

hr.style-123 {
    padding: 0;
    border: none;
    border-top: 0px solid #97775c;
    color: #97775c;
    text-align: center;
    width: 90%;
    max-width: 1080px;
}

hr.style-123:after {
    font-family: 'FontAwesome';
    content: "\f0c0";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.8em;
    padding: 0 0.25em;
    background: #fff;

}

hr.style-12:after {
    font-family: 'FontAwesome';
    content: "\f1ad";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.8em;
    padding: 0 0.25em;
    background: #f5f5ef;
}

hr.style-12 {
    padding: 0;
    border: none;
    border-top: 0px solid #000;
    color: #97775c;
    text-align: center;
    width: 90%;
    max-width: 1080px;
    background-color: #97775c;
}



hr.style-13 {
    padding: 0;
    border: none;
    border-top: 2px solid #fff;
    color: #fff;
    text-align: center;
    width: 90%;
    max-width: 1160px;
}

hr.style-13:after {
    font-family: 'FontAwesome';
    content: "\f124";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.6em;
    padding: 0 0.25em;
    background: #8c8c8c;

}

hr.style-14 {
    padding: 0;
    border: none;
    border-top: 2px solid #000;
    color: #000;
    text-align: center;
    width: 90%;
    max-width: 1160px;
}

hr.style-14:after {
    font-family: 'Ionicons';
    content: "\f471";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.6em;
    padding: 0 0.25em;
    background: #fff;

}

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

    .new-article-container{
    display:block;
    margin-right: auto;
    margin-left: auto;
    max-width: 780px;
    width:100%;
    border-bottom:solid #ccc 1px
    }

	.hide-at-1208{
		display:none;
	}

}

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

	.hide-at-768{
		display:none;
	}

}


/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

.widget_featured_category_widget widget-title{
    color:#ffffff;
}

.widget-title{
	text-align:center;
}

.widget_featured_category_widget h1:before{
    font-family: 'Ionicons';
    content: '\f3f8';
    float:left;
    padding-left: 10px;

}


.widget_featured_category_widget h1{
    text-align: center;
    color:#ffffff;
    font-size:40px;
    background-color:#666;
    border: #8fa9b2;
    border-style: solid;
    border-width: 0px 0px 6px 0px;

}

.widget_featured_category_widget h1 a{
    color:#ffffff;

}

/*.widget_featured_category_widget h1 a:hover{
    text-decoration: none;
    color:#8fa9b2;

}*/

.widget_featured_category_widget img{
    max-height: 200px;
    min-height: 200px;
    min-width: 320px;


}

.widget_featured_category_widget h3{
    text-align: center;
    color: #000;
    border: #eaeaea;
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    margin-top:-8px;

}

.widget_featured_category_widget h3 a{
    color: #000;

}

.button {
	padding: .2rem;
	margin-bottom: 1rem;
	background-color: #448892;
	max-width: 250px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	border-radius: 12px;
	font-size:.8rem;
	display: block;
}

.button a{
    font-size:18px;
    color:#fff;
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    display:block;
}

.button2 {
	padding: .2rem;
	margin-bottom: 1rem;
	background-color: #448892;
	max-width: 250px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	border-radius: 12px;
	font-size:.8rem;
	display: block;
}

.button2 a{
    font-size:18px;
    color:#fff;
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    display:block;
}





.view-all-listings-button {
    height:50px;
    background-color: #464f66;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display:block;

}

.view-all-listings-button a{
    font-size:24px;
    color:#fff;
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    display:block;
}


.view-all-listings-button a:before{
    font-family: 'Ionicons';
    content: '\f3f8';
    float:left;
    padding-left: 10px;
}

.solid-line{

    border-bottom:2px solid #fff;
	width:96%;
    margin-left: auto;
    margin-right: auto;
    display:block;
}

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

    .widget_featured_category_widget h1{
    text-align: center;
    color:#ffffff;
    background-color:#666;
    border: #8fa9b2;
    border-style: solid;
    border-width: 0px 0px 9px 0px;
    width: 110%;
    margin-top: 0rem;
    margin-left: -2rem;
    }

    .widget_featured_category_widget h1:after{
    font-family: 'Ionicons';
    content: '\f3f8';
    float:right;
    padding-right: 20px;
    color:#fff;
    }

    .widget_featured_category_widget img{
    max-height: none;
    min-height: none;
    min-width: 60%;
    margin-left: auto;
    margin-right: auto;
    display:block;
    z-index:1;
    position:relative;


    }


    .widget_featured_category_widget h3{
        background-color: #ffffff;

    max-width: 280px;
    width: 92%;
     margin-left: auto;
    margin-right: auto;
    display:block;
    z-index:99;
    position:relative;
    margin-top: -40px;
    }

    .view-all-listings-button {
    width: 60%;
    min-width:320px

    }

}


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



    .widget_featured_category_widget h1{
        margin-top: 0rem;
        margin-left: 0rem;
        width:100%
    }
}



@media screen and (max-width: 400px){
    .widget_featured_category_widget h1 {
      font-size: 32px;
      line-height: 2;
    }

    .widget_featured_category_widget h1:after{
    display:none;
    }

}
/*@media screen and (max-width: 734px) {

    .widget_featured_category_widget h1 {
        width:120%;
    }

    .widget_featured_category_widget h1:after{
    display:none;
    }

}*/



/*--------------------------------------------------------------
 Footer
--------------------------------------------------------------*/
#footer{
	padding: 1rem;
}

#mc_embed_signup .button{
	background-color: #448892 !important;
	position: relative;
top: 0px;
}

.site-footer {
    margin-top: 0rem;
    padding: 1rem 6% 3rem;
    font-family:  'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 1.3rem;
    color: #fff;
    color: hsl(0, 0%, 100%);
    background: #273549;
    text-align: center;
    border: #000;
    /* border-style: solid; */
    box-shadow: 0 0px 20px rgba(0,0,0,0.52);
    min-height:400px;
		z-index: 99;
		position: relative;
}

.site-footer a {
    color: #fff;
    color: hsl(0, 0%, 100%);
}

.site-footer img{
    width:80px;
padding-top:10px;
}

.site-info {
    text-align: center;
}

.copy {
  margin-top: -1.5rem;
}

.vn-media {
  margin-bottom: -2.5rem;
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.wp-caption-text {
	text-align: center;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
## Hilton Booking Window Table 1 & 2
--------------------------------------------------------------*/
.hilton-booking-chart-1 tbody tr:nth-child(1) td:nth-of-type(1),
.hilton-booking-chart-1 tbody tr:nth-child(2) td:nth-of-type(1)
{
    background-color: #ffead1 !important;
}

.hilton-booking-chart-1 tbody tr:nth-child(1) td:nth-of-type(2),
.hilton-booking-chart-1 tbody tr:nth-child(2) td:nth-of-type(2)
{
    background-color: #94c6ff !important;
}

.hilton-booking-chart-1 tbody tr:nth-child(1) td:nth-of-type(3),
.hilton-booking-chart-1 tbody tr:nth-child(2) td:nth-of-type(3)
{
    background-color: #ff7a7a !important;
}

/*Header Rules*/
.su-table.hilton-booking-window-1 table {
    border: 0px !important;
}

.hilton-booking-window-1 thead tr:nth-child(1) th:first-of-type, .hilton-booking-window-1 thead tr:nth-child(2) th:first-of-type {
    background: white !important;
    border: 0px !important;
}

/*Home Week*/

.hilton-booking-window-1 tbody tr:nth-child(1) th {
    background-color: #ffead1 !important;
}

.hilton-booking-window-1 tbody tr:nth-child(1) td:first-of-type {
    background-color: #ffd6a3 !important;
}
.hilton-booking-window-1 tbody tr:nth-child(1) td:last-of-type {
    background-color: #ffc47d !important;
}
/*Club Season*/

.hilton-booking-window-1 tbody tr:nth-child(2) th {
    background-color: #94c6ff !important;
}

.hilton-booking-window-1 tbody tr:nth-child(2) td:first-of-type {
    background-color: #94c6ff !important;
}
.hilton-booking-window-1 tbody tr:nth-child(2) td:last-of-type {
    background-color: #61abff !important;
}

/*Open Season*/

.hilton-booking-window-1 tbody tr:nth-child(3) th {
    background-color: #ff7a7a !important;
}

.hilton-booking-window-1 tbody tr:nth-child(3) td:first-of-type {
    background-color: #ff7a7a !important;
}
.hilton-booking-window-1 tbody tr:nth-child(3) td:last-of-type {
    background-color: #ff6161 !important;
}

/*--------------------------------------------------------------
## Hilton Booking Window Table 3
--------------------------------------------------------------*/
.hilton-booking-chart-3 tbody tr:nth-child(1) td:nth-of-type(1),
.hilton-booking-chart-3 tbody tr:nth-child(2) td:nth-of-type(1)
{
    background-color: #ffead1 !important;
}

.hilton-booking-chart-3 tbody tr:nth-child(1) td:nth-of-type(2),
.hilton-booking-chart-3 tbody tr:nth-child(2) td:nth-of-type(2)
{
    background-color: #87c7a4 !important;
}

.hilton-booking-chart-3 tbody tr:nth-child(1) td:nth-of-type(3),
.hilton-booking-chart-3 tbody tr:nth-child(2) td:nth-of-type(3)
{
    background-color: #94c6ff !important;
}

.hilton-booking-chart-3 tbody tr:nth-child(1) td:nth-of-type(4),
.hilton-booking-chart-3 tbody tr:nth-child(2) td:nth-of-type(4)
{
    background-color: #ff7a7a !important;
}
/*Header Rules*/
.su-table.hilton-booking-window-3 table {
    border: 0px !important;
}

.hilton-booking-window-3 thead tr:nth-child(1) th:first-of-type, .hilton-booking-window-3 thead tr:nth-child(2) th:first-of-type {
    background: white !important;
    border: 0px !important;
}

/*Home Week*/

.hilton-booking-window-3 tbody tr:nth-child(1) th {
    background-color: #ffead1 !important;
}

.hilton-booking-window-3 tbody tr:nth-child(1) td:first-of-type {
    background-color: #ffd6a3 !important;
}
.hilton-booking-window-3 tbody tr:nth-child(1) td:last-of-type {
    background-color: #ffc47d !important;
}

/*Home Resort Season*/

.hilton-booking-window-3 tbody tr:nth-child(2) th {
    background-color: #87c7a4 !important;
}

.hilton-booking-window-3 tbody tr:nth-child(2) td:first-of-type {
    background-color: #87c7a4 !important;
}
.hilton-booking-window-3 tbody tr:nth-child(2) td:nth-of-type(2) {
    background-color: #61c990 !important;
}
.hilton-booking-window-3 tbody tr:nth-child(2) td:last-of-type {
    background-color: #87c7a4 !important;
}

/*Club Season*/

.hilton-booking-window-3 tbody tr:nth-child(3) th {
    background-color: #94c6ff !important;
}

.hilton-booking-window-3 tbody tr:nth-child(3) td:first-of-type {
    background-color: #94c6ff !important;
}
.hilton-booking-window-3 tbody tr:nth-child(3) td:last-of-type {
    background-color: #61abff !important;
}

/*Open Season*/

.hilton-booking-window-3 tbody tr:nth-child(4) th {
    background-color: #ff7a7a !important;
}

.hilton-booking-window-3 tbody tr:nth-child(4) td:first-of-type {
    background-color: #ff7a7a !important;
}
.hilton-booking-window-3 tbody tr:nth-child(4) td:last-of-type {
    background-color: #ff6161 !important;
}

/*--------------------------------------------------------------
## Hilton Booking Window Table 4
--------------------------------------------------------------*/
.hilton-booking-chart-4 tbody tr:nth-child(1) td:nth-of-type(1),
.hilton-booking-chart-4 tbody tr:nth-child(2) td:nth-of-type(1)
{
    background-color: #ffead1 !important;
}

.hilton-booking-chart-4 tbody tr:nth-child(1) td:nth-of-type(2),
.hilton-booking-chart-4 tbody tr:nth-child(2) td:nth-of-type(2)
{
    background-color: #87c7a4 !important;
}

.hilton-booking-chart-4 tbody tr:nth-child(1) td:nth-of-type(3),
.hilton-booking-chart-4 tbody tr:nth-child(2) td:nth-of-type(3)
{
    background-color: #fffad9 !important;
}

.hilton-booking-chart-4 tbody tr:nth-child(1) td:nth-of-type(4),
.hilton-booking-chart-4 tbody tr:nth-child(2) td:nth-of-type(4)
{
    background-color: #94c6ff !important;
}

.hilton-booking-chart-4 tbody tr:nth-child(1) td:nth-of-type(5),
.hilton-booking-chart-4 tbody tr:nth-child(2) td:nth-of-type(5)
{
    background-color: #ff7a7a !important;
}
/*Header Rules*/
.su-table.hilton-booking-window-4 table {
    border: 0px !important;
}

.hilton-booking-window-4 thead tr:nth-child(1) th:first-of-type, .hilton-booking-window-4 thead tr:nth-child(3) th:first-of-type {
    background: white !important;
    border: 0px !important;
}

/*Home Week*/

.hilton-booking-window-4 tbody tr:nth-child(1) th {
    background-color: #ffead1 !important;
}

.hilton-booking-window-4 tbody tr:nth-child(1) td:first-of-type {
    background-color: #ffd6a3 !important;
}
.hilton-booking-window-4 tbody tr:nth-child(1) td:last-of-type {
    background-color: #ffc47d !important;
}


/*Home Resort Season*/

.hilton-booking-window-4 tbody tr:nth-child(2) th {
    background-color: #87c7a4 !important;
}

.hilton-booking-window-4 tbody tr:nth-child(2) td:first-of-type {
    background-color: #87c7a4 !important;
}
.hilton-booking-window-4 tbody tr:nth-child(2) td:nth-of-type(2) {
    background-color: #61c990 !important;
}
.hilton-booking-window-4 tbody tr:nth-child(2) td:last-of-type {
    background-color: #87c7a4 !important;
}

/*Priority Exchange Season*/

.hilton-booking-window-4 tbody tr:nth-child(3) th {
    background-color: #fffad9 !important;
}

.hilton-booking-window-4 tbody tr:nth-child(3) td:first-of-type {
    background-color: #fffad9 !important;
}
.hilton-booking-window-4 tbody tr:nth-child(3) td:nth-of-type(2) {
    background-color: #fff199 !important;
}
.hilton-booking-window-4 tbody tr:nth-child(3) td:last-of-type {
    background-color: #fffad9 !important;
}

/*Club Season*/

.hilton-booking-window-4 tbody tr:nth-child(4) th {
    background-color: #94c6ff !important;
}

.hilton-booking-window-4 tbody tr:nth-child(4) td:first-of-type {
    background-color: #94c6ff !important;
}
.hilton-booking-window-4 tbody tr:nth-child(4) td:last-of-type {
    background-color: #61abff !important;
}

/*Open Season*/

.hilton-booking-window-4 tbody tr:nth-child(5) th {
    background-color: #ff7a7a !important;
}

.hilton-booking-window-4 tbody tr:nth-child(5) td:first-of-type {
    background-color: #ff7a7a !important;
}
.hilton-booking-window-4 tbody tr:nth-child(5) td:last-of-type {
    background-color: #ff6161 !important;
}

/* DVC Points Charts Rules ! */
.points-chart-group__selector {
	padding-bottom: 1.3125rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;list-style: none;
}
.points-chart-group__selector-item {
	font-size: .875em;
	margin-left: 1px;
	background-color: #87c9ee;
	color: #ffffff;
	cursor: pointer;
	font-weight: 500;
	line-height: 1;
	padding: .625em 1.25em;
}

.points-chart-group__selector-item.is-active {
	background-color: #2299dd;
}

.points-chart-group__selector-item:first-child {
	border-top-left-radius: 10em;
	border-bottom-left-radius: 10em;
}
.points-chart-group__selector-item:last-child {
	border-top-right-radius: 10em;
	border-bottom-right-radius: 10em;
}
.points-chart-group__charts {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #010d3c;border-bottom: none;
}
.points-chart-group__chart {display: none;}
.points-chart-group__chart.is-active {display: block;}
.pointschart__table {
	max-width: 100%;
	width: 100%;
	border-collapse: separate;
	/* border-right: 2px solid #010d3c; */
	/* border-bottom: 2px solid #010d3c; */
	/* table-layout: fixed; */
	font-size: .8125em;
	table-layout: fixed;
}

.pointschart__table .pointschart__table-title td:first-child {width: 30%;}

.pointschart__table td {/* border-left: 2px solid #010d3c; */}
.pointschart__table-title {background-color: #1B75BC;}
.pointschart__table-year {
	font-size: 1.875em;
	padding-top: .1em;
	padding-bottom: .1em;
	padding-left: .53333em;
	color: #ffffff;
	font-weight: normal;
}
.pointschart__table-resort {font-size: 1.25em;color: #ffffff;font-weight: 600;}
.pointschart__table-subtitle {
	font-size: .875em;
	max-width: 11em;
	padding: 0 1em;
	margin-left: auto;
	margin-right: auto;
	color: #ffffff;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}
.pointschart__table-rooms {background-color: #7cbcde;}
.pointschart__table-rooms td:first-child {
	padding: 0;
	font-weight:
	normal;
	}
	.pointschart__table-legend {background-color: #eeeeee;padding: .9375em 1.25em;white-space: nowrap;}
	.pointschart__table-room {padding-left: .9375em;padding-right: .9375em;color: #222222;text-align: center;}
	.pointschart__table-room[colspan="2"] {width: 150px;}.pointschart__table-room[colspan="4"] {width: 220px;}
	.pointschart__table-room-name {font-size: 1em;font-weight: 700;line-height: 1;text-transform: uppercase;}
	.pointschart__table-room-note {font-size: .75em;font-style: italic;}
	.pointschart__table-season-header {
		font-size: .8125em;
		background-color: #7cbcde !important;
		font-weight: 700;
		text-transform: uppercase;
	}
		.pointschart__table-season-header td {padding-top: 4px;padding-bottom: 4px;border-top: 1px solid #65A3C4;border-bottom: 1px solid #65A3C4;}
		.pointschart__table-season-header .pointschart__table-season-amenity {border-left: none;}
		.pointschart__table-season-header .pointschart__table-season-amenity-1 {/* border-left: 2px solid #010d3c; */}
		.pointschart__table-season-name {padding: .38462em 1.53846em;letter-spacing: 1px;}
		.pointschart__table-season-amenity {text-align: center;}.pointschart__table-season-points td {padding: .1875em 1.25em;}
		.pointschart__table-season-points-first-row td {padding-top: .9375em;}
		.pointschart__table-season-points-last-row td {padding-bottom: .9375em;}
		.pointschart__table-season-dates {background-color: #d4f0ff;border-left: none !important;line-height: 1;font-style: italic;}
		.pointschart__table-season-dates-first {padding-top: .3125em;}
		.pointschart__table-season-dates-inside {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
	.pointschart__table-season-windows {background: #2177aa;color: #fff;vertical-align: top;/* border: 1px solid #010d3c; */padding-bottom: .9375em !important;}
	.pointschart__table-season-windows-last {border-bottom: none;}
	.pointschart__table-season-windows-name {display: block;font-weight: bold;text-transform: uppercase;font-size: .875em;line-height: 1.14286em;padding-bottom: 8px;letter-spacing: 1px;}
	.pointschart__table-season-windows-dates {display: block;font-size: .875em;line-height: 1.14286em;margin: 5px 0;}
	.pointschart__table td[class*='table-points'] {border-left-color: #7dbddf;max-width: 3.75em;width: 20%;padding-left: .5em;padding-right: .5em;text-align: center;}
	.pointschart__table td[class*='table-points']
	.pointschart__table-points-1 {border-color: #010d3c;}
	.pointschart__table-points-1 {background-color: #f2f8fb;}
	.pointschart__table-points-2 {background-color: #dbedf6;}
	.pointschart__table-points-3 {background-color: #c4e1f0;}.pointschart__table-points-4 {background-color: #9dcde7;}

/* Hilton Points Chart Styles */

table.platinum-season caption {
    background-color: #c7e5f9;
    text-align: center;
    padding: 1.5rem 0;
	font-size: 1rem;
    font-weight: 600;
}

table.gold-season caption {
    background-color: #f5e2a8;
    text-align: center;
    padding: 1.5rem 0;
	font-size: 1rem;
    font-weight: 600;
}

table.silver-season caption {
    background-color: #e1e1e1;
    text-align: center;
    padding: 1.5rem 0;
	font-size: 1rem;
    font-weight: 600;
}

table.bronze-season caption {
    background-color: #f1e8d0;
    text-align: center;
    padding: 1.5rem 0;
	font-size: 1rem;
    font-weight: 600;
}

table.hgvc-points-chart tbody tr:nth-child(odd) {
    background-color: #eeeeee;
}

table.hgvc-points-chart td {
    text-align:center;
}

.su-tabs-pane {
	font-size:1rem !important;
}

/* Hilton Resort Directory Table Styles */

.su-table.hilton-resort-directory table{
	    border: 0px solid #fff!important;
}
.su-table.hilton-resort-directory table td {
	border: 0px solid #fff!important;
	border-bottom: 1px solid #ccc!important;
}
@media screen and (max-width: 705px){
	.su-table.hilton-resort-directory table tr td:nth-child(1),
	.su-table.hilton-resort-directory table tr td:nth-child(3){
/* 		display:none; */
	}
}

/* Hilton ClubPoint Adjustment Disclaimer Styles */

.hilton-disclaimer .su-spoiler-title {
	font-weight: 300;
    font-size: 1.2rem;
    margin: 0.5rem 0 -1.5rem;
	padding-left: 0 !important;
}

.hilton-disclaimer span.su-spoiler-icon {
	left:360px !important;
}

.hilton-disclaimer.su-spoiler-style-default>.su-spoiler-content {
	padding: 1.5em 0 0em 0px;
}

@media screen and (max-width: 770px){
	.hilton-disclaimer span.su-spoiler-icon {
		left:40vw !important;
	}

}


/*--------------------------------------------------------------
## Glossary
--------------------------------------------------------------*/

.ln-letters a {
	font-size: .96rem !important;
    font-weight: 600;
}

a.cmtt-backlink.cmtt-backlink-top {
	display:none;
}

.definition {
	font-weight: 600;
	font-size: 1.2rem;
}

ul#glossaryList {
	font-size: 1.5rem;
}


/*--------------------------------------------------------------
## Toggle Switches
--------------------------------------------------------------*/
.filter-heading h2 {
	padding:0;
	margin:0;
	font-size:1.2rem;
	color: #444;
	text-align: center;
}

.filter-heading.su-spoiler-style-default>.su-spoiler-title>.su-spoiler-icon {
    left: calc(50% - 100px);
	color: #444;
}

.filterLabel{
	font-size: 1.2rem;
    padding: 1rem;
    position: relative;
    top: 5px;
}

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #448892;
}

input:focus + .slider {
  box-shadow: 0 0 1px #448892;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

/*--------------------------------------------------------------
## Floating Listing Button
--------------------------------------------------------------*/
.floating-listing-button {
	display: none;
}

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

	.floating-listing-button {
		display: block;
		background: #fcc248;
		color:#000;
		width:max-content;
		border-radius: 10px;
		padding: .5em 1.5em;
		position: fixed;
		bottom: 15px;
		right: 20px;
		z-index:98;
		box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%);
		transition: transform 200ms ease;
		left: 50%;
		transform: translateX(-50%);
		text-transform: uppercase;
	}

	.floating-listing-button:hover,
	.floating-listing-button:focus {
		text-decoration: none;
	}
}

.floating-listing-button-768 {
	display: none;
}

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

	.floating-listing-button-768 {
		display: block;
		background: #fcc248;
		color:#000;
		width:max-content;
		border-radius: 10px;
		padding: .5em 1.5em;
		position: fixed;
		bottom: 15px;
		right: 20px;
		z-index:999;
		box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%);
		transition: transform 200ms ease;
		left: 50%;
		transform: translateX(-50%);
		text-transform: uppercase;
	}

	.floating-listing-button-768:hover,
	.floating-listing-button-768:focus {
		text-decoration: none;
	}
}


#wpadminbar {
	position: fixed !important;
}

/*--------------------------------------------------------------
## Flat Shortcodes Ultimate Button
--------------------------------------------------------------*/

.su-button-style-flat {
    transform: scale(1);
	transition: transform 200ms ease;
	position:relative;
	font-weight: 600;
    border-radius: 50px !important;
	text-transform: uppercase;
	padding: 5px;
}

.su-button-style-flat::after {
    content: '';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	border-radius: 30px;
    box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%);
    opacity: 0;
	transition: opacity 200ms ease-in;
}

.su-button-style-flat:hover {
    transform: scale(1.02);
}

.su-button-style-flat:hover::after {
    opacity: 1;
}

.su-button-style-flat:hover span {
	top: 0px !important;
}

.su-tabs-nav span {
	font-weight:600 !important;
	font-size:15px !important;
}


.gform_legacy_markup_wrapper .gf_progressbar_percentage.percentbar_blue {
	background-color: #438892 !important;
}

.font-18 .su-spoiler-title {
	font-size:18px !important;
}

/*--------------------------------------------------------------
## Tool Tip Z-index
--------------------------------------------------------------*/

#tt {
	z-index:999995 !important;
}

/*--------------------------------------------------------------
## PDF Embedder Customizations
--------------------------------------------------------------*/

.pdfemb-fsp-wrapper {
	z-index: 99995 !important;
}

div.pdfemb-wantmobile-fsarea {
	color: white !important;
	background-color: #273549 !important;
	border: none !important;
	max-height: 40px !important;
}

/*--------------------------------------------------------------
## Marriott Inventory Calendars
--------------------------------------------------------------*/

.inventory-content {
	width:100%;
	max-width: 470px;
    padding: 10px 5px;
    margin: 0 auto;
    border-radius: 10px;
}

#output {
	width:100%;
	padding:10px;
	text-align:left;
	margin:0 auto;
	border:1px solid #eee;
	border-radius:8px;
	background-color:#eee;
}

#output p {
	font-size:14px;
}

#callIn12, #callIn13 {
	font-size:20px;
	text-align:center;
	margin-top:5px;
	color:#666;
	background-color:#fff;
	padding:5px;
	font-weight:bold;
}

button.ui-datepicker-trigger {	
	padding:0;
	margin:0;
	background: #fcc248;
    position: relative;
    top: 8px;
    border-radius: 30px;
    width: 45px;
	height: 45px;
}

.title {
	padding:3px;
	margin-bottom:5px;
	margin-top:0px;
	text-align:center;
	background-color:#273549;
	color:#fff;
	font-weight:bold;
	border-top:1px solid #dee4e0;
	border-bottom:1px solid #dee4e0;
	font-size:16px;
	border-radius:10px
}

#datepicker {
	margin-top: 0px;
    padding-right: 10px;
    margin-bottom: 0px;
    width: 75%;
    margin-right: 10px;
	margin-left: 10px;
}

#checkIn {
	position:relative;
	left:-9999px;
	top:-30px;
}

.showDate {
	border:1px solid #ddd;
	border-radius:5px;
	min-height:30px;
	margin-bottom:15px;
	font-size:18px;
}


input {
/* 	color:#ffffff; */
	/*margin:10px;*/
}

.ui-widget-header { 
	border: 1px solid #aaaaaa/*{borderColorHeader}*/; 
	background: #448892; 
	font-weight: bold;
	height:55px; 
}

.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { 
	font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; 
	font-size: .8em; 
}
.ui-datepicker-calendar {
	background: #fff;
	border:2px solid #eee;
    width: 280px;
}
.ui-datepicker-prev, .ui-datepicker-next {
	color:#fff;
	padding: 5px;
}
.pickerbox {
	border: 2px solid #eee;
    border-radius: 10px;
    margin-bottom: 10px;
	padding:10px;
}

/*--------------------------------------------------------------
## Glossary Tool Tip Customizations
--------------------------------------------------------------*/
#ttcont {
	padding: 5px 28px 15px 18px !important;
}

#tt #ttcont div.glossaryItemBody{
	font-weight:400 !important;
}

#tt #ttcont div.glossaryItemTitle {
    filter: invert(1);
	font-weight: 600 !important;
}

#tt #tt-btn-close {
	filter: invert(1);
    right: 10px !important;
    top: 10px !important;
}


/*--------------------------------------------------------------
## Shortcode Ultimate Tool Tip Customizations
--------------------------------------------------------------*/
.su-tooltip-button::after {
    content: "\f29c";
    font: normal normal normal 14px / 1 ShortcodesUltimateIcons;
    font-size: .8em;
    margin: 0 5px;
    vertical-align: middle;
}


/*--------------------------------------------------------------
## Shortcode Ultimate Image Carousel Customizations
--------------------------------------------------------------*/

.su-image-carousel>ol.flickity-page-dots>li.dot {
	width: 15px !important;
    height: 15px !important;
}

.su-image-carousel>ol.flickity-page-dots {
	top: 95% !important;
	width: 100% !important;
}

/*--------------------------------------------------------------
## Gravity Forms Customizations
--------------------------------------------------------------*/

.gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	border: 1px solid #767676;
}

#gform_wrapper_2 {
	max-width: 100%;
    margin: 0 auto;
    padding: 25px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}

.gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
	padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 16px;
}

#gform_wrapper_2 textarea {
	font-family: inherit;
    letter-spacing: normal;
    line-height: 1.5;
    resize: none;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}

.gform_legacy_markup_wrapper textarea {
	font-family: inherit;
    letter-spacing: normal;
    line-height: 1.5;
    resize: none;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}

/*--------------------------------------------------------------
## Resort Units Tiled Custom Rules
--------------------------------------------------------------*/

.units-grid-container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
        gap: 20px;
        width: 100%;
		padding-left: 5px;
        padding-right: 5px;
		box-sizing: border-box;
	    justify-content: center;
    }
    /* Responsive adjustment for mobile */
    @media (max-width: 600px) {
        .units-grid-container {
            grid-template-columns: 1fr;
        }
    }
/*--------------------------------------------------------------
## Resort Search Custom Rules
--------------------------------------------------------------*/
/* Container */
.rs-search-wrapper {
    position: relative;
    width: 100%;
    max-width: 600px;
	padding: 7px 7px;
    margin: 0 auto;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    box-sizing: border-box;
}

/* Flexbox Form - Force Row Layout Always */
.rs-input-container {
    display: flex;
    flex-direction: row; /* Always side-by-side */
    flex-wrap: nowrap;   /* Never wrap to next line */
    gap: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
	position: relative;
	align-items: center;
}

#rs-clear-btn,
.rs-clear-btn {
    position: absolute;
    right: 90px;
    cursor: pointer;
    color: #999; /* Greyed out color */
    align-items: center;
    justify-content: center;
    padding: 5px;
    transition: color 0.2s ease;
}

#rs-clear-btn:hover,
.rs-clear-btn:hover {
    color: #333; /* Darkens when hovered */
}

#rs-input,
input.rs-input {
    flex-grow: 1; /* Takes up all remaining space */
    min-width: 0; /* Allows input to shrink smaller than default width if needed */
    padding: 14px 20px;
    border: 1px solid #e0e0e0;
    border-right: none;
    font-size: 16px;
    color: #2c3e50;
    background: #fff;
    outline: none;
    margin: 0; /* Reset margins */
    border-radius: 4px 0 0 4px; /* Round left corners only */
}

#rs-input::placeholder,
.rs-input::placeholder {
    color: #999;
}

#rs-submit-btn,
.rs-submit-btn {
    flex-shrink: 0; /* Prevents button from being squished */
    width: auto;    /* Only takes necessary width */
    padding: 14px 30px;
    background-color: #558c96;
    color: white;
    border: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    border-radius: 0 4px 4px 0; /* Round right corners only */
    transition: background-color 0.3s ease;
}

#rs-submit-btn:hover,
.rs-submit-btn:hover {
    background-color: #42727a;
}

#rs-submit-btn:disabled,
.rs-submit-btn:disabled {
    background-color: #91b8be;
    cursor: not-allowed;
}

/* Dropdown Results */
#rs-results-dropdown,
.rs-results-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #e0e0e0;
    border-top: none;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: 0 10px 15px rgba(0,0,0,0.05);
    display: none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Dropdown Items */
#rs-results-dropdown li,
.rs-results-dropdown li {
    padding: 12px 20px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    line-height: 1.4;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

#rs-results-dropdown li:hover,
.rs-results-dropdown li:hover {
    background-color: #f0f8fa;
}

/* Keyboard navigation highlight state */
.rs-active,
#rs-results-dropdown li:hover:not(.rs-no-results),
.rs-results-dropdown li:hover:not(.rs-no-results) {
    background-color: #f0f0f0; /* Light gray background, adjust as needed */
    cursor: pointer;
}

/* Badge Styling */
.rs-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 700;
    margin-right: 8px;
    flex-shrink: 0; /* Prevent badge squishing */
}
.rs-badge-brand { background-color: #2c3e50; color: #fff; }
.rs-badge-resort { background-color: #558c96; color: #fff; }

/* Empty State Styling */
.rs-badge-empty { background-color: #95a5a6; color: #fff; font-size: 9px; }
.rs-row-empty .rs-resort-name { color: #7f8c8d; }
.rs-row-empty .rs-location { color: #bdc3c7; }
.rs-row-empty:hover { background-color: #f9f9f9 !important; }

.rs-resort-name { font-weight: 600; color: #333; }
.rs-location { font-size: 13px; color: #888; margin-left: 5px; }

/* Scrollbar */
#rs-results-dropdown::-webkit-scrollbar,
.rs-results-dropdown::-webkit-scrollbar { width: 8px; }
#rs-results-dropdown::-webkit-scrollbar-track,
.rs-results-dropdown::-webkit-scrollbar-track { background: #f1f1f1; }
#rs-results-dropdown::-webkit-scrollbar-thumb,
.rs-results-dropdown::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
#rs-results-dropdown::-webkit-scrollbar-thumb:hover,
.rs-results-dropdown::-webkit-scrollbar-thumb:hover { background: #558c96; }

/* MOBILE ADJUSTMENTS */
@media (max-width: 480px) {
    /* Slightly reduce padding on mobile to save horizontal space */
    #rs-input,
    input.rs-input {
        padding: 16px 12px;
		font-size: 14px;
    }
    
    #rs-submit-btn,
    .rs-submit-btn {
        padding: 14px 16px; /* Smaller button padding */
    }
	
	#rs-clear-btn,
	.rs-clear-btn {
    right: 60px;
}

    /* Stack dropdown items vertically on very small screens so text doesn't overlap */
    #rs-results-dropdown li,
    .rs-results-dropdown li {
/*         display: block; */
    }
    .rs-badge {
        margin-bottom: 4px;
        display: inline-block;
    }
    .rs-location {
        display: block;
        margin-left: 0;
        margin-top: 2px;
        font-size: 12px;
    }
}

.rs-no-results {
    padding: 15px 20px;
    color: #7f8c8d; /* Grey text */
    font-style: italic;
    text-align: center;
    cursor: default;
    background-color: #f9f9f9;
    border-bottom: 1px solid #eee;
}

/* Ensure it doesn't look clickable on hover */
.rs-no-results:hover {
    background-color: #f9f9f9 !important;
}

/* margin for post search */
.simple-post-search {
    margin: -20px auto 20px; 
}

/* Reduce height for Simple Post Search */
.simple-post-search #rs-input {
    padding: 8px 15px; /* Reduced from 14px to 8px */
    font-size: 14px;   /* Slightly smaller text to fit */
    height: 55px;      /* Force explicit height */
    box-sizing: border-box;
}

.simple-post-search #rs-submit-btn {
    padding: 0 15px;   /* Remove vertical padding */
    height: 55px;      /* Force explicit height to match input */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Apply existing styles to the new button ID */
#simple-post-btn {
    flex-shrink: 0;
    width: auto;
    padding: 0 15px;  
    height: 55px;         
    background-color: #558c96;
    color: white;
    border: none;
    font-weight: 600;
    cursor: pointer;
    border-radius: 0 4px 4px 0;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#simple-post-btn:hover {
    background-color: #42727a;
}

#simple-post-btn svg {
    display: block;
}

/*--------------------------------------------------------------
## Home Page Services Icons Section Rules
--------------------------------------------------------------*/
/* Container Spacing */
.modern-action-section {
  padding: 2rem 2rem;
  background-color: #fff;
  border-bottom: 1px solid #eee; /* Optional subtle separator */
}

/* Max width wrapper to keep things centered */
.action-bar-wrapper {
  max-width: 960px; /* Slightly wider for a modern feel */
  margin: 0 auto;
  display: flex;
  justify-content: space-around; /* Spreads items evenly */
  align-items: center;
  flex-wrap: wrap; /* Allows stacking on small screens */
  gap: 2rem;
}

/* The clickable card area */
.action-card {
  display: flex;
  align-items: center;
  text-decoration: none;
  background: #fff;
  padding: 1.5rem 2rem;
  border-radius: 12px;
  transition: all 0.3s ease;
  border: 1px solid transparent; /* Prevents layout shift on hover border */
  flex: 1; /* Makes all cards equal width */
  min-width: 200px; /* Prevents them from getting too squished */
  justify-content: center;
}

/* Hover Effects */
.action-card:hover {
  transform: translateY(-5px); /* Lifts the card up slightly */
  box-shadow: 0 10px 20px rgb(0 0 0 / 3%), 0 6px 6px rgb(0 0 0 / 9%);
  border-color: rgba(68, 136, 146, 0.1);
  text-decoration: none;
}

.action-card:hover .icon-box i {
  transform: scale(1.1); /* Icons grow slightly on hover */
}

/* Icon Styling */
.icon-box {
  margin-right: 1.5rem;
}

.icon-box i {
  font-size: 2rem;
  color: #448892; /* Your brand teal */
  transition: transform 0.3s ease;
}

/* Text Styling */
.text-box {
  display: flex;
  flex-direction: column;
}

.action-title {
  font-family: 'Montserrat', sans-serif; /* Assuming you use a sans-serif */
  font-weight: 700;
  font-size: 1.1rem;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.action-subtitle {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  color: #666;
  margin-top: 4px;
  font-weight: 400;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .action-bar-wrapper {
    flex-direction: column;
    gap: 1rem;
  }
  
  .action-card {
    width: 100%; /* Full width on mobile */
    justify-content: center; /* Center content on mobile */
  }
}
/*--------------------------------------------------------------
## Home Page Article Section Rules
--------------------------------------------------------------*/

.homepage-articles {
    max-width: 100%;
    margin: -50px auto;
    padding: 0 20px;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
    gap: 30px;
}

.article-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.article-card:hover {
    transform: translateY(-5px);
}

.card-image {
    height: 200px;
    background-size: cover;
    background-position: center;
    background-color: #eee;
}

.card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.article-card h3 {
    font-size: 1.15rem;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.article-card h3 a {
    color: #333;
    text-decoration: none;
}

.article-card h3 a:hover {
    color: #448892;
}

.post-excerpt {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.6;
}

.read-more {
    margin-top: auto;
    font-weight: bold;
    color: #448892;
    text-decoration: none;
    font-size: 0.85rem;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .articles-grid {
        grid-template-columns: 1fr;
    }
}

/*--------------------------------------------------------------
## Blog Page Article Section Rules
--------------------------------------------------------------*/

/* Blog Page: Stacked Layout (One Article Per Row) */
.blog-horizontal {
    display: flex;
    flex-direction: column; /* Always stack: Image Top, Text Bottom */
    margin-bottom: 40px;
    max-width: 100%;
    /* Ensure it keeps the card styling from the homepage */
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Image settings for the stacked layout */
.blog-horizontal .card-image-link {
    width: 100%;
    display: block;
}

.blog-horizontal .card-image {
    width: 100%;
    /* Increase height to 400px to show full landscape photo */
    height: 400px; 
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Content styling */
.blog-horizontal .card-content {
    padding: 0px 20px 20px;
}

/* Content styling */
.blog-horizontal h2 {
    margin: 1rem 0 0;
}

/* Mobile adjustment: Reduce height slightly on small screens */
@media (max-width: 768px) {
    .blog-horizontal .card-image {
        height: 250px;
    }
}

/*--------------------------------------------------------------
# Shortcodes Ultimate SU_TABS Custom Rules
--------------------------------------------------------------*/

.su-tabs {
  background: unset !important;
  padding: 0px !important;
}

.su-tabs-nav span.su-tabs-current {
  background: #27354a !important;
  cursor: default;
  color: #fff;
  border-radius: 30px;
}

.su-tabs-nav span {
  background: #f0f0f0;
  /* Cleaned up the duplicate border-radius rules here */
  border-radius: 24px; 
  border-top-left-radius: 24px !important;
  border-top-right-radius: 24px !important;
}

.su-tabs-nav {
  display: flex;
  white-space: nowrap;
  border-radius: 24px;
  overflow-x: auto; 
  padding: 10px 1rem;
  background-color: #ffffff;
  &::-webkit-scrollbar {
    display: none;
  }
  -ms-overflow-style: none;  
  scrollbar-width: none;
}

/* The standalone shadow elements */
.su-tabs-shadow {
  position: absolute;
  width: 40px;
  pointer-events: none; /* Lets the user click the tabs underneath */
  opacity: 0; 
  transition: opacity 0.3s ease;
  z-index: 10;
  border-radius: 30px; /* Keeps the shadows inside your nav's rounded corners */
}

.su-tabs-shadow-left {
  left: 0;
  background: linear-gradient(to right, rgb(255 255 255 / 30%), transparent);
  border-left: 4px solid #eee;
}

.su-tabs-shadow-right {
  right: 0;
  background: linear-gradient(to left, rgb(255 255 255 / 85%), transparent);
	border-right: 4px solid #eee;
}

/* Desktop layout */
@media screen and (min-width: 1160px) {
  .su-tabs-nav {
    justify-content: center;
    /* Remove the fade effect on large screens where items don't overflow */
    -webkit-mask-image: none;
    mask-image: none;
  }
}

.resort-featured-image {
		width: 100%;
		max-height: 30vh;
		display: block;
		object-fit: cover;
		margin: -1rem 0 1rem;
}

/* Desktop layout */
@media screen and (min-width: 1160px) {
	.resort-featured-image {
		max-height: 400px;
	}
}

.add-listing-btn {
    background-color: #fcc248;
    color: #000;
    padding: 12px 24px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin: auto;
}

.add-listing-wrapper {
    margin: auto;
}

/* Container for the whole shortcode output */
.custom-mobile-sort-placement {
     display: none; /* Hidden by default on desktop */
}

/* Sort by box (AW-74, js/mobile-table-sort.js): "Sort by" over the current order, with the
   native select laid invisibly on top so tapping opens the phone's own picker. */
.sort-by-box {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/* As wide as the current label needs, never wider than the space beside Filters; if a
	   label is longer than that, js/mobile-table-sort.js shrinks its text to fit. */
	width: max-content;
	max-width: 100%;
	min-height: 40px; /* same height as the Filters button */
	padding: 3px 2.1em 3px 0.8em;
	border: 2px solid #ccc;
	border-radius: 30px;
	background: #fff;
	box-sizing: border-box;
	line-height: 1.15;
}

.sort-by-caption {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #888;
}

.sort-by-value {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
}

.sort-by-arrow {
	position: absolute;
	right: 0.4em;
	top: 50%;
	width: 1.5em;
	height: 1.5em;
	margin-top: -0.75em;
	border-radius: 50%;
	background: #448892;
	pointer-events: none;
}

.sort-by-arrow::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 45%;
	width: 6px;
	height: 6px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.sort-by-box select.mobile-table-sort-select {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	font-size: 16px; /* stops iPhone zooming in when tapped */
	-webkit-appearance: none;
	appearance: none;
}

.sort-by-box:focus-within {
	outline: var(--primary-teal) auto 1px;
}

/* Column heading arrows (replace the Table Sorter plugin's images). */
table.tablesorter th.tablesorter-header {
	cursor: pointer;
	position: relative;
	padding-right: 22px;
}

table.tablesorter th.tablesorter-header::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 0;
	height: 0;
	margin-top: -7px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 5px solid currentColor;
	opacity: 0.3;
	box-shadow: none;
}

table.tablesorter th.tablesorter-header::before {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 0;
	height: 0;
	margin-top: 1px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	opacity: 0.3;
}

table.tablesorter th.tablesorter-headerAsc::after,
table.tablesorter th.tablesorter-headerDesc::before {
	opacity: 1;
}

table.tablesorter th.tablesorter-headerAsc::before,
table.tablesorter th.tablesorter-headerDesc::after {
	opacity: 0;
}

table.tablesorter th.tablesorter-header:focus-visible {
	outline: 2px solid var(--primary-teal);
	outline-offset: -2px;
}

.filter-controls {
	margin: auto;
}

.listing-controls-container:nth-last-child(1 of .custom-mobile-sort-placement) {
	margin-left: auto;
}

@media screen and (max-width: 780px) {
    .custom-mobile-sort-placement {
     display: unset; /* Hidden by default on desktop */
	}
	
	.listing-controls-container::before {
/* 		content: ""; */
		width:160px;
	}

	.listing-controls-container .custom-mobile-sort-placement {
		display: flex;
		flex: 1 1 auto;
		justify-content: flex-end;
		min-width: 0;
	}

	/* Leave the Sort by box room for its longest label (AW-74). "div." so it beats the
	   general .listing-controls-container rule further down. */
	div.listing-controls-container {
		gap: 12px;
	}
}

@media screen and (max-width: 480px) {
	.listing-controls-container .modal-trigger-btn {
		padding: 12px 16px;
	}
	
	.filter-controls {
		margin: 0 auto 0 0;
	}
}

.listing-controls-container {
	display: flex;
    gap: 20px;
	margin-bottom: 25px;
}

div#ez-toc-container {
    background: #fafafa !important;
    border: 2px solid #eeeeee;
    border-radius: 10px;
    padding: 15px;
}

.ez-toc-title {
    font-size: 1.5em !important;
    font-weight: 600 !important;
}

#ez-toc-container a {
    font-size: 1rem !important;
	margin-bottom: 3px;
}

.ez-toc-list {
    margin-top: 10px !important;
}


/* Abound Stay Point Calculator Rules */

          #abound-calc-wrapper { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important; }
          #abound-calc-wrapper .abound-calculator { max-width: 650px !important; margin: 40px auto !important; padding: 30px !important; border-radius: 10px !important; box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important; border: 1px solid #eaeaea !important; background: #ffffff !important; color: #333 !important;}
          #abound-calc-wrapper .abound-header { margin-top: 0 !important; margin-bottom: 25px !important; color: #27354a !important; text-align: center !important; font-weight: 700 !important; font-size: 24px !important;}
          #abound-calc-wrapper .abound-form-group { margin-bottom: 20px !important; text-align: left !important; }
          #abound-calc-wrapper .abound-form-group label { display: block !important; margin-bottom: 8px !important; font-weight: 600 !important; color: #333 !important; font-size: 14px !important;}
          /* All fields share one look, taken from the listing filters modal dropdowns:
             2px #ddd border, 12px corners, Montserrat 1rem, teal circle on the right. */
          #abound-calc-wrapper .abound-form-group select.round-dropdown,
          #abound-calc-wrapper .abound-form-group input.abound-date,
          #abound-calc-wrapper .abound-resort-search input.rs-input { width: 100% !important; margin: 0 !important; padding: 0.5em 3.5em 0.5em 1em !important; border: 2px solid #ddd !important; border-radius: 12px !important; box-shadow: none !important; font-family: 'Montserrat', 'Open Sans', sans-serif !important; font-size: 1rem !important; font-weight: 400 !important; line-height: 1.5em !important; height: calc(2.5em + 4px) !important; color: #333 !important; background-color: #fff !important; box-sizing: border-box !important; transition: border-color 0.2s !important; }
          #abound-calc-wrapper .abound-form-group select.round-dropdown:focus,
          #abound-calc-wrapper .abound-form-group input.abound-date:focus,
          #abound-calc-wrapper .abound-resort-search input.rs-input:focus { border-color: #448892 !important; outline: 0 !important; }
          #abound-calc-wrapper .abound-form-group select.round-dropdown { cursor: pointer !important; }
          #abound-calc-wrapper .abound-form-group select.round-dropdown:disabled,
          #abound-calc-wrapper .abound-resort-search input.rs-input:disabled { background-color: #f5f7fa !important; cursor: not-allowed !important; color: #aab2bd !important; }

          /* Date fields: white calendar on a teal circle, like the dropdown arrows. The browser's own
             (invisible) calendar button sits on top of the circle, so clicking it opens the date picker. */
          #abound-calc-wrapper .abound-form-group input.abound-date { padding-right: 2.5em !important; position: relative !important; -webkit-appearance: none !important; appearance: none !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23448892'/%3E%3Cg fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='7' y='8' width='10' height='9' rx='1.5'/%3E%3Cpath d='M7 11h10M10 6.5V9M14 6.5V9'/%3E%3C/g%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; background-position: calc(100% - 0.5em) center !important; }
          #abound-calc-wrapper .abound-form-group > div, #abound-calc-wrapper .abound-form-group input.abound-date { min-width: 0 !important; }
          #abound-calc-wrapper .abound-form-group input.abound-date::-webkit-calendar-picker-indicator,
          #abound-calc-wrapper .abound-form-group input.abound-date::-webkit-calendar-picker-indicator:hover { position: absolute; right: 0.5em; top: 50%; transform: translateY(-50%); width: 1.5em; height: 1.5em; margin: 0; padding: 0; opacity: 0 !important; cursor: pointer; }

          /* Resort search box: the site's resort search (.rs-*), without the shadow or the button.
             A small search icon sits inside the field and swaps for the clear × once there's text. */
          #abound-calc-wrapper .abound-resort-search { max-width: none !important; padding: 0 !important; margin: 0 !important; }
          #abound-calc-wrapper .abound-resort-search .rs-input-container { box-shadow: none !important; border-radius: 12px !important; overflow: visible !important; }
          #abound-calc-wrapper .abound-resort-search .rs-clear-btn,
          #abound-calc-wrapper .abound-resort-search .abound-search-icon { position: absolute !important; right: 0.75em !important; top: 50% !important; transform: translateY(-50%) !important; display: flex; align-items: center; justify-content: center; padding: 5px !important; color: #999; cursor: pointer; }
          #abound-calc-wrapper .abound-resort-search .abound-search-icon:hover { color: #448892; }
          #abound-calc-wrapper .abound-resort-search .rs-results-dropdown { border-radius: 12px !important; margin-top: 4px !important; border-top: 1px solid #e0e0e0 !important; }
          #abound-calc-wrapper .abound-btn { background: #448993 !important; color: white !important; padding: 15px 20px !important; border: none !important; border-radius: 6px !important; cursor: pointer !important; width: 100% !important; font-size: 16px !important; font-weight: bold !important; transition: background 0.2s !important; text-transform: uppercase !important; letter-spacing: 0.5px !important;}
          #abound-calc-wrapper .abound-btn:hover { background: #459094 !important; }
          #abound-calc-wrapper .abound-btn:disabled { background: #459094 !important; cursor: not-allowed !important; }
          
          /* Result Styling */
          #abound-calc-wrapper #abound-result { margin-top: 30px !important; display: none; }
          #abound-calc-wrapper .abound-breakdown { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; padding: 25px !important; }
          #abound-calc-wrapper .abound-breakdown h4 { margin: 0 0 15px 0 !important; color: #0f172a !important; font-size: 18px !important; border-bottom: 2px solid #e2e8f0 !important; padding-bottom: 10px !important; text-align: left !important;}
          #abound-calc-wrapper .abound-row { display: flex !important; justify-content: space-between !important; margin-bottom: 12px !important; font-size: 16px !important; color: #475569 !important; }
          #abound-calc-wrapper .abound-row.total-row { border-top: 2px solid #cbd5e1 !important; padding-top: 15px !important; margin-top: 15px !important; font-size: 22px !important; font-weight: 700 !important; color: #448993 !important; }
          #abound-calc-wrapper .abound-error { background: #fef2f2 !important; border-left: 5px solid #dc2626 !important; color: #991b1b !important; padding: 15px !important; border-radius: 6px !important; margin-top: 20px !important; text-align: left !important; }

#abound-calc-wrapper input[type="date"] {
    accent-color: #448993 !important;
}

/* 
/* Abound Points Charts Styles */
/* 

/* Master Table Container */
.atb-chart-wrapper { max-width: 1200px; margin: 40px auto; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #333; }
.atb-chart-wrapper h3 { color: #2d4052; text-transform: uppercase; font-weight: 800; font-size: 24px; margin-bottom: 5px; text-align: center;}
.atb-chart-wrapper h4 { color: #448993; font-size: 18px; margin-top: 0; margin-bottom: 25px; text-align: center; font-weight: 600;}

/* Mobile scrolling wrapper for wide tables */
.atb-table-scroll { width: 100%; overflow-x: auto;}

/* Table Base */
.atb-points-table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: center; border: 1px solid #cbd5e1; background: #fff; min-width: 740px;}

/* Table Headers */
.atb-points-table th.unit-header { background-color: #2d4052; color: #fff; padding: 12px 15px; font-weight: 700; font-size: 14px; border: 1px solid #1e2b38; letter-spacing: 0.5px;}
.atb-points-table th.col-header { background-color: #2d4052; color: #fff; padding: 12px 10px; font-weight: 600; border: 1px solid #1e2b38; vertical-align: middle;}
.atb-points-table th.view-header { background-color: #2d4052; color: #fff; padding: 8px 10px; font-weight: 700; border: 1px solid #1e2b38; font-size: 13px;}
.atb-points-table th.date-col { width: 25%; }
.atb-points-table th.day-col { width: 10%; }

/* Table Body Rows */
.atb-points-table td { padding: 10px 12px; border: 1px solid #cbd5e1; vertical-align: middle; }
.atb-points-table tr.row-f td { background-color: #ffffff; }
.atb-points-table tr.row-s td { background-color: #f8fafc; }
.atb-points-table tr.row-w td { background-color: #f1f5f9; border-bottom: 2px solid #cbd5e1;}

/* Specific Cells */
.atb-date-cell { text-align: left; font-weight: 600; color: #2d4052; line-height: 1.6; padding-left: 15px !important;}
.atb-day-cell { text-align: left; font-weight: 600; color: #475569; }
.atb-holiday-header { background-color: #e2e8f0 !important; color: #2d4052 !important; text-align: left !important; padding: 12px 15px !important; font-weight: 800 !important; letter-spacing: 1px;}
.holiday-row td { padding-top: 15px !important; padding-bottom: 15px !important; }

/* Legend & Disclaimers */
.atb-legend-box { display: flex; flex-wrap: wrap; gap: 20px; background: #f8fafc; padding: 15px 20px; border-radius: 6px; border: 1px solid #e2e8f0; font-size: 13px;}
.atb-legend-item.legend-title { width: 100%; margin-bottom: 5px; color: #2d4052; font-size: 14px;}
.atb-legend-item strong { color: #448993; margin-right: 5px; font-weight: 700;}
.atb-disclaimers { font-size: 12px; color: #64748b; margin-top: 20px; line-height: 1.6; }
.atb-disclaimers p { margin: 0 0 5px 0; }
.atb-error { color: #991b1b; background: #fef2f2; padding: 15px; border-left: 5px solid #dc2626; border-radius: 4px; }

/* Vistana Points Charts */
.cell-platinum-plus {
	background: #ddd;
}

.cell-platinum {
	background: #f8f8f8;
}

.cell-gold-plus {
	background: #f3f1da;
}

.cell-gold {
	background: #fffde0;
}

.cell-silver {
	background: #e1f6ff;
}

/*  */
/* Alert Call to Action on listings pages */
/*  */

.alert-cta-container {
	padding: 20px 30px 40px;
	border-radius: 8px;
	text-align: center;
	margin: 0px auto;
	max-width: 800px;
	font-family: 'Montserrat', sans-serif;
}
.alert-cta-icon {
	margin-bottom: 15px;
}
.alert-cta-heading {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
	margin-top: 0;
}
.alert-cta-text {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 25px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.alert-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #fcc248; /* Secondary Gold Accent */
	color:#000;
	text-decoration: none;
	padding: 12px 24px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 30px;
	transition: all 0.3s ease;
	text-transform:uppercase;
}
.alert-cta-btn:hover {
	background-color: #eab035;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(252, 194, 72, 0.3);
	text-decoration: none;
}
.alert-cta-btn svg {
	margin-right: 8px;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
	.alert-cta-container {
		padding: 30px 20px;
	}
	.alert-cta-heading {
		font-size: 21px;
	}
	.alert-cta-text {
		font-size: 15px;
	}
}

/*--------------------------------------------------------------
## Marriott New Benefits Table 5-11-26
--------------------------------------------------------------*/
  /* Unique Wrapper and Legend Styles */
  .marriott-new-benefits-container { margin-bottom: 20px !important; font-family: sans-serif !important; }
  .marriott-new-benefits-legend-item { display: flex !important; align-items: center !important; margin-bottom: 6px !important; font-size: 13px !important; font-weight: bold !important; text-transform: uppercase !important; color: #333 !important;}
  .marriott-new-benefits-badge { display: inline-block !important; width: 16px !important; height: 16px !important; margin-right: 10px !important; }
  
  /* Legend Colors */
  .marriott-new-benefits-bg-summer26 { background-color: #008080 !important; }
  .marriott-new-benefits-bg-enh-summer26 { background-color: #b85e3b !important; }
  .marriott-new-benefits-bg-fall26 { background-color: #41729f !important; }
  .marriott-new-benefits-bg-q12027 { background-color: #6c5b7b !important; }

  /* Table Global Styles */
  .marriott-new-benefits-table { border-collapse: collapse !important; width: 100% !important; font-family: sans-serif !important; font-size: 13px !important; line-height: 1.4 !important; border: 1px solid #d0d0d0 !important; background-color: transparent !important; margin-bottom: 20px !important; }
  .marriott-new-benefits-table th, .marriott-new-benefits-table td { border: 1px solid #d0d0d0 !important; padding: 8px 10px !important; }
  .marriott-new-benefits-thead-tr { background-color: #f5f6f8 !important; color: #333 !important; }

.marriott-new-benefits-table td:first-child, .marriott-new-benefits-table td:first-child {
    position: sticky;
    left: 0;
    background-color: #ffffff;
}

.marriott-new-benefits-table td:first-child::after, .marriott-new-benefits-table td:first-child::after {
    content: '';
  position: absolute;
  top: 0;
  right: -5px; /* Position the shadow just outside the right edge */
  bottom: 0;
  width: 5px;
  box-shadow: inset 5px 0 5px -5px rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
.sticky-row-content {
  position: sticky;
  left: 10px; 
  display: inline-block;
}
  
  /* Alignment Classes */
  .marriott-new-benefits-th-left { text-align: left !important; width: 25% !important; }
  .marriott-new-benefits-th-center, .marriott-new-benefits-td-center { text-align: center !important; }
  .marriott-new-benefits-td-left { text-align: left !important; }
  
  /* Text and Header Styles */
  .marriott-new-benefits-section-header { background-color: #2b394a !important; color: #ffffff !important; text-align: left !important; font-weight: normal !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
  .marriott-new-benefits-subtext { display: block !important; font-size: 11px !important; font-weight: normal !important; color: #666 !important; margin-top: 4px !important; }
  
  /* Text Colors for Release Dates */
  .marriott-new-benefits-color-summer26 { color: #008080 !important; font-weight: bold !important; }
  .marriott-new-benefits-color-enh-summer26 { color: #b85e3b !important; font-weight: bold !important; }
  .marriott-new-benefits-color-fall26 { color: #41729f !important; font-weight: bold !important; }
  .marriott-new-benefits-color-q12027 { color: #6c5b7b !important; font-weight: bold !important; }
  
  /* Subtext Colors for Release Dates */
  .marriott-new-benefits-subtext-summer26 { display: block !important; font-size: 11px !important; color: #008080 !important; margin-top: 4px !important; font-weight: normal !important; }
  .marriott-new-benefits-subtext-fall26 { display: block !important; font-size: 11px !important; color: #41729f !important; margin-top: 4px !important; font-weight: normal !important; }
  .marriott-new-benefits-subtext-q12027 { display: block !important; font-size: 11px !important; color: #6c5b7b !important; margin-top: 4px !important; font-weight: normal !important; }

  /* Footnotes */
  .marriott-new-benefits-footnotes { font-size: 11px !important; text-align: left !important; padding: 15px 10px !important; border-left: none !important; border-right: none !important; border-bottom: none !important; color: #555 !important; background-color: transparent !important;}

/* Atimeshare Newsletter Form Styles */
.at-newsletter-wrapper {
    font-family: 'Montserrat', sans-serif;
    max-width: 780px; 
    margin: 0 auto; 
    background-color: #ffffff; 
    width: 100%; 
    box-sizing: border-box;
}

.at-flex-layout {
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap; 
    align-items: flex-start; 
    gap: 35px; 
    width: 100%; 
    margin-bottom: -20px;
}

.at-icon-col {
    flex: 0 0 140px; 
    width: 140px; 
    max-width: 140px; 
    display: block;
}

.at-icon-col svg {
    width: 140px !important; 
    height: 140px !important; 
    display: block !important; 
    margin: 0; 
    padding: 0;
}

.at-content-col {
    flex: 1 1 auto; 
    width: 100%; 
    min-width: 0;
}

.at-signup-content-box h2 {
    font-size: 26px; 
    color: #273549; 
    margin: 0 0 4px 0; 
    font-weight: 700; 
    letter-spacing: -0.5px;
}

.brand-accent-bar {
    width: 45px; 
    height: 4px; 
    background-color: #438791; 
    margin: 8px 0 20px 0; 
    border-radius: 2px;
}

.at-signup-text {
    font-size: 14px; 
    line-height: 1.6; 
    margin: 0 0 20px 0; 
    color: #4a5568;
}

.at-form-inline-container {
    display: flex; 
    flex-direction: row; 
    align-items: flex-start; 
    justify-content: space-between; 
    background: #ffffff;
    border-radius: 6px; 
    padding: 4px; 
    width: 100%; 
    box-sizing: border-box;
}

.at-form-inline-container input[type="email"] {
    flex: 1; 
    width: 100%; 
    border: none; 
    background: transparent; 
    font-size: 15px; 
    font-family: inherit; 
    padding: 10px 14px; 
    margin: 0; 
    color: #273549; 
    box-shadow: none; 
    outline: none; 
    height: 42px;
}

.at-form-inline-container input[type="submit"].button {
    background-color: #438791; 
    color: #ffffff; 
    border: none; 
    padding: 0 25px; 
    font-size: 15px; 
    font-weight: 700; 
    font-family: inherit; 
    border-radius: 4px; 
    cursor: pointer; 
    height: 42px; 
    line-height: 42px; 
    margin: 0; 
    display: inline-block; 
    white-space: nowrap;
    transition: background-color 0.2s;
}

.at-form-inline-container input[type="submit"].button:hover {
    background-color: #273549 !important;
}

.at-form-disclaimer {
    font-size: 13px; 
    color: #718096; 
    margin-top: 12px; 
    line-height: 1.5;
}

.at-form-disclaimer a {
    color: #438791; 
    text-decoration: underline;
}

.at-archive-section {
    border-top: 1px solid #edf2f7; 
    padding-top: 30px;
}

.at-archive-section h3 {
    font-size: 22px; 
    color: #273549; 
    margin: 0 0 25px 0; 
    font-weight: 700;
}

.at-campaign-list {
    display: flex; 
    flex-direction: column; 
    gap: 16px;
}

.at-campaign-item {
    display: flex; 
    align-items: baseline; 
    gap: 24px; 
    padding-bottom: 12px; 
    border-bottom: 1px solid #f7fafc;
}

.at-campaign-date {
    font-size: 14px; 
    font-weight: 700; 
    color: #273549; 
    min-width: 95px; 
    letter-spacing: 0.5px;
}

.at-campaign-link {
    color: #438791; 
    text-decoration: none; 
    font-weight: 600; 
    font-size: 16px; 
    line-height: 1.4;
}

.at-campaign-link:hover {
    color: #273549 !important;
    text-decoration: underline !important;
}

/* Mobile Breakpoints Override below 650px */
@media screen and (max-width: 650px) {
    .at-flex-layout { 
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    .at-icon-col {
        margin: 0 auto;
    }
    .brand-accent-bar {
        margin: 8px auto 20px auto;
    }
    .at-form-inline-container { 
        padding: 0; 
        flex-direction: column; 
        background: transparent; 
        border: none; 
        gap: 10px;
    }
    .at-form-inline-container input[type="email"] { 
        background: #ffffff; 
        border: 1px solid #cbd5e1 !important; 
        border-radius: 6px; 
        padding: 12px 16px; 
        height: 48px; 
    }
    .at-form-inline-container input[type="submit"].button { 
        width: 100%; 
        height: 48px; 
        line-height: 48px; 
    }
    .at-campaign-item { 
        flex-direction: column; 
        gap: 4px; 
    }
}


