/* ---------------------------------------------------------
  VACATION PACKAGE: MAIN LAYOUT
--------------------------------------------------------- */
.i-content.full-width,
.cms-vp-wrap { --sectionPadding: 3rem; display: block !important; padding: 0 !important; }
.cms-vp-wrap section { padding: var(--sectionPadding) 0; position: relative; }
.cms-vp-wrap .content-builder-wrap { margin: 0 !important; }
.cms-vp-wrap .fluid-img-wrap { width: 100%; height: 16rem; border-radius: var(--borderRadius); position: relative; overflow: hidden; }
.cms-vp-wrap .fluid-img { width: 100%; height: 100% !important; object-fit: cover; position: absolute; inset: 0; }
@media (min-width: 768px) {
  .cms-vp-wrap .fluid-img-wrap { height: 100%; min-height: 16rem; }
}
@media (min-width: 1025px) {
  .i-content.full-width,
  .cms-vp-wrap { --sectionPadding: 4rem; }
}

/* Intro */
.cms-vp-wrap .vp-intro .row { row-gap: 1.5rem; }
.cms-vp-wrap .vp-intro ul { padding-left: 0; margin: 0; list-style: none; display: inline-block; text-align: left; }
.cms-vp-wrap .vp-intro ul li { padding-left: 2rem; margin: 0.25rem 0; position: relative; }
.cms-vp-wrap .vp-intro ul li::before { content: ""; width: 1.25rem; height: 1.25rem; position: absolute; left: 0; top: 0.125rem; background-color: hsl(var(--siteColor1)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") no-repeat center / contain; }

/* Reviews */
.cms-vp-wrap .vp-reviews .row { row-gap: 1.5rem; }
.cms-vp-wrap .vp-reviews .vp-review-img { aspect-ratio: 4 / 3; width: 100%; height: auto; margin-bottom: 1rem; object-fit: cover; border-radius: var(--borderRadius); }

/* Full Callout */
.cms-vp-wrap .vp-full-callout { background-color: var(--placeholderBG); background-repeat: no-repeat !important; background-position: center 75% !important; background-size: cover !important;}
.cms-vp-wrap .vp-full-callout ol { padding: 0; list-style: none; counter-reset: item; }
.cms-vp-wrap .vp-full-callout ol li { counter-increment: item; display: flex; align-items: center; gap: 0.75rem; }
.cms-vp-wrap .vp-full-callout ol li::before { content: counter(item); display: inline-block; font-family: var(--siteFont1) !important; font-size: 5rem; font-weight: var(--wRegular); color: hsl(var(--siteColor3)); line-height: 1; text-align: right; transform: translateY(-10%); }
.cms-vp-wrap .vp-family-full-callout ol li::before { color: hsl(var(--gray)); }

/* Cards */
.cms-vp-wrap .vp-cards .title-img { max-width: 3rem; margin: 0 auto 1rem; }
.cms-vp-wrap .vp-cards .card { padding: 1rem; border-radius: var(--borderRadius); border: 0.125rem solid hsl(var(--siteColor3)); }
.cms-vp-wrap .vp-cards .card:not(:last-child) { margin-bottom: 1.5rem; }
.cms-vp-wrap .vp-cards h5.card-title { font-family: var(--siteFont); font-size: 1.375rem; font-weight: var(--wMedium); color: hsl(var(--siteColor1)); text-transform: uppercase; letter-spacing: 0.0625rem; }

/* Add-ons */
.cms-vp-wrap .vp-addons .row { row-gap: 1.5rem; }
.cms-vp-wrap .vp-addons .vp-addon { font-size: 0.9375rem; line-height: 1.4; }
.cms-vp-wrap .vp-addons .vp-addon-img { aspect-ratio: 5 / 4; width: 100%; height: auto; margin-bottom: 1rem; object-fit: cover; border-radius: var(--borderRadius); }
.cms-vp-wrap .vp-addons .vp-addon-title { margin-bottom: 0.5rem; font-size: 1.125rem; font-weight: var(--wBold); color: hsl(var(--black)); text-transform: uppercase; letter-spacing: 0.0625rem; line-height: 1.2; }
.cms-vp-wrap .vp-addons .vp-addon-text:last-child { margin-bottom: 0; }

/* FAQs */
.i-content.full-width .cms-faqs-collapse-wrap { padding: var(--sectionPadding) 0; margin: 0; }

/* ---------------------------------------------------------
  VACATION PACKAGE: DETAIL LAYOUT
--------------------------------------------------------- */
.cms-vpd-wrap .fluid-img-sm-wrap { height: 8rem; }
@media (min-width: 768px)  {
  .cms-vpd-wrap .fluid-img-wrap { min-height: 18rem; }
  .cms-vpd-wrap .fluid-img-sm-wrap { height: 100%; min-height: 12rem; }
}

/* Intro */
.cms-vpd-wrap .vp-intro-banner { border-top: 0.0625rem solid hsla(var(--black), 10%); border-bottom: 0.0625rem solid hsla(var(--black), 10%); }
.cms-vpd-wrap .vp-intro-banner .row { row-gap: 1rem; }
@media (min-width: 768px) {
  .cms-vpd-wrap .vp-intro ul { display: flex; flex-wrap: wrap; column-gap: 1.5rem; }
  .cms-vpd-wrap .vp-intro ul li { width: 100%; max-width: calc(50% - 0.75rem); }
}

/* Timeline */
.cms-vpd-wrap .vp-timeline .days { position: relative; }
.cms-vpd-wrap .vp-timeline .day { margin-left: 1rem; padding: 0 2rem 2rem; border-left: 0.3125rem solid hsl(0, 0%, 95%); position: relative; }
.cms-vpd-wrap .vp-timeline .day:last-child { border-color: transparent; padding-bottom: 0; }
.cms-vpd-wrap .vp-timeline .day:before { content: ''; width: 2rem; height: 2rem; position: absolute; top: -0.25rem; left: -1.15625rem; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="hsl(0, 0%, 95%)" d="M64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320z"></path></svg>'); }
.cms-vpd-wrap .vp-timeline .day > .row { row-gap: 1.5rem; transform: translateY(-0.25rem); }
@media (min-width: 768px) {
  .cms-vpd-wrap .vp-timeline .day:first-child ul { columns: 2; }
}

/* Full Callout */
.cms-vpd-wrap .vp-full-callout ul { padding-left: 0; margin: 0; list-style: none; display: inline-block; text-align: left; }
.cms-vpd-wrap .vp-full-callout ul li { padding-left: 2rem; margin: 0.25rem 0; position: relative; }
.cms-vpd-wrap .vp-full-callout ul li::before { content: ""; width: 1.25rem; height: 1.25rem; position: absolute; left: 0; top: 0.125rem; background-color: hsl(var(--siteColor1)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") no-repeat center / contain; }
@media (min-width: 768px) {
  .cms-vpd-wrap .vp-full-callout ul { columns: 2; column-gap: 2rem; }
}

/* ---------------------------------------------------------
  VACATION PACKAGE FORM & MODAL
--------------------------------------------------------- */
.vacation-package-form-modal .i-modal-header-bar { padding: 0.75rem 1.5rem; border: none; }
.vacation-package-form-modal .i-modal-header-bar .i-modal-header-heading { padding: 0; flex-grow: 1; font-family: var(--siteFont1); font-size: 1.75rem; font-weight: var(--wRegular); color: hsl(var(--bodyFontColor)); text-align: center; }
.vacation-package-form-modal .i-modal-header-bar .i-modal-close { margin-right: 0; margin-left: -0.5rem; padding: 0.25rem; position: relative; top: auto; right: auto; background-color: transparent; box-shadow: none; }
.vacation-package-form-modal .i-modal-header-bar .i-modal-close .icon { width: 1.375rem; height: 1.375rem; color: hsla(var(--bodyFontColor), 50%); }
.vacation-package-form,
.vacation-package-form input,
.vacation-package-form textarea,
.vacation-package-form .form-check-label { font-weight: var(--wLight); }
.vacation-package-form .subtitle { font-size: 1rem; }
.vacation-package-form legend { font-family: var(--bodyFont); font-size: 1rem; color: hsl(var(--bodyFontColor)); }
.vacation-package-form .form-check { margin-bottom: 0.5rem; padding-left: 0; }
.vacation-package-form .form-check:last-child { margin-bottom: 0; }
@media (min-width: 992px) {
  .vacation-package-form.row { margin-left: -1.5rem; margin-right: -1.5rem; }
  .vacation-package-form.row > [class^=col] { padding-left: 1.5rem; padding-right: 1.5rem; }
  .vacation-package-form.row > [class^=col]:last-child { border-left: 0.0625rem solid hsla(var(--black), 10%); }
}
@media (min-width: 1025px) {
  .vacation-package-form-modal .i-modal-body { min-width: 45rem; max-width: 60rem; }
}