:root {
    --jb-paper: #f7f5ef;
    --jb-white: #fff;
    --jb-ink: #172538;
    --jb-navy: #112c49;
    --jb-blue: #174f83;
    --jb-mist: #e5edf3;
    --jb-line: #d5e0e8;
    --jb-heading: Georgia, "Times New Roman", serif;
    --jb-body: system-ui, sans-serif;
    --jb-space: clamp(2rem, 5vw, 4.5rem);
}

body {
    background-color: var(--jb-paper);
    color: var(--jb-ink);
    font-family: var(--jb-body);
    line-height: 1.65;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #ba6316;
    outline-offset: 4px;
}

#header.header-standard {
    background: var(--jb-white);
    border-bottom: 1px solid var(--jb-line);
}

#header.header-standard .navbar .logo img {
    max-width: min(185px, 54vw);
    height: auto;
}

#header.header-standard .navbar {
    min-height: 74px;
}

#header.header-standard .navbar-nav > li > a {
    font-family: var(--jb-body);
    font-weight: 650;
    letter-spacing: .01em;
    text-transform: none;
}

#header.header-standard .navbar-nav > li > a:hover,
#header.header-standard .navbar-nav > .current-menu-item > a {
    color: var(--jb-blue);
    text-decoration: underline;
    text-underline-offset: .3em;
}

.header-standard .header-quote .quote-btn,
.event_list_wrapper .btn,
.jb-recycling .elementor-button {
    border-radius: .375rem;
    background: var(--jb-blue);
    color: var(--jb-white);
    font-family: var(--jb-body);
    font-weight: 650;
    text-transform: none;
    letter-spacing: normal;
}

.home .elementor-widget-heading h1.elementor-heading-title,
.home .elementor-widget-heading h2.elementor-heading-title,
.home .event_list_wrapper .event-title,
.xs-footer-classic .widget-title {
    font-family: var(--jb-heading);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.home .elementor-widget-text-editor a,
.xs-footer-classic .footer-widget a,
.jb-bookshelves a {
    text-decoration: underline;
    text-underline-offset: .18em;
    overflow-wrap: anywhere;
}

.event_list_wrapper {
    border: 1px solid var(--jb-line);
    border-radius: .75rem;
    background-color: var(--jb-white);
}

.event_list_wrapper .event-title a {
    color: var(--jb-blue);
    overflow-wrap: anywhere;
}

.xs-footer.xs-footer-classic,
.jb-bookshelves {
    background-color: var(--jb-navy);
    color: var(--jb-white);
    padding-block: var(--jb-space);
}

.xs-footer.xs-footer-classic .widget-title,
.xs-footer.xs-footer-classic a,
.jb-bookshelves .elementor-heading-title,
.jb-bookshelves a {
    color: var(--jb-white);
}

.xs-footer.xs-footer-classic > .container > .row {
    row-gap: 2rem;
}

.xs-footer-classic .footer-widget img,
.jb-bookshelves img {
    max-width: 100%;
    height: auto;
}

.copy-right {
    border-top: 1px solid #58718c;
    background-color: #0d2339;
    color: var(--jb-white);
}

.copy-right a {
    color: inherit;
    text-underline-offset: .18em;
}

/* Optional classes for the existing Elementor sections. */
.jb-intro,
.jb-news {
    padding-block: var(--jb-space);
}

.jb-recycling {
    background-color: var(--jb-mist);
    border-block: 1px solid var(--jb-line);
    padding-block: var(--jb-space);
}

.jb-recycling .elementor-heading-title,
.jb-news .elementor-heading-title {
    font-family: var(--jb-heading);
    font-weight: 500;
    text-transform: none;
}

.jb-news .elementor-widget-text-editor li + li {
    margin-block-start: .55em;
}

@media (max-width: 767px) {
    #header.header-standard .navbar {
        min-height: 64px;
    }

    #header.header-standard .navbar-toggler {
        min-width: 44px;
        min-height: 44px;
    }

    .event_list_wrapper .event-content {
        overflow-wrap: anywhere;
    }

    .xs-footer.xs-footer-classic > .container > .row {
        row-gap: 1.5rem;
    }
}
