/* =============================================================================
   ISLAND HEALTH — CUSTOM OVERRIDES
   =============================================================================
   Consolidated from 10 CSS Injector blocks (Nov 2025 - Feb 2026)
   by Stephen, Feb 2026

   Source files merged:
     1. General_Site_Accessibility_Fixes_by_Stephen.css
     2. New_Font_Sizes_2025.css
     3. H4_-_Remove_letter_spacing.css
     4. New_logo_Nov_2025.css
     5. Header_changes_Dec_2025.css
     6. Mobile_Nav_sticky_header_Jan_2026.css
     7. new_top_navigation_feb_2026.css
     8. Tablet_one_line_nav_menu.css
     9. emergency_care_button_feb_2026.css
    10. Find_Care_Now_Card_Fixes.css

   TABLE OF CONTENTS
   -----------------
   1.  BASE / GENERAL
   2.  TYPOGRAPHY
   3.  LINKS
   4.  HEADER — DESKTOP (Top Bar + Bottom Bar)
   5.  HEADER — SEARCH
   6.  HEADER — MOBILE / TABLET
   7.  MOBILE NAV MENU
   8.  MOBILE SEARCH OVERLAY
   9.  EMERGENCY CARE BUTTON
  10.  HOMEPAGE — HERO / BANNER
  11.  HOMEPAGE — CARDS & SECTIONS
  12.  HOMEPAGE — NEWS
  13.  CONTENT PAGES
  14.  SIDEBAR
  15.  FIND CARE NOW PAGE
  16.  PAGINATION
  17.  FOOTER
  18.  MISCELLANEOUS
   ============================================================================= */


/* =============================================================================
   1. BASE / GENERAL
   ============================================================================= */

body,
.main__wrapper {
    background-color: #F8F9F9;
}

/* Remove coloured bars at top/bottom of site */
header {
    padding-top: 0;
    background: none;
}

footer.footer {
    padding-bottom: 0;
    background: none;
}

/* Grey zebra-stripe blocks */
.layout__region--zebra .field:nth-child(odd) {
    background-color: #F8F9F9;
}

/* Turn off white social-sharing block background */
#block-socialsharing {
    background: none;
}

/* Mobile base font-size tweak */
@media (max-width: 767px) {
    html {
        font-size: 56.25%;
    }
}

/* Flip sidebar to bottom on smaller screens — DISABLED FOR NOW
@media (max-width: 1199px) {
    .main__wrapper > .main-container.container.js-quickedit-main-content > .row {
        display: flex;
        flex-direction: column;
    }
    .main__wrapper > .main-container.container.js-quickedit-main-content > .row > aside.col-lg-4 {
        order: 999;
    }
}
*/


/* =============================================================================
   2. TYPOGRAPHY
   ============================================================================= */

/* --- Headings --- */
.region.region-content h1,
.region.region-content h2,
.region.region-content h3,
.region.region-content h4 {
    font-weight: bold;
    text-wrap: pretty;
}

.region.region-content h1 {
    font-size: 4rem;
    line-height: 1.25;
}

.region.region-content h2 {
    font-size: 3rem;
    line-height: 1.25;
}

.region.region-content h4 {
    font-size: 1.9rem;
    color: #333;
}

.region.region-content h5 {
    font-size: 2.1rem;
}

h4 {
    letter-spacing: 0 !important;
}

/* List-block headings */
.layout__inner .block-inline-blocklist-block h2.block-title {
    font-size: 3.4rem !important;
}

/* Mobile heading sizes */
@media (max-width: 767px) {
    .region.region-content h1 {
        font-size: 3.4rem;
        line-height: 1.25;
    }
    .region.region-content h2 {
        font-size: 2.8rem;
        line-height: 1.25;
    }
    .layout__inner .block-inline-blocklist-block h2.block-title {
        font-size: 3.0rem !important;
    }
}

/* --- Body text elements --- */
.content blockquote {
    font-size: 1.9rem;
}

.content table {
    font-size: 1.8rem;
}

.emphasis-block__body {
    font-size: 1.9rem;
}

/* Page image card titles */
.views-view-grid .views-field.views-field-title {
    font-weight: 700;
    line-height: 3rem;
}

/* Date in article cards */
h4 time {
    font-size: 1.4rem;
    color: #555;
}

h4 > time {
    font-size: 1.5rem;
}

/* Darker text for typed search query */
header .header__main .form-control {
    color: #222;
}


/* =============================================================================
   3. LINKS
   ============================================================================= */

a {
    color: var(--color-link);
}

a:hover {
    color: var(--color-link-hover);
}

a:active {
    color: #00558C;
}

/* Main content area links — underlined by default */
.field--item a,
.field-content a,
.region.region-content p a {
    color: var(--color-link);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.field--item a:hover,
.field-content a:hover,
.region.region-content p a:hover {
    color: var(--color-link-hover);
    text-decoration: none;
}

/* Button overrides (prevent underline link colour bleeding in) */
.field--item .btn-red {
    color: #fff;
    text-decoration: none;
}
.field--item .btn-red:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.field--item .btn-blue {
    color: #212121;
    text-decoration: none;
}
.field--item .btn-blue:hover {
    color: #212121;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Accordion + nav links — no underline by default */
.ckeditor-accordion-container > dl.styled > dt a,
header #block-mainnavigation .nav > li > a,
.layout__region.layout__region--below_zebra a,
header #block-secondarynavigation .nav > li > a {
    color: #222;
    text-decoration: none;
}

/* General nav hover underline */
.nav > li > a:hover,
.nav > li > a:focus,
.nav > li > ul > li > a:hover,
.nav > li > ul > li > a:focus,
.nav > li > ul > li > ul > li > a:hover,
.nav > li > ul > li > ul > li > a:focus,
.nav > li > ul > li > ul > li > ul > li > a:hover,
.nav > li > ul > li > ul > li > ul > li > a:focus {
    text-decoration: underline;
    text-underline-offset: 2px;
}


/* =============================================================================
   4. HEADER — DESKTOP (Top Bar + Bottom Bar)
   ============================================================================= */

/* --- Colour bars --- */
.header__topbar {
    background: #FFFFFF;
}

.header__bottombar {
    background: var(--color-blue-35);
}

.header__topbar-inner,
.header__bottombar-inner {
    min-height: 66px;
    width: 100%;
}

header .header__main {
    background-color: #003C66;
    padding-top: 0;
}

/* --- Flex layout --- */
.header__topbar-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header__bottombar-inner {
    display: flex;
    align-items: center;
    gap: 0;
}

/* Top bar columns */
.header__topbar-left  { flex: 0 0 auto; }
.header__topbar-center {
    flex: 1 1 auto;
    display: flex;
    justify-content: right;
    min-width: 280px;
}
.header__topbar-right {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
}
.header__topbar-right .col-sm-2.col-md-4 {
    padding-right: 0;
}

/* Bottom bar columns */
.header__bottombar-left {
    flex: 0 0 auto;
    min-width: 0;
}
.header__bottombar-right {
    flex: 1 1 auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}

/* --- Logo --- */
.header__logo {
    display: block;
    height: 44px;
    width: auto;
}

header .header__logo {
    margin-top: 2px;
}

/* Desktop logo alignment */
body > header.header.visible-lg-block > div.header__main > div > div {
    display: flex;
}
div.header__main > div > div > div.col-sm-2 {
    align-self: end;
    padding-bottom: 26px;
}

.header__main .col-sm-2.col-md-4,
.header__main .col-sm-6.col-md-4 {
    width: auto;
}

@media (min-width: 992px) {
    .header__main .col-sm-2.col-md-4 {
        padding-top: 0;
    }
}

/* --- Main navigation (desktop) --- */
section#block-mainnavigation {
    display: flex;
}

.header__bottombar-left section#block-mainnavigation {
    margin-bottom: 0;
}

header #block-mainnavigation {
    margin-bottom: 16px;
}

#block-mainnavigation > ul.menu.nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 780px;
}

#block-mainnavigation > ul.menu.nav::before,
#block-mainnavigation > ul.menu.nav::after {
    display: none;
}

.header__bottombar-left > div > #block-mainnavigation > ul > li > a {
    padding: 0;
    margin: 0 34px 0 0;
}

/* Remove gap to right of last nav item */
.region-navigation .menu.nav > li:last-child a {
    padding-right: 0;
}

/* Main nav link colours */
header #block-mainnavigation .nav > li > a {
    color: #fff;
}

header #block-mainnavigation .nav > li > a:hover,
header #block-mainnavigation .nav > li > a:focus,
header #block-secondarynavigation .nav > li > a:hover,
header #block-mainnavigation .nav > li.active a:hover {
    color: #DBEEFF;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

/* Active nav item indicator */
header #block-mainnavigation .nav > li.active a {
    color: #fff;
    text-decoration: none;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

section#block-mainnavigation ul.menu.nav li.active a {
    text-decoration-thickness: 3px !important;
    text-decoration-color: #0097F2 !important;
    text-underline-offset: 7px !important;
    text-decoration: underline;
}

section#block-mainnavigation ul.menu.nav li.active a:hover {
    text-decoration-thickness: 1px !important;
    text-decoration-color: #DBEEFF !important;
    text-underline-offset: 5px !important;
    text-decoration: underline;
}

/* Triangle below active section (desktop) */
header #block-mainnavigation .nav > li.active a::after {
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid transparent;
    position: absolute;
    bottom: -22px;
}

/* --- Secondary navigation --- */
header #block-secondarynavigation .nav > li > a {
    color: #fff;
    text-transform: none;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: .25px;
}

section#block-secondarynavigation a {
    font-weight: 400 !important;
    font-size: 1.6rem !important;
}

/* Secondary nav separator */
#block-secondarynavigation > ul > li > a {
    padding-left: 10px;
    padding-right: 10px;
}
#block-secondarynavigation > ul > li:nth-child(1) > a {
    border-left: 1px solid rgba(255, 255, 255, 0.4);
    padding-left: 24px;
}
.header__bottombar-right section#block-secondarynavigation a {
    padding-top: 1px;
    padding-bottom: 2px;
}

/* Active secondary nav item (mobile) */
section#block-secondarynavigation-2 li.expanded.dropdown.active {
    text-decoration-thickness: 3px !important;
    text-decoration-color: #0097F2 !important;
    text-underline-offset: 7px !important;
    text-decoration: underline;
}

/* --- Universal / utility navigation --- */
header .header__universal_nav {
    background-color: #F8F9F9;
    color: #bbb;
    padding: 6px 0;
}

header #block-universalmenu-3 {
    text-align: right;
}

header #block-universalmenu-3 a {
    color: #00558C;
    font-weight: 400;
    text-transform: none;
    font-size: 1.6rem;
    letter-spacing: 0;
    text-decoration: none;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

header #block-universalmenu-3 a:hover {
    text-decoration: underline !important;
    color: #003C66;
}

section#block-universalmenu-3 > ul.menu.nav {
    display: flex;
    justify-content: space-between;
}

section#block-universalmenu-3 > ul.menu.nav > li > a {
    color: var(--color-link);
}
section#block-universalmenu-3 > ul.menu.nav > li > a:hover {
    color: var(--color-link-hover);
}

.header__bottombar-left a:focus,
.header__secondary-inline a:focus{
    outline: 4px solid var(--color-blue-75);
    outline-offset: 2px;
    border-radius: 2px;
}

section#block-universalmenu-3 > ul.menu.nav > li > a:focus {
    outline: 4px solid var(--color-blue-60);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Universal menu spacing / dividers */
header #block-universalmenu-3 .nav > li:not(:last-of-type)::after {
    padding: 0 10px;
    content: " ";
}
header #block-universalmenu-3 .nav > li:last-of-type::before {
    padding: 0 12px 0 0;
    content: "|";
    font-weight: 400 !important;
    color: var(--color-grey-75);
}

section#block-universalmenu-3 span.fa-external-link {
    font-size: 1.2rem;
    padding-left: 4px;
}

/* MyHealth link bold */
a.myhealth-nav {
    font-weight: 700 !important;
}

/* Hide home link in top nav */
ul.nav.nav-homelink.no-link {
    display: none;
}

/* --- Alert tweaks (desktop) --- */
header #block-secondarynavigation .nav > li > a.alerts-active {
    color: #fff;
    font-weight: 700 !important;
}

header #block-secondarynavigation .nav > li > a.alerts-active:hover,
header #block-secondarynavigation .nav > li > a.alerts-active:focus {
    color: #DBEEFF;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}


/* =============================================================================
   5. HEADER — SEARCH
   ============================================================================= */

/* Constrain search width */
.header__topbar-center .region-search {
    width: 100%;
    max-width: 560px;
}

.header__search-inline .form-group {
    margin-bottom: 0;
}

.header__topbar-inner .form-group {
    margin-bottom: 0;
}

.region-search .form-text {
    background-color: var(--color-grey-85);
    border-radius: 8px;
}

@media (max-width:1199px) {
    .region-search .form-text {
        background-color: var(--color-grey-90);
    }
}

header .header__main .form-control {
    height: 44px;
    color: var(--color-blue-15);
}

header .header__main .form-control,
header .header__main .form-control:hover,
header .header__main .form-control:focus {
    border: 1px solid #ffffff;
}

header .header__main .form-control:focus {
    outline: 4px solid var(--color-blue-75);
    outline-offset: 2px;
}

.form-control:focus,
.dropdown-toggle:focus {
    outline: #019ca9;
}

/* Search submit button */
#block-searchform-3 .btn-primary {
    background-color: #fff;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    height: 44px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    color: var(--color-blue-35);
}

#block-searchform-3 .btn-primary:hover {
    background-color: var(--color-blue-25);
    border-top: 1px solid #E2E2E2;
    border-right: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
    color: #FFFFFF;
}

@media (max-width:1199px) {
    #block-searchform-3 .btn-primary {
        background-color: var(--color-blue-35);
        color: #fff;
    }
}

/* Search placeholder text (desktop) */
.main-search::placeholder             { color: var(--color-blue-35) !important; }
.main-search::-webkit-input-placeholder { color: var(--color-blue-35) !important; }
.main-search::-moz-placeholder         { color: var(--color-blue-35) !important; }
.main-search:-ms-input-placeholder      { color: var(--color-blue-35) !important; }

/* Search placeholder text (mobile) */
@media (max-width: 1199px) {
    .main-search::placeholder             { color: var(--color-blue-15) !important; }
    .main-search::-webkit-input-placeholder { color: var(--color-blue-15) !important; }
    .main-search::-moz-placeholder         { color: var(--color-blue-15) !important; }
    .main-search:-ms-input-placeholder      { color: var(--color-blue-15) !important; }
}


/* =============================================================================
   6. HEADER — MOBILE / TABLET
   ============================================================================= */

/* --- Mobile header base --- */
@media (max-width: 1199px) {
    header.header__mobile.hidden-lg {
        background-color: #fff;
        padding-bottom: 0 !important;
    }
}

/* Reorder mobile header elements */
header.header__mobile.hidden-lg {
    display: flex;
    flex-direction: column;
    border-bottom: 6px solid var(--color-blue-35);
}

.header__mobile--navitems { order: 1; }
.header__mobile--search-field { order: 2; }
.header__mobile--navigation { order: 3; }

.header__mobile--navitems {
    justify-content: right;
}

/* Mobile nav items spacing */
@media (max-width: 1199px) {
    .header__mobile--navitems {
        padding: 15px 15px 4px 15px;
    }
}

/* --- Mobile search field --- */
@media (max-width: 1199px) {
    .header__mobile--search-field #block-searchform-3 {
        margin: 10px auto 0;
    }

    .header__mobile--search-field #block-searchform-3 .form-control {
        color: var(--color-blue-15);
        height: 44px;
    }

    .header__mobile--search-field #block-searchform-3:hover .form-control {
        border: 1px solid var(--color-blue-35)!important;
    }

    .header__mobile--search-field #block-searchform-3 .form-control:focus {
        border: 1px solid var(--color-blue-35)!important;
        outline: 4px solid var(--color-blue-60);
        outline-offset: 2px;
    }

    .form-control:focus {
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .header__mobile--search-field #block-searchform-3 .button#edit-submit {
        border-top: 1px solid var(--color-blue-35);
        border-right: 1px solid var(--color-blue-35);
        border-bottom: 1px solid var(--color-blue-35);
    }

    .header__mobile--search-field #block-searchform-3:hover .button#edit-submit,
    .header__mobile--search-field #block-searchform-3:focus .button#edit-submit {
        border-top: 1px solid var(--color-blue-35);
        border-right: 1px solid var(--color-blue-35);
        border-bottom: 1px solid var(--color-blue-35);
    }

    .header__mobile--search-field #block-searchform-3 .button#edit-submit:hover {
        background-color: var(--color-blue-25);
        border-top: 1px solid var(--color-blue-25);
        border-right: 1px solid var(--color-blue-25);
        border-bottom: 1px solid var(--color-blue-25);
        border-left: none;
        color: #FFFFFF;
    }
}

/* --- Sticky mobile header (hide on scroll down / show on scroll up) --- */
@media (max-width: 767px) {
    header.header__mobile.hidden-lg {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        transform: translateY(0);
        transition: transform 180ms ease;
        will-change: transform;
        max-height: 100vh;
        overflow: visible;
    }

    header.header__mobile.hidden-lg.is-hidden-on-scroll {
        transform: translateY(-100%);
    }

    body {
        padding-top: 64px;
    }

    /* Scrollable navbar collapse */
    header.header__mobile.hidden-lg .navbar-collapse {
        max-height: calc(100vh - 64px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .header__mobile--navigation {
        min-height: 0;
    }
}

/* --- Logo (mobile/tablet) --- */
.header__mobile--logo {
    flex: 0 0 auto;
    margin-right: auto;
}

@media (min-width: 511px) {
    .header__mobile--logo img,
    .header__mobile--logo {
        min-width: 200px;
        width: 200px;
        margin-right: auto;
    }
    header .header__logo {
        min-width: 200px;
    }
}

@media (min-width: 480px) and (max-width: 991px) {
    .header__mobile--logo img,
    .header__mobile--logo {
        min-width: 160px;
        width: 160px;
        height: 23px;
    }
}

@media (max-width: 479px) {
    .header__mobile--logo img {
        min-width: 160px !important;
        width: 160px;
        height: 23px;
    }
}

/* --- Flex items (mobile top bar) --- */
@media (min-width: 688px) and (max-width: 1199px) {
    .header__mobile--logo,
    .header__mobile--nav,
    .header__mobile--search {
        flex: unset;
    }
}

@media (max-width: 767px) {
    .header__mobile--navitems {
        display: flex;
        align-items: center;
        gap: 0px;
        padding: 10px 15px;
    }

    .header__mobile--nav,
    .header__mobile--navitems > .btn-find-care {
        flex: 0 0 auto;
    }

    .header__mobile--search { flex: 0 0 44px; }
    .header__mobile--nav    { flex: 0 0 44px; }

    .header__mobile--nav .navbar {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    /* Force icon buttons to 44×44 */
    .header__mobile-search-btn,
    .header__mobile--nav .burger-wrapper {
        width: 44px !important;
        height: 44px !important;
    }

    .navbar::before,
    .navbar::after {
        display: none !important;
        content: none !important;
    }

    /* Hide original mobile search bar */
    body > header.header__mobile.hidden-lg > div.header__mobile--search-field {
        display: none;
    }

    .header__mobile--navigation {
        order: 2;
        margin-top: 0;
    }

    .header__mobile--search-field .form-item.js-form-item.form-type-textfield.js-form-type-textfield.form-item-k.js-form-item-k.form-no-label.form-group {
        margin-top: 0;
    }
}

/* --- Find Care button positioning (mobile) --- */
@media (max-width: 767px) {
    a.btn.btn-find-care {
        position: absolute;
        left: 110px;
        margin-right: auto;
    }
}

@media (max-width: 338px) {
    a.btn.btn-find-care {
        position: absolute;
        left: 98px;
    }
}

@media (max-width: 1199px) {
    a.btn.btn-find-care {
        position: unset;
        top: unset;
        left: unset;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    a.btn.btn-find-care {
        position: relative;
        top: 0;
        left: 0;
    }
    .header__mobile--search-field {
        order: unset;
    }
}

/* --- Hamburger menu button --- */
button.burger-wrapper.collapsed.btn.btn-primary {
    min-height: 44px;
    line-height: 20px;
}

button.burger-wrapper.collapsed.btn.btn-primary:focus {
    outline: 4px solid var(--color-blue-60);
    outline-offset: 2px;
}

.header__mobile--nav .burger-wrapper {
    padding: 10px 16px;
    border-radius: 8px;
    min-height: 44px;
}

.header__mobile--nav .burger-wrapper::after {
    padding-top: 4px !important;
}

/* Hide "open" / "close" text */
@media (max-width: 767px) {
    .header__mobile--nav .burger-wrapper::after { content: ""; }
    .header__mobile--nav .burger-wrapper:not(.collapsed)::after { content: ""; }
    .header__mobile--nav .burger-wrapper { width: 50px; }

    .burger-wrapper {
        padding: 0 auto !important;
    }

    .header__mobile--nav .burger-wrapper {
        padding: 10px 13px;
        margin: 0 auto;
    }
}

@media (max-width: 360px) {
    .header__mobile--nav .burger-wrapper::after {
        font-size: 1.4rem;
    }
    .header__mobile--nav .burger-wrapper {
        width: 86px;
        margin-left: 4px;
        padding: 10px 12px;
    }
    .header__mobile--nav .burger-wrapper::after {
        left: 34px;
    }
}

.navbar-collapse {
    padding: 0;
    border-top: 1px solid #002440;
}

/* --- Tablet nav items --- */
@media (min-width: 768px) and (max-width: 991px) {
    .header__mobile--navitems {
        padding: 10px 15px;
        max-width: 750px;
        margin: 0 auto;
        width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .header__mobile--navitems {
        padding: 10px 0;
        max-width: 940px;
        margin: 0 auto;
        width: 100%;
    }
}

/* --- Tablet search field --- */
@media (min-width: 688px) and (max-width: 991px) {
    .header__mobile--search-field {
        max-width: 250px;
    } 
    .header__mobile--nav .burger-wrapper::after {
        content: unset;
    }
    .header__mobile--nav .burger-wrapper:not(.collapsed)::after {
        content: unset;
    }
    .header__mobile--nav .burger-wrapper {
        width: unset;
    }
}

.header__mobile--nav {
    margin-left: 8px;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .header__mobile--search-field {
        max-width: 350px;
    }    
}

@media (min-width:992px) {
    .header__mobile--nav .burger-wrapper {
        width:100px;
    }
}

@media (min-width: 688px) and (max-width: 1199px) {
    .header__mobile--search-field {
        position: absolute;
        top: 10px;
        right: unset;
        height: 44px;
        left: 50%;
        transform: translateX(-64%);
    }

    .header__mobile--search-field #block-searchform-3 .form-control {
        border: 1px solid var(--color-blue-35) !important;
        color: var(--color-blue-15);
        height: 44px;
    }

    .header__mobile--search-field #block-searchform-3 {
        margin-top: 0;
    }

    #block-searchform-3 .btn-primary {
        height: 44px;
    }

    .header__mobile--navigation {
        order: 3;
        margin-top: 0;
    }
}

@media (max-width: 1199px) {
    #block-searchform-3 .btn-primary:focus{
        outline: 4px solid var(--color-blue-60);
        outline-offset: 2px;
        border-radius: 2px;
    }
}

@media (min-width: 1200px) {
    #block-searchform-3 .btn-primary:focus{
        outline: 4px solid var(--color-blue-75);
        outline-offset: 2px;
        border-radius: 2px;
    }
}


/* =============================================================================
   7. MOBILE NAV MENU
   ============================================================================= */

/* --- Main + Secondary links --- */
.header__mobile--navigation #block-mainnavigation-3 ul li a,
.header__mobile--navigation #block-mainnavigation-3 ul li.expanded a,
.header__mobile--navigation #block-secondarynavigation-2 ul li a,
.header__mobile--navigation #block-secondarynavigation-2 ul li.expanded a {
    background: #003C66;
    color: #fff;
    border-bottom: 1px solid #002440;
    font-size: 2.2rem;
    padding: 13px 20px;
}

/* Expanded nav item styling */
.header__mobile--navigation #block-mainnavigation-3 ul li.expanded a {
    text-decoration-thickness: 3px !important;
    text-decoration-color: #0097F2 !important;
    text-underline-offset: 7px !important;
    text-decoration: underline;
}

.header__mobile--navigation #block-mainnavigation-3 ul li.expanded,
.header__mobile--navigation #block-secondarynavigation-2 ul li.expanded {
    background: #003C66;
    padding-bottom: 0;
}

/* Hover — non-pointer/touch screens */
@media (max-width: 1199px) {
    .header__mobile--navigation #block-mainnavigation-3 ul li a:hover,
    .header__mobile--navigation #block-mainnavigation-3 ul li.expanded a:hover,
    .header__mobile--navigation #block-secondarynavigation-2 ul li a:hover,
    .header__mobile--navigation #block-secondarynavigation-2 ul li.expanded a:hover {
        background: #003C66;
        text-decoration: none;
    }
}

/* Hover — desktop / pointer-enabled devices */
@media (hover: hover) and (pointer: fine) {
    .header__mobile--navigation #block-mainnavigation-3 ul li a:hover,
    .header__mobile--navigation #block-mainnavigation-3 ul li.expanded a:hover,
    .header__mobile--navigation #block-secondarynavigation-2 ul li a:hover,
    .header__mobile--navigation #block-secondarynavigation-2 ul li.expanded a:hover {
        background: #00355b;
        text-decoration-color: #DBEEFF !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 5px !important;
        text-decoration: underline;
    }
}

/* Active state */
.header__mobile--navigation #block-mainnavigation-3 ul li a:active,
.header__mobile--navigation #block-mainnavigation-3 ul li.expanded a:active,
.header__mobile--navigation #block-secondarynavigation-2 ul li a:active,
.header__mobile--navigation #block-secondarynavigation-2 ul li.expanded a:active,
.header__mobile--navigation #block-mainnavigation-3 ul li:active,
.header__mobile--navigation #block-mainnavigation-3 ul li.expanded:active,
.header__mobile--navigation #block-secondarynavigation-2 ul li:active,
.header__mobile--navigation #block-secondarynavigation-2 ul li.expanded:active {
    background: #002b4c;
}

/* --- Universal menu (mobile) --- */
.header__mobile--navigation #block-universalmenu-2 h4 {
    background: #00558C;
    color: #fff;
    text-transform: capitalize;
}

.header__mobile--navigation #block-universalmenu-2 ul li a,
.header__mobile--navigation #block-universalmenu-2 ul li.expanded a {
    background: #00558C;
    color: #fff;
    border-bottom: 1px solid #002440;
    padding: 10px 20px;
}

@media (max-width: 1199px) {
    .header__mobile--navigation #block-universalmenu-2 ul li a:hover,
    .header__mobile--navigation #block-universalmenu-2 ul li.expanded a:hover {
        background: #00558C;
        text-decoration: none;
    }
}

@media (hover: hover) and (pointer: fine) {
    .header__mobile--navigation #block-universalmenu-2 ul li a:hover,
    .header__mobile--navigation #block-universalmenu-2 ul li.expanded a:hover {
        background: #004979;
        text-decoration-color: #DBEEFF !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 5px !important;
        text-decoration: underline;
    }
}

.header__mobile--navigation #block-universalmenu-2 ul li a:active,
.header__mobile--navigation #block-universalmenu-2 ul li.expanded a:active,
.header__mobile--navigation #block-universalmenu-2 ul li:active,
.header__mobile--navigation #block-universalmenu-2 ul li.expanded:active {
    background: #002b4c;
}

/* Hide expanded dropdown submenu */
#block-mainnavigation-3 > ul > li.expanded.dropdown.active > ul {
    display: none;
}

/* --- Alerts (mobile) --- */
span.alerts-active-number {
    background-color: #97281a;
    color: #ffffff;
    padding: 2px;
    font-size: 1.2rem;
    border-radius: 8px;
    height: 16px;
    width: 16px;
    position: absolute;
    top: 10px;
    line-height: 12px;
    text-align: center;
}

section#block-secondarynavigation-2 a.alerts-active {
    font-weight: 700 !important;
}

.header__mobile--navigation #block-secondarynavigation-2 ul li a.alerts-active[title="Health Alerts"] {
    background: #002e50;
}

.header__mobile--navigation #block-secondarynavigation-2 ul li a.alerts-active[title="Health Alerts"]:active {
    background: #002948;
}

@media (hover: hover) and (pointer: fine) {
    .header__mobile--navigation #block-secondarynavigation-2 ul li a.alerts-active[title="Health Alerts"]:hover {
        background: #002948;
    }
}

/* Mobile menu heading */
h4#block-mainnavigation-2-menu {
    font-size: 17px;
}

h4#block-mainnavigation-2-menu a:hover {
    color: #003C66;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Adding Emergency care button into nav menu on small screens when there is no room for it outside the collapsible nav */
@media (min-width:481px) {
    section#block-ih-main-emergencycare li {
        display:none;
    }
}
@media (max-width:480px) {
    .navbar-collapse {
        padding: 0;
        border-top: 0px solid #002440;
    }
}

section#block-ih-main-emergencycare a {
    margin-bottom: 0;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    position: relative;
    top: 0;
    left: 0;
    font-family: "BC Sans", Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 4px 10px 4px 16px;
    border: 1.5px solid var(--color-red-35);
    border-radius: 8px;
    font-weight: 700;
    text-underline-offset: 2px;
    text-decoration: none !important;
    color: var(--color-red-35) !important;
    background: none;
    font-size: 1.9rem;
    height: 44px;
    margin:0px 20px 10px 20px;
    background: #fff;
}

section#block-ih-main-emergencycare a::after {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-color: var(--color-red-35);
    -webkit-mask: url(/themes/ih_main/images/emergency-care-cross.svg) no-repeat center / contain;
    mask: url(/themes/ih_main/images/emergency-care-cross.svg) no-repeat center / contain;
    text-align: right;
}

section#block-ih-main-emergencycare li {
    background: #fff;
    border-bottom:0px solid #002440;
}


/* =============================================================================
   8. MOBILE SEARCH OVERLAY
   ============================================================================= */

@media (max-width: 767px) {

    /* Search icon button */
    .header__mobile-search-btn {
        width: 44px;
        height: 44px;
        border-radius: 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--color-blue-35);
        border: none;
        padding: 0;
        margin: 0;
        color: #fff;
        cursor: pointer;
    }

     /* Hover (mouse / trackpad only) */
    @media (hover: hover) and (pointer: fine) {
      .header__mobile-search-btn:hover,
      .header__mobile--nav .burger-wrapper:hover,
        .header__mobile--search-field #block-searchform-3 .button#edit-submit:hover,
         .header__mobile-search-close:hover {
        background: var(--color-blue-25);
        border: 1px solid var(--color-blue-25);
      }
    }
    
     /* Touch feedback (finger press only) */
    @media (hover: none) and (pointer: coarse) {
      .header__mobile-search-btn:active,
      .header__mobile--nav .burger-wrapper:active,
        .header__mobile--search-field #block-searchform-3 .button#edit-submit:active,
         .header__mobile-search-close:active {
        background: var(--color-thistle-35);
        border: 1px solid var(--color-thistle-35);
      }
    }
    
     /* Keyboard focus (always visible) */
    .header__mobile-search-btn:focus-visible,
    .header__mobile--nav .burger-wrapper:focus-visible,
    .header__mobile--search-field #block-searchform-3 .button#edit-submit:focus-visible,
     .header__mobile-search-close:focus-visible {
      outline: 3px solid var(--color-blue-75);
      outline-offset: 3px;
    }

    .header__mobile-search-btn:focus {
        outline: 1px solid #fff;
        outline-offset: 2px;
    }

    /* Overlay panel */
    .header__mobile-search-panel {
        position: fixed;
        top: 0 !important;
        left: 0;
        right: 0;
        z-index: 1100;
        background: #fff;
        height: 64px;
        padding: 0 12px;
        display: flex;
        align-items: center;
        gap: 10px;
        box-sizing: border-box;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 150ms ease, transform 150ms ease;
    }

    .header__mobile.is-search-open .header__mobile-search-panel {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    /* Backdrop */
    .header__mobile-search-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1090;
        opacity: 0;
        pointer-events: none;
        transition: opacity 150ms ease;
    }

    .header__mobile.is-search-open .header__mobile-search-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    /* Hide header controls when search is open */
    .header__mobile.is-search-open .header__mobile--navitems {
        opacity: 0;
        pointer-events: none;
    }

    /* Search form inside overlay */
    .header__mobile-search-panel .header__mobile--search-field {
        position: fixed;
        margin-left: 54px !important;
        margin-right: 12px !important;
        top: 10px;
        flex: 1 1 auto;
        min-width: 0;
    }

    .header__mobile-search-panel form,
    .header__mobile-search-panel .form-group,
    .header__mobile-search-panel .form-item {
        margin: 0 !important;
    }

    .header__mobile-search-panel .form-control,
    .header__mobile-search-panel .main-search {
        height: 44px;
        width: 100%;
        font-size: 18px;
        border-radius: 8px;
        margin: 0 !important;
    }

    .header__mobile-search-panel .form-actions {
        margin: 0 !important;
    }

    .header__mobile-search-panel #edit-submit {
        height: 44px !important;
        min-width: 44px;
        border: none !important;
        border-radius: 0 8px 8px 0;
        padding: 0 14px;
    }

    .header__mobile-search-panel #edit-submit .button-label {
        display: none;
    }

    .header__mobile--search-field #block-searchform-3 .form-control {
        height: 44px;
    }

    .header__mobile--search-field #block-searchform-3 {
        margin: 0 auto 0;
    }

    /* Close button */
    .header__mobile-search-close {
        width: 44px;
        height: 44px;
        border-radius: 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--color-blue-35);
        border: 1px solid var(--color-blue-35);
        padding: 0;
        color: #fff;
        cursor: pointer;
    }

    /* Scrollable menu content */
    .header__mobile--navigation {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .header__mobile--navigation nav#block-universalmenu-2 ul.menu.nav {
        padding-bottom:100px;
        background-color: var(--color-blue-35);
    }
}


/* =============================================================================
   9. EMERGENCY CARE BUTTON
   ============================================================================= */

a.emergency-care-button.hero,
a.btn.btn-find-care {
    font-family: "BC Sans", Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 4px 10px 4px 16px;
    border: 1.5px solid var(--color-red-35);
    border-radius: 8px;
    font-weight: 700;
    text-underline-offset: 2px;
    text-decoration: none !important;
    color: var(--color-red-35) !important;
    background: none;
}

a.emergency-care-button.hero {
    font-size: 1.8rem;
    height: 49px;
    padding:10px 9px 10px 14px
}

a.btn.btn-find-care {
    font-size: 1.6rem;
    height: 44px;
}

/* Hide top nav button on small screens */
@media (max-width:480px) {
    .header__mobile--navitems .div-find-care {
        display:none;
    }
}

/* Hover (mouse / trackpad only) */
@media (hover: hover) and (pointer: fine) {
  a.emergency-care-button.hero:hover,
  a.btn.btn-find-care:hover {
    text-underline-offset: 2px;
    text-decoration: underline !important;
    color: #fff !important;
    border: 1.5px solid var(--color-red-35);
    background: var(--color-red-35);
  }
}

/* Touch feedback (finger press only) */
@media (hover: none) and (pointer: coarse) {
  a.emergency-care-button.hero:active,
  a.btn.btn-find-care:active {
    text-underline-offset: 2px;
    text-decoration: underline !important;
    color: #fff !important;
    border: 1.5px solid var(--color-red-35);
    background: var(--color-red-35);
  }
}

/* Keyboard focus (always keep this) */
a.emergency-care-button.hero:focus-visible,
a.btn.btn-find-care:focus-visible {
  text-underline-offset: 2px;
  text-decoration: underline !important;
  color: #fff !important;
  border: 1.5px solid var(--color-red-35);
  background: var(--color-red-35);
  outline: 4px solid var(--color-blue-60);
  outline-offset: 2px;
}

/* Cross icon pseudo-element */
a.emergency-care-button.hero::after,
a.btn.btn-find-care::after {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-color: var(--color-red-35);
    -webkit-mask: url("/themes/ih_main/images/emergency-care-cross.svg") no-repeat center / contain;
    mask: url("/themes/ih_main/images/emergency-care-cross.svg") no-repeat center / contain;
}

a.emergency-care-button.hero:hover::after,
a.btn.btn-find-care:hover::after {
    background-color: #fff;
}

a.emergency-care-button.hero:focus-visible::after,
a.btn.btn-find-care:focus-visible::after {
   background-color: #fff;
}

/* =============================================================================
   10. HOMEPAGE — HERO / BANNER
   ============================================================================= */

/* Image crop container */
.image-crop {
    width: 100%;
    height: 280px;
    overflow: hidden;
    border-radius: 8px;
}

.image-crop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: top;
}

@media (max-width: 767px) {
    .image-crop {
        aspect-ratio: 3 / 2;
        width: 100%;
        height: auto;
        margin-top: 0;
    }
}

/* Banner button */
.home-banner-button,
.view.view-news-events-front.view-id-news_events_front .view-footer a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 10px 9px 10px 15px;
    margin-bottom: 10px;
    margin-right: 2px;
    border: 1px solid var(--color-link);
    border-radius: 8px;
    background-color: var(--color-link);
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    text-decoration: none;
    height: 49px;
}

.home-banner-button::after,
.view.view-news-events-front.view-id-news_events_front .view-footer a::after {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background: url(https://www.islandhealth.ca/themes/ih_main/images/chevron-right.svg) no-repeat center / contain;
}

/* Hover (mouse / trackpad only) */
@media (hover: hover) and (pointer: fine) {
  .home-banner-button:hover,
  .view.view-news-events-front.view-id-news_events_front .view-footer a:hover {
    background-color: var(--color-blue-25);
    border-color: var(--color-blue-25);
    text-decoration: underline !important;
  }
}

/* Touch feedback (phones / tablets)
   Only while finger is down */
@media (hover: none) and (pointer: coarse) {
  .home-banner-button:active,
  .view.view-news-events-front.view-id-news_events_front .view-footer a:active {
    background-color: var(--color-blue-25);
    border-color: var(--color-blue-25);
    text-decoration: underline !important;
  }
}

/* Keyboard focus (always keep this) */
.home-banner-button:focus-visible,
.view.view-news-events-front.view-id-news_events_front .view-footer a:focus-visible {
  background-color: var(--color-blue-25);
  border-color: var(--color-blue-25);
  outline: 4px solid var(--color-blue-60);
  outline-offset: 2px;
  text-decoration: underline !important;
}

/* Prevent content link styles from overriding banner button */
.field--item a.home-banner-button,
.field-content a.home-banner-button,
.region.region-content p a.home-banner-button {
    color: #fff;
    text-decoration: none;
}

a.home-banner-button {
    margin-top: 8px;
}

/* Header layout */

.section-home-header .additional-info-panel__body p {
    margin-top:0
}

.section-home-header section.block.block-layout-builder.block-inline-blockbasic.clearfix {
    margin-bottom:0;
}

.section-home-header {
    padding-top: 32px;
}

@media (max-width: 767px) {
    .section-home-header p {
        margin-top: 6px;
    }
    
    .section-home-header p,
    .section-home-header h1 {
        margin-bottom: 8px;
    }
}

.section-home-header .layout__region {
    margin-bottom: 6px;
}

.section-home-header .layout__region--first,
.section-home-header .layout__region--second {
    flex: 1 1 0;
}

@media (min-width: 768px) {
    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header >
    .layout__inner >
    .layout__region.layout__region--first {
        padding-right: 24px;
    }

    .section-home-header .field.field--name-body.field--type-text-with-summary.field--label-hidden.field--item {
        width: 100% !important;
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .section-home-header .layout__inner {
        flex-wrap: wrap;
    }
    .section-home-header .layout__region--first,
    .section-home-header .layout__region--second {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .section-home-header {
        padding-top: 13px;
    }

    .section-home-header > .layout__inner > .layout__region:nth-child(1) {
        margin-bottom: 0;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header .layout__inner {
        display: flex;
        flex-direction: column-reverse;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header .image-crop {
        border-radius: 0;
        aspect-ratio: 2.5 / 1;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header .image-crop img {
        object-fit: cover;
        object-position: center top;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header {
        margin-left: -15px;
        margin-right: -15px;
        padding-top: 0;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header > div > div:nth-child(2),
    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header > div > div:nth-child(2) > section {
        margin-bottom: 0;
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header > div > div:nth-child(1) {
        margin-left: 15px;
        margin-right: 15px;
        gap: 0;
    }

    hr.home-banner-rule {
        margin-top: 5px;
        margin-bottom: 5px;
    }

    /* Rounded overlay above image on mobile */
    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header > div > div:nth-child(1)::before {
        content: "";
        background: #F8F9F9;
        height: 30px;
        margin-left: -15px;
        margin-right: -15px;
        margin-bottom: -20px;
        border-radius: 15px;
        transform: translateY(-15px);
    }

    .layout.layout--twocol-section.layout--twocol-section--50-50.section-home-header h1 {
        margin-top: 0;
    }

    .layout.layout--onecol.section-homepage-h2 h2 {
        margin-top: 12px;
    }
}

/* Homepage map overlay / gradient */
.front_page--overlay img {
    opacity: 0;
}
.front_page--overlay {
    background: linear-gradient(90deg, rgba(248, 249, 249, 1) 22%, rgba(248, 249, 249, 0.83) 30%, rgba(248, 249, 249, 0) 52%);
}
.front_page_header .container::after {
    background: none;
}

/* Homepage slideshow text */
@media (min-width: 1199px) {
    .front_page_header .container .front_page--slider-text {
        width: 360px;
        padding: 40px 15px 15px 15px;
    }
}

.front_page_header .container .front_page--slider-text .slogan {
    font-size: 1.7rem;
    font-weight: 400;
    font-style: italic;
}

.front_page--slideshow h4 {
    text-transform: none;
    font-size: 22px;
}

.front_page_header .container .front_page--slider-text h4 {
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #00558C;
}

.front_page_header .container .front_page--slider-text h4:hover {
    text-decoration: none;
    color: #003C66;
}

.views_slideshow_cycle_slide:hover .field.field--name-field-slideshow-text.field--type-string-long.field--label-hidden.field--item,
.views_slideshow_cycle_slide:hover p.slogan,
.views_slideshow_cycle_slide .field.field--name-field-slideshow-text.field--type-string-long.field--label-hidden.field--item,
.views_slideshow_cycle_slide p.slogan {
    color: #555;
}

@media (max-width: 1199px) {
    .main__wrapper {
        padding-top: 10px;
    }
    section#block-views-block-front-page-slideshow-block-1 {
        padding-bottom: 20px;
    }
}

@media (min-width: 1199px) {
    .main__wrapper {
        padding-top: 30px;
    }
}


/* =============================================================================
   11. HOMEPAGE — CARDS & SECTIONS
   ============================================================================= */

/* Section head labels */
.layout.layout--onecol.section-card-section-heads .layout__region.layout__region--content {
    margin-bottom: 0;
}

.layout.layout--onecol.section-card-section-heads section.block.block-layout-builder.block-inline-blockbasic.clearfix {
    margin-bottom: 8px;
}

.layout.layout--onecol.section-card-section-heads h3 {
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .15rem;
    color: #555;
}

/* Spacing below tiles and cards on mobile */
@media (max-width: 767px) {
    .layout__region.layout__region:has(.card-block) {
      margin-bottom: 14px;
    }
    
    .layout__region.layout__region:has(.ih-tile) {
      margin-bottom: 8px; 
    }
}

/* H2 spacing */
.layout.layout--onecol.section-home-h2 section.block.block-layout-builder.block-inline-blockbasic.clearfix {
    margin-bottom:0;
}

.layout.layout--onecol.section-home-h2 h2 {
    margin-bottom:0;
    margin-top:10px;
}

@media (max-width: 767px) {
    .layout.layout--onecol.section-home-h2 h2 {
        margin:0;
    }
}

/* Spacing above short text and link after tiles */
@media (max-width: 767px) {
    .layout.layout--onecol.section-tile-end-text {
        margin-top: 26px;
    }
}

/* Card section spacing */
.section-care-row-1 {
    margin-top: 30px;
}

@media (max-width: 767px) {
    .section-care-row-1 {
        margin-top: 4px;
    }
}


.section-ongoing-care-cards {
    margin-bottom: 20px;
}

.section-home-card-section-button {
    margin-top: 20px;
}

/* Icon buttons — no underline */
a.homepage-icon-links.blue,
a.homepage-icon-links.teal,
a.homepage-icon-links.yellow {
    text-decoration: none;
}

/* Large homepage button hover */
.paragraph--type--homepage-icon-links a.homepage-icon-links:hover,
.paragraph--type--homepage-icon-links a.homepage-icon-links:active {
    background: #003C66;
    color: #fff;
    border-color: #003C66;
    text-decoration: none;
    transition: 0.1s ease-in-out all;
}

/* Icons removed from H2 elements on homepage */
.custicon-header .custicon-svg {
    display: none;
}
.custicon-header {
    padding-left: 0;
}

/* Horizontal rule colour */
hr.home-banner-rule {
    border-top: 1px solid #C2C8CA;
}

/* Full-width banner section */
.section-full-width-banner-section {
    background-color: #E9ECEC;
    margin: 24px -50vw 50px -50vw;
}

.section-full-width-banner-section .layout__inner {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    padding-top: 24px;
}

.section-full-width-banner-section .layout__inner .field.field--name-body.field--type-text-with-summary.field--label-hidden.field--item {
    width: 100%;
}

.section-full-width-banner-section img {
    margin-top: 24px;
    margin-bottom: 24px;
}

@media (min-width: 678px) and (max-width: 1199px) {
    .section-full-width-banner-section .layout__inner {
        max-width: 720px;
    }
    .section-full-width-banner-section img {
        margin-top: 24px;
    }
    .section-full-width-banner-section {
        margin-bottom: 24px;
    }
}

@media (max-width: 767px) {
    .section-full-width-banner-section .layout__inner {
        width: calc(100% - 30px);
        max-width: 720px !important;
        margin-left: 15px;
    }
    .section-full-width-banner-section {
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-right: 0;
        margin-bottom: 24px;
        padding-right: 0;
    }
    .section-full-width-banner-section img {
        margin-top: 0;
    }
}

/* Two-column links and cards — Column 1 */
.section-home-lower-2-col .layout__region.layout__region--first p a {
    font-size: 2rem;
    font-weight: 700;
    line-height: 30px;
    display: flex;
    padding-top: 6px;
}

.section-home-lower-2-col .layout__region.layout__region--first p:has(> a):nth-of-type(2) a {
    padding-top: 12px;
}

.section-home-lower-2-col .layout__region.layout__region--first p a::after {
    content: "";
    width: 24px;
    display: inline-block;
    height: 24px;
    align-self: center;
    margin-left: 6px;
    background-color: #00558C;
    mask: url(/themes/ih_main/images/chevron-right.svg) no-repeat 1px 0px;
    -webkit-mask: url(/themes/ih_main/images/chevron-right.svg) no-repeat 1px 0px;
}

.section-home-lower-2-col .layout__region.layout__region--first p a:hover::after {
    background-color: #003C66;
}

/* Column 2 */
.section-home-lower-2-col .layout__region.layout__region--second .block-inline-blockbasic {
    margin-bottom: 0 !important;
}

/* 67% width fix */
.section-home-lower-2-col .field.field--name-body.field--type-text-with-summary.field--label-hidden.field--item {
    width: 100%;
}

@media (min-width: 768px) {
    .section-home-lower-2-col .layout__region.layout__region--first,
    .section-home-lower-2-col .layout__region.layout__region--second {
        margin-bottom: 0;
    }
}


/* =============================================================================
   12. HOMEPAGE — NEWS
   ============================================================================= */

/* Hide description on home page news items */
/*
.view.view-news-events-front.view-id-news_events_front p {
    display: none;
}

.view.view-news-events-front.view-id-news_events_front h3 {
    font-size: 2rem;
}

.view.view-news-events-front.view-id-news_events_front time {
    font-size: 1.3rem;
}
*/

/* Hide image column */
.views-field.views-field-nid .col-sm-3 {
    display: none;
}

/* News images — rounded corners */
.views-field.views-field-nid img {
    border-radius: 8px;
}

/* Left-align "more news" button */
.view.view-news-events-front.view-id-news_events_front .view-footer .col-sm-3 {
    width: 0;
    padding: 0;
}

/* 3-up columns on desktop */
@media (min-width: 992px) {
    .view.view-news-events-front.view-id-news_events_front .view-content {
        display: flex;
        gap: 40px;
        align-items: stretch;
    }

    .view.view-news-events-front.view-id-news_events_front .views-row {
        flex: 1 1 0;
        min-width: 0;
    }

    .view.view-news-events-front.view-id-news_events_front .views-row .row {
        display: block;
        margin: 0;
    }

    .view.view-news-events-front.view-id-news_events_front .views-row .col-sm-3,
    .view.view-news-events-front.view-id-news_events_front .views-row .col-sm-9 {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

/* News block item titles */
section#block-views-block-news-events-front-block-1 h3 a,
.view-news-events-block h3 a,
.view-news-list h3 a {
    font-weight: bold;
}

/* News & event block with story previews */
section#block-views-block-news-events-block-block-1-2 p a {
    font-weight: bold;
    font-size: 1.5rem;
    text-decoration: none;
}

#block-views-block-news-events-block-block-1-2 p a::after {
    content: "\f054";
    font-family: FontAwesome;
    display: inline-block;
    text-decoration: none;
    margin-left: 10px;
    font-size: 1rem;
    vertical-align: middle;
}

section#block-views-block-news-events-block-block-1-2 p a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

section#block-views-block-news-events-block-block-1-2 p {
    margin-top: 6px !important;
}

.view.view-news-events-block.view-id-news_events_block .views-row {
    margin-top: 30px;
}


/* =============================================================================
   13. CONTENT PAGES
   ============================================================================= */

/* --- Breadcrumbs --- */
.content_page_header {
    height: auto;
    padding-top: 26px;
    background: none;
}

.content_page_header .breadcrumb {
    height: auto;
}

.content_page_header .breadcrumb li a {
    color: #003C66;
    font-size: 1.4rem;
}

.breadcrumb > li + li::before {
    content: " > ";
    padding: 0 10px;
    color: #333;
    font-size: 1.4rem;
}

.content_page_header .breadcrumb a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.content_page_header .breadcrumb a:hover {
    text-decoration: none;
}

.breadcrumb span.custicon-arrow-right {
    display: none;
}

/* Back-to button */
.back-to:hover,
.back-to:active {
    background: #003C66;
}

/* View your community button */
.view-community-block .community-link {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.view-community-block .community-link:hover {
    text-decoration: none;
}


/* =============================================================================
   14. SIDEBAR
   ============================================================================= */

@media (min-width: 1200px) {
    .region-sidebar-first {
        padding-left: 0;
    }
}

.region.region-sidebar-first {
    padding-top: 20px;
}

.region-sidebar-first h4 {
    color: #00558C;
}

.region-sidebar-first h4:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 2px;
    color: #003C66;
}

.region.region-sidebar-first li.active {
    padding: 4px 14px;
}

.region.region-sidebar-first li {
    padding: 4px 20px;
    font-size: 17px;
}

.region-sidebar-first .menu-block .nav li > a {
    margin: 4px 0;
}


/* =============================================================================
   15. FIND CARE NOW PAGE
   ============================================================================= */

.panel-triage {
    background: #fff;
}
.panel-triage:hover {
    background: #fff;
}

/* Find Care Now card — stacked location and hours */
.emergency-departments.token .location-hours {
    flex-direction: column;
    gap: 0.1em;
}

.emergency-departments.token .field--name-field-city-and-province,
.emergency-departments.token .field--name-field-hours-of-operation {
    display: block;
    position: relative;
    padding-left: 1.5em;
}

.emergency-departments.token .field--name-field-city-and-province::before,
.emergency-departments.token .field--name-field-hours-of-operation::before {
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 1em;
    height: 1em;
}


/* =============================================================================
   16. PAGINATION
   ============================================================================= */

.pagination > .active > a {
    color: #fff;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pager__wrapper .pager__toggle .btn.active {
    background-color: #00558C;
    border-color: #00558C;
}

.pagination > li > a:hover,
.pagination > li > a:focus,
.pager__wrapper .pager__toggle .btn:hover,
.pager__wrapper .pager__toggle .btn:focus {
    background-color: #003C66;
}


/* =============================================================================
   17. FOOTER
   ============================================================================= */

footer.footer {
    margin-top: 0;
}

footer.footer .footer__wrapper {
    padding: 40px 0;
}

@media (max-width: 767px) {
    footer.footer .footer__wrapper {
        padding: 0px 0;
    }
}

footer.footer .footer__wrapper .footer__social {
    background: #444;
}

footer.footer .footer__wrapper .footer__social a:hover {
    background: #003053;
}

/* Footer contact links */
footer.footer .footer__wrapper .footer__contact {
    text-align: left;
}

footer.footer .footer__wrapper .footer__contact .nav > li > a {
    color: #EAF5FF;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    padding: 0 0 20px;
}

footer.footer .footer__wrapper .footer__contact .nav > li > a:hover,
footer.footer .footer__wrapper .footer__contact .nav > li > a:active,
footer.footer .footer__wrapper .footer__contact .nav > li > a:focus {
    color: #fff;
    text-decoration: none;
    text-underline-offset: 2px;
}

footer.footer .footer__wrapper .footer__contact .footer__emergencies #block-emergencies {
    padding: 0;
    max-width: 752px;
    text-align: left;
    font-size: 1.6rem;
}

footer.footer .footer__wrapper .footer__contact--copyright {
    text-align: right;
}

/* Footer headings */
footer.footer h4 {
    text-transform: none;
    font-size: 18px;
    margin-bottom: 14px;
}

/* Footer text sizes */
.region.region-footer1 li,
.region.region-footer2 li,
footer.footer p {
    font-size: 16px;
}

div.footer__copyright p {
    font-size: 14px;
}

/* Footer logo */
.footer__logo {
    max-width: 200px;
}

.footer__logo,
.footer__copyright,
.region.region-footer3 section {
    padding: 20px 0;
}

.footer__logo a:hover img,
.footer__logo a:focus-visible img {
    opacity: 0.85;
}

/* Territorial acknowledgement */
.footer_territory_ack__wrapper {
    background: #004979;
    padding: 30px 0 60px 0;
}

.footer_territory_ack h2,
.footer_territory_ack p {
    color: #fff;
}

.footer_territory_ack h4 {
    text-transform: none;
    font-size: 2rem;
    box-sizing: border-box;
    text-decoration: none;
    color: #ffffff;
}

.region.region-footer-territory-ack p {
    font-size: 1.775rem;
    line-height: 3.0rem;
    font-style: italic;
}

section#block-territorialacknowledgement {
    max-width: 752px;
}

/* Emergency block */
section#block-ih-main-emergency {
    margin-bottom: 46px;
    max-width: 752px;
}

/* Social icons */
.social-networks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    align-items: center;
    container-type: inline-size;
}

.social-networks li {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 21px;
    width: 44px;
    height: 44px;
}

.social-networks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    padding: 13px;
}

ul.social-networks {
    margin-left: -11.5px;
}

section#block-ih-main-socialicons li a:hover {
    color: rgba(255, 255, 255, .85);
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* External link icons */
footer.footer span.fa-external-link {
    margin-left: 5px;
    font-size: 1.4rem;
}

/* Pre-footer emergency links */
.pre_footer-emergency .home-banner-rule {
    margin-top: 20px;
    padding-bottom: 40px;
}

.pre_footer-emergency .emphasis-block__body a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pre_footer-emergency .emphasis-block__body a:hover {
    text-decoration: none;
}

/* Footer column widths (tablet+) */
@media (min-width: 768px) {
    .footer__contact > div > div:nth-child(2) > div:nth-child(1) {
        width: 27.5%;
        padding: 0;
        margin-right: 3%;
    }
    .footer__contact > div > div:nth-child(2) > div:nth-child(2) {
        width: 32.5%;
        padding-right: 5%;
        border-right: 1px solid rgba(255, 255, 255, .4);
        padding-left: 0;
    }
    .footer__contact > div > div:nth-child(2) > div:nth-child(3) {
        width: 29%;
        padding: 0;
        margin-left: 5%;
    }
    body > footer > div > div > div > div:nth-child(2) {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Footer mobile spacing */
@media (max-width: 767px) {
    .region.region-footer1 {
        margin-top: 30px;
    }
    .region.region-footer2 {
        margin-bottom: 50px;
    }
}


/* =============================================================================
   18. MISCELLANEOUS
   ============================================================================= */

/* Left sidebar padding */
@media (min-width: 1200px) {
    .region-sidebar-first {
        padding-left: 0;
    }
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px var(--color-grey-85) inset !important;
  -webkit-text-fill-color: #000 !important;
  background-color: var(--color-grey-85) !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Remove duplicate h1 on some pages including L1s */
.content_page_header h1.page-header {
    display:none;
}
