@font-face {
    font-family: 'Banky';
    src: url('fonts/BankyRegular.eot');
    src: url('fonts/BankyRegular.eot?#iefix') format('embedded-opentype'),
        url('fonts/BankyRegular.woff2') format('woff2'),
        url('fonts/BankyRegular.woff') format('woff'),
        url('fonts/BankyRegular.ttf') format('truetype'),
        url('fonts/BankyRegular.svg#BankyRegular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Banky';
    src: url('fonts/BankyRegular_1.eot');
    src: url('fonts/BankyRegular_1.eot?#iefix') format('embedded-opentype'),
        url('fonts/BankyRegular_1.woff2') format('woff2'),
        url('fonts/BankyRegular_1.woff') format('woff'),
        url('fonts/BankyRegular_1.ttf') format('truetype'),
        url('fonts/BankyRegular_1.svg#BankyRegular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Bootstrap Layout Overrides */
.container { position: relative; width: 100%; max-width: 87.5rem; padding: 0 2.5rem; /* 1200px */ }
.container > .row,
.container > div > .row { padding: 0; margin: 0; }
.container img { margin: 0; }

/* Bootstrap Button Group Overrides */
.btn-group { display: inline-flex; flex-wrap: wrap; }
.btn-group .btn { width: 100%; border-radius: 0; font-weight: var(--wMedium); }
.btn-group .btn:not(:first-child),
.btn-group .btn:not(:last-child) { margin: 0 0.0625rem 0.125rem; }
.btn-group .btn:first-child { border-top-left-radius: var(--borderRadiusPill) !important; border-top-right-radius: var(--borderRadiusPill) !important; }
.btn-group .btn:last-child { border-bottom-left-radius: var(--borderRadiusPill) !important; border-bottom-right-radius: var(--borderRadiusPill) !important; }
.btn-group .btn:only-child { border-radius: var(--borderRadiusPill) !important; }
@media (min-width: 480px) {
  .btn-group .btn { width: auto; }
  .btn-group .btn:first-child { border-radius: 0 !important; border-top-left-radius: var(--borderRadiusPill) !important; border-bottom-left-radius: var(--borderRadiusPill) !important; }
  .btn-group .btn:last-child { border-radius: 0 !important; border-top-right-radius: var(--borderRadiusPill) !important; border-bottom-right-radius: var(--borderRadiusPill) !important; }
}

/* Bootstrap Alert Overrides */
.alert { border-radius: var(--borderRadius); }

/* Bootstrap Table Overrides */
.card-table { margin: 0.9375rem 0; padding: 0.1875rem; border: 0.125rem solid #dee2e6; border-radius: var(--borderRadius); }
.table { overflow: hidden; border-radius: 1.35rem; }
.table th { border-top: none; }
.table th, .table td { padding: 0.625rem 0.9375rem; }

/* Bootstrap Card Overrides */
.card { border-radius: var(--borderRadiusCheckbox); }
.card + .card { margin-top: 0.625rem; }

/* Bootstrap Accordion Overrides */
.accordion > .card { border-bottom: 1px solid hsla(0,0%,0%,0.125) !important; border-radius: var(--borderRadiusCheckbox) !important; }
.accordion > .card + .card { margin-top: 0.625rem; }
.accordion > .card .card-header { margin-bottom: 0; padding: 0; border-radius: 1.875rem 1.875rem 0 0; border-bottom: none; }
.accordion > .card .card-header .card-title { font-size: 1rem; font-family: var(--bodyFont); font-weight: var(--wRegular); }
.accordion > .card .card-header button { display: block; width: 100%; padding: 0.9375rem 1.5rem; position: relative; background: #f7f7f7; border: none; border-radius: 0; outline: none; line-height: 1.15; text-align: left; }
.accordion > .card .card-header button:hover,
.accordion > .card .card-header button:active,
.accordion > .card .card-header button:focus { color: hsl(var(--siteColor1)); text-decoration: none; background: #eee; }
.accordion > .card .card-header button:after { content: ""; width: 0.75rem; height: 1rem; position: absolute; top: 50%; right: 1.25rem; z-index: 2; transform: translate(0, -50%); }
.accordion > .card .card-header button[aria-expanded=true]:after { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="gray" d="M368 224H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
.accordion > .card .card-header button[aria-expanded=false]:after { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="gray" d="M368 224H224V80c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h144v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V288h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
.accordion > .card .collapse { border-top: 0.0625rem hsl(0, 0%, 90%) solid; }
.accordion > .card .card-body p:last-child { margin-bottom: 0; }

/* Bootstrap List Group Overrides */
.list-group { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; overflow: hidden; margin-bottom: 1.25rem; padding: 0.625rem; border-radius: var(--borderRadiusCheckbox); box-shadow: 0 0 0 0.125rem hsla(var(--siteColor1), 15%); }
.list-group.no-shadow { box-shadow: none; }
.list-group-item { display: flex; align-items: center; margin-bottom: 0.625rem; padding: 0.625rem 1.25rem; position: relative; background: hsl(var(--white)); border: none; border-radius: var(--borderRadiusCheckbox) !important; color: var(--bodyFontColor); line-height: 1.25; transition: all ease-in-out 0.4s; }
.list-group-item.active,
a.list-group-item:hover { background: hsla(var(--siteColor1), 15%); border-color: hsl(var(--siteColor1)); color: hsl(var(--siteColor1)); }
.list-group-item .icon { width: 1.25rem; height: 1.25rem; position: absolute; top: 50%; left: 0.625rem; transform: translate(0,-50%); font-size: 1.25rem; }
.list-group-horizontal .list-group-item { flex-basis: auto; flex-grow: 1; justify-content: center; position: relative; margin: 0.185rem; background: hsla(var(--siteColor1), 5%); }

.tab-content-question { margin-bottom: 0.625rem; padding-bottom: 0.625rem; border-bottom: 0.0625rem #eee solid; font-size: 1.75rem; font-weight: var(--wMedium); }
.tab-content td { border: none; }
.tab-content .table .fa { font-size: 1.875rem; }
.tab-content .alert .btn { position: relative; top: -0.4375rem; }

/* Content Builder Overrides - match site theme */
.content-builder-wrap { padding: 0; }
.content-builder-wrap > .row { margin: 0 -0.9375rem; }
.content-builder-wrap .column { padding: 0 0.9375rem; }
.content-builder-wrap .btn.site-color-1-bg,
.content-builder-wrap .is-btn.site-color-1-bg { color: hsl(var(--white)) !important; }
.content-builder-wrap .btn.site-color-2-bg,
.content-builder-wrap .is-btn.site-color-2-bg { color: hsl(var(--black)) !important; }
.content-builder-wrap .btn.site-color-1-bg:hover,
.content-builder-wrap .is-btn.site-color-1-bg:hover { background-color: hsl(var(--siteColor2)) !important; color: hsl(var(--black)) !important; }
.content-builder-wrap .btn.site-color-2-bg:hover,
.content-builder-wrap .is-btn.site-color-2-bg:hover { background-color: hsl(var(--siteColor1)) !important; color: hsl(var(--white)) !important; }
.content-builder-wrap .icon { color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap .icon + .h2,
.content-builder-wrap .icon + .h3,
.content-builder-wrap .icon + .h4 { margin-left: 3.125rem; }
.content-builder-wrap .icon ~ p { border-bottom-color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap p { margin: 0 0 1.25rem; }
.content-builder-wrap p:last-child { margin: 0; line-height: 2; }
.content-builder-wrap img,
.content-builder-wrap .container img { max-width: 100%; height: auto; margin: 0; border-radius: var(--borderRadiusCheckbox); }
.content-builder-wrap iframe { border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card { border: none !important; border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card:hover { box-shadow: var(--focusShadow) !important; }
.content-builder-wrap .is-card.is-card-circle { border-radius: 50vw !important; }

/* Swiper Overrides */
.swiper-container { overflow: hidden; margin: auto; }
.swiper-pagination-bullet { flex-shrink: 0; opacity: 0.5; width: 0.625rem; height: 0.625rem; margin: 0 0.25rem; background-color: hsl(var(--lightGray)); border-radius: var(--borderRadiusCircle); box-shadow: 0.0625rem 0.0625rem 0.125rem hsla(var(--black), 25%); transition: all ease-in-out 0.4s; }
.swiper-pagination-bullet-active { opacity: 1;  background-color: hsl(var(--siteColor1)); }
.swiper-pagination.swiper-pagination-bullets-dynamic { display: block !important; margin: auto 0; }
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { bottom: auto !important; left: auto !important; transform: none !important; }

/* Tooltips Styles */
body .tooltip { display: block; }
body .bs-tooltip-auto[x-placement^=bottom] .arrow::before,
body .bs-tooltip-bottom .arrow::before { border-bottom-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=top] .arrow::before,
body .bs-tooltip-top .arrow::before { border-top-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=left] .arrow::before,
body .bs-tooltip-left .arrow::before { border-left-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=right] .arrow::before,
body .bs-tooltip-right .arrow::before { border-right-color: hsl(var(--siteColor1)); }
body .tooltip-inner { background-color: hsl(var(--siteColor1)); }

/* Alert Styles */
body .alert { padding: 0.75rem 2.5rem 0.75rem 1.25rem; margin-bottom: 1.5rem; }
body .alert .close { position: absolute; top: 0.6rem; right: 1rem; }
body .alert .close:hover,
body .alert .close:active,
body .alert .close:focus { box-shadow: none; outline: none; }
body .alert.alert-sm { padding: 0.5rem 1rem; font-size: 90%; line-height: 1; }
body .alert.alert-sm .close { top: 45%; transform: translateY(-50%); }
body .alert.alert-has-close { padding-right: 2.5rem; }

/* Toast Styles */
body .toast { max-height: 0; height: auto; transform: translateX(10%); max-width: 20rem; min-width: 16.5rem; box-shadow: var(--dropShadow); opacity: 0; transition: all ease-in-out 0.2s; }
body .toast.in { max-height: 100vh; transform: translateX(0); opacity: 1; }
body .toast .toast-header .toast-icon { width: 1rem; height: 1rem; margin-right: 0.5rem; position: relative; top: 0.0625rem; }
body .toast .toast-header .toast-close { opacity: 0.5; padding: 0.25rem; margin: 0; background-color: transparent; position: relative; left: 0.35rem; top: 0.0625rem; }
body .toast .toast-header .toast-close:hover,
body .toast .toast-header .toast-close:focus,
body .toast .toast-header .toast-close:active { opacity: 1; }
body .toast .toast-header .toast-close .icon { margin: 0; width: 1rem; height: 1rem; }

/* Fancybox Adjustments */
body .fancybox-button { box-shadow: none; }
body .fancybox-thumbs__list a:before { border-color: hsl(var(--siteColor1)); }
body .fancybox-thumbs { background-color: hsla(var(--black), 50%); }

/* Data Tables */
.dataTables_wrapper { margin: 0.625rem 0; border-top: 0.0625rem solid #ccc; }
.dataTables_filter { float: none !important; padding: 1.25rem 0; text-align: left !important; }
.dataTables_filter label { display: flex; flex-wrap: wrap; align-items: center; margin: 0; font-family: var(--bodyFont); font-size: 1.3125rem; color: hsl(var(--siteColor1)); line-height: 1.25; font-weight: var(--wMedium); text-transform: uppercase; }
.dataTables_filter label > span { margin-right: 0.625rem; }
.dataTables_filter input[type=search] { width: 18.75rem; max-width: 100%; margin: 0 !important;  border: 0.0625rem solid #ccc; }
.dataTable thead .sorting,
.dataTable thead .sorting_asc,
.dataTable thead .sorting_desc { position: relative; background: none; }
.dataTable thead .sorting:after,
.dataTable thead .sorting_asc:after,
.dataTable thead .sorting_desc:after { content: ""; display: block; width: 1.25rem; position: absolute; top: 0; right: 0; }

/* Swiper JS */
.swiper-lazy-preloader { z-index: 1; }

video.hero-video { height: 90vh; object-fit: cover; width: 100%; }
.faqs-partner .footer-btn { font-family: var(--siteFont1); font-size: 32px; color: hsl(var(--black)); text-transform: uppercase; }

body.contact-page h1 { display: none; }
body.contact-page .contact-container p,
body.contact-page .contact-container a,
body.contact-page .contact-container .h1 { color: hsl(var(--siteColor9)) }
body.contact-page .h1 { font-size: 72px; margin-bottom: 15px; }
.container.contact-container { max-width: 87.5rem; }
.card-contact { background: transparent; border: none !important; }
form#contactform label { font-family: var(--siteFont3); text-transform: uppercase; font-size: 12px; color: hsl(var(--siteColor9)); }
form#contactform .checkbox .form-check-label:before, 
form#contactform .radio .form-check-label:before,
form#contactform .form-control { border: 2px solid hsl(var(--siteColor1)); border-radius: 0; }
body.contact-page .i-header { position: relative; }
.no-banner .i-content.int { padding: 1.125rem 0; }
.no-banner a.i-header-navigation-link,
body.contact-page a.i-header-navigation-link,
.no-banner .i-header-favorites-toggle .icon, 
.no-banner .i-header-recently-viewed-toggle .icon,
.no-banner .i-header-actions-toggle .icon,
.no-banner .i-header-favorites-be-toggle .icon .i-header-favorites-mls-toggle .icon { color: hsl(var(--siteColor1)); }
.no-banner .i-header-actions-toggle { border: 0.0625rem hsl(var(--siteColor1)) solid !important; }
.no-banner .i-header-logo-img,
body.contact-page .i-header-logo-img { filter: invert(1); max-width: 11.25rem; height: auto; }

/* Card container + text */
.card.card-contact { background: transparent; border: 0; }
.card.card-contact .card-body { color: hsl(var(--siteColor9)); }
.card.card-contact .title { margin-bottom: .25rem; }
.card.card-contact .contact-lead { margin: 0; opacity: .9; }

/* List layout */
.card.card-contact .contact-list { margin-top: 1.5rem; }
.card.card-contact .contact-item { position: relative; padding-left: 1.75rem; margin: 1rem 0; }
.card.card-contact .contact-item b { display: block; font-weight: 700; }
.card.card-contact .contact-value { display: block; margin-top: .15rem; padding-bottom: .6rem; text-decoration: none; color: inherit; line-height: 1.5; }
.card.card-contact .contact-item:last-child .contact-value { border-bottom: 0; }
.card.card-contact .contact-item a:hover { text-decoration: underline; }

.card.card-contact .contact-item::before { content: ""; position: absolute; left: 0; top: .25rem; width: 1.05rem; height: 1.05rem; background-repeat: no-repeat; background-size: 100% 100%; opacity: .95; }

.card.card-contact .contact-phone::before {
  background-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" \
stroke="%23202020" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\
<path d="M22 16.92v3a2 2 0 0 1-2.18 2A19.8 19.8 0 0 1 11.19 19a19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.08 4.18 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.72c.12.81.3 1.6.57 2.35a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.73-1.73a2 2 0 0 1 2.11-.45c.75.27 1.54.45 2.35.57A2 2 0 0 1 22 16.92z"/></svg>');
}

/* Email (paper plane) */
.card.card-contact .contact-email::before {
  background-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" \
stroke="%23202020" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\
<line x1="22" y1="2" x2="11" y2="13"/>\
<polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>');
}

/* Office (map pin) */
.card.card-contact .contact-office::before {
  background-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" \
stroke="%23202020" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\
<path d="M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0z"/>\
<circle cx="12" cy="10" r="3"/></svg>');
}

/* Small tweak for very small screens */
@media (max-width: 575.98px) {
  .card.card-contact .contact-item { padding-left: 1.6rem; }
}

.concierge-page .hero-wrap.int .hero-img { object-position: top; }
#quick_search .bootstrap-select .bs-ok-default:after { border-color: hsl(var(--siteColor1)); }
.hero-quick-search .bootstrap-select .dropdown-menu { width: 100% !important; }
#quick_search .filter-option-inner-inner { line-height: normal; }
.cms-resorts-list-wrap .card { background: transparent !important; }
.cms-resorts-list-wrap .card .card-body { background: hsl(var(--white)) !important;  }
.faq-group-name.h2 { margin-top: 1rem; }

@media (max-width: 1024px) {    
  body.destinationPDP .hero-tagline { bottom: 50 !important; font-size: 50px !important; line-height: 1 !important; }
  body.destinationPDP .hero-wrap .hero-img-wrap, 
  body.destinationPDP .hero-wrap.int .hero-img-wrap { position: relative; }
  body.destinationPDP .hero-wrap { padding: 0rem; height: 250px; }
  .i-header-menu { display: flex; flex-direction: row-reverse; }
  .i-header-actions { margin-bottom: 0 !important; }
  .i-header-phone-number { margin-left: 0.5rem !important;}
  .i-header-logo-img { max-width: 10rem; }
  .i-welcome .title { font-size: 2rem;  }
  .i-welcome .title, .cms-featured-option-2 .be-featured-property-title, .welcome-info p { text-align: center !important; }
  .i-social-list, .cms-featured-option-2 .be-featured-property-info, .cms-btn-links-wrap { justify-content: center !important; }
  .hero-tagline { padding-bottom: 1rem; position: absolute;  font-size: 3.5rem; }
  .hero-quick-search-wrap { background: hsl(var(--white)); width: 100%; padding: 0; border-radius: 0; margin-top: 0 !important; }
  .col.col-sleeps, .col-location { width: 50% !important; max-width: 50% !important; }
  .hero-quick-search .bootstrap-select .dropdown-toggle, .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option, .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner, .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner-inner { text-indent: 0rem; }
  .hero-wrap { padding: 0rem; }
  .hero-video-wrap,
  video.hero-video { height: 45vh; display: flex; align-items: center; }
  .hero-quick-search .row { padding: 5px 0.9375rem 10px; }
  body.concierge-page .hero-wrap.int,
  body.partner-us .hero-wrap.int { padding: 13rem 0 2rem; }
  .i-header-navigation-link { color: hsl(var(--siteColor1)); }  
  .i-header-navigation-item li.i-social-item a,
  .i-header-bar { background: hsl(var(--siteColor7)); }  
  .i-header-navigation-item li.i-social-item a { background: hsl(var(--siteColor1)); }  
  .i-header-actions-toggle { border: 0.0625rem hsl(var(--siteColor7)) solid !important; }
  .hero-quick-search .input-wrap, 
  .hero-quick-search .select-wrap,
  .hero-quick-search .bootstrap-select .dropdown-toggle,
  .qs-dates-wrap { border-radius: 0 !important; }
  .cms-be-featured-wrap { padding: 3rem 2rem !important; }
  .cms-featured-option-2 .be-featured-property-info-wrap .sub { text-align: center; }
  .i-welcome .container { padding: initial; }
  .i-footer { padding: 2rem 0 5rem; }
  .i-footer .footer-soc-row { justify-content: center; }
  .hero-quick-search .bootstrap-select .dropdown-toggle { padding: 1rem 1rem 1rem; }
  .i-header-navigation-toggle .icon { color: hsl(var(--siteColor1)); }
  .qs-dates-wrap { padding-left: 1.5rem; }
  .i-baseline { display: block; }
  .i-baseline .baseline-links { justify-content: center; margin-top: 1rem; }
  .i-baseline .baseline-policy { text-align: center; }
  .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option { overflow: visible; }  
  body.contact-page .i-header-logo-img,
  .i-header-logo-img  { filter: invert(1); }
  #intro-partner img,
  #curated img { height: 200px !important; }
  .i-content br,
  .i-footer:before,
  .lightwidget-widget,
  #intro-partner:after { display: none; }
  #intro-partner { padding: 4rem 0 4rem !important; }
  .contact-container .card-body { padding: 1.25rem 0; }
  body.contact-page .h1 { font-size: 3rem; }
  #extras .service-cell:nth-child(1), #extras .service-cell:nth-child(2), #extras .service-cell:nth-child(4), #extras .service-cell:nth-child(5) { border-right: none !important; }
  .i-header-favorites-toggle .icon, 
  .i-header-recently-viewed-toggle .icon,
  .i-header-actions-toggle .icon,
  .i-header-favorites-be-toggle .icon .i-header-favorites-mls-toggle .icon { color: hsl(var(--siteColor1)); }
}
@media (max-width: 450px) {
  .hero-tagline { font-size: 2.5rem; }
}
body.destinationPDP .hero-quick-search-wrap.int { display: none; }
body.destinationPDP .hero-tagline { bottom: calc(0% + var(--qsHeight)); line-height: 82px; flex-direction: column; font-size: 72px; }