:root {
    --bs-body-font-family: 'Source Sans Pro', sans-serif;
}

.rooms {
    --lb-site-color: var(--wp--preset--color--rooms-blue, #1565c0);
    --lb-site-color-rgb: 21, 101, 192;
    --lb-on-site-color: #fff;
    --lb-state-mix: #000;
}

.cars {
    --lb-site-color: var(--wp--preset--color--cars-red, #e53935);
    --lb-site-color-rgb: 229, 57, 53;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.flights {
    --lb-site-color: var(--wp--preset--color--flights-sky-blue, #2196f3);
    --lb-site-color-rgb: 33, 150, 243;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.golf {
    --lb-site-color: var(--wp--preset--color--golf-green, #689f38);
    --lb-site-color-rgb: 104, 159, 56;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.holidays {
    --lb-site-color: var(--wp--preset--color--holidays-orange, #f57c00);
    --lb-site-color-rgb: 245, 124, 0;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.restaurants {
    --lb-site-color: var(--wp--preset--color--restaurants-gold, #f9a825);
    --lb-site-color-rgb: 249, 168, 37;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.tables {
    --lb-site-color: var(--wp--preset--color--tables-amber, #fb8c00);
    --lb-site-color-rgb: 251, 140, 0;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

.tickets {
    --lb-site-color: var(--wp--preset--color--tickets-slate, #90a4ae);
    --lb-site-color-rgb: 144, 164, 174;
    --lb-on-site-color: #000;
    --lb-state-mix: #fff;
}

header {
    background-color: var(--lb-site-color);
    border-bottom: 2px solid transparent;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

h1 {
    color: #141414;
    font-family: 'Overlock', serif;
    line-height: 1.4;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 0;
    text-indent: 5px;
    letter-spacing: 0;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

h1 em {
    font-weight: 900;
    font-style: normal;
    background-image: linear-gradient(45deg, #eee, #bbb);
    letter-spacing: 0;
    background-size: 100%;
    background-repeat: repeat;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

span.kernfix {
    letter-spacing: -2px;
}

h2 {
    font-weight: 900;
    font-size: 1.5rem;
    line-height: 1.1;
    color: #444;
}

footer {
    background-color: rgba(var(--lb-site-color-rgb), 0.35);
    border-top: 2px solid transparent;
    padding-top: 0.5rem;
    padding-bottom: 0;
}

footer p {
    margin-bottom: 0;
}

.credits-row {
    background-color: #000;
    color: #fff;
    margin-top: 1rem;
    font-size: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.feature-text {
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
    border-radius: 20px;
    padding: 1rem;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.top-margin-two {
    margin-top: 2rem !important;
}

.bottom-margin-two {
    margin-bottom: 2rem !important;
}

.edit_link {
    position: absolute;
    top: 0;
    inset-inline-end: 20px;
    padding: 0.3rem;
}

.feature-bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: screen;
}

.home-secondary-content {
    position: relative;
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 15%, rgba(var(--lb-site-color-rgb), 0.14), transparent 18rem),
        linear-gradient(180deg, #fff 0%, #f4f5f3 100%);
}

.home-secondary-content::after {
    position: absolute;
    inset: auto -5rem -8rem auto;
    width: 18rem;
    aspect-ratio: 1;
    border: 2.5rem solid rgba(var(--lb-site-color-rgb), 0.08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.home-secondary-content > .container {
    position: relative;
    z-index: 1;
}

.other-sites-list .btn {
    --bs-btn-color: #666;
    --bs-btn-bg: rgba(255, 255, 255, 0.5);
    --bs-btn-border-width: 0;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 700;
    --bs-btn-hover-color: #141414;
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.75);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-focus-shadow-rgb: 0, 0, 0;
    --bs-btn-active-color: #141414;
    --bs-btn-active-bg: rgba(255, 255, 255, 0.9);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #666;
    --bs-btn-disabled-bg: rgba(255, 255, 255, 0.5);
    --bs-btn-disabled-border-color: transparent;
    position: relative;
    margin-bottom: 0.75rem;
}

.other-sites-list .btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    inset-inline-start: 0;
    width: 100%;
    border-bottom: 5px solid transparent;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.5s ease-in-out;
}

.other-sites-list .btn:hover::after,
.other-sites-list .btn:focus-visible::after {
    border-bottom-color: var(--lb-site-color);
    transform: scaleX(1);
}

.other-sites-list .btn span {
    color: #000;
}

.skip-to-content-link {
    position: absolute;
    top: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    padding: 0.5rem 0.75rem;
    border: 2px solid var(--lb-on-site-color);
    border-radius: 8px;
    background-color: var(--lb-site-color);
    color: var(--lb-on-site-color);
    font-weight: 700;
}

.skip-to-content-link:focus-visible {
    color: var(--lb-on-site-color);
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.5);
    outline: none;
}

body .btn-primary {
    --bs-btn-color: var(--lb-on-site-color);
    --bs-btn-bg: var(--lb-site-color);
    --bs-btn-border-color: var(--lb-site-color);
    --bs-btn-hover-color: var(--lb-on-site-color);
    --bs-btn-hover-bg: color-mix(in srgb, var(--lb-site-color), var(--lb-state-mix) 12%);
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    --bs-btn-focus-shadow-rgb: 0, 0, 0;
    --bs-btn-active-color: var(--lb-on-site-color);
    --bs-btn-active-bg: color-mix(in srgb, var(--lb-site-color), var(--lb-state-mix) 20%);
    --bs-btn-active-border-color: var(--bs-btn-active-bg);
    --bs-btn-disabled-color: var(--lb-on-site-color);
    --bs-btn-disabled-bg: var(--lb-site-color);
    --bs-btn-disabled-border-color: var(--lb-site-color);
}

body p {
    margin-bottom: 0.5rem;
}

header .main_nav_menu {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.2rem;
    --bs-nav-link-font-size: 1rem;
    --bs-nav-link-font-weight: 700;
    --bs-nav-link-color: var(--lb-on-site-color);
    --bs-nav-link-hover-color: var(--lb-on-site-color);
    column-gap: 2.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

header .main_nav_menu .nav-link {
    border-bottom: 2px solid transparent;
}

header .main_nav_menu .current-menu-item > .nav-link {
    border-bottom-color: currentColor;
}

header .main_nav_menu .nav-link:hover,
header .main_nav_menu .nav-link:focus-visible {
    border-bottom-color: currentColor;
    color: var(--lb-on-site-color);
}

@media (max-width: 767.98px) {
    h1 {
        line-height: 1.2;
        font-size: 1.9rem;
    }

    header .main_nav_menu {
        --bs-nav-link-padding-y: 0.5rem;
        --bs-nav-link-font-size: 1.5rem;
        column-gap: 0;
        padding-bottom: 0;
    }

    header .main_nav_menu .nav-link:hover {
        border-bottom-color: transparent;
    }
}

@media (forced-colors: active) {
    h1 em {
        background-image: none;
        -webkit-text-fill-color: currentColor;
    }
}

@media (prefers-reduced-motion: reduce) {
    .other-sites-list .btn::after {
        transition: none;
    }
}

footer .credits-row {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

footer .credits-row .footer_nav_menu {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.2rem;
    --bs-nav-link-color: #fff;
    --bs-nav-link-hover-color: #fff;
    column-gap: 1rem;
}

footer .credits-row .footer_nav_menu .nav-link {
    border-bottom: 1px solid transparent;
}

footer .credits-row,
footer .credits-row a,
footer .credits-row a:hover {
    color: #fff;
}

footer .credits-row a:hover {
    border-bottom: 1px solid #fff;
}

footer .credits-row p {
    margin-bottom: 0;
}
