/* Speednet Branding Overrides */

.hero__speednet .hero__breadcrumb {
    padding: 2.5rem 0 0.5rem 0;
    position: relative;
    z-index: 2;
    color: #fff;
    fill: #fff;
}

@media (min-width: 576px) {
    .hero__speednet .hero__breadcrumb {
        padding-left: 30px;
    }
}

@media (min-width: 992px) {
    .hero__speednet .hero__breadcrumb {
        padding-left: 50px;
    }
}

@media (min-width: 1600px) {
    .hero__speednet .hero__breadcrumb {
        padding-left: 100px;
    }
}

.hero__speednet .hero__breadcrumb a {
    color: #fff;
    text-decoration: none;
    background-image: linear-gradient(#fff, #fff),
    linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3));
    background-position: 0 100%, 100% 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px, 100% 1px;
    display: inline-block;
    transition: background-size 0.3s ease;
}

.hero__speednet .hero__breadcrumb a:hover {
    background-position: 0 100%, 0 100%;
    background-size: 0 1px, 100% 1px;
    color: #fff;
}

.hero__speednet .hero__breadcrumb a.breadcrumb-home {
    margin-right: 5px;
}

.hero__speednet .hero__breadcrumb .icon {
    height: 17px;
    width: 17px;
    margin-top: -5px;
}

/* Base style for Speednet Hero - ensuring full width and primary background */
.section.hero.hero__speednet {
    background-color: var(--color-primary);
    padding: 0;
}

.section.hero.hero__speednet .hero__wrapper {
    background-color: var(--color-primary);
    margin: 0;
    padding: 0;
}
.section.hero.hero__speednet {
    margin-bottom: 1rem;
}

.section.hero.hero__speednet h1,
.section.hero.hero__speednet .h1 {
    margin-bottom: 1rem;
    margin-top: 0;
}

.section.hero.hero__speednet .bodytext p:last-child {
    margin-bottom: 0;
}

.section.hero.hero__speednet .hero__col {
    background-color: transparent;
    border-radius: 0;
    padding-left: 15px;
    padding-right: 15px;
}

.section.hero.hero__speednet .hero__text {
    background-color: transparent;
    color: #fff;
    padding: 0;
}

.section.hero.hero__speednet h1,
.section.hero.hero__speednet .h1,
.section.hero.hero__speednet p,
.section.hero.hero__speednet .bodytex {
    color: #fff;
}

/* Mobile specific overrides to ensure the primary block stays consistent */
@media (max-width: 991.98px) {
    .section.hero.hero__speednet,
    .section.hero.hero__speednet .hero__wrapper,
    .section.hero.hero__speednet .hero__col,
    .section.hero.hero__speednet .hero__text,
    .section.hero.hero__speednet [class*="col-"],
    .section.hero.hero__speednet .container,
    .section.hero.hero__speednet .row {
        background-color: var(--color-primary) !important;
        color: #fff;

    }

    .section.hero.hero__speednet {
        margin-bottom: 0.5rem;
    }

    .section.hero.hero__speednet h1,
    .section.hero.hero__speednet .h1 {
        margin-bottom: 0.5rem;
    }
}

.hero--with-image .hero__wrapper {
    padding: 0;
}

.hero--with-image .hero__image-col {
    min-height: 400px;
}

.hero--with-image .hero__text-col {
    background-color: var(--color-primary);
}

@media (min-width: 992px) {
    .hero--with-image .hero__image-col {
        min-height: auto;
    }
    .hero--with-image .hero__image-col img {
        height: 100%;
        min-height: auto;
        max-height: none;
        object-fit: cover;
    }

    .hero--with-image .hero__text-content {
        padding-bottom: 2.5rem;
    }

    .hero__breadcrumb-wrapper {
        width: 100%;
        z-index: 3;
    }
}

.main-nav > ul {
    justify-content: flex-end !important;
}

body > .wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;

    main {
        flex-grow: 1;
    }
}

/* Reduced spacing to the header when a hero is the first element in the main */
.page-header + .page-main:has(> .section.hero:first-child) {
    padding-top: 4.5rem !important;
}

@media (max-width: 991.98px) {
    .page-header + .page-main:has(> .section.hero:first-child) {
        padding-top: 4.5rem !important;
    }
}

:root,
[data-bs-theme=light] {
    --bs-primary: var(--color-primary);
    --bs-link-color: var(--color-primary);
}

hr {
    color: var(--color-primary);
}

.table {
    --bs-table-color: var(--color-primary);
    --bs-table-striped-color: var(--color-primary);
    --bs-table-active-color: var(--color-primary);
    --bs-table-hover-color: var(--color-primary);
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.form-range::-webkit-slider-thumb {
    background-color: var(--color-primary);
}

.form-range::-moz-range-thumb {
    background-color: var(--color-primary);
}

.btn-primary {
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-disabled-color: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.accordion {
    --bs-accordion-border-color: var(--color-primary);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 2px var(--color-primary);
}

.pagination {
    --bs-pagination-color: var(--color-primary);
    --bs-pagination-border-color: var(--color-primary);
    --bs-pagination-hover-color: var(--color-primary);
    --bs-pagination-hover-border-color: var(--color-primary);
    --bs-pagination-focus-color: var(--color-primary);
    --bs-pagination-focus-box-shadow: 0 0 0 2px var(--color-primary);
    --bs-pagination-active-bg: var(--color-primary);
    --bs-pagination-active-border-color: var(--color-primary);
}

.autoComplete_highlighted {
    color: var(--color-primary);
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
}

.font-teal {
    color: var(--color-primary) !important;
}

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

.text-primary h1,
.text-primary h2,
.text-primary h3,
.text-primary h4,
.text-primary h5,
.text-primary h6,
.text-primary .h1,
.text-primary .h2,
.text-primary .h3,
.text-primary .h4,
.text-primary .h5,
.text-primary .h6 {
    color: var(--color-primary);
}

ol:not(.list-unstyled, .cke_panel_list) li:before {
    color: var(--color-primary);
}

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

.link--styled-container a:not(.btn):not(.link--styled-default),
.frame-type-text a:not(.btn):not(.link--styled-default),
.frame-type-textmedia .ce-bodytext a:not(.btn):not(.link--styled-default),
.cke_editable_themed a:not(.btn):not(.link--styled-default),
a:not(.btn).link--styled-simple {
    background-image: linear-gradient(var(--color-primary), var(--color-primary)), linear-gradient(#a9c700, #a9c700);
}

.link--styled-container a:not(.btn):not(.link--styled-default):focus-visible,
.frame-type-text a:not(.btn):not(.link--styled-default):focus-visible,
.frame-type-textmedia .ce-bodytext a:not(.btn):not(.link--styled-default):focus-visible,
.cke_editable_themed a:not(.btn):not(.link--styled-default):focus-visible,
a:not(.btn).link--styled-simple:focus-visible {
    outline: var(--color-primary) solid 2px;
}

.link--styled-container a:not(.btn):not(.link--styled-default)[target=_blank]:after,
.frame-type-text a:not(.btn):not(.link--styled-default)[target=_blank]:after,
.frame-type-textmedia .ce-bodytext a:not(.btn):not(.link--styled-default)[target=_blank]:after,
.cke_editable_themed a:not(.btn):not(.link--styled-default)[target=_blank]:after,
a:not(.btn).link--styled-simple[target=_blank]:after {
    background-color: var(--color-primary);
}

a:not(.btn).link--styled-default {
    background-image: linear-gradient(var(--color-primary), var(--color-primary));
}

a:not(.btn).link--styled-default:after {
    background-color: var(--color-primary);
}

.btn-secondary-orange:not(.disabled):hover {
    border-color: var(--color-primary);
}

.btn-secondary-orange:not(.disabled):hover:after {
    background-color: var(--color-primary);
}

.btn-secondary-orange:not(.disabled):hover .icon {
    fill: var(--color-primary);
}

.btn-darker-grey:not(.disabled):hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-darker-grey:not(.disabled):hover:after {
    background-color: var(--color-primary);
}

.btn-darker-grey:not(.disabled):hover .icon {
    fill: var(--color-primary);
}

.btn-primary-teal {
    border: solid var(--color-primary) 3px;
}

.btn-primary-teal:not(.disabled) .icon {
    fill: var(--color-primary);
}

.btn-primary-teal:not(.disabled):focus-visible {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-primary-green:not(.disabled):hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.form-control:focus-visible,
.form-select:focus-visible {
    outline: var(--color-primary) solid 1px;
}

.form-check-input:focus-visible {
    outline: var(--color-primary) solid 2px;
}

.page-footer a:not(.btn):hover {
    color: var(--color-primary);
}

.page-footer a:not(.btn):hover .icon {
    fill: var(--color-primary);
}

.branch-nav a {
    border: 2px solid var(--color-primary);
}

.branch-nav a:after {
    background-color: var(--color-primary);
}

.branch-nav a:hover {
    color: var(--color-primary);
}

.navbar__login {
    color: var(--color-primary) !important;
}

.navbar__menu-btn .bar {
    background: var(--color-primary);
}

.main-nav .nav-link.nav-link--entry.has--subnav:after {
    background-color: var(--color-primary);
}

.panel__nav .btn.current {
    border-color: var(--color-primary);
}

.panel__nav .btn:hover:after {
    background-color: var(--color-primary);
}

.panel__sub-headline .icon {
    fill: var(--color-primary);
}

.panel__sub-headline-link:hover,
.panel__sub-headline-link.current {
    color: var(--color-primary);
}

.panel__sub-back {
    color: var(--color-primary);
}

.panel__sub-nav a.current {
    color: var(--color-primary);
}

.hero__breadcrumb {
    color: #fff;
}

.hero__breadcrumb a {
    color: #fff;
    text-decoration: none;
    background-image: linear-gradient(#fff, #fff), linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3));
}

.hero__breadcrumb .icon {
    fill: #fff;
}

.hero__text .d-flex h1,
.hero__text .d-flex .h1 {
    color: #fff;
}

.hero-intro__video-play:focus-visible {
    border-color: var(--color-primary);
}

/* Color overrides: Replace #a9c700 with var(--color-secondary) */

:root,
[data-bs-theme=light] {
    --bs-secondary: var(--color-secondary);
}

.btn-secondary {
    --bs-btn-bg: var(--color-secondary);
    --bs-btn-border-color: var(--color-secondary);
    --bs-btn-disabled-bg: var(--color-secondary);
    --bs-btn-disabled-border-color: var(--color-secondary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--color-secondary);
    --bs-btn-border-color: var(--color-secondary);
    --bs-btn-hover-bg: var(--color-secondary);
    --bs-btn-hover-border-color: var(--color-secondary);
    --bs-btn-active-bg: var(--color-secondary);
    --bs-btn-active-border-color: var(--color-secondary);
    --bs-btn-disabled-color: var(--color-secondary);
    --bs-btn-disabled-border-color: var(--color-secondary);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    background-color: var(--color-secondary);
}

.font-green {
    color: var(--color-secondary) !important;
}

.text-secondary h1,
.text-secondary h2,
.text-secondary h3,
.text-secondary h4,
.text-secondary h5,
.text-secondary h6,
.text-secondary .h1,
.text-secondary .h2,
.text-secondary .h3,
.text-secondary .h4,
.text-secondary .h5,
.text-secondary .h6 {
    color: var(--color-secondary);
}

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

.link--styled-container a:not(.btn):not(.link--styled-default),
.frame-type-text a:not(.btn):not(.link--styled-default),
.frame-type-textmedia .ce-bodytext a:not(.btn):not(.link--styled-default),
.cke_editable_themed a:not(.btn):not(.link--styled-default),
a:not(.btn).link--styled-simple {
    background-image: linear-gradient(var(--color-primary), var(--color-primary)), linear-gradient(var(--color-secondary), var(--color-secondary));
}

.link--styled-container a:not(.btn):not(.link--styled-default):hover:after,
.frame-type-text a:not(.btn):not(.link--styled-default):hover:after,
.frame-type-textmedia .ce-bodytext a:not(.btn):not(.link--styled-default):hover:after,
.cke_editable_themed a:not(.btn):not(.link--styled-default):hover:after,
a:not(.btn).link--styled-simple:hover:after {
    background-color: var(--color-secondary) !important;
}

.bg-teal .link--styled-container a:not(.btn):not(.link--styled-default),
.bg-teal.link--styled-container a:not(.btn):not(.link--styled-default),
.bg-teal a:not(.btn).link--styled-simple {
    background-image: linear-gradient(#fff, #fff), linear-gradient(var(--color-secondary), var(--color-secondary));
}

a:not(.btn).link--styled-default:hover {
    color: var(--color-secondary) !important;
}

a:not(.btn).link--styled-default:hover:after {
    background-color: var(--color-secondary) !important;
}

.btn-primary-teal:not(.disabled):hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-primary-red:not(.disabled):hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-primary-green {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-primary-green:disabled,
.btn-primary-green.disabled {
    color: var(--color-secondary);
}

.btn-primary-green:not(.disabled):focus-visible {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.form-check-input[type=checkbox] {
    border-color: var(--color-secondary);
}

.form-check-input[type=checkbox]:checked {
    background-color: var(--color-secondary);
}

.blockquote__header-icon .icon {
    fill: var(--color-secondary);
}

.callout__inner {
    background-color: var(--color-secondary);
}

.callout__inner:after {
    border-color: var(--color-secondary) transparent;
}

.footer-bottom a:not(.btn):hover {
    color: var(--color-secondary);
}

.branch-nav a:hover {
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

.branch-nav a:hover:after {
    background-color: var(--color-secondary);
}

.meta-nav a:hover {
    color: var(--color-secondary);
}

.meta-nav a.current {
    background: var(--color-secondary);
}

.navbar__login:hover {
    color: var(--color-secondary) !important;
}

.main-nav .nav-link.nav-link--entry.open {
    border-color: var(--color-secondary);
}

.main-nav .nav-link.nav-link--entry.current {
    border-color: var(--color-secondary);
}

.main-nav .nav-link.nav-link--entry:hover {
    color: var(--color-secondary);
}

.panel__sub-back:hover {
    color: var(--color-secondary);
}

.panel__sub-nav a:hover {
    color: var(--color-secondary);
}

.btn-search:not(.btn):hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-search-overlay:not(.btn):hover {
    color: var(--color-secondary);
}

.teaser-event {
    border: 1px solid var(--color-secondary);
}

.teaser-event__date {
    background: var(--color-secondary);
}

.teaser-event__link a:hover .icon {
    fill: var(--color-secondary);
}

.teaser-icon:hover .teaser-icon__icon {
    background: var(--color-secondary);
}

.contact-modal__button:hover,
.contact-modal__button:focus-visible {
    background-color: var(--color-secondary);
}

@media (min-width: 1024px) {
    .speednet__logo {
        max-width: 9.8125rem;
    }
}

@media (min-width: 1024px) {
    .is--home .speednet__logo {
        max-width: 6.5rem;
    }
}

.is--scrolled .speednet__logo {
    max-width: 7.1875rem;
}
