/*------------------------------------*\
    
    Trumps - Trump utility classes are enqueued last and therefore have higher specificity
             and will override (trump) styles from global.css and other block & component styles

    Images................Round, Circle, Square Images.
    Visiblity.............Make items visible.
    Hiding................Make items invisible/hidden.
    Screen Readers........Display for screen readers.
    Print.................Display for printing.
    Clears................Clearing floats.
    Text alignment........Align text.
    Lists alignment.......Align ordered and unordered lists.
    Font weights..........Adjust font weights.
    Add/remove margins....Remove margins.
    Add/remove paddings...Remove padding.
    Positioning...........float, center, and stick items.

\*------------------------------------*/


@-ms-viewport { width: device-width; }


/**
 * Images
 */

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Homepage polish: keep the replacement van, mascot, and icon CTAs from
   inheriting older absolute-positioned image rules after CSS combine/cache. */
body.home .half-image-text-icon-pullouts .pullouts-image-col {
    padding-top: 28px !important;
}

body.home .half-image-text-icon-pullouts .pullouts-image {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 826px !important;
    margin: 0 auto !important;
    transform: none !important;
}

body.home .half-image-text-icon-pullouts .pullouts-image picture,
body.home .half-image-text-icon-pullouts .pullouts-image img {
    display: block !important;
}

body.home .half-image-text-icon-pullouts .pullouts-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

body.home .half-image-text-icon-pullouts .half-image-text-icon__list--accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (min-width: 1200px) {
    body.home .half-image-text-icon-pullouts .pullouts-image-col {
        padding-top: 0 !important;
    }

    body.home .half-image-text-icon-pullouts .pullouts-image {
        width: min(49vw, 826px) !important;
        margin: 0 0 0 auto !important;
        transform: translateX(4%) !important;
    }
}

body.home .floating-cta picture.hales-captain--right-away-flying {
    pointer-events: none;
}

@media (max-width: 767px) {
    body.home .floating-cta picture.hales-captain--right-away-flying {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: min(100%, 360px) !important;
        max-width: 360px !important;
        margin: 0 auto 16px !important;
    }
}

.object-fit {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
}

.object-fit--contain {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: 100%;
}



/**
 * Visiblity
 */

.show { display: block !important; }

.visible-xxs,
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg { display: none !important; }

.visible-xxs-block,
.visible-xxs-inline,
.visible-xxs-inline-block,
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block { display: none !important; }

@media (max-width: 599px) {
    .visible-xxs      { display: block !important; }
    table.visible-xxs { display: table; }
    tr.visible-xxs    { display: table-row !important; }
    th.visible-xxs,
    td.visible-xxs    { display: table-cell !important; }

    .visible-xxs-block        { display: block !important; }
    .visible-xxs-inline       { display: inline !important; }
    .visible-xxs-inline-block { display: inline-block !important; }
}


@media (min-width: 600px) and (max-width: 767px) {
    .visible-xs      { display: block !important; }
    table.visible-xs { display: table; }
    tr.visible-xs    { display: table-row !important; }
    th.visible-xs,
    td.visible-xs    { display: table-cell !important; }

    .visible-xs-block        { display: block !important; }
    .visible-xs-inline       { display: inline !important; }
    .visible-xs-inline-block { display: inline-block !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .visible-sm      { display: block !important; }
    table.visible-sm { display: table; }
    tr.visible-sm    { display: table-row !important; }
    th.visible-sm,
    td.visible-sm    { display: table-cell !important; }

    .visible-sm-block        { display: block !important; }
    .visible-sm-inline       { display: inline !important; }
    .visible-sm-inline-block { display: inline-block !important; }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    .visible-md      { display: block !important; }
    table.visible-md { display: table; }
    tr.visible-md    { display: table-row !important; }
    th.visible-md,
    td.visible-md    { display: table-cell !important; }

    .visible-md-block        { display: block !important; }
    .visible-md-inline       { display: inline !important; }
    .visible-md-inline-block { display: inline-block !important; }
}

@media (min-width: 1200px) {
    .visible-lg      { display: block !important; }
    table.visible-lg { display: table; }
    tr.visible-lg    {  display: table-row !important; }
    th.visible-lg,
    td.visible-lg    { display: table-cell !important; }

    .visible-lg-block        { display: block !important; }
    .visible-lg-inline       { display: inline !important; }
    .visible-lg-inline-block { display: inline-block !important; }
}


/**
 * Hiding
 */

.hide,
.hidden-xxs-up { display: none !important; }
.hidden       { display: none !important; visibility: hidden !important; }
.invisible    { visibility: hidden !important; }
.text-hide    {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

@media (max-width: 599px) {
    .hidden-xxs { display: none !important; }
}

    @media (min-width: 600px) {
      .hidden-xs-up { display: none !important; }
    }

@media (min-width: 600px) and (max-width: 767px) {
    .hidden-xs { display: none !important; }
}

    @media (max-width: 767px) {
      .hidden-xs-down { display: none !important; }
    }

    @media (min-width: 768px) {
      .hidden-sm-up { display: none !important; }
    }

@media (min-width: 768px) and (max-width: 1024px) {
    .hidden-sm { display: none !important; }
}

    @media (max-width: 1024px) {
      .hidden-sm-down { display: none !important; }
    }

    @media (min-width: 1025px) {
      .hidden-md-up { display: none !important; }
    }

@media (min-width: 1025px) and (max-width: 1199px) {
    .hidden-md { display: none !important; }
}

    @media (max-width: 1199px) {
      .hidden-md-down { display: none !important; }
    }

@media (min-width: 1200px) {
    .hidden-lg { display: none !important; }
}

/**
 * Cross-page cosmetic audit fixes.
 *
 * Keep this in trumps.css because it is the physical last-loaded override file
 * and survives LiteSpeed CSS combine more reliably than late inline CSS.
 */

.page-footer,
.contained-image-text,
.full-width-image-text,
.full-width-cta,
.half-image-text-icon-pullouts,
.image-text,
.masthead--innerpage {
    overflow-x: clip !important;
}

.desktop-menu__search:not(.js-search-active) {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Fixed header / masthead spacing.
 * Inner pages render the trust bar directly after the fixed header. Reserve the
 * offset on the body so the trust bar's first-child margin cannot collapse
 * through the body and register as CLS, then let the masthead start immediately
 * after the trust bar instead of adding a second blank gap.
 */
body.hales-has-fixed-header-offset {
    padding-top: var(--hales-fixed-header-height, 156px);
}

body.hales-has-fixed-header-offset .hales-trust-bar {
    margin-top: 0 !important;
}

body.logged-in.hales-has-fixed-header-offset .hales-trust-bar {
    margin-top: 0 !important;
}

body:not(.home) .hales-trust-bar + .masthead--innerpage,
body:not(.home) .hales-trust-bar + .masthead {
    margin-top: 0 !important;
}

/* Nav reliability hardening.
 * These final-layer overrides intentionally use !important where needed to
 * beat the optimized LiteSpeed bundle and old cached menu CSS.
 */
.nav-primary .sub-menu-toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
}

.nav-primary .sub-menu-toggle:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: -2px;
    border-radius: 8px;
}

@media (min-width: 1200px) {
    .nav-primary > ul > li {
        display: flex;
        align-items: stretch;
        min-height: 36px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        position: relative;
    }

    .nav-primary > ul > li > a {
        display: flex !important;
        align-items: center;
        min-height: 36px;
    }

    .nav-primary ul li:hover > a,
    .nav-primary ul li:focus-within > a {
        visibility: visible !important;
        color: #333333;
    }

    .nav-primary ul li > a::after {
        display: none !important;
        content: none !important;
    }

    .nav-primary ul li.menu-item-has-children:hover > .sub-menu,
    .nav-primary ul li.menu-item-has-children:focus-within > .sub-menu {
        display: block;
    }

    .nav-primary ul li .sub-menu {
        top: calc(100% - 1px) !important;
        min-width: min(320px, calc(100vw - 32px)) !important;
        pointer-events: auto;
        z-index: 1005;
    }

    .nav-primary ul li .sub-menu::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -14px;
        height: 14px;
    }

    .nav-primary ul li .sub-menu li a {
        min-height: 44px;
        padding: 12px 52px 12px 20px !important;
        display: flex;
        align-items: center;
        line-height: 1.25;
        white-space: normal;
    }

    .nav-primary ul li .sub-menu li:hover > a,
    .nav-primary ul li .sub-menu li:focus-within > a {
        background-color: #EDF7FC !important;
    }

    .nav-primary ul li > .sub-menu-toggle {
        pointer-events: none;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 24px;
        height: auto;
        padding: 0;
        color: #d4af37;
        font-size: 13px;
    }

    .nav-primary .sub-menu li:not(.menu-item-has-children) > .sub-menu-toggle {
        display: none !important;
	}
}

/* Legacy Pinellas money-page quick answer polish */
.hales-legacy-pinellas-quick-answer {
	padding: 34px 0 10px;
	background: #fff;
}

.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer {
	max-width: 980px;
	margin: 0;
	border: 1px solid rgba(212, 175, 55, 0.45);
	border-left: 4px solid #d4af37;
	border-radius: 10px;
	background: #fffdf5;
	box-shadow: 0 10px 28px -22px rgba(1, 22, 53, 0.32);
	padding: 18px 20px;
}

.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer strong {
	display: block;
	color: #042452;
	font-size: 17px;
	line-height: 1.35;
	margin: 0 0 8px;
}

.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer p {
	margin: 0;
	color: #27364f;
	font-size: 16px;
	line-height: 1.65;
}

.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer .hales-city-v6-reviewed {
	margin-top: 10px;
	color: #667085;
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.hales-legacy-pinellas-quick-answer {
		padding: 24px 0 4px;
	}

	.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer {
		padding: 16px;
	}

	.hales-legacy-pinellas-quick-answer .hales-city-v6-quick-answer strong {
		font-size: 16px;
	}
}

@media (max-width: 1199px) {
    body.menu-is-active .page-header {
        z-index: 1100 !important;
    }

    .nav-primary {
        position: fixed !important;
        top: var(--hales-mobile-nav-top, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        max-height: calc(100dvh - var(--hales-mobile-nav-top, 0px)) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        z-index: 1101 !important;
    }

    .nav-primary li:not(.menu-item-has-children) > a,
    .nav-primary > ul > li:not(.menu-item-has-children) > a,
    .nav-primary .sub-menu > li:not(.menu-item-has-children) > a {
        width: 100% !important;
    }

    .nav-primary .sub-menu-toggle {
        flex: 0 0 56px;
        width: 56px;
        min-height: 48px;
        padding: 0 !important;
        touch-action: manipulation;
    }

    .nav-primary .sub-menu li:not(.menu-item-has-children) > .sub-menu-toggle {
        display: none !important;
    }
}

/* Financing page application block.
 * The live GoodLeap embed is a tall third-party iframe; frame it as an
 * intentional application area and keep floating widgets out of the form.
 */
body.page-id-385 .hales-financing-application {
    background: #f5f8fc !important;
    padding: clamp(48px, 5vw, 88px) 0 !important;
}

body.page-id-385 .hales-financing-application .container {
    max-width: 1120px;
}

body.page-id-385 .hales-financing-application .row,
body.page-id-385 .hales-financing-application [class*="col-"] {
    float: none;
    width: 100%;
    margin-left: 0;
}

body.page-id-385 .hales-financing-application__intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 24px;
}

body.page-id-385 .hales-financing-application__copy {
    max-width: 720px;
}

body.page-id-385 .hales-financing-application__eyebrow {
    margin: 0 0 8px;
    color: #3b4b62;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.page-id-385 .hales-financing-application__intro h2 {
    margin: 0 0 12px;
    color: #061a44;
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.08;
}

body.page-id-385 .hales-financing-application__intro p:last-child {
    margin-bottom: 0;
    max-width: 68ch;
    color: #344155;
    font-size: 18px;
    line-height: 1.65;
}

body.page-id-385 .hales-financing-application__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border: 1px solid #d4af37;
    border-radius: 8px;
    background: #d4af37;
    color: #061a44;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(212, 175, 55, 0.24);
}

body.page-id-385 .hales-financing-application__link:hover,
body.page-id-385 .hales-financing-application__link:focus-visible {
    background: #f2d45f;
    color: #061a44;
}

body.page-id-385 .hales-financing-application__link:focus-visible {
    outline: 3px solid rgba(4, 36, 82, 0.36);
    outline-offset: 3px;
}

body.page-id-385 .hales-financing-application__frame-shell {
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid #d8e2ef;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 52px rgba(6, 26, 68, 0.16);
}

body.page-id-385 iframe#goodleap.hales-financing-application__frame {
    display: block;
    width: 100% !important;
    height: clamp(760px, calc(100svh - 120px), 980px) !important;
    min-height: 720px !important;
    border: 0;
    background: #ffffff;
}

body.page-id-385.hales-financing-application-active .hales-review-badge {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(12px);
}

@media (max-width: 767px) {
    body.page-id-385 .hales-financing-application {
        padding: 32px 0 42px !important;
    }

    body.page-id-385 .hales-financing-application .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.page-id-385 .hales-financing-application__intro {
        display: block;
        margin-bottom: 18px;
    }

    body.page-id-385 .hales-financing-application__intro h2 {
        font-size: clamp(30px, 10vw, 42px);
    }

    body.page-id-385 .hales-financing-application__intro p:last-child {
        font-size: 16px;
        line-height: 1.55;
    }

    body.page-id-385 .hales-financing-application__link {
        width: 100%;
        margin-top: 18px;
        white-space: normal;
    }

    body.page-id-385 .hales-financing-application__frame-shell {
        border-radius: 14px;
        box-shadow: 0 12px 34px rgba(6, 26, 68, 0.14);
    }

    body.page-id-385 iframe#goodleap.hales-financing-application__frame {
        height: clamp(620px, calc(100svh - 96px), 760px) !important;
        min-height: 640px !important;
    }

    body.page-id-385.hales-financing-application-active .hales-sticky-cta-bar,
    body.page-id-385.hales-financing-application-active .hales-sticky-mobile-cta {
        display: none !important;
    }
}

.footer-right-bg-icon {
    max-width: min(320px, 24vw) !important;
    right: 0 !important;
    opacity: 0.045 !important;
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 1199px) {
    .anniversary-floating-badge {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .anniversary-floating-badge {
        position: fixed !important;
        top: 50% !important;
        right: 0 !important;
        transform: translateY(-50%) translateX(calc(100% - 24px)) rotate(-90deg) !important;
        transform-origin: center center !important;
        z-index: 9990 !important;
        display: block !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 1200px) {
    body.home .half-image-text-icon-pullouts > .pullouts-image {
        left: auto !important;
        right: 0 !important;
        width: min(1072px, 56vw) !important;
    }

    body.home .half-image-text-icon-pullouts > .pullouts-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 391px;
        object-fit: contain;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .testimonial-card-right__wrap,
    .testimonial-card-slider {
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .testimonial-card-slider,
    .testimonial-card-slider .slick-list {
        overflow: hidden !important;
    }
}

.header-notification-bar a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 28px;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.header-notification-bar .container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 10px;
    max-width: 100%;
    min-width: 0;
}

.header-notification-bar__message,
.header-notification-bar__link {
    display: inline-flex !important;
    align-items: center;
    min-width: 0;
    max-width: 100%;
}

.header-notification-bar__link {
    white-space: normal !important;
    text-align: center;
}

.header-notification-bar__link i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.hales-v6-booking-cta__trust-pill,
.hales-city-v4__trust-pill {
    min-height: 44px;
    align-items: center;
}

.btn-icon,
.masthead__cta,
.promo-cta__btn,
.footer-book-now,
.hales-sticky-cta-bar__btn {
    gap: 0.5rem;
}

.btn-icon > svg,
.btn-icon > i,
.masthead__cta > svg,
.masthead__cta > i,
.promo-cta__btn > svg,
.footer-book-now > svg,
.hales-sticky-cta-bar__btn > svg {
    flex: 0 0 auto;
}

.full-width-cta h2,
.full-width-cta h3,
.full-width-cta p,
.full-width-cta__text,
.full-width-cta__text p,
.full-width-cta__text .sub-heading,
.full-width-cta__text span:not(.btn):not(.icon-schedule) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.full-width-cta .btn,
.full-width-cta .load-more__btn,
.floating-cta__wrapper .btn,
.floating-cta__wrapper .load-more__btn {
    min-height: 46px;
}

.full-width-cta .btn-secondary,
.floating-cta__wrapper .btn-secondary {
    background: rgba(1, 22, 53, 0.82) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.bg-dark-blue,
.bg-dark-blue p,
.bg-dark-blue li,
.bg-dark-blue span,
.bg-dark-blue h2,
.bg-dark-blue h3,
.bg-dark-blue h4 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fx-accordion--service-location.bg-dark-blue {
    background: linear-gradient(135deg, #011635 0%, #042452 100%) !important;
}

.bg-dark-blue .icons-button,
.bg-dark-blue .icons-button p,
.bg-dark-blue .icons-button span,
.bg-dark-blue .icons-button li,
.bg-dark-blue .testimonial-card,
.bg-dark-blue .testimonial-card p,
.bg-dark-blue .testimonial-card span,
.bg-dark-blue .testimonial-card li {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
}

.bg-dark-blue .fx-accordion__panel.is-expanded,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__toggle,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content h1,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content h2,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content h3,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content h4,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content p,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content li,
.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content span {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
}

.bg-dark-blue .fx-accordion__panel.is-expanded .fx-accordion__panel__content a {
    color: #815300 !important;
    -webkit-text-fill-color: #815300 !important;
}

#service-areas-block.fx-accordion--service-location.bg-dark-blue .fx-accordion__panel:not(.is-expanded) .fx-accordion__panel__toggle {
    background: #f8f9fa !important;
    color: #011635 !important;
    -webkit-text-fill-color: #011635 !important;
}

.hales-v6-booking-cta,
.hales-v6-booking-cta * {
    box-sizing: border-box;
}

.hales-v6-booking-cta__inner,
.hales-v6-booking-cta__title,
.hales-v6-booking-cta__desc,
.hales-v6-booking-cta__trust,
.hales-v6-booking-cta__actions,
.hales-v6-booking-cta__club {
    max-width: 100%;
}

.hales-v6-booking-cta__trust-pill {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    justify-content: center;
}

.masthead--service-area-city .masthead--innerpage__text,
.masthead--core-service .masthead--innerpage__text,
.masthead--service-area-city .masthead--innerpage__text h1,
.masthead--core-service .masthead--innerpage__text h1,
.masthead-sac__breadcrumb,
.masthead-sac__trust-row {
    max-width: 100%;
}

.masthead--service-area-city .masthead--innerpage__text h1,
.masthead--core-service .masthead--innerpage__text h1 {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.masthead-sac__breadcrumb,
.masthead-sac__trust-row {
    min-width: 0;
}

.masthead-sac__badge {
    max-width: 100%;
    white-space: normal !important;
    text-align: center;
}

.hales-sticky-mobile-cta {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.hales-sticky-cta-btn {
    min-width: 0 !important;
    overflow: hidden;
}

.hales-sticky-cta-btn span {
    min-width: 0;
    max-width: 100%;
}

.masthead--blog .masthead--innerpage__wrapper {
    min-height: 0 !important;
}

.has-promotional-deals + .masthead--blog .masthead--innerpage__wrapper,
.logged-in .has-promotional-deals + .masthead--blog .masthead--innerpage__wrapper {
    margin-top: 88px !important;
}

@media (max-width: 767px) {
    .header-notification-bar .container {
        flex-direction: column;
        gap: 1px;
    }

    .header-notification-bar__message,
    .header-notification-bar__link {
        width: 100%;
        justify-content: center;
    }

    .header-notification-bar {
        overflow-wrap: anywhere;
    }

    .hales-v6-booking-cta .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hales-v6-booking-cta__grid {
        overflow: visible;
    }

    .hales-v6-booking-cta__title {
        font-size: clamp(24px, 7vw, 30px) !important;
        line-height: 1.18 !important;
        overflow-wrap: anywhere;
    }

    .hales-v6-booking-cta__desc {
        overflow-wrap: anywhere;
    }

    .hales-v6-booking-cta__trust {
        display: grid !important;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 10px;
    }

    .hales-v6-booking-cta__trust-pill {
        width: min(100%, 290px);
        padding: 8px 12px !important;
        line-height: 1.25;
    }

    .masthead-sac__breadcrumb a,
    .breadcrumbs a {
        min-height: 28px;
        display: inline-flex;
        align-items: center;
    }

    .full-width-cta {
        min-height: 0 !important;
        padding-top: 42px !important;
        padding-bottom: 46px !important;
    }

    .full-width-cta__content,
    .full-width-cta__text {
        min-height: 0 !important;
    }

    .full-width-cta p,
    .full-width-cta__text p {
        color: rgba(255, 255, 255, 0.88) !important;
        -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
        line-height: 1.55 !important;
    }

    .full-width-cta__highlight-text {
        line-height: 1.12 !important;
        margin: 8px auto 14px !important;
        overflow-wrap: anywhere;
    }

    .full-width-cta__highlight-text::after {
        line-height: 1.12 !important;
    }

    .floating-cta__wrapper {
        padding: 32px 20px 34px !important;
        min-height: 0 !important;
    }

    .floating-cta picture.hales-captain--right-away,
    .floating-cta picture.hales-captain.hales-captain--right-away {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: min(68%, 230px) !important;
        max-width: 230px !important;
        margin: 0 auto 18px !important;
    }

    .floating-cta picture.hales-captain--right-away img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }

    .image-text.bg-dark-blue .image-text__img {
        height: 260px !important;
        max-height: 260px !important;
        margin-bottom: 20px !important;
        overflow: hidden !important;
    }

    .image-text.bg-dark-blue .image-text__img > img:not(.image-text__img__sml) {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .image-text.bg-dark-blue .image-text__text {
        margin-top: 0 !important;
    }

    .masthead--blog .masthead--innerpage__wrapper {
        padding-top: 24px !important;
        padding-bottom: 30px !important;
    }

    .masthead--service-area-city .masthead--innerpage__text,
    .masthead--core-service .masthead--innerpage__text,
    .masthead--service-area-city .masthead--innerpage__text h1,
    .masthead--core-service .masthead--innerpage__text h1,
    .masthead-sac__breadcrumb,
    .masthead-sac__trust-row {
        max-width: calc(100vw - 40px) !important;
        margin-left: auto;
        margin-right: auto;
    }

    .masthead--service-area-city .masthead--innerpage__text h1,
    .masthead--core-service .masthead--innerpage__text h1 {
        font-size: clamp(20px, 7.6vw, 30px) !important;
        line-height: 1.16 !important;
    }

    .masthead-sac__trust-row {
        justify-content: center;
        gap: 7px;
    }

    .masthead-sac__badge {
        flex: 0 1 auto;
        line-height: 1.25;
    }
}

@media (min-width: 1200px) {
    .has-promotional-deals + .masthead--blog .masthead--innerpage__wrapper,
    .logged-in .has-promotional-deals + .masthead--blog .masthead--innerpage__wrapper {
        margin-top: 72px !important;
    }

    .masthead--blog .masthead--innerpage__wrapper {
        padding-top: 54px !important;
        padding-bottom: 76px !important;
    }
}

@media (max-width: 1199px) {
    .footer-right-bg-icon.hidden-md-down,
    .full-width-cta__bg.hidden-md-down,
    .deals-crads__graphics.hidden-md-down {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .image-text__pattern.hidden-sm-down,
    .home-image-text__pattern.hidden-sm-down,
    .tab-half-text-half-image__pattern.hidden-sm-down {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .full-width-cta__man-image {
        display: block !important;
        max-width: min(220px, 62vw) !important;
        margin: 0 auto 16px !important;
        transform: none !important;
    }

    .full-width-cta .btn,
    .full-width-cta .load-more__btn {
        width: 100%;
        max-width: 340px;
        margin-left: auto !important;
        margin-right: auto !important;
        white-space: normal;
    }

    .header-notification-bar a {
        min-height: 44px;
        padding: 3px 6px;
        white-space: normal;
    }

    .hales-sticky-mobile-cta {
        padding-left: max(12px, env(safe-area-inset-left)) !important;
        padding-right: max(12px, env(safe-area-inset-right)) !important;
        gap: 10px !important;
    }

    .hales-sticky-cta-btn {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 14px !important;
        white-space: nowrap;
    }

    .page-header .header-right .header-phone.mobile-phone,
    body.hales-has-sticky-cta .page-header .header-right .header-phone.mobile-phone,
    .page-header .header-right .toggle-menu.hidden-lg {
        width: 46px !important;
        height: 46px !important;
        flex-basis: 46px !important;
    }
}




/**
 * Screen Readers
 */

.sr-only,
.screen-reader-text,
.wpcf7 .screen-reader-response {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}


/**
 * Print
 */

.visible-print,
.visible-print-block,
.visible-print-inline,
.visible-print-inline-block { display: none !important; }

@media print {
    .visible-print      { display: block !important; }
    table.visible-print { display: table; }
    tr.visible-print    { display: table-row !important; }
    th.visible-print,
    td.visible-print    { display: table-cell !important; }

    .visible-print-block        { display: block !important; }
    .visible-print-inline       { display: inline !important; }
    .visible-print-inline-block { display: inline-block !important; }

    .hidden-print { display: none !important; }
}


/**
 * Text alignment
 */

.text-left     { text-align:left  !important; }
.text-center   { text-align:center!important; }
.text-right    { text-align:right !important; }


/**
 * Lists alignment
 */

.text-center ul, 
.text-center ol,
.center-list {
	text-align: left !important;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
}

.text-center ul, 
.text-center ol {
    display: inline-block;
}

.center-list {
    display: block;
    width: fit-content;
}


/**
 * Positioning
 */

.affix-top    { position: fixed!important; top:    0!important; }
.affix-bottom { position: fixed!important; bottom: 0!important; }
.affix-left   { position: fixed!important; left:   0!important; }
.affix-right  { position: fixed!important; right:  0!important; }

.pull-right { float: right!important; }
.pull-left  { float: left !important; }

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/**
 * Add/remove margins
 */

.push          { margin:       var(--push-small)!important; }
.push-top      { margin-top:   var(--push-small)!important; }
.push-right    { margin-right: var(--push-small)!important; }
.push-bottom   { margin-bottom:var(--push-small)!important; }
.push-left     { margin-left:  var(--push-small)!important; }
.push-ends     { margin-top:   var(--push-small)!important; margin-bottom:var(--push-small)!important; }
.push-sides    { margin-right: var(--push-small)!important; margin-left:  var(--push-small)!important; }

.push-half         { margin:       var(--push-half)!important; }
.push-half-top     { margin-top:   var(--push-half)!important; }
.push-half-right   { margin-right: var(--push-half)!important; }
.push-half-bottom  { margin-bottom:var(--push-half)!important; }
.push-half-left    { margin-left:  var(--push-half)!important; }
.push-half-ends    { margin-top:   var(--push-half)!important; margin-bottom:var(--push-half)!important; }
.push-half-sides   { margin-right: var(--push-half)!important; margin-left:  var(--push-half)!important; }

.flush         { margin:       0!important; }
.flush-top     { margin-top:   0!important; }
.flush-right   { margin-right: 0!important; }
.flush-bottom  { margin-bottom:0!important; }
.flush-left    { margin-left:  0!important; }
.flush-ends    { margin-top:   0!important; margin-bottom:0!important; }
.flush-sides   { margin-right: 0!important; margin-left:  0!important; }


/**
 * Add/remove paddings
 */
.soft          { padding:       var(--soft-small)!important; }
.soft-top      { padding-top:   var(--soft-small)!important; }
.soft-right    { padding-right: var(--soft-small)!important; }
.soft-bottom   { padding-bottom:var(--soft-small)!important; }
.soft-left     { padding-left:  var(--soft-small)!important; }
.soft-ends     { padding-top:   var(--soft-small)!important; padding-bottom:var(--soft-small)!important; }
.soft-sides    { padding-right: var(--soft-small)!important; padding-left:  var(--soft-small)!important; }

.soft-half          { padding:       var(--soft-half)!important; }
.soft-half-top      { padding-top:   var(--soft-half)!important; }
.soft-half-right    { padding-right: var(--soft-half)!important; }
.soft-half-bottom   { padding-bottom:var(--soft-half)!important; }
.soft-half-left     { padding-left:  var(--soft-half)!important; }
.soft-half-ends     { padding-top:   var(--soft-half)!important; padding-bottom:var(--soft-half)!important; }
.soft-half-sides    { padding-right: var(--soft-half)!important; padding-left:  var(--soft-half)!important; }

.hard          { padding:       0!important; }
.hard-top      { padding-top:   0!important; }
.hard-right    { padding-right: 0!important; }
.hard-bottom   { padding-bottom:0!important; }
.hard-left     { padding-left:  0!important; }
.hard-ends     { padding-top:   0!important; padding-bottom:0!important; }
.hard-sides    { padding-right: 0!important; padding-left:  0!important; }


@media (min-width:600px) {

	.flush-xs         { margin:       0 !important; }
	.flush-xs-top     { margin-top:   0 !important; }
	.flush-xs-right   { margin-right: 0 !important; }
	.flush-xs-bottom  { margin-bottom:0 !important; }
	.flush-xs-left    { margin-left:  0 !important; }
	.flush-xs-ends    { margin-top:   0 !important; margin-bottom:0 !important; }
	.flush-xs-sides   { margin-right: 0 !important; margin-left:  0 !important; }

	.push-xs          { margin:       var(--push-small) !important; }
	.push-xs-top      { margin-top:   var(--push-small) !important; }
	.push-xs-right    { margin-right: var(--push-small) !important; }
	.push-xs-bottom   { margin-bottom:var(--push-small) !important; }
	.push-xs-left     { margin-left:  var(--push-small) !important; }
	.push-xs-ends     { margin-top:   var(--push-small) !important; margin-bottom:var(--push-small) !important; }
	.push-xs-sides    { margin-right: var(--push-small) !important; margin-left:  var(--push-small) !important; }

	.push-half-xs         { margin:       var(--push-half) !important; }
	.push-half-xs-top     { margin-top:   var(--push-half) !important; }
	.push-half-xs-right   { margin-right: var(--push-half) !important; }
	.push-half-xs-bottom  { margin-bottom:var(--push-half) !important; }
	.push-half-xs-left    { margin-left:  var(--push-half) !important; }
	.push-half-xs-ends    { margin-top:   var(--push-half) !important; margin-bottom:var(--push-half) !important; }
	.push-half-xs-sides   { margin-right: var(--push-half) !important; margin-left:  var(--push-half) !important; }

	.push-double-xs         { margin:       var(--push-medium) !important; }
	.push-double-xs-top     { margin-top:   var(--push-medium) !important; }
	.push-double-xs-right   { margin-right: var(--push-medium) !important; }
	.push-double-xs-bottom  { margin-bottom:var(--push-medium) !important; }
	.push-double-xs-left    { margin-left:  var(--push-medium) !important; }
	.push-double-xs-ends    { margin-top:   var(--push-medium) !important; margin-bottom:var(--push-medium) !important; }
	.push-double-xs-sides   { margin-right: var(--push-medium) !important; margin-left:  var(--push-medium) !important; }

	.push-triple-xs         { margin:       var(--push-large) !important; }
	.push-triple-xs-top     { margin-top:   var(--push-large) !important; }
	.push-triple-xs-right   { margin-right: var(--push-large) !important; }
	.push-triple-xs-bottom  { margin-bottom:var(--push-large) !important; }
	.push-triple-xs-left    { margin-left:  var(--push-large) !important; }
	.push-triple-xs-ends    { margin-top:   var(--push-large) !important; margin-bottom:var(--push-large) !important; }
	.push-triple-xs-sides   { margin-right: var(--push-large) !important; margin-left:  var(--push-large) !important; }

	.soft-xs          { padding:       var(--soft-small) !important; }
	.soft-xs-top      { padding-top:   var(--soft-small) !important; }
	.soft-xs-right    { padding-right: var(--soft-small) !important; }
	.soft-xs-bottom   { padding-bottom:var(--soft-small) !important; }
	.soft-xs-left     { padding-left:  var(--soft-small) !important; }
	.soft-xs-ends     { padding-top:   var(--soft-small) !important; padding-bottom:var(--soft-small) !important; }
	.soft-xs-sides    { padding-right: var(--soft-small) !important; padding-left:  var(--soft-small) !important; }

	.soft-half-xs          { padding:       var(--soft-half) !important; }
	.soft-half-xs-top      { padding-top:   var(--soft-half) !important; }
	.soft-half-xs-right    { padding-right: var(--soft-half) !important; }
	.soft-half-xs-bottom   { padding-bottom:var(--soft-half) !important; }
	.soft-half-xs-left     { padding-left:  var(--soft-half) !important; }
	.soft-half-xs-ends     { padding-top:   var(--soft-half) !important; padding-bottom:var(--soft-half) !important; }
	.soft-half-xs-sides    { padding-right: var(--soft-half) !important; padding-left:  var(--soft-half) !important; }

	.soft-double-xs          { padding:       var(--soft-medium) !important; }
	.soft-double-xs-top      { padding-top:   var(--soft-medium) !important; }
	.soft-double-xs-right    { padding-right: var(--soft-medium) !important; }
	.soft-double-xs-bottom   { padding-bottom:var(--soft-medium) !important; }
	.soft-double-xs-left     { padding-left:  var(--soft-medium) !important; }
	.soft-double-xs-ends     { padding-top:   var(--soft-medium) !important; padding-bottom:var(--soft-medium) !important; }
	.soft-double-xs-sides    { padding-right: var(--soft-medium) !important; padding-left:  var(--soft-medium) !important; }

	.soft-triple-xs          { padding:       var(--soft-large) !important; }
	.soft-triple-xs-top      { padding-top:   var(--soft-large) !important; }
	.soft-triple-xs-right    { padding-right: var(--soft-large) !important; }
	.soft-triple-xs-bottom   { padding-bottom:var(--soft-large) !important; }
	.soft-triple-xs-left     { padding-left:  var(--soft-large) !important; }
	.soft-triple-xs-ends     { padding-top:   var(--soft-large) !important; padding-bottom:var(--soft-large) !important; }
	.soft-triple-xs-sides    { padding-right: var(--soft-large) !important; padding-left:  var(--soft-large) !important; }

	.hard-xs          { padding:       0 !important; }
	.hard-xs-top      { padding-top:   0 !important; }
	.hard-xs-right    { padding-right: 0 !important; }
	.hard-xs-bottom   { padding-bottom:0 !important; }
	.hard-xs-left     { padding-left:  0 !important; }
	.hard-xs-ends     { padding-top:   0 !important; padding-bottom:0 !important; }
	.hard-xs-sides    { padding-right: 0 !important; padding-left:  0 !important; }

}

@media (min-width:768px) {

	.flush-sm         { margin:       0 !important; }
	.flush-sm-top     { margin-top:   0 !important; }
	.flush-sm-right   { margin-right: 0 !important; }
	.flush-sm-bottom  { margin-bottom:0 !important; }
	.flush-sm-left    { margin-left:  0 !important; }
	.flush-sm-ends    { margin-top:   0 !important; margin-bottom:0 !important; }
	.flush-sm-sides   { margin-right: 0 !important; margin-left:  0 !important; }

	.push-sm          { margin:       20px !important; }
	.push-sm-top      { margin-top:   20px !important; }
	.push-sm-right    { margin-right: 20px !important; }
	.push-sm-bottom   { margin-bottom:20px !important; }
	.push-sm-left     { margin-left:  20px !important; }
	.push-sm-ends     { margin-top:   20px !important; margin-bottom:20px !important; }
	.push-sm-sides    { margin-right: 20px !important; margin-left:  20px !important; }

	.push-half-sm         { margin:       var(--push-half) !important; }
	.push-half-sm-top     { margin-top:   var(--push-half) !important; }
	.push-half-sm-right   { margin-right: var(--push-half) !important; }
	.push-half-sm-bottom  { margin-bottom:var(--push-half) !important; }
	.push-half-sm-left    { margin-left:  var(--push-half) !important; }
	.push-half-sm-ends    { margin-top:   var(--push-half) !important; margin-bottom:var(--push-half) !important; }
	.push-half-sm-sides   { margin-right: var(--push-half) !important; margin-left:  var(--push-half) !important; }

	.push-double-sm         { margin:       var(--push-medium) !important; }
	.push-double-sm-top     { margin-top:   var(--push-medium) !important; }
	.push-double-sm-right   { margin-right: var(--push-medium) !important; }
	.push-double-sm-bottom  { margin-bottom:var(--push-medium) !important; }
	.push-double-sm-left    { margin-left:  var(--push-medium) !important; }
	.push-double-sm-ends    { margin-top:   var(--push-medium) !important; margin-bottom:var(--push-medium) !important; }
	.push-double-sm-sides   { margin-right: var(--push-medium) !important; margin-left:  var(--push-medium) !important; }

	.push-triple-sm         { margin:       var(--push-large) !important; }
	.push-triple-sm-top     { margin-top:   var(--push-large) !important; }
	.push-triple-sm-right   { margin-right: var(--push-large) !important; }
	.push-triple-sm-bottom  { margin-bottom:var(--push-large) !important; }
	.push-triple-sm-left    { margin-left:  var(--push-large) !important; }
	.push-triple-sm-ends    { margin-top:   var(--push-large) !important; margin-bottom:var(--push-large) !important; }
	.push-triple-sm-sides   { margin-right: var(--push-large) !important; margin-left:  var(--push-large) !important; }

	.soft-sm          { padding:       var(--soft-small) !important; }
	.soft-sm-top      { padding-top:   var(--soft-small) !important; }
	.soft-sm-right    { padding-right: var(--soft-small) !important; }
	.soft-sm-bottom   { padding-bottom:var(--soft-small) !important; }
	.soft-sm-left     { padding-left:  var(--soft-small) !important; }
	.soft-sm-ends     { padding-top:   var(--soft-small) !important; padding-bottom:var(--soft-small) !important; }
	.soft-sm-sides    { padding-right: var(--soft-small) !important; padding-left:  var(--soft-small) !important; }

	.soft-half-sm          { padding:       var(--soft-half) !important; }
	.soft-half-sm-top      { padding-top:   var(--soft-half) !important; }
	.soft-half-sm-right    { padding-right: var(--soft-half) !important; }
	.soft-half-sm-bottom   { padding-bottom:var(--soft-half) !important; }
	.soft-half-sm-left     { padding-left:  var(--soft-half) !important; }
	.soft-half-sm-ends     { padding-top:   var(--soft-half) !important; padding-bottom:var(--soft-half) !important; }
	.soft-half-sm-sides    { padding-right: var(--soft-half) !important; padding-left:  var(--soft-half) !important; }

	.soft-double-sm          { padding:       var(--soft-medium) !important; }
	.soft-double-sm-top      { padding-top:   var(--soft-medium) !important; }
	.soft-double-sm-right    { padding-right: var(--soft-medium) !important; }
	.soft-double-sm-bottom   { padding-bottom:var(--soft-medium) !important; }
	.soft-double-sm-left     { padding-left:  var(--soft-medium) !important; }
	.soft-double-sm-ends     { padding-top:   var(--soft-medium) !important; padding-bottom:var(--soft-medium) !important; }
	.soft-double-sm-sides    { padding-right: var(--soft-medium) !important; padding-left:  var(--soft-medium) !important; }

	.soft-triple-sm          { padding:       var(--soft-large) !important; }
	.soft-triple-sm-top      { padding-top:   var(--soft-large) !important; }
	.soft-triple-sm-right    { padding-right: var(--soft-large) !important; }
	.soft-triple-sm-bottom   { padding-bottom:var(--soft-large) !important; }
	.soft-triple-sm-left     { padding-left:  var(--soft-large) !important; }
	.soft-triple-sm-ends     { padding-top:   var(--soft-large) !important; padding-bottom:var(--soft-large) !important; }
	.soft-triple-sm-sides    { padding-right: var(--soft-large) !important; padding-left:  var(--soft-large) !important; }

	.hard-sm          { padding:       0 !important; }
	.hard-sm-top      { padding-top:   0 !important; }
	.hard-sm-right    { padding-right: 0 !important; }
	.hard-sm-bottom   { padding-bottom:0 !important; }
	.hard-sm-left     { padding-left:  0 !important; }
	.hard-sm-ends     { padding-top:   0 !important; padding-bottom:0 !important; }
	.hard-sm-sides    { padding-right: 0 !important; padding-left:  0 !important; }

}

@media (min-width:1025px) {

	.flush-md         { margin:       0 !important; }
	.flush-md-top     { margin-top:   0 !important; }
	.flush-md-right   { margin-right: 0 !important; }
	.flush-md-bottom  { margin-bottom:0 !important; }
	.flush-md-left    { margin-left:  0 !important; }
	.flush-md-ends    { margin-top:   0 !important; margin-bottom:0 !important; }
	.flush-md-sides   { margin-right: 0 !important; margin-left:  0 !important; }

	.push-md          { margin:       20px !important; }
	.push-md-top      { margin-top:   20px !important; }
	.push-md-right    { margin-right: 20px !important; }
	.push-md-bottom   { margin-bottom:20px !important; }
	.push-md-left     { margin-left:  20px !important; }
	.push-md-ends     { margin-top:   20px !important; margin-bottom:20px !important; }
	.push-md-sides    { margin-right: 20px !important; margin-left:  20px !important; }

	.push-half-md         { margin:       var(--push-half) !important; }
	.push-half-md-top     { margin-top:   var(--push-half) !important; }
	.push-half-md-right   { margin-right: var(--push-half) !important; }
	.push-half-md-bottom  { margin-bottom:var(--push-half) !important; }
	.push-half-md-left    { margin-left:  var(--push-half) !important; }
	.push-half-md-ends    { margin-top:   var(--push-half) !important; margin-bottom:var(--push-half) !important; }
	.push-half-md-sides   { margin-right: var(--push-half) !important; margin-left:  var(--push-half) !important; }

	.push-double-md         { margin:       var(--push-medium) !important; }
	.push-double-md-top     { margin-top:   var(--push-medium) !important; }
	.push-double-md-right   { margin-right: var(--push-medium) !important; }
	.push-double-md-bottom  { margin-bottom:var(--push-medium) !important; }
	.push-double-md-left    { margin-left:  var(--push-medium) !important; }
	.push-double-md-ends    { margin-top:   var(--push-medium) !important; margin-bottom:var(--push-medium) !important; }
	.push-double-md-sides   { margin-right: var(--push-medium) !important; margin-left:  var(--push-medium) !important; }

	.push-triple-md         { margin:       var(--push-large) !important; }
	.push-triple-md-top     { margin-top:   var(--push-large) !important; }
	.push-triple-md-right   { margin-right: var(--push-large) !important; }
	.push-triple-md-bottom  { margin-bottom:var(--push-large) !important; }
	.push-triple-md-left    { margin-left:  var(--push-large) !important; }
	.push-triple-md-ends    { margin-top:   var(--push-large) !important; margin-bottom:var(--push-large) !important; }
	.push-triple-md-sides   { margin-right: var(--push-large) !important; margin-left:  var(--push-large) !important; }

	.soft-md          { padding:       var(--soft-small) !important; }
	.soft-md-top      { padding-top:   var(--soft-small) !important; }
	.soft-md-right    { padding-right: var(--soft-small) !important; }
	.soft-md-bottom   { padding-bottom:var(--soft-small) !important; }
	.soft-md-left     { padding-left:  var(--soft-small) !important; }
	.soft-md-ends     { padding-top:   var(--soft-small) !important; padding-bottom:var(--soft-small) !important; }
	.soft-md-sides    { padding-right: var(--soft-small) !important; padding-left:  var(--soft-small) !important; }

	.soft-half-md          { padding:       var(--soft-half) !important; }
	.soft-half-md-top      { padding-top:   var(--soft-half) !important; }
	.soft-half-md-right    { padding-right: var(--soft-half) !important; }
	.soft-half-md-bottom   { padding-bottom:var(--soft-half) !important; }
	.soft-half-md-left     { padding-left:  var(--soft-half) !important; }
	.soft-half-md-ends     { padding-top:   var(--soft-half) !important; padding-bottom:var(--soft-half) !important; }
	.soft-half-md-sides    { padding-right: var(--soft-half) !important; padding-left:  var(--soft-half) !important; }

	.soft-double-md          { padding:       var(--soft-medium) !important; }
	.soft-double-md-top      { padding-top:   var(--soft-medium) !important; }
	.soft-double-md-right    { padding-right: var(--soft-medium) !important; }
	.soft-double-md-bottom   { padding-bottom:var(--soft-medium) !important; }
	.soft-double-md-left     { padding-left:  var(--soft-medium) !important; }
	.soft-double-md-ends     { padding-top:   var(--soft-medium) !important; padding-bottom:var(--soft-medium) !important; }
	.soft-double-md-sides    { padding-right: var(--soft-medium) !important; padding-left:  var(--soft-medium) !important; }

	.soft-triple-md          { padding:       var(--soft-large) !important; }
	.soft-triple-md-top      { padding-top:   var(--soft-large) !important; }
	.soft-triple-md-right    { padding-right: var(--soft-large) !important; }
	.soft-triple-md-bottom   { padding-bottom:var(--soft-large) !important; }
	.soft-triple-md-left     { padding-left:  var(--soft-large) !important; }
	.soft-triple-md-ends     { padding-top:   var(--soft-large) !important; padding-bottom:var(--soft-large) !important; }
	.soft-triple-md-sides    { padding-right: var(--soft-large) !important; padding-left:  var(--soft-large) !important; }

	.hard-md          { padding:       0 !important; }
	.hard-md-top      { padding-top:   0 !important; }
	.hard-md-right    { padding-right: 0 !important; }
	.hard-md-bottom   { padding-bottom:0 !important; }
	.hard-md-left     { padding-left:  0 !important; }
	.hard-md-ends     { padding-top:   0 !important; padding-bottom:0 !important; }
	.hard-md-sides    { padding-right: 0 !important; padding-left:  0 !important; }

}

@media (min-width:1200px) {

	.flush-lg         { margin:       0 !important; }
	.flush-lg-top     { margin-top:   0 !important; }
	.flush-lg-right   { margin-right: 0 !important; }
	.flush-lg-bottom  { margin-bottom:0 !important; }
	.flush-lg-left    { margin-left:  0 !important; }
	.flush-lg-ends    { margin-top:   0 !important; margin-bottom:0 !important; }
	.flush-lg-sides   { margin-right: 0 !important; margin-left:  0 !important; }

	.push-lg          { margin:       20px !important; }
	.push-lg-top      { margin-top:   20px !important; }
	.push-lg-right    { margin-right: 20px !important; }
	.push-lg-bottom   { margin-bottom:20px !important; }
	.push-lg-left     { margin-left:  20px !important; }
	.push-lg-ends     { margin-top:   20px !important; margin-bottom:20px !important; }
	.push-lg-sides    { margin-right: 20px !important; margin-left:  20px !important; }

	.push-half-lg         { margin:       var(--push-half) !important; }
	.push-half-lg-top     { margin-top:   var(--push-half) !important; }
	.push-half-lg-right   { margin-right: var(--push-half) !important; }
	.push-half-lg-bottom  { margin-bottom:var(--push-half) !important; }
	.push-half-lg-left    { margin-left:  var(--push-half) !important; }
	.push-half-lg-ends    { margin-top:   var(--push-half) !important; margin-bottom:var(--push-half) !important; }
	.push-half-lg-sides   { margin-right: var(--push-half) !important; margin-left:  var(--push-half) !important; }

	.push-double-lg         { margin:       var(--push-medium) !important; }
	.push-double-lg-top     { margin-top:   var(--push-medium) !important; }
	.push-double-lg-right   { margin-right: var(--push-medium) !important; }
	.push-double-lg-bottom  { margin-bottom:var(--push-medium) !important; }
	.push-double-lg-left    { margin-left:  var(--push-medium) !important; }
	.push-double-lg-ends    { margin-top:   var(--push-medium) !important; margin-bottom:var(--push-medium) !important; }
	.push-double-lg-sides   { margin-right: var(--push-medium) !important; margin-left:  var(--push-medium) !important; }

	.push-triple-lg         { margin:       var(--push-large) !important; }
	.push-triple-lg-top     { margin-top:   var(--push-large) !important; }
	.push-triple-lg-right   { margin-right: var(--push-large) !important; }
	.push-triple-lg-bottom  { margin-bottom:var(--push-large) !important; }
	.push-triple-lg-left    { margin-left:  var(--push-large) !important; }
	.push-triple-lg-ends    { margin-top:   var(--push-large) !important; margin-bottom:var(--push-large) !important; }
	.push-triple-lg-sides   { margin-right: var(--push-large) !important; margin-left:  var(--push-large) !important; }

	.soft-lg          { padding:       var(--soft-small) !important; }
	.soft-lg-top      { padding-top:   var(--soft-small) !important; }
	.soft-lg-right    { padding-right: var(--soft-small) !important; }
	.soft-lg-bottom   { padding-bottom:var(--soft-small) !important; }
	.soft-lg-left     { padding-left:  var(--soft-small) !important; }
	.soft-lg-ends     { padding-top:   var(--soft-small) !important; padding-bottom:var(--soft-small) !important; }
	.soft-lg-sides    { padding-right: var(--soft-small) !important; padding-left:  var(--soft-small) !important; }

	.soft-half-lg          { padding:       var(--soft-half) !important; }
	.soft-half-lg-top      { padding-top:   var(--soft-half) !important; }
	.soft-half-lg-right    { padding-right: var(--soft-half) !important; }
	.soft-half-lg-bottom   { padding-bottom:var(--soft-half) !important; }
	.soft-half-lg-left     { padding-left:  var(--soft-half) !important; }
	.soft-half-lg-ends     { padding-top:   var(--soft-half) !important; padding-bottom:var(--soft-half) !important; }
	.soft-half-lg-sides    { padding-right: var(--soft-half) !important; padding-left:  var(--soft-half) !important; }

	.soft-double-lg          { padding:       var(--soft-medium) !important; }
	.soft-double-lg-top      { padding-top:   var(--soft-medium) !important; }
	.soft-double-lg-right    { padding-right: var(--soft-medium) !important; }
	.soft-double-lg-bottom   { padding-bottom:var(--soft-medium) !important; }
	.soft-double-lg-left     { padding-left:  var(--soft-medium) !important; }
	.soft-double-lg-ends     { padding-top:   var(--soft-medium) !important; padding-bottom:var(--soft-medium) !important; }
	.soft-double-lg-sides    { padding-right: var(--soft-medium) !important; padding-left:  var(--soft-medium) !important; }

	.soft-triple-lg          { padding:       var(--soft-large) !important; }
	.soft-triple-lg-top      { padding-top:   var(--soft-large) !important; }
	.soft-triple-lg-right    { padding-right: var(--soft-large) !important; }
	.soft-triple-lg-bottom   { padding-bottom:var(--soft-large) !important; }
	.soft-triple-lg-left     { padding-left:  var(--soft-large) !important; }
	.soft-triple-lg-ends     { padding-top:   var(--soft-large) !important; padding-bottom:var(--soft-large) !important; }
	.soft-triple-lg-sides    { padding-right: var(--soft-large) !important; padding-left:  var(--soft-large) !important; }

	.hard-lg          { padding:       0 !important; }
	.hard-lg-top      { padding-top:   0 !important; }
	.hard-lg-right    { padding-right: 0 !important; }
	.hard-lg-bottom   { padding-bottom:0 !important; }
	.hard-lg-left     { padding-left:  0 !important; }
	.hard-lg-ends     { padding-top:   0 !important; padding-bottom:0 !important; }
	.hard-lg-sides    { padding-right: 0 !important; padding-left:  0 !important; }
}

/* ============================================================
   OPTIMIZATION LOOP CYCLE 2 — 2026-05-06
   Eyebrow contrast guarantee on the
   .half-image-text-icon-pullouts block ("AC Problems Don't Wait").

   Standing rule from optimization-log/design-system.md:
   .sub-heading on a --paper background MUST resolve to --ink
   (#011635 = 14.6:1 AAA contrast).

   The masthead variant intentionally uses a gold-gradient
   text-fill (.masthead--homepage .sub-heading,
   .masthead--anniversary .sub-heading in
   components/anniversary-sitewide.css). This rule is defensive
   against any -webkit-text-fill-color cascade leakage into
   sibling sections that share the .sub-heading class on a light
   background, and explicitly resets background-clip + text-fill.
   ============================================================ */

.half-image-text-icon-pullouts .sub-heading,
.half-image-text-icon-pullouts .sub-heading p {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
}

/* ============================================================
   OPTIMIZATION LOOP CYCLE 4 — 2026-05-06
   /offers/financing/ — additive polish on the GoodLeap iframe block.

   The existing financing CSS (lines ~497-640 of this file) already
   ships a wrapped iframe with rounded corners, shadow, responsive
   height, and a primary "Open application" CTA. This block ADDS:

     • External-link icon + screen-reader (opens in new tab) text on
       the Open application link
     • An AEO "Quick answer" callout above the iframe
     • A mobile scroll cue below the iframe so visitors know the
       embedded form scrolls vertically

   The colors below intentionally use design-system tokens; the
   hardcoded hex values in the original financing block are a known
   debt logged in optimization-log/cycle-history.md cycle 4 for
   migration in a later cycle.
   ============================================================ */

/* Open application link — icon + SR text */
body.page-id-385 .hales-financing-application__link {
    gap: 0.5rem;  /* room for the icon */
}

body.page-id-385 .hales-financing-application__link-icon {
    flex-shrink: 0;
    color: currentColor;
    transform: translateY(-1px);  /* optical center with the text baseline */
}

/* Visually-hidden helper. Site already uses .visually-hidden in some
   places; declare it here so the financing link works even when the
   page isn't using a UI kit with this utility. */
.hales-financing-application__link .visually-hidden,
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* AEO Quick answer block */
body.page-id-385 .hales-financing-application__quick-answer {
    margin: 12px 0 0;
    padding: 16px 20px;
    border-left: 3px solid var(--gold, #D4A24A);
    background: var(--paper, #FAF7F1);
    border-radius: var(--radius-md, 6px);
    max-width: 720px;
}

body.page-id-385 .hales-financing-application__quick-answer-label {
    margin: 0 0 6px;
    color: var(--gold-deep, #A37D2A);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.page-id-385 .hales-financing-application__quick-answer p:not(.hales-financing-application__quick-answer-label) {
    margin: 0;
    color: var(--ink, #011635);
    font-size: 15px;
    line-height: 1.6;
}

@media (min-width: 768px) {
    body.page-id-385 .hales-financing-application__quick-answer p:not(.hales-financing-application__quick-answer-label) {
        font-size: 16px;
    }
}

/* Mobile scroll cue — visible only on narrow viewports.
   The GoodLeap iframe is taller than the small-screen viewport;
   without this cue, visitors aren't sure whether to scroll the page
   or the form. */
body.page-id-385 .hales-financing-application__scroll-cue {
    display: none;
    margin: 12px 0 0;
    padding: 0;
    color: var(--text-muted, #5A6378);
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.04em;
}

@media (max-width: 767px) {
    body.page-id-385 .hales-financing-application__scroll-cue {
        display: block;
    }
}

/* Respect prefers-reduced-motion — no scroll-cue animation hooks today,
   but lock down for future. */
@media (prefers-reduced-motion: reduce) {
    body.page-id-385 .hales-financing-application__scroll-cue {
        animation: none;
    }
}
