/* Bootstrap Layout Overrides */
.container { position: relative; width: 100%; max-width: 75rem; /* 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; }
.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; }

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

video.hero-video { height: 90vh; object-fit: cover; width: 100%; }
.header-links { gap: 5rem; display: flex; margin-left: 25px; padding: 25px 0 15px; flex-flow: wrap; }
.header-links a { text-decoration: underline; }

.logos-sections { margin: 5rem 0; }
.logos-sections .title { color: #80aaab; letter-spacing: 4px; font-size: 1.125rem; text-align: center; margin-bottom: 2rem; }
.logos-sections .logos-static { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px; }
.logos-sections .logos-swiper { display: none; position: relative; overflow: hidden; padding: 0 40px; }
.logos-sections .swiper-slide { display: flex; align-items: center; justify-content: center; text-align: center; }
.logos-sections .swiper-slide img,
.logos-sections .logos-static img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.logos-sections .logos-btn-prev,
.logos-sections .logos-btn-next { position: absolute; top: 50%; width: 24px; height: 24px; margin-top: -12px; z-index: 10; cursor: pointer; }
.logos-sections .logos-btn-prev { left: 0; }
.logos-sections .logos-btn-next { right: 0; }
.logos-sections .logos-btn-prev:after,
.logos-sections .logos-btn-next:after { font-family: swiper-icons; font-size: 24px; line-height: 1; }
.logos-sections .logos-btn-prev:after { content: 'prev'; }
.logos-sections .logos-btn-next:after { content: 'next'; }
.logos-sections .logos-static { display: flex !important; }
.logos-sections .logos-swiper { display: none !important; }

.intro-section .h1 { text-transform: initial !important; }
.intro-section .intro-p { font-family: var(--siteFont1); font-style: italic; }
.intro-section .btn { background: hsl(var(--siteColor1)); margin: 2.5rem 10px 0; padding: 0.75rem 3rem; box-shadow: var(--btnShadowWhite); border-radius: 0; font-size: 1rem; }
.intro-section .btn.transparent { background: transparent; border: 1px solid hsl(var(--siteColor1)); color: hsl(var(--siteColor1)); }
.intro-section .overlay-card { margin-top: 2rem; position: relative; height: 420px; place-content: end; overflow: hidden; color: white; text-align: center; background-size: cover; background-position: center; transition: transform 0.4s ease, filter 0.4s ease; z-index: 0; }
.intro-section .overlay-card:hover { transform: scale(1.05); filter: brightness(1.1); }
.intro-section .overlay-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); z-index: 1; transition: background 0.4s ease; }
.intro-section .overlay-card:hover::before { background: rgba(0, 0, 0, 0.25); }
.intro-section .overlay-text { position: relative; z-index: 2; padding: 1rem; max-width: 90%; margin: auto; font-family: var(--siteFont3); height: 100%; align-content: center; }
.intro-section .overlay-text p { margin-bottom: 0; }
.intro-section h4 { font-size: 1.5rem; }
.intro-section .bg1 { background-image: url('/images/layout/Cabo-Luxury-Intro-1.jpg'); }
.intro-section .bg2 { background-image: url('/images/layout/Cabo-Luxury-Intro-2.jpg'); }
.intro-section .bg3 { background-image: url('/images/layout/Cabo-Luxury-Intro-3.jpg'); }
.intro-section .intro-cards-swiper { display: none; position: relative; overflow: hidden; padding: 0 40px; }
.intro-section .intro-cards-swiper .swiper-slide { display: flex; justify-content: center; align-items: stretch; }
.intro-section .intro-cards-swiper .overlay-card { width: 100%; max-width: 420px; margin: 0 auto; }
.intro-section .intro-cards-desktop { display: flex !important; }
.intro-section .intro-cards-desktop a { display: contents; }
.intro-section .intro-cards-swiper { display: none !important; }

.page-ttd .hero-wrap.int .hero-img-wrap:after { content: ''; position: absolute; background: hsl(var(--black))3b; width: 100%; height: 100%; z-index: 0; }
.ttd-hero-section.container { z-index: 1; }
.page-ttd-explore .hero-quick-search-wrap.int { display: none; }
.page-ttd-explore section#adventures { background: #E3DDCF; }
.page-ttd-explore section#golf,
.page-ttd-explore section#wellness,
.page-ttd-explore section#entertainment,
.page-ttd-explore section#sport-yachts,
.page-ttd-explore section#mega-yachts,
.page-ttd-explore section#large-group,
.page-ttd-explore section#celebrations { background: #CADED1; }
.page-ttd-explore p { font-family: var(--siteFont3); font-size: 1rem; color: hsl(var(--siteColor1)); }
.page-ttd-explore #experiences .container-experiences { padding-left: 20%; }
.section-title{ font-family: var(--siteFont1); color: hsl(var(--siteColor1)); text-transform: uppercase; font-weight:600; letter-spacing:.2px; font-size: 42px !important; }
.section-title-sm { font-family: var(--siteFont1); color: hsl(var(--siteColor1)); text-transform: capitalize; letter-spacing:.2px; font-size: 35px !important; }
.section-subtitle{ color: hsl(var(--siteColor1)); font-size: 22px; }
.section-lead{max-width:680px; margin:0 auto 2rem; color:#5a6a73;}
.gap-18 > [class^="col"]{margin-bottom:18px;}        /* small vertical rhythm */
.rounded-8{border-radius:8px;}
.page-ttd-explore section#large-group .tile{ height: 250px; }
.page-ttd-explore section#mega-yachts .tile{ height: 400px; }
.page-ttd-explore section#sailboats-catamarans .tile{ height: 250px; }
.page-ttd-explore section#sport-yachts .tile{ height: 700px; }
.page-ttd-explore section#luxury-yachts .ratio.big-image,
.page-ttd-explore section#luxury-yachts .tile{ height: 200px; }
.page-ttd-explore .swiper-button-prev::after, 
.page-ttd-explore .swiper-button-next::after { color: hsl(var(--white)) !important; }
.tile{ position:relative; display:block; width:100%; height:100%; background-size:cover; background-position:center; border-radius:0; overflow:hidden;}
.tile::after{ content:""; position:absolute; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0); transition:.25s;}
.tile:hover::after{ background:rgba(0,0,0,.45);}
.tile-label{ z-index: 1; position:absolute; left:0; right:0; bottom:0; color:hsl(var(--white)); font-weight:600; padding:.85rem 1rem; opacity:0; transform:translateY(8px); transition:.25s; text-shadow:0 2px 6px rgba(0,0,0,.4); letter-spacing:.3px; }
.tile:hover .tile-label{ opacity:1; transform:translateY(0);}
.ratio{ position:relative; width:100%;}
.ratio::before{ content:""; display:block; padding-top:56.25%;} 
.ratio-4x3::before{ padding-top:75%;}
.ratio-1x1::before{ padding-top:100%;}
.ratio-3x4::before{ padding-top:133.333%;} 
.ratio > *{ position:absolute; top:0; right:0; bottom:0; left:0;}
.ratio-14x15::before { padding-top: 93.3333%; } 
.circle-nav.swiper-button-next,
.circle-nav.swiper-button-prev{ width:36px; height:36px; border-radius:50%; background: hsl(var(--white)); box-shadow:0 4px 12px rgba(0,0,0,.15); }
.circle-nav::after{font-size:14px; color:hsl(var(--siteColor1));}
.ratio{ position:relative; width:100%; }
.ratio::before{ content:""; display:block; padding-top:56.25%; }  
.ratio-3x4::before{ padding-top:133.3333%; } 
.ratio-14x15::before{ padding-top:93.3333%; }
.adventures-split{ --cols-left: 7fr; --cols-right: 5fr; --gap: 18px; display:grid; grid-template-columns: var(--cols-left) var(--cols-right); grid-template-rows: 1fr 1fr; gap: var(--gap); height:700px; }
.adventures-split .adv-lg{ grid-column:1; grid-row:1 / span 2; }
.adv-item{ position:relative; overflow:hidden; display:block; background:hsl(var(--black)); }
.adv-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.adv-item::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.45); opacity:0; transition:opacity .3s ease; }
.adv-label{ z-index: 1; position:absolute; left:14px; bottom:12px; color: hsl(var(--white)); font-weight:600; font-size:0.95rem; transform:translateY(8px); opacity:0; transition:transform .3s ease, opacity .3s ease; pointer-events:none; }
.adv-item:hover img{ transform:scale(1.04); }
.adv-item:hover::after{ opacity:1; }
.adv-item:hover .adv-label{ opacity:1; transform:translateY(0); }
.adventures-swiper{ --swiper-navigation-size: 22px; --swiper-navigation-color: hsl(var(--white)); }
.adventures-swiper .swiper-button-prev, .adventures-swiper .swiper-button-next{ opacity:1; }
.adventures-swiper .swiper-button-prev::after, .adventures-swiper .swiper-button-next::after{ opacity:1 !important; }
.circle-nav{ width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.circle-nav:hover{ background:rgba(0,0,0,.7); }
#water-activities .swiper-button-prev .swiper-navigation-icon,
#water-activities .swiper-button-next .swiper-navigation-icon,
.adventures-swiper .swiper-button-prev .swiper-navigation-icon,
.adventures-swiper .swiper-button-next .swiper-navigation-icon{ display:none !important; }
.swiper-button-prev::after, .swiper-button-next::after { color: hsl(var(--black)) !important; }
#golf .ratio, #expeditions .ratio { height: 180px; }
#golf .last-square { margin-left: -99%; }

.contact-page h1.site-color-1,
.contact-page .hero-quick-search-wrap.int { display: none; }
.help-section { padding: 0 0 40px 0; background-color: hsl(var(--white)); }
.help-title { font-size: 32px; font-weight: 400; margin-bottom: 20px; color: #111111; text-transform: initial; }
.help-intro { font-size: 14px; line-height: 1.7; color: #555555; margin-bottom: 8px; }
.help-phone { color: hsl(var(--siteColor5)); font-weight: 600; text-decoration: none; }
.help-phone:hover { text-decoration: underline; }
.help-card-row > [class*="col-"] { padding-left: 8px; padding-right: 8px; display: flex; }
.help-card { display: flex; flex-direction: column; justify-content: space-between; padding: 24px 22px 20px; text-decoration: none; width: 100%; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.modal-close-x { position: absolute; top: -7px; right: -9px; border: none !important; border-radius: 50%; background: hsl(var(--white)); font-size: 22px; width: 25px; height: 25px; line-height: normal; color: #999; cursor: pointer; padding: 0; z-index: 9999999; }
.modal-close-x:hover { color: #333; }
.help-card-inner { flex: 1 1 auto; }
.help-card-dark { background-color: hsl(var(--siteColor1)); color: hsl(var(--white)); }
.help-card-gold { background-color: #CEE2D8; color: #2b2b2b; }
.help-card-light { background-color: hsl(var(--siteColor5)); color: hsl(var(--white)); }
.help-card:hover { transform: translateY(-4px); color: hsl(var(--white)); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22); }
.help-card-gold:hover { color: #2b2b2b; }
.help-card-heading { display: flex; align-items: center; margin-bottom: 18px; }
.help-card-label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; line-height: 1.3; }
.help-card-line { flex: 1 1 auto; height: 1px; margin-left: 14px; background-color: #e1d4b2; }
.help-card-dark .help-card-line { background-color: hsl(var(--siteColor5)); }
.help-card-text { font-size: 12px; line-height: 1.7; }
.help-card-cta { margin-top: 18px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; }
.help-card-arrow { margin-left: 6px; }
#family-group .circle-nav.swiper-button-next, #family-group .circle-nav.swiper-button-prev { display: none; }

/* Services Pages */
.uq-service-page .hero-quick-search-wrap { display: none; }
.pc-container { width: 100%; max-width: 75rem; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.uq-service-page .pc-section { padding-top: 3.25rem; padding-bottom: 1.25rem; }
.uq-service-page .pc-section-video { padding-top: 0; padding-bottom: 4rem; }
.uq-service-page .pc-section--top { padding-top: 2.5rem; }
.uq-service-page .pc-section--main { padding-top: 3.25rem; }
.uq-service-page .pc-kicker { font-family: var(--siteFont2); text-align: center; font-size: 1rem; color: #80aaab; text-transform: uppercase;  margin-bottom: 0; }
.uq-service-page .pc-kicker--strong { font-size: 1rem; letter-spacing: 0.2em; }
.uq-service-page .pc-title-sm { text-align: center; font-size: 1.2rem; text-transform: uppercase; font-family: var(--siteFont2); }
.uq-service-page .pc-title-h3 { font-weight: 600; text-align: center; font-size: 1.5rem; text-transform: capitalize !important; font-family: var(--siteFont1); color: var(--siteColor1) !important;}
.uq-service-page .pc-title-lg { font-family: var(--siteFont1); color: hsl(var(--siteColor1)); text-align: center; font-size: 2.5rem; line-height: 1.05; font-weight: 500;  margin-bottom: 0; }
.uq-service-page .pc-subtitle { text-align: center; font-size: 1rem;  font-weight: 500; margin-bottom: 0; }
.uq-service-page .pc-copy { max-width: 40rem; margin: 0 auto; text-align: center; font-size: 1rem; line-height: inherit; color: hsl(var(--siteColor1)); font-family: var(--siteFont3); }
.uq-service-page .pc-copy--tight { max-width: 42rem; }
.uq-service-page .pc-accent { color: #7fb8bb; font-weight: 500; }
.uq-service-page .pc-btn-outline { min-width: 12rem; margin: 0.5rem; padding: 0.75rem 3rem; background: hsl(var(--siteColor1)); color: hsl(var(--white)); font-size: 1rem; text-transform: uppercase; border-radius: 0; }
.uq-service-page .pc-btn-outline:hover, .uq-service-page .pc-btn-outline:focus { background: hsl(var(--white)); color: hsl(var(--siteColor1)); }
.uq-service-page .pc-hero-wrap { margin-top: 2.25rem; text-align: center; }
.uq-service-page .pc-hero-img { width: 100%; max-width: 48rem; height: auto; display: block; margin: 0 auto; }
.uq-service-page .pc-band { width: 100%; }
.uq-service-page .pc-band--teal { background: #7fb8bb; margin-top: 3rem; padding-top: 1.15rem; padding-bottom: 1.15rem; }
.uq-service-page .pc-band-text { text-align: center; font-size: 1.5rem; font-weight: 500; font-family: var(--siteFont1); }
.uq-service-page .pc-band--soft { background: #d8e8e2; padding-top: 2rem; padding-bottom: 7rem; margin-top: 2.5rem; }
.uq-service-page .pc-olist { margin: 0 auto; max-width: 44rem;  font-size: 1.1rem; line-height: 1.7; font-family: var(--siteFont3); text-align: center; list-style-position: inside; }
.uq-service-page .pc-olist li { margin-bottom: 0.35rem; font-family: var(--siteFont1); }
.uq-service-page .pc-olist li:last-child { margin-bottom: 0; }
.uq-service-page .pc-photo-row { margin-top: -4.25rem; }
.uq-service-page .pc-photo-col { padding-left: 0.35rem; padding-right: 0.35rem; margin-bottom: 0.7rem; }
.uq-service-page .pc-photo-tile { width: 100%; overflow: hidden; }
.uq-service-page .pc-photo-tile img { width: 100%; height: 10.5rem; object-fit: cover; display: block; }
.uq-service-page .pc-divider-space { height: 2.5rem; }
.uq-service-page .pc-bottom-space { height: 3.25rem; }
.uq-service-page .pc-box { border: 0.095rem solid #173b45; padding: 1.5rem 1.6rem; height: 100%; }
.uq-service-page .pc-box-title { text-transform: uppercase; letter-spacing: 0.18em; font-size: 1rem; text-align: left; }
.uq-service-page .pc-bullets { padding-left: 1.15rem; margin: 0; color: hsl(var(--siteColor1)); font-size: 1rem; line-height: 1.7; }
.uq-service-page .pc-bullets li { margin-bottom: 0.55rem; font-family: var(--siteFont3); }
.uq-service-page .pc-bullets li:last-child { margin-bottom: 0; }
.journey-section { padding: 5rem 0; } 
.journey-title { text-align: center; font-family: var(--siteFont1), serif; font-size: 1.6rem; text-transform: initial; color: hsl(var(--siteColor1)); margin: 0 0 2.25rem 0; }
.journey-grid .col-md-3 { padding-left: 0.55rem; padding-right: 0.55rem; }
.journey-card { position: relative; display: block; width: 100%; overflow: hidden; text-decoration: none; background: #f3f3f3; }
.journey-card:focus,  .journey-card:hover { text-decoration: none; }
.journey-img { width: 100%; height: 23rem; object-fit: cover; display: block; transform: scale(1); transition: transform 220ms ease; }
.journey-card:hover .journey-img { transform: scale(1.03); }
.journey-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 7rem; background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0)); pointer-events: none; }
.journey-caption { position: absolute; left: 1rem; bottom: 0.95rem; font-family: var(--siteFont1), serif; font-size: 1.05rem; color: hsl(var(--white)); text-shadow: 0 0.1rem 0.35rem rgba(0,0,0,0.35); letter-spacing: 0.02em; z-index: 2; }
.journey-carousel { margin-top: 0.25rem; }
.journey-carousel .carousel-item { padding-left: 0.75rem; padding-right: 0.75rem; }
.journey-carousel .journey-img { height: 22rem; }
.journey-control { width: 12%; opacity: 0.9; }
.journey-control:hover { opacity: 1; }
.journey-footer { text-align: center; margin-top: 2.75rem; }
.journey-subtitle { font-family: var(--siteFont1), serif; font-size: 1.5rem; text-transform: capitalize; color: hsl(var(--siteColor1)); margin: 0 0 1.25rem 0; }
.journey-btn { background: hsl(var(--siteColor5)); color: hsl(var(--white)); border-radius: 0; padding: 0.9rem 1.35rem; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; }
.journey-btn:hover,  .journey-btn:focus { background: hsl(var(--siteColor5)); color: hsl(var(--white)); }
.journey-arrow { display: inline-block; margin-left: 0.4rem; font-size: 1.25em; line-height: 1; transform: translateY(0.06rem); }

/* Villas Experience */
.exp-inc-section { position:relative; background:transparent; padding-top:2rem; padding-bottom:2rem; }
.exp-inc-section:before { content:""; position:absolute; left:0; right:0; top:3rem; bottom:3rem; background:#d8e8e2; z-index:0; }
.exp-inc-section .pc-container { position:relative; z-index:1; }
.exp-inc-row { margin-left:0; margin-right:0; }
.exp-inc-card { background:hsl(var(--white)); padding:3rem 2rem;}
.exp-inc-card-title { font-size:1.3rem; line-height:1.45; font-weight:500; margin-bottom:1.25rem; }
.exp-inc-list { list-style:none; padding:0; margin:0; }
.exp-inc-item { display:flex; align-items:flex-start; margin-bottom:1.05rem; }
.exp-inc-item:last-child { margin-bottom:0; }
.exp-inc-ico { width:1.25rem; min-width:1.25rem; height:1.25rem; margin-right:0.75rem; margin-top:0.12rem; }
.exp-inc-ico svg { width:100%; height:100%; display:block; }
.exp-inc-text { font-size:1rem; line-height:1.55; }
.exp-inc-copy { padding-left:0; padding-right:0; }
.exp-inc-copy p { font-size:1rem; line-height:1.85; margin-bottom:1rem; }
.exp-inc-link { display:inline-block; margin-top:1.15rem; font-size:1rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:600; text-decoration:none; }
.exp-inc-link:hover, .exp-inc-link:focus { text-decoration:underline; }

@media (min-width:62rem) { .exp-inc-copy { padding-left:2.25rem; } }
@media (max-width:47.99rem) { .exp-inc-card { padding:1.6rem 1.5rem; } .exp-inc-copy p { font-size:0.85rem; } }

.faq-section { padding-top:3rem; padding-bottom:3rem; background:hsl(var(--white)); }
.faq-left { padding-right:2rem; }
.faq-title { font-size:2.15rem; font-weight:500; margin:0 0 0.75rem 0; }
.faq-intro { font-size:1rem; margin:0 0 1.25rem 0;  }
.faq-btn { background:#173b45; color:hsl(var(--white)); border-radius:0; font-size1rem; text-transform:uppercase; padding:0.75rem 1.1rem; font-family: var(--siteFont1); }
.faq-btn:hover, .faq-btn:focus { background:hsl(var(--siteColor1)); color:hsl(var(--white)); }
.faq-img-wrap { margin-top:1.35rem; max-width:22rem; }
.faq-img { width:100%; height: 150px; display: block; object-fit: cover; }
.faq-acc { border-top:0.06rem solid #e6ecef; }
.faq-item { border-bottom:0.06rem solid #e6ecef; }
.faq-item-last { border-bottom:0.06rem solid #e6ecef; }
.faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; text-align:left; background:transparent; border:0; padding:0.95rem 0; cursor:pointer; }
.faq-q:focus { outline:none; }
.faq-q-text { font-size:1rem; text-transform:uppercase; padding-right:1.25rem; }
.faq-plus { width:1.2rem; height:1.2rem; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.faq-plus:before { content:"+"; font-size:1rem; line-height:1; }
.faq-q[aria-expanded="true"] .faq-plus:before { content:"\2212"; }
.faq-a { padding:0 0 1rem 0; font-size:0.86rem; line-height:1.75; max-width:34rem; }

@media (min-width: 1025px) { .uq-service-page .hero-wrap.int .hero-img-wrap { height: 50rem; } }
@media (min-width: 768px) { .journey-swiper .swiper-button-prev, .journey-swiper .swiper-button-next { display: none; } }
@media (min-width: 768px) { .uq-service-page .pc-photo-tile img { height: 9.75rem; } }
@media (min-width: 992px) { .uq-service-page .pc-photo-tile img { height: 16.25rem; margin: 0 1rem; } }

@media (max-width: 575.98px) {
  .help-card { margin-bottom: 8px; }
}
@media (max-width: 991.98px) {
  .help-section { padding: 0px 0; }
  .help-title { font-size: 26px; }
  .help-card-row { margin-top: 20px; }
   #family-group .circle-nav.swiper-button-next, #family-group .circle-nav.swiper-button-prev { display: flex; }
}

@media (max-width: 1024px){
    #golf .ratio, 
    #water-activities .swiper-slide,    
    #water-activities .swiper-slide .ratio,
    #expeditions .ratio,
    .adv-item img{ height:320px; }
    .exp-inc-item { justify-content: center; }
    .exp-inc-section:before { top: 0; bottom: 0; }
    .faq-img-wrap { margin: 2rem auto; }
    .container-experiences .global-eyebrow,
    .faq-left, .exp-inc-row { text-align: center; }
    .faq-intro { max-width:100%; }
    .page-ttd-explore #experiences img { padding-bottom: 1rem; }
    #golf .section-title, #golf p, #expeditions .section-title, #expeditions p,
    .container-experiences .section-subtitle, .container-experiences .section-title, .container-experiences p { text-align: center; }
    .page-ttd-explore #experiences .container-experiences { padding: 25px; }
    .page-ttd-explore #golf .last-square { margin-left: 0; }
    #experiences .row { margin: 0; }
    .adventures-split{ grid-template-columns:1fr; grid-template-rows:auto; height:auto; gap:14px; }
    .adventures-split .adv-lg{ height:60vh; }
    .adventures-split .adv-item:not(.adv-lg){ height:40vh; }
    .header-links { flex-wrap: nowrap; white-space: nowrap; overflow-x: auto; gap: 3rem; padding-right: 3rem; }    
    .header-links div:last-child { margin-right: 10px; }
    .header-links::after{ content: ""; position: absolute; top: 0; right: 0; width: 34px; height: 100%; pointer-events: none; background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0)); }
    #quick_search .row-be .col { padding: 2px; }
    .footer-bottom-links { margin-top: 0; gap: 1rem; flex-direction: column; }
    .callout-title-section p,
    .full-callout-title strong,
    .cms-featured-option-2 .h1.title.site-color-1,
    .cms-testimonials-option-2 .title-wrap .title { font-size: 2rem !important; }
    .cms-testimonials-option-2 .testimonial-block blockquote { font-size: 1rem !important; }
    .callout-title-section img,
    .testimonials-swiper-wrap.text-center img { width: 3rem; }
    .logos-sections .logos { padding: 0 20px; }
    section#concierge-services { padding-bottom: 0 !important; }
    .col, .row { margin-right: 0; margin-left: 0; padding-right: 0; padding-left: 0; }
    .testimonial-sliders .review-section { margin: 0 !important; }
    .testimonial-sliders .intro-testimonials p.title { font-size: 2rem !important; line-height: normal; }
    .intro-testimonials { margin: 0 10px; }
    .hero-wrap.int .hero-quick-search-wrap { display: none; }
    .faq-group-name.h2 { margin-top: 3rem !important; font-size: 1.5rem !important; margin-bottom: 1rem; }
    .cms-faqs-collapse-wrap .accordion > .card .card-header button { font-size: 1rem !important; }
    .col-sm-6 { width: 100% !important; max-width: 100% !important; flex: 1; }
    .ttd-hero-section.container { bottom: 0; position: absolute; }
    .things-to-do-category-grid [class^=col] { padding: 0; }
    .full-callout-title .sub { margin-bottom: 1rem; line-height: 1rem; }    
    .logos-sections .logos-static { display: none !important; }
    .logos-sections .logos-swiper { display: block !important; height: 100px; }    
    .intro-section .intro-cards-desktop { display: none !important; }
    .intro-section .intro-cards-swiper { display: block !important; }
    .pc-olist { padding-left: 0; }
}

/* Global Elements */
body.faqs-page h1 { text-align: center; }
body.faqs-page .accordion { margin-bottom: 3rem; }
body.about-us-page h1.site-color-1 { display: none; }
.global-h1 { color: hsl(var(--siteColor1)); }
.global-eyebrow { color: hsl(var(--siteColor7)); letter-spacing: 4px; font-size: 1.125rem; font-family: var(--siteFont2), sans-serif; text-transform: uppercase; }

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

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

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

@font-face {
    font-family: 'La Luxes Serif Pro';
    src: url('LaLuxesSerifPro-Bold.eot');
    src: url('./fonts/LaLuxesSerifPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('./fonts/LaLuxesSerifPro-Bold.woff2') format('woff2'),
        url('./fonts/LaLuxesSerifPro-Bold.woff') format('woff'),
        url('./fonts/LaLuxesSerifPro-Bold.ttf') format('truetype'),
        url('./fonts/LaLuxesSerifPro-Bold.svg#LaLuxesSerifPro-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'La Luxes Serif Pro';
    src: url('./fonts/LaLuxesSerifPro-MediumItalic.eot');
    src: url('./fonts/LaLuxesSerifPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('./fonts/LaLuxesSerifPro-MediumItalic.woff2') format('woff2'),
        url('./fonts/LaLuxesSerifPro-MediumItalic.woff') format('woff'),
        url('./fonts/LaLuxesSerifPro-MediumItalic.ttf') format('truetype'),
        url('./fonts/LaLuxesSerifPro-MediumItalic.svg#LaLuxesSerifPro-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'La Luxes Serif Pro';
    src: url('./fonts/LaLuxesSerifPro-Italic.eot');
    src: url('./fonts/LaLuxesSerifPro-Italic.eot?#iefix') format('embedded-opentype'),
        url('./fonts/LaLuxesSerifPro-Italic.woff2') format('woff2'),
        url('./fonts/LaLuxesSerifPro-Italic.woff') format('woff'),
        url('./fonts/LaLuxesSerifPro-Italic.ttf') format('truetype'),
        url('./fonts/LaLuxesSerifPro-Italic.svg#LaLuxesSerifPro-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'La Luxes Serif Pro';
    src: url('./fonts/LaLuxesSerifPro-Medium.eot');
    src: url('./fonts/LaLuxesSerifPro-Medium.eot?#iefix') format('embedded-opentype'),
        url('./fonts/LaLuxesSerifPro-Medium.woff2') format('woff2'),
        url('./fonts/LaLuxesSerifPro-Medium.woff') format('woff'),
        url('./fonts/LaLuxesSerifPro-Medium.ttf') format('truetype'),
        url('./fonts/LaLuxesSerifPro-Medium.svg#LaLuxesSerifPro-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

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