/* Bootstrap Layout Overrides */
.container { position: relative; width: 100%; max-width: 100rem; /* 1200px */ }
.container > .row,
.container > div > .row { padding: 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: 1.25rem; 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; color: #21455E; }
.content-builder-wrap p:last-child { margin: 0; }
.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; }

.i-header-navigation-container.open button.i-header-navigation-close.when-scroll { display: block !important;}

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

@media (max-width: 1025px) {
  .i-header-menu .be-quick-search { display: none !important; }
  .i-header-navigation { display: block !important;}
  .i-header-bar { position: inherit; }  
  .i-header-navigation-container.open button.i-header-navigation-close.when-scroll { display: none !important; }
}

.cms-inspiration-option-1 { padding: 3rem 0; background: hsl(var(--white)); }
.cms-inspiration-option-1 .ti-title{ font-weight: 500; font-size: 42px; margin-bottom: 3rem; text-transform: capitalize; }
.ti-card{ position: relative; display:block; overflow:hidden; border-radius:14px; background:#e9ecef; box-shadow:0 10px 24px rgba(0,0,0,.10), 0 6px 12px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.ti-card:hover{ transform: translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.14), 0 8px 16px rgba(0,0,0,.10); text-decoration:none; }
.ti-card img{ width:100%; height:220px; object-fit:cover; display:block;  }
@media (min-width:576px){ .ti-card img{ height:240px; } }
@media (min-width:992px){ .ti-card img{ height:260px; } }
@media (min-width:1200px){ .ti-card img{ height:280px; } }
.ti-card.last img { object-position: top; }
.cms-inspiration-option-1 .ti-card{ position: relative; }
.cms-inspiration-option-1 .ti-overlay{ position: absolute; inset: 0; background: rgba(0,0,0,.25); z-index: 1; }
.cms-inspiration-option-1 .ti-name{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; color: #fff; font-weight: 600; font-size: 24px; border-radius: 10px; padding: 6px 12px; white-space: nowrap; text-align: center; pointer-events: none; }

.cms-rental-option-1 { padding:3rem 0; background: hsl(var(--white)); }
.cms-rental-option-1 .jp-title { font-weight: 500; font-size: 42px; margin-bottom: 1rem; text-transform: capitalize; }
.cms-rental-option-1 .jp-copy { color:#4a5568; }
.cms-rental-option-1 .btn-join { color: hsl(var(--white)); background: hsl(var(--siteColor2)); font-weight:500; border:none; border-radius:999px; padding:.55rem 1.1rem; text-transform: capitalize; }
.cms-rental-option-1 .btn-join:hover { filter:brightness(.95); color:#121212; text-decoration:none; }
.cms-rental-option-1 .jp-image-card { border-radius:16px; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,.12), 0 6px 10px rgba(0,0,0,.06); background:#e9ecef; margin-top: 50px; }
.cms-rental-option-1 .jp-image-card img { width:100%; height:auto; display:block; object-fit:cover; }

.cms-resorts-option-1 { padding: 3rem 0; }
.cms-resorts-option-1 .resorts-title{ font-weight: 500; font-size: 42px; margin-bottom: 3rem; text-transform: capitalize; }
.resort-card{ position: relative; display: block; border-radius: 12px; overflow: hidden; background: #e9ecef; box-shadow: 0 10px 24px rgba(0,0,0,.10), 0 6px 12px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.resort-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0,0,0,.14), 0 8px 16px rgba(0,0,0,.10); text-decoration: none; }
.resort-card img{ width: 100%; height: 180px; object-fit: cover; display: block; }
@media (min-width: 576px){ .resort-card img{ height: 200px; } }
@media (min-width: 992px){ .resort-card img{ height: 220px; } }
@media (min-width: 1200px){ .resort-card img{ height: 490px; } }
.resort-overlay{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,.25); pointer-events: none; }
.resort-name{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-weight: 600; font-size: 24px; text-align: center; pointer-events: none; white-space: nowrap; }

.cms-explore-option-1{ --sectionBG:#c9dde6; --tileRadius:16px; --labelBG: rgba(0,0,0,.35); padding: 3rem 0; background: var(--sectionBG); background-image:radial-gradient(1200px 600px at 110% 80%, rgba(0,0,0,.04), rgba(0,0,0,0) 60%); background-repeat: no-repeat; background-size: cover; position: relative; }
.cms-explore-option-1:before { content: ''; background: url(/images/layout/Sail-Away-Detail-BG.png); position: absolute; bottom: 0; right: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: bottom right; }
.cms-explore-option-1 .ex-title{ font-weight: 500; font-size: 42px; margin-bottom: 3rem; text-transform: capitalize; }
.explore-card{ position:relative; display:block; overflow:hidden; border-radius:var(--tileRadius); box-shadow:0 10px 24px rgba(0,0,0,.10), 0 6px 12px rgba(0,0,0,.06); background:#e9ecef; transition: transform .25s ease, box-shadow .25s ease; }
.explore-card:hover{ transform: translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.14), 0 8px 16px rgba(0,0,0,.10); text-decoration:none; }
.explore-card img{ width:100%; height:490px; object-fit:cover; display:block; transition: transform .35s ease; }
.explore-card:hover img{ transform: scale(1.03); }
@media (min-width:576px){ .explore-card img{ height:240px; } }
@media (min-width:992px){ .explore-card img{ height:490px; } }
.cms-explore-option-1 .explore-card{ position: relative; }
.cms-explore-option-1 .explore-dim{ position: absolute; inset: 0; background: rgba(0,0,0,.25); z-index: 1; }
.cms-explore-option-1 .explore-label{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; font-size: 24px; color: #fff; font-weight: 600; border-radius: 10px; padding: 8px 14px; text-align: center; white-space: nowrap; pointer-events: none; }

@media (max-width: 1600px){
  .container,
  .callouts-swiper.swiper-container { max-width: 75rem !important;  }
  .i-welcome .container { max-width: 100% !important; }
  .i-welcome h1 { font-size: 3rem; }
}

.i-header-bar .col.col-sleeps { display: none; }

@font-face {
    font-family: 'Rage';
    src:  url('/fonts/RageItalic.woff2') format('woff2'),
        url('/fonts/RageItalic.woff') format('woff'),
        url('/fonts/RageItalic.ttf') format('truetype');
    font-weight: normal;
}
