/* Loaded after the legacy theme bundle; no legacy Sass build is required. */
.skip-to-content {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 10000;
    padding: 12px 18px;
    background: #fff;
    color: #1d375c;
    font-weight: 700;
    transform: translateY(-200%);
}
.skip-to-content:focus { transform: translateY(0); }
#main-content { scroll-margin-top: 110px; }
#main-content:focus { outline: none; }

/* These two colors provide at least 4.5:1 for normal-size button text. */
.hero.home .btn-primary { background: #007b86; color: #fff; }
.hero.home .btn-secondary { background: #fff; color: #007b86; border-color: #007b86; }
.hero.home .btn-primary:hover,
.hero.home .btn-primary:focus { background: #00616a; color: #fff; }
.hero.home .btn-secondary:hover,
.hero.home .btn-secondary:focus { background: #e7f4f5; color: #00616a; }

header nav ul.navigation > li > .nav-disclosure[aria-expanded="false"] + ul.dropdown-content { display: none; }
header nav ul.navigation > li > .nav-disclosure[aria-expanded="true"] + ul.dropdown-content { display: block; }

.calendar-filter .calendar-field-label {
    display: block;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    margin-bottom: 4px;
}
.calendar-filter .search .calendar-field-label { padding-left: 28px; }
.calendar-filter .filter-by-type .calendar-type-filter {
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    line-height: inherit;
    text-align: left;
    padding: 0;
    margin: 0;
    max-width: calc(100% - 32px);
    vertical-align: top;
}
.calendar-filter .calendar-type-filter[aria-pressed="true"] { text-decoration: underline; }
.calendar-nav button {
    appearance: none;
    display: inline-block;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0 12px 0 0;
    font: inherit;
    font-size: 28px;
    color: #666;
    cursor: pointer;
}
.calendar-nav button:hover { color: #007b86; }
.calendar-filter #go { margin-top: 24px; }
.calendar-filter #go,
.calendar-filter #use_my_location { font-family: inherit; }
.calendar-nav button:focus-visible,
.calendar-type-filter:focus-visible,
.calendar-filter input:focus-visible,
.calendar-filter select:focus-visible,
.calendar-filter button:focus-visible,
.nav-disclosure:focus-visible,
.hamburger:focus-visible {
    outline: 2px solid #1d375c;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}

/* Keep typography unchanged when removing presentation-only heading levels. */
footer .col.right .footer-phone {
    font-size: 24px;
    line-height: 38px;
    font-weight: 300;
    margin: 0;
    padding: 0;
}
footer .col.right .footer-phone a { display: block; color: #fff; text-decoration: none; }
footer .col.right .footer-phone a:hover { color: #f9dc5c; }
footer .col.right .footer-phone a:active { color: #90d0d6; }
.blade .blade-eyebrow {
    color: #008c99;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
}
.blade h2.section-title {
    width: auto;
    color: #008c99;
    font-size: 40px;
    line-height: 44px;
    font-weight: 300;
    margin: 10px 0 0;
    padding: 20px 0;
}
.contact-section-heading { font-size: 1.17em; margin-block: 1em; }
