﻿:root {
    --coral: #f98357;
    --carnation: #f57559;
    --downy: #6fcdce;
    --oracle: #3A7B7B;
    --gold: #FFC531;
    --firefly: #123636;
    --tundora: #464646;
    --mine-shaft: #3c3c3c;
    --juniper: #6A8A8A;
    --twilight-blue: #F5FDFF;
    --cascade: #95B0B0;
    --jet-stream: #B9D3D3;
    --gallery: #F0F0F0;
    --catskill-white: #EFF7F8;
    --cape-cod: #353939;
    --alabaster: #FBFBFB;
    --aths-special: #F0EADA;
    --gray: #8C8C8C;
    --nile-blue: #164B4B;
    --muted: #646262;
    --white: #FFFFFF;
    --body: var(--mine-shaft);
    --heading: #18292D;
    --primary: #2989DD;
    --secondary: #3d434b;
    /* Global Styles (#5245): dedicated footer-bg template token — an indirection to
       --secondary (NOT a hardcoded hex) so the footer keeps tracking the active colour
       scheme. The customer-facing --pmp-footer-bg overrides it at the .footer hook. */
    --footer-bg: var(--secondary);
    --primary-rgb: 41, 137, 221;
    --primary-accent: #3693EA;
    --alpha: 0.25;
}

    :root[data-theme=tur-orn] {
        --box-shadow: 249, 131, 87;
        --primary: #F98357;
        --primary-rgb: 249, 131, 87;
        --primary-accent: #FA936C;
    }

    :root[data-theme=tur-grn] {
        --box-shadow: 19, 177, 180;
        --primary: #15ACAC;
        --primary-rgb: 19, 177, 180;
        --primary-accent: #13B1B4;
    }

    :root[data-theme=tur-blu2] {
        --box-shadow: 64, 100, 123;
        --primary: #40647B;
        --primary-rgb: 64, 100, 123;
        --primary-accent: #58778C;
    }

    :root[data-theme=tur-blu3] {
        --box-shadow: 86, 131, 168;
        --primary: #5683A8;
        --primary-rgb: 86, 131, 168;
        --primary-accent: #6B93B3;
    }

    :root[data-theme=tur-blu4] {
        --box-shadow: 72, 122, 202;
        --primary: #487ACA;
        --primary-rgb: 72, 122, 202;
        --primary-accent: #5F8BD1;
    }

    :root[data-theme=tur-blugrn] {
        --box-shadow: 0, 146, 169;
        --primary: #0092A9;
        --primary-rgb: 0, 146, 169;
        --primary-accent: #20A0B4;
    }

    :root[data-theme=tur-bluprp] {
        --box-shadow: 23, 44, 133;
        --primary: #172C85;
        --primary-rgb: 23, 44, 133;
        --primary-accent: #344694;
    }

    :root[data-theme=tur-grn2] {
        --box-shadow: 33, 148, 71;
        --primary: #219447;
        --primary-rgb: 33, 148, 71;
        --primary-accent: #3DA15E;
    }

    :root[data-theme=tur-grn3] {
        --box-shadow: 89, 158, 71;
        --primary: #599E47;
        --primary-rgb: 89, 158, 71;
        --primary-accent: #6EAA5E;
    }

    :root[data-theme=tur-grn4] {
        --box-shadow: 141, 148, 101;
        --primary: #8D9465;
        --primary-rgb: 141, 148, 101;
        --primary-accent: #9BA178;
    }

    :root[data-theme=tur-grn5] {
        --box-shadow: 174, 178, 90;
        --primary: #AEB25A;
        --primary-rgb: 174, 178, 90;
        --primary-accent: #B8BC6F;
    }

    :root[data-theme=tur-gry] {
        --box-shadow: 122, 150, 151;
        --primary: #7A9697;
        --primary-rgb: 122, 150, 151;
        --primary-accent: #8BA3A4;
    }

    :root[data-theme=tur-gry2] {
        --box-shadow: 59, 60, 63;
        --primary: #3B3C3F;
        --primary-rgb: 59, 60, 63;
        --primary-accent: #545457;
    }

    :root[data-theme=tur-orn2] {
        --box-shadow: 238, 125, 29;
        --primary: #EE7D1D;
        --primary-rgb: 238, 125, 29;
        --primary-accent: #F08D39;
    }

    :root[data-theme=tur-orn3] {
        --box-shadow: 210, 113, 58;
        --primary: #D2713A;
        --primary-rgb: 210, 113, 58;
        --primary-accent: #D88353;
    }

    :root[data-theme=tur-prpl] {
        --box-shadow: 79, 37, 119;
        --primary: #4F2577;
        --primary-rgb: 79, 37, 119;
        --primary-accent: #654088;
    }

    :root[data-theme=tur-prpl2] {
        --box-shadow: 106, 80, 103;
        --primary: #6A5067;
        --primary-rgb: 106, 80, 103;
        --primary-accent: #7D667A;
    }

    :root[data-theme=tur-red] {
        --box-shadow: 217, 5, 27;
        --primary: #D9051B;
        --primary-rgb: 217, 5, 27;
        --primary-accent: #DE2438;
    }

    :root[data-theme=tur-red2] {
        --box-shadow: 140, 44, 15;
        --primary: #8C2C0F;
        --primary-rgb: 140, 44, 15;
        --primary-accent: #9A462D;
    }

    :root[data-theme=tur-redorn] {
        --box-shadow: 231, 74, 33;
        --primary: #E74A21;
        --primary-rgb: 231, 74, 33;
        --primary-accent: #EA613D;
    }

    :root[data-theme=tur-redprp] {
        --box-shadow: 160, 7, 124;
        --primary: #A0077C;
        --primary-rgb: 160, 7, 124;
        --primary-accent: #AC268C;
    }

    :root[data-theme=tur-trq] {
        --box-shadow: 95, 162, 166;
        --primary: #5FA2A6;
        --primary-rgb: 95, 162, 166;
        --primary-accent: #73AEB1;
    }

    :root[data-theme=tur-trq2] {
        --box-shadow: 22, 101, 105;
        --primary: #166569;
        --primary-rgb: 22, 101, 105;
        --primary-accent: #33787C;
    }

    :root[data-theme=tur-ylgrn] {
        --box-shadow: 142, 183, 25;
        --primary: #8EB719;
        --primary-rgb: 142, 183, 25;
        --primary-accent: #9CC036;
    }

    :root[data-theme=tur-ylorn] {
        --box-shadow: 247, 178, 15;
        --primary: #F7B20F;
        --primary-rgb: 247, 178, 15;
        --primary-accent: #F8BC2D;
    }


/*
 * ====================
 * Start Reset
 * ====================
*/
body {
    overflow-x: hidden;
}

/*
 * ====================
 * End Reset
 * ====================
*/
.container, .container-lg {
    max-width: 72.5rem;
}

.bg-light {
    background-color: var(--pmp-section-bg-alt, var(--alabaster)) !important;
}

.bg-twilight-blue {
    background-color: var(--twilight-blue);
}

.bg-downy {
    background-color: var(--downy);
}

.bg-primary {
    background-color: var(--pmp-primary, var(--primary)) !important;
}

    .bg-primary::selection {
        color: var(--dark);
        background-color: var(--white);
    }

.bg-secondary {
    background-color: var(--pmp-secondary, var(--secondary)) !important;
}

.bg-image {
    background-size: cover;
}

.bg-image-overlay {
    position: relative;
    z-index: 1;
}

    .bg-image-overlay::before {
        content: "";
        z-index: -1;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        pointer-events: none;
        background-color: rgba(0, 0, 0, 0.4);
    }

@media only screen and (min-width: 992px) {
    .bg-fixed {
        background-attachment: fixed;
    }
}

.bg-image-center {
    background-position: center center;
}

.context-dark {
    color: var(--white);
}

    .context-dark h1,
    .context-dark .h1,
    .context-dark h2,
    .context-dark .h2,
    .context-dark h3,
    .context-dark .h3,
    .context-dark h4,
    .context-dark .h4,
    .context-dark h5,
    .context-dark .h5,
    .context-dark h6,
    .context-dark .h6 {
        color: var(--white);
    }

    .context-dark a {
        color: var(--white);
    }

        .context-dark a:hover, .context-dark a:focus, .context-dark a:active {
            color: var(--pmp-primary, var(--primary));
        }

.py-6 {
    padding-top: 5.9375rem !important;
    padding-bottom: 5.9375rem !important;
}

/* Global Styles (#5245) — THE HOOK. .pmp-section-padding marks a section whose vertical spacing
   is managed globally. Deliberately NOT !important, so both an explicit py-* utility and a
   per-element override (Style Manager / #id rule) still win — preserving the cascade
   (shim default < per-site global < per-element). CTAs are ordinary page sections and carry the
   hook; only full-bleed sections (image-text-7/8) omit it and stay flush. clamp() mirrors the
   heading-size shape (floor 0.72x, cap reached
   ~768px): desktop is pixel-identical to today's 5.9375rem, and the floor scales WITH the
   value so a small #4733 value isn't held up by a fixed floor. */
.page-section.pmp-section-padding {
    padding-top: clamp(calc(var(--pmp-section-padding-top, 5.9375rem) * 0.72), calc(var(--pmp-section-padding-top, 5.9375rem) * 0.52 + 5.9375vw), var(--pmp-section-padding-top, 5.9375rem));
    padding-bottom: clamp(calc(var(--pmp-section-padding-bottom, 5.9375rem) * 0.72), calc(var(--pmp-section-padding-bottom, 5.9375rem) * 0.52 + 5.9375vw), var(--pmp-section-padding-bottom, 5.9375rem));
}

/* Global Styles (#5245) — LEGACY BRIDGE. Sections published before the hook existed carry py-6
   (the page-builder's old default), so re-point that too and they follow Global Styles with no
   content migration. !important is needed to beat the .py-6 utility itself; scoping to
   .page-section leaves a COLUMN set to py-6 untouched. Remove once content has migrated. */
.page-section.py-6 {
    padding-top: clamp(calc(var(--pmp-section-padding-top, 5.9375rem) * 0.72), calc(var(--pmp-section-padding-top, 5.9375rem) * 0.52 + 5.9375vw), var(--pmp-section-padding-top, 5.9375rem)) !important;
    padding-bottom: clamp(calc(var(--pmp-section-padding-bottom, 5.9375rem) * 0.72), calc(var(--pmp-section-padding-bottom, 5.9375rem) * 0.52 + 5.9375vw), var(--pmp-section-padding-bottom, 5.9375rem)) !important;
}

.pt-6 {
    padding-top: 5.9375rem !important;
}

body {
    font-family: "Poppins", sans-serif;
    line-height: 1.5;
    /* Global Styles (#5245): body colour falls back to the theme's own --body until #4733 sets one. */
    color: var(--pmp-body-color, var(--body));
    /* Global Styles (#5245): body size is NOT clamped — body copy must not shrink on mobile. */
    font-size: var(--pmp-body-size, 1rem);
}

p {
    line-height: 1.88;
}

h1, h2, h3, h4, h5, h6, .heading-1, .heading-2, .heading-3, .heading-4, .heading-5, .heading-6, .heading-7 {
    line-height: 1.44;
    font-weight: 600;
    /* Global Styles (#5245): heading colour falls back to the theme's own --heading until #4733 sets one. */
    color: var(--pmp-heading-color, var(--heading));
}

    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .heading-1 a, .heading-2 a, .heading-3 a, .heading-4 a, .heading-5 a, .heading-6 a, .heading-7 a {
        color: inherit;
    }

        h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, .heading-1 a:hover, .heading-2 a:hover, .heading-3 a:hover, .heading-4 a:hover, .heading-5 a:hover, .heading-6 a:hover, .heading-7 a:hover {
            color: var(--pmp-primary, var(--primary));
        }

/* Global Styles (#5245): heading sizes reference --pmp-hN-size with a fallback to each
   theme's current desktop size, so they are exact (zero regression) at desktop and the
   single #4733 value drives the whole responsive range. clamp() at point of use keeps them
   fluid (floor 0.72x reached ~320px, cap reached ~768px), replacing the old
   mobile/fluid/desktop media-query tiers. */
h1,
.heading-1 {
    font-size: clamp(calc(var(--pmp-h1-size, 2.5rem) * 0.72), calc(var(--pmp-h1-size, 2.5rem) * 0.52 + 2.5vw), var(--pmp-h1-size, 2.5rem));
    font-weight: 700;
}

h2,
.heading-2 {
    font-size: clamp(calc(var(--pmp-h2-size, 2.25rem) * 0.72), calc(var(--pmp-h2-size, 2.25rem) * 0.52 + 2.25vw), var(--pmp-h2-size, 2.25rem));
}

h3,
.heading-3 {
    font-size: clamp(calc(var(--pmp-h3-size, 1.375rem) * 0.72), calc(var(--pmp-h3-size, 1.375rem) * 0.52 + 1.375vw), var(--pmp-h3-size, 1.375rem));
}

h4,
.heading-4 {
    font-size: clamp(calc(var(--pmp-h4-size, 1.125rem) * 0.72), calc(var(--pmp-h4-size, 1.125rem) * 0.52 + 1.125vw), var(--pmp-h4-size, 1.125rem));
}

.heading-4 {
    font-weight: 400;
}

h5,
.heading-5 {
    font-size: clamp(calc(var(--pmp-h5-size, 1rem) * 0.72), calc(var(--pmp-h5-size, 1rem) * 0.52 + 1vw), var(--pmp-h5-size, 1rem));
    font-weight: 400;
}

h6,
.heading-6 {
    font-size: clamp(calc(var(--pmp-h6-size, 0.9375rem) * 0.72), calc(var(--pmp-h6-size, 0.9375rem) * 0.52 + 0.9375vw), var(--pmp-h6-size, 0.9375rem));
}

.heading-7 {
    font-size: 0.875rem;
    font-weight: 400;
}

.text-primary {
    color: var(--pmp-primary, var(--primary)) !important;
}

.text-secondary {
    color: var(--pmp-secondary, var(--secondary)) !important;
}

.text-gray {
    color: var(--gray) !important;
}

.text-gray-alternative {
    color: #8F9294 !important;
}

.text-nile-blue {
    color: var(--nile-blue) !important;
}

.text-muted {
    color: var(--muted) !important;
    opacity: 0.5;
}

a {
    color: var(--pmp-link-color, var(--pmp-primary, var(--primary)));
    transition: 0.3s ease-out all;
    text-decoration: none;
}

    a:hover, a:active, a:focus, a:active:focus {
        color: var(--pmp-primary, var(--primary));
        opacity: 0.8;
    }

.card {
    border: none;
    border-radius: 0.3125rem;
    box-shadow: 0 0.25rem 0.625rem rgba(66, 65, 65, 0.05);
}

    .card a {
        text-decoration: none;
        transition: 0.3s ease-out color;
    }

.card-post .card-body {
    padding: 1.5625rem 1.25rem;
}

.card-post .card-title {
    color: var(--cape-cod);
}

.card-post p {
    line-height: 1.88;
}

.card-title {
    color: var(--pmp-secondary, var(--secondary));
}

.card-badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.5rem 0.9375rem;
    border-radius: 0.3125rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.card-img,
.card-img-top {
    border-top-left-radius: 0.3125rem;
    border-top-right-radius: 0.3125rem;
}

.card-img-top {
    width: 100%;
    /*height: 29vh;*/
    object-fit: cover;
}

.card-body {
    padding: 1.25rem 1.25rem 1.875rem;
}

/**
 * Buttons
*/
.btn {
    font-size: 0.9375rem;
    padding: 0.9375rem 1.875rem;
    border-radius: var(--pmp-button-radius, 0.3125rem);
}

/* Global Styles (#5245): dedicated image-radius hook. !important is required because the
   page-builder image block also carries Bootstrap's .rounded, an !important utility that would
   otherwise win; this keeps radius driven by --pmp-image-radius. Do NOT re-point stock .rounded.
   The fallback MUST stay in step with .rounded (0.25rem in bootstrap@5.0.0-beta1, the version the
   sites load) so that, until Global Styles (#4733) sets a value, images keep the corners they
   render with today. Raising it silently re-rounds every content image on every V2 site. */
.pmp-image {
    border-radius: var(--pmp-image-radius, 0.25rem) !important;
}

    .btn:focus {
        box-shadow: 0 0 0 0.25rem rgba(var(--box-shadow), var(--alpha));
    }

.btn-sm {
    padding: 0.625rem 2.1875rem;
}

.btn-primary {
    border-color: var(--pmp-primary, var(--primary));
    background: linear-gradient(180deg, var(--pmp-primary, var(--primary)) 0%, var(--pmp-primary-accent, var(--primary-accent)) 100%);
    transition: 0.3s ease-out all;
}

    .btn-primary:hover, .btn-primary:active, .btn-primary:focus, .btn-primary:active:focus {
        border-color: var(--pmp-primary, var(--primary));
        background: linear-gradient(180deg, var(--pmp-primary, var(--primary)) 0%, var(--pmp-primary-accent, var(--primary-accent)) 100%);
        opacity: 0.8;
    }

.btn-link {
    color: var(--tundora);
    border: none !important;
    outline: none !important;
    background-color: transparent;
    transition: 0.3s ease-out;
}

    .btn-link:focus {
        box-shadow: 0 0 0 0.25rem rgba(var(--box-shadow), var(--alpha));
    }

    .btn-link:hover {
        color: var(--pmp-primary, var(--primary));
    }

.btn-danger {
    background-color: #d66973;
    border-color: #d66973;
}

.btn-success {
    background-color: #56c688;
    border-color: #56c688;
}

/*
 * ====================
 * Start Icons
 * ====================
*/
.svg-icon {
    display: inline-block;
}

.icon-sm {
    width: 1.3125rem !important;
    height: 1.3125rem !important;
}

.icon-secondary {
    color: var(--pmp-secondary, var(--secondary));
}

/*
 * ====================
 * End Icons
 * ====================
*/
.form-control {
    min-height: 3.125rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

    .form-control, .form-control[readonly] {
        background-color: #F9F9F9;
        border-color: #F1F1F1;
        color: #9F9F9F;
    }

        .form-control:focus, .form-control[readonly]:focus {
            border-color: var(--pmp-primary, var(--primary));
            outline: 0;
            color: #9F9F9F;
            box-shadow: 0 0 0 0.25rem rgba(var(--box-shadow), 0.25);
        }

.book-now-form .form-control, .book-now-form .form-control[readonly] {
    background-color: #fff;
    border-color: #fff;
}

.book-now-form .input-group .form-control {
    border-left: 0.0625rem solid #F5F5F5;
}

.book-now-form .input-group .input-group-text {
    background-color: #fff;
    border-color: #fff;
    border-right: 0.0625rem solid #F5F5F5;
}

.book-now-form .btn-sm {
    padding: 0.3125rem 0.625rem;
}

.book-now-form .card-body {
    padding: 1.25rem;
}

.form-label {
    color: #706f6f;
}

.input-group .form-control {
    border-right: none;
}

.input-group .input-group-text {
    background-color: #F9F9F9;
    border-color: #F1F1F1;
    color: #B1B0B0;
    border-left: none;
}

.form-select {
    min-height: 3.125rem;
    background-color: #F1F1F1;
}

    .form-select:focus {
        border-color: var(--pmp-primary, var(--primary));
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(var(--box-shadow), 0.25);
    }

.table {
    border: 1px solid #F4F4F4;
    border-radius: 0.3125rem;
}

    .table th,
    .table td {
        padding: 0.8125rem;
        border-color: #F4F4F4;
    }

    .table td {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem;
    }

    .table thead {
        border-radius: 0.3125rem;
    }

        .table thead tr {
            border-top-left-radius: 0.3125rem;
            border-top-right-radius: 0.3125rem;
        }

            .table thead tr th {
                font-size: 0.9375rem;
                font-weight: 500;
                background-color: #EEF1F8;
                border-color: #EEF1F8 !important;
            }

                .table thead tr th:first-child {
                    border-top-left-radius: 0.3125rem;
                }

                .table thead tr th:last-child {
                    border-top-right-radius: 0.3125rem;
                }

    .table tbody tr:last-child td:first-child {
        border-bottom-left-radius: 0.3125rem;
    }

    .table tbody tr:last-child td:last-child {
        border-bottom-right-radius: 0.3125rem;
    }

.table-striped tbody > tr:nth-of-type(odd) {
    --bs-table-accent-bg: var(--white);
    background: var(--white);
}

.table-striped tbody > tr:nth-of-type(even) {
    background-color: #fbfbfb;
}

.table-bordered tbody tr td {
    border-color: inherit;
}

/*
 * ====================
 * Start Footer
 * ====================
*/

.footer {
    font-size: .875rem;
    font-weight: 400;
    /* Global Styles (#5245): footer bg now driven by its own role variable, decoupled from
       secondary. Falls back to the --footer-bg template token (an indirection to --secondary
       declared in :root), so the default colour is unchanged and still tracks the active
       colour scheme. !important keeps .footer winning over the stock Bootstrap .bg-secondary
       utility (itself !important) that remains, now inert, in the footer markup. */
    background-color: var(--pmp-footer-bg, var(--footer-bg)) !important;
}

.footer .navbar-logo .navbar-brand {
    font-size: 1.125rem;
}

@media (min-width: 320px) {
    .footer .navbar-logo .navbar-brand {
        font-size: calc(18px + 4 * ( (100vw - 320px) / 672 ));
    }
}

@media only screen and (min-width: 992px) {
    .footer .navbar-logo .navbar-brand {
        font-size: 1.375rem;
    }
}

.footer a {
    color: var(--bs-dark);
    transition: 0.3s ease-out all;
    text-decoration: none;
}

.footer.bg-dark h1, .footer.bg-dark h2, .footer.bg-dark h3, .footer.bg-dark h4, .footer.bg-dark h5, .footer.bg-dark h6, .footer.bg-dark .heading-1, .footer.bg-dark .heading-2, .footer.bg-dark .heading-3, .footer.bg-dark .heading-4, .footer.bg-dark .heading-5, .footer.bg-dark .heading-6, .footer.bg-dark .heading-7, .footer.bg-primary h1, .footer.bg-primary h2, .footer.bg-primary h3, .footer.bg-primary h4, .footer.bg-primary h5, .footer.bg-primary h6, .footer.bg-primary .heading-1, .footer.bg-primary .heading-2, .footer.bg-primary .heading-3, .footer.bg-primary .heading-4, .footer.bg-primary .heading-5, .footer.bg-primary .heading-6, .footer.bg-primary .heading-7, .footer.bg-danger h1, .footer.bg-danger h2, .footer.bg-danger h3, .footer.bg-danger h4, .footer.bg-danger h5, .footer.bg-danger h6, .footer.bg-danger .heading-1, .footer.bg-danger .heading-2, .footer.bg-danger .heading-3, .footer.bg-danger .heading-4, .footer.bg-danger .heading-5, .footer.bg-danger .heading-6, .footer.bg-danger .heading-7, .footer.bg-success h1, .footer.bg-success h2, .footer.bg-success h3, .footer.bg-success h4, .footer.bg-success h5, .footer.bg-success h6, .footer.bg-success .heading-1, .footer.bg-success .heading-2, .footer.bg-success .heading-3, .footer.bg-success .heading-4, .footer.bg-success .heading-5, .footer.bg-success .heading-6, .footer.bg-success .heading-7, .footer.bg-secondary h1, .footer.bg-secondary h2, .footer.bg-secondary h3, .footer.bg-secondary h4, .footer.bg-secondary h5, .footer.bg-secondary h6, .footer.bg-secondary .heading-1, .footer.bg-secondary .heading-2, .footer.bg-secondary .heading-3, .footer.bg-secondary .heading-4, .footer.bg-secondary .heading-5, .footer.bg-secondary .heading-6, .footer.bg-secondary .heading-7 {
    color: var(--white);
}

.footer.bg-dark,
.footer.bg-dark a,
.footer.bg-dark .icon-secondary,
.footer.bg-dark .text-secondary, .footer.bg-primary,
.footer.bg-primary a,
.footer.bg-primary .icon-secondary,
.footer.bg-primary .text-secondary, .footer.bg-danger,
.footer.bg-danger a,
.footer.bg-danger .icon-secondary,
.footer.bg-danger .text-secondary, .footer.bg-success,
.footer.bg-success a,
.footer.bg-success .icon-secondary,
.footer.bg-success .text-secondary, .footer.bg-secondary,
.footer.bg-secondary a,
.footer.bg-secondary .icon-secondary,
.footer.bg-secondary .text-secondary {
    color: var(--white) !important;
}

    .footer.bg-dark .navbar-logo .navbar-tagline, .footer.bg-primary .navbar-logo .navbar-tagline, .footer.bg-danger .navbar-logo .navbar-tagline, .footer.bg-success .navbar-logo .navbar-tagline, .footer.bg-secondary .navbar-logo .navbar-tagline {
        color: #cbdfdf;
    }

/*
 * ====================
 * End Footer
 * ====================
*/
/*
 * ====================
 * Start TINY Slider
 * ====================
*/
.tns-outer {
    position: relative;
}

[data-controls=prev],
[data-controls=next] {
    font-size: 30px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    padding: 0 0 0;
    margin: 0 0 0;
    background: transparent;
    border: none;
    box-shadow: none;
    outline: none;
    color: #bbb;
    cursor: pointer;
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translate(0, -50%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-align: center;
    transition: 0.3s ease-out all;
}

[data-controls=prev] {
    left: -50px;
}

[data-controls=next] {
    right: -50px;
}

    [data-controls=prev]:hover, [data-controls=next]:hover {
        margin: 0 -5px;
    }

/*  */
.top-banner-slider [data-controls=prev], .top-banner-slider [data-controls=next] {
    font-size: 40px;
    width: 25px;
    height: 40px;
    line-height: 40px;
    color: #ffffff;
    opacity: 0.6;
    display: none;
}

@media only screen and (min-width: 992px) {
    .top-banner-slider [data-controls=prev], .top-banner-slider [data-controls=next] {
        display: block;
    }
}

.top-banner-slider [data-controls=prev]:hover, .top-banner-slider [data-controls=next]:hover {
    opacity: 1;
}

.top-banner-slider [data-controls=prev] {
    left: 8%;
}

.top-banner-slider [data-controls=next] {
    right: 8%;
}

@media (min-width: 992px) {
    .top-banner-slider [data-controls=prev] {
        left: calc(50% - 960px / 2 + 12px);
    }
}

@media (min-width: 1200px) {
    .top-banner-slider [data-controls=prev] {
        left: calc(50% - 1140px / 2 + 12px);
    }
}

@media (min-width: 1400px) {
    .top-banner-slider [data-controls=prev] {
        left: calc(50% - 1170px / 2 + 12px);
    }
}

@media (min-width: 992px) {
    .top-banner-slider [data-controls=next] {
        right: calc(50% - 960px / 2 + 12px);
    }
}

@media (min-width: 1200px) {
    .top-banner-slider [data-controls=next] {
        right: calc(50% - 1140px / 2 + 12px);
    }
}

@media (min-width: 1400px) {
    .top-banner-slider [data-controls=next] {
        right: calc(50% - 1170px / 2 + 12px);
    }
}
/*  */
.tns-nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2.125rem;
    text-align: center;
    z-index: 10;
}

.dots-hidden .tns-nav {
    display: none;
}

.dots-default .tns-nav {
    position: relative;
    bottom: 0;
}

    .dots-default .tns-nav button {
        display: inline-block;
        margin: 0.3125rem;
        width: 0.75rem;
        height: 0.75rem;
        padding: 0;
        border-radius: 3.125rem;
        border: none;
        background-color: var(--pmp-primary, var(--primary));
    }

@media only screen and (min-width: 1200px) {
    .dots-default .tns-nav {
        display: none;
    }
}

.tns-nav button {
    margin: 0 8px;
    width: 16px;
    height: 16px;
    background: rgba(255, 255, 255, 0.2);
    border: 1.24615px solid rgba(255, 255, 255, 0.42);
    position: relative;
    display: inline-block;
    border-radius: 50%;
    vertical-align: middle;
    outline: none;
    box-shadow: none;
}

    .tns-nav button.tns-nav-active:before {
        border-radius: 50px;
        border-radius: 50%;
        width: 8px;
        height: 8px;
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: #ffffff;
    }

/*  */
.slide-item-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

    .slide-item-img img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

.slide-item-inner {
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0 0 0;
    margin: 0 0 0;
    flex-grow: 1;
}

.slide-item-caption-wrapper {
    aspect-ratio: var(--header-aspect-ratio, 25 / 14);
    /* #5186 sizes the hero from the site's crop ratio (--header-aspect-ratio, injected
       per-site from the header-image dimensions) at full viewport width, so tall/portrait
       crops balloon (a portrait crop hit ~3900px). Safety-net cap so the hero never
       exceeds the viewport — wide/normal crops sit under it and render as cropped.
       Full-height heroes opt out just below. Interim: the proper fix constrains the
       header cropper to a banner ratio so crop = header. (#5186.) */
    max-height: 85vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 0 0 0;
    margin: 0 0 0;
    position: relative;
    width: 100%;
    /*z-index: 5;*/
}

.slide-item-caption {
    flex-grow: 1;
    padding: 5rem 0 5rem;
    margin: 0 0 0;
}

/*  */
.slider-3-per-row-wrapper {
    max-width: 1090px;
    margin: 0 auto 0;
}

.slider-2-per-row-wrapper {
    max-width: 1000px;
    margin: 0 auto 0;
}

.slide-item .card {
    margin: 0.6875rem;
}

.tiny-dark .slide-item-img::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /*background: linear-gradient(0deg, rgba(3, 3, 3, 0.3), rgba(3, 3, 3, 0.3)), linear-gradient(172.77deg, rgba(17, 53, 56, 0.46) -17.98%, rgba(17, 53, 56, 0.25) 67%, rgba(119, 182, 183, 0.16) 124.99%);*/
}

.tiny-full-height .slide-item-caption-wrapper {
    max-height: none; /* full-height heroes are intentionally tall — opt out of the cap */
}

.tiny-full-height .slide-item-caption {
    padding-top: 9.375rem;
    padding-bottom: 6.25rem;
}

@media (min-width: 1200px) {
    .tiny-full-height .slide-item-caption {
        padding-top: 12.5rem;
        padding-bottom: 9.375rem;
    }
}



@media (max-width: 768px) {
    /* Floor the hero height with a zero-width flex strut rather than min-height:
       an explicit min-height on the aspect-ratio wrapper cancels its automatic
       content-based minimum, clipping tall captions (#5432). */
    .slide-item-caption-wrapper::before {
        content: "";
        width: 0;
        min-height: 300px;
    }

    .top-banner-slider-absolute .slide-item-caption-wrapper::before {
        min-height: 420px;
    }
}

.top-banner-slider-absolute {
    position: relative;
}

    .top-banner-slider-absolute.tiny-full-height .slider-content {
        display: flex;
        align-items: center;
        min-height: 100vh;
        padding-top: 8.75rem;
        padding-bottom: 7.5rem;
    }

@media only screen and (min-width: 992px) {
    .top-banner-slider-absolute.tiny-full-height .slider-content {
        padding-top: 11.25rem;
        padding-bottom: 7.5rem;
    }
}

@media only screen and (min-width: 1200px) {
    .top-banner-slider-absolute.tiny-full-height .slider-content {
        padding-top: 13.75rem;
        padding-bottom: 13.75rem;
    }
}

.top-banner-slider-absolute .slider-content {
    z-index: 10;
    position: relative;
    padding-top: 2.8125rem;
    padding-bottom: 5.625rem;
}


@media only screen and (min-width: 992px) {
    .top-banner-slider-absolute .slider-content {
        padding-top: 3.75rem;
        padding-bottom: 7.5rem;
    }
}

@media only screen and (min-width: 1200px) {
    .top-banner-slider-absolute .slider-content {
        padding-top: 7.5rem;
        padding-bottom: 10rem;
    }
}

.property-search-content {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; /* Adjust width as necessary */
    z-index: 10;
    text-align: center;
}

/* Small screens: Text overlays the slider in the middle */
@media (max-width: 992px) {
    .property-search-text {
        position: absolute;
        top: 25%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 3; /* Ensure it's above the slider */
        width: 100%; /* Adjust as needed */
        /* Other necessary styling */
    }

    .property-search-content {
        position: static; /* Ensures normal document flow for the form */
    }
}

/* Large screens: Positioning based on additional classes */
@media (min-width: 992px) {
    .property-search-content {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2; /* Adjust as necessary */
        width: 100%; /* Adjust as necessary */
    }

    .property-search-top {
        top: 0;
        transform: translateX(-50%);
        padding-top: 4rem;
    }

    .property-search-middle {
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .property-search-bottom {
        bottom: 0;
        transform: translateX(-50%);
        padding-bottom: 4rem;
    }
}

.property-search-content {
    visibility: hidden;
    /* Other styles */
}

body.loaded .property-search-content {
    visibility: visible;
}



/* Search-overlay layout: keep the slider in normal flow so the hero height comes
   from the same .slide-item-caption-wrapper aspect-ratio used by non-overlay
   headers (the image then fills reliably). Only the search box is absolutely
   positioned (see .property-search-content), so it overlays the image. This
   unifies the overlay and non-overlay layout paths and removes the old dual-path
   height handling that depended on JS. */
.top-banner-slider-absolute .slider {
    position: relative;
}

/* Media Query for Mobile Screens */
@media only screen and (max-width: 992px) {
    /* Adjust the slider to not cover the entire parent */
    .top-banner-slider-absolute .slider {
        position: static; /* Or relative, based on your layout needs */
        height: auto; /* Or set to a specific height if needed */
    }

    /* Position the search box below the slider */
    .property-search-content {
        position: static;
        margin-top: 10px; /* Add space to separate it from the slider */
        top: auto;
        left: auto;
        transform: none;
        z-index: 1;
    }
}


.top-banner-slider-absolute .tns-outer,
.top-banner-slider-absolute .tns-inner,
.top-banner-slider-absolute .tns-inner > div,
.top-banner-slider-absolute .slide-item {
    height: 100%;
}

.top-banner-slider-absolute .slide-item-img::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.75;
    /*background: linear-gradient(0deg, rgba(3, 3, 3, 0.3), rgba(3, 3, 3, 0.3)), linear-gradient(172.77deg, rgba(17, 53, 56, 0.46) -17.98%, rgba(17, 53, 56, 0.25) 67%, rgba(119, 182, 183, 0.16) 124.99%);*/
}

.top-banner-slider-absolute button[data-controls=prev],
.top-banner-slider-absolute button[data-controls=next] {
    display: none;
}

@media only screen and (min-width: 1200px) {
    .top-banner-slider-absolute button[data-controls=prev],
    .top-banner-slider-absolute button[data-controls=next] {
        display: block;
    }
}

.top-banner-slider.top-banner-slider-left {
    text-align: left;
}

    .top-banner-slider.top-banner-slider-left .tns-nav {
        text-align: left;
        padding-left: var(--bs-gutter-x, 0.75rem);
    }

@media only screen and (min-width: 992px) {
    .top-banner-slider.top-banner-slider-left .tns-nav {
        max-width: 83.33vw;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (min-width: 1200px) {
    .top-banner-slider.top-banner-slider-left .tns-nav {
        max-width: 60.125rem;
    }
}

.top-banner-slider.top-banner-slider-left .tns-nav button {
    margin-left: 0;
    margin-right: 0.5rem;
}

.top-banner-slider.top-banner-slider-right {
    text-align: right;
}

    .top-banner-slider.top-banner-slider-right .tns-nav {
        text-align: right;
        padding-right: var(--bs-gutter-x, 0.75rem);
    }

@media only screen and (min-width: 992px) {
    .top-banner-slider.top-banner-slider-right .tns-nav {
        max-width: 83.33vw;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (min-width: 1200px) {
    .top-banner-slider.top-banner-slider-right .tns-nav {
        max-width: 60.125rem;
    }
}

.top-banner-slider.top-banner-slider-right .tns-nav button {
    margin-left: 0;
    margin-right: 0.5rem;
}

/*.slider-modern .tns-horizontal.tns-subpixel > .tns-item,
.slider-modern .slide-item {
    display: flex;
}*/

.slider-modern .tns-nav {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.slider-calendar .tns-outer {
    position: relative;
    z-index: 100;
    padding-right: 40px !important;
    padding-left: 40px !important;
}

@media only screen and (min-width: 1280px) {
    .slider-calendar .tns-outer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.slider-calendar .tns-inner {
    margin-left: -24px !important;
}

.slider-calendar .slide-item {
    padding-left: 24px;
}

.slider-calendar table th,
.slider-calendar table td {
    padding: 0.4125rem;
    text-align: center;
}

@media only screen and (min-width: 1200px) {
    .slider-calendar table th,
    .slider-calendar table td {
        padding: 0.8125rem;
    }
}

.slider-calendar .tns-nav {
    display: none;
}

.slider-calendar [data-controls=prev],
.slider-calendar [data-controls=next] {
    position: absolute;
    z-index: 100;
}

.slider-calendar [data-controls=prev] {
    left: 0;
}

@media only screen and (min-width: 1280px) {
    .slider-calendar [data-controls=prev] {
        left: -30px;
    }
}

.slider-calendar [data-controls=next] {
    right: 5px;
}

@media only screen and (min-width: 1280px) {
    .slider-calendar [data-controls=next] {
        right: -30px;
    }
}

.tns-outer button[data-action=start],
.tns-outer button[data-action=stop] {
    display: none;
}

/*
 * ====================
 * End TINY Slider
 * ====================
*/
/*
 * ====================
 * Start Animation
 * ====================
*/
.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
    opacity: 1;
}

    .animated[data-caption-animate] {
        opacity: 0;
    }

    .animated.infinite {
        animation-iteration-count: infinite;
    }

    .animated.hinge {
        animation-duration: 2s;
    }

html:not(.lt-ie10) .not-animated {
    opacity: 0;
}

/* stylelint-disable */
.ipad .not-animated,
.ios .not-animated {
    opacity: 1 !important;
}

/* stylelint-enable */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fadeIn {
    animation-name: fadeIn;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.fadeInUp {
    animation-name: fadeInUp;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.fadeInDown {
    animation-name: fadeInDown;
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.fadeInLeft {
    animation-name: fadeInLeft;
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.fadeInRight {
    animation-name: fadeInRight;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.fadeOut {
    animation-name: fadeOut;
}

@keyframes slideInDown {
    0% {
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    animation-name: slideInDown;
}

@keyframes slideInLeft {
    0% {
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    animation-name: slideInLeft;
}

@keyframes slideInRight {
    0% {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    animation-name: slideInRight;
}

@keyframes slideOutDown {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    animation-name: slideOutDown;
}

.fadeInTranslateSmall {
    animation-name: fadeInTranslateSmall;
}

@keyframes fadeInTranslateSmall {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.8);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
/*
 * ====================
 * End Animation
 * ====================
*/
/*
 * ====================
 * Start Navbar
 * ====================
*/

/* Fix for navbar shadow*/
.navbar.shadow-sm {
    position: relative;
    z-index: 1001;
}

@media (max-width: 991px) {
    .navbar.fixed-top.navbar-dark {
        background-color: #212529;
    }

    .navbar.fixed-top.navbar-light {
        background-color: #f8f9fa;
    }
}

@media (max-width: 1199px) {
    .header-top-bar + .navbar.fixed-top.navbar-dark {
        background-color: #212529;
    }
}

@media (max-width: 1199px) {
    .header-top-bar + .navbar.fixed-top.navbar-light {
        background-color: #f8f9fa;
    }
}

/**
 * Links Color in Dark Navbar
 */
.nav-link.dropdown-toggle::after {
    vertical-align: middle;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--tundora);
    font-size: 0.9375rem;
}

    .navbar-light .navbar-nav .nav-link.active {
        color: #000;
    }

    .navbar-light .navbar-nav .nav-link.show {
        color: var(--pmp-primary, var(--primary));
    }

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.75);
}

    .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
        color: rgba(255, 255, 255, 0.9);
    }

/**
 * Navbar Logo
 */
.navbar-logo {
    min-width: 210px;
    max-width: 210px;
}

    .navbar-logo .navbar-brand {
        font-size: 1.1875rem;
        font-weight: 700;
        color: var(--mine-shaft);
    }

    .navbar-logo .navbar-tagline {
        margin: 0;
        font-size: 0.6875rem;
        font-weight: 300;
        color: var(--tundora);
    }

.navbar.navbar-dark .navbar-tagline {
    color: rgba(255, 255, 255, 0.85);
}

/**
 * Navbar Buttons
*/
.navbar .navbar-nav .btn {
    white-space: nowrap;
}

/**
 * Custom Translate
*/
.custom-translate {
    z-index: 1040;
}

/**
 * Drop Down
*/
.dropdown-menu {
    /*max-height: 450px;*/
    overflow-y: auto;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--pmp-primary, var(--primary));
}

/**
 * Header Top Bar
 */
.header-top-bar {
    border-bottom: 0.0625rem solid var(--gallery);
}

    .header-top-bar.bg-light {
        background-color: #F8F8F8 !important;
    }

    .header-top-bar .header-top-bar-phone,
    .header-top-bar .custom-translate .btn {
        font-size: 0.8rem;
    }

@media (min-width: 1200px) {
    .header-top-bar .header-top-bar-phone,
    .header-top-bar .custom-translate .btn {
        font-size: 0.9rem;
    }
}

.header-top-bar.text-white .link-dark {
    color: #fff;
}

.header-top-bar-fixed {
    z-index: 1040;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25);
}

[data-navbar=init] .navbar-nav {
    max-height: 95vh;
    overflow-y: auto;
}

[data-navbar=init][class*=navbar-expand] .navbar-nav {
    max-height: none;
    overflow-y: visible;
}

.header-top-bar-phone,
.custom-translate {
    color: var(--tundora);
    text-decoration: none;
    font-size: 0.875rem;
    transition: 0.3s ease-out all;
}

    .header-top-bar-phone:hover,
    .custom-translate:hover {
        color: var(--pmp-primary, var(--primary));
    }

    .header-top-bar-phone svg,
    .custom-translate svg {
        color: var(--cascade);
    }

    .header-top-bar-phone svg {
        width: 1rem !important;
        height: 1rem !important;
    }

    .custom-translate svg {
        width: 1.25rem !important;
        height: 1.25rem !important;
    }

.dropdown-item {
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    font-size: 0.875rem;
    color: var(--tundora);
}

/*
 * ====================
 * End Navbar
 * ====================
*/
/**
 * To Top
 */
.to-top {
    position: fixed;
    right: 1.875rem;
    bottom: 1.875rem;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.0625rem;
    height: 3.0625rem;
    font-size: 1.375rem;
    cursor: pointer;
    color: var(--white);
    fill: var(--white);
    background-color: var(--jet-stream);
    border-radius: 0.528125rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: 0.3s ease-out all;
}

    .to-top:hover {
        color: #fff;
        fill: #fff;
        background-color: var(--pmp-primary, var(--primary));
    }

@media (min-width: 1200px) {
    .to-top.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

hr {
    background-color: #EEEBEB;
    opacity: 1;
}


/**
 * Content Box Fixes
*/
/*html {
    min-height: 100%;
    height: auto;
    font-size: 16px;
}

hr {
    padding: 0;
}

p, td, li, label {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: inherit;
}

.is-overlay .is-overlay-bg {
    top: -40%;
    height: 180%;
}*/

/**
 * Modal Fixes
*/
.modal-backdrop {
    display: none;
}

.modal {
    background: rgba(0,0,0,0.5);
}

/* Alternate BG */
section.page-section:nth-child(1n) {
    background-color: var(--pmp-section-bg, #ffffff);
}

section.page-section:nth-child(2n) {
    background-color: var(--pmp-section-bg-alt, var(--alabaster));
}

.img-size {
    width: 580px;
    height: auto;
}

@media (min-width: 768px) {
    .img-size {
        width: 50%;
        height: auto;
    }
}


