* {
    box-sizing: border-box;
}

html,
body {
	scroll-behavior: smooth !important;
    box-sizing: border-box;
    min-height: 100%;
    font-size: 1rem;
}

html:has(aside.admin-toolbar) {
    padding-left: 4em;
}

a#main-content {
    display: inline;
}

body.mm-wrapper {
    overflow: auto;
}

.section {
	scroll-margin-top: 120px;
}

:target:before {
    content: "";
    display: block;
    z-index: -1;
}

.mm-page {
    padding-top: 0 !important;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.dialog-off-canvas-main-canvas {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
/*
.gin--classic-toolbar.toolbar-horizontal .mm-page {
    padding-top: 0 !important;
}

.gin--classic-toolbar.toolbar-horizontal.toolbar-tray-open .mm-page {
    padding-top: 40px !important;
}
*/

.layout-container {
    /*overflow: hidden;*/
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background-color: var(--background);
}

main {
    flex-grow: 1;
    width: 100%;
}

/* Layouts */
.container {
    padding: 0 0.5rem;
}

@media screen and (min-width: 30rem) {
    .container {
        max-width: 85rem;
        margin: 0 auto;
        padding: 0 2rem;
    }
}

@media screen and (min-width: 85rem) {
    .container {
        max-width: 85rem;
        margin: 0 auto;
        padding: 0 2rem;
        width: 100%;
    }
}

.no-padding {
    padding: 0;
}

.region-content {
    position: relative;
}

/* Site Sections */
.layout-content {
    padding-top: 0rem;
    flex-wrap: wrap;
    background-color: transparent;
}

.breadcrumbs {
    margin-bottom: 2rem;
}

@media screen and (min-width: 60em) {
    .layout-content {
        padding-top: 0;
    }

    .breadcrumbs {
        margin: 0;
    }
}

.ui-widget-overlay {
    background-color: #111;
    background-color: rgba(17,17,17,0.9) !important;
    opacity: 1;
}

.page-410,
.sitemap {
    margin: 2rem 2rem 2rem 2rem;
}

.region-help {
    margin: 0 auto 0;
}

/* Accessibility */
.leaflet-container:focus-visible,
.leaflet-container:focus-within,
.highcharts-container:focus-visible,
.highcharts-container:focus-within,
button.highcharts-a11y-proxy-button:focus-visible {
	outline: 1px solid !important;
}

/* Cookie Docs */
#cookies-docs {
    padding-top: 1rem;
}

#cookies-docs .disclaimer {
    background: white;
    border: 2px solid var(--highlightTeal);
    padding: 1rem;
    margin-bottom: 2rem;
    border-radius: 1rem;
}

#cookies-docs h2 {
    border-bottom: solid 3px;
    padding-bottom: 0.5rem;
}

#cookies-docs h3 {
    color: var(--highlightTeal);
    margin-bottom: 1rem;
}

#cookies-docs h4 {
    margin: 0 0 0.5rem;
    color: var(--text);
}

#cookies-docs article.cookies-docs-service {
    background: rgba(255,255,255,0.8);
    padding: 1rem 1rem 0.1rem;
    border-radius: 1rem;
    margin-bottom: 1rem;
}

#cookies-docs table {
    background-color: transparent;
    border: 0;
}

#cookies-docs table th,
#cookies-docs table td {
    line-height: 1.3;
    padding-left: 0;
}

#cookies-docs dl {
    margin: 0;
}

#cookies-docs dt strong {
    font-weight: 400;
    font-family: var(--fontNormal);
}

#cookies-docs dd {
    margin: 0 0 1rem;
    width: 100%;
    font-family: var(--fontBold);
}

#cookies-docs dd a {
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 90%;
    overflow: hidden;
}

@media screen and (min-width: 60em) {
    #cookies-docs {
        border-left: 1px solid var(--primaryDark);
        padding-left: 2rem;
        margin-left: 25%;
        margin-bottom: 0;
    }
}

@media print {
    body,
    .mm-page {
        background-color: #fff !important;
        font-size: 11pt;
    }

    #block-myh-main-menu,
    #block-exposedformsearch-apipage-1,
    #block-responsivemenumobileicon,
    #block-breadcrumbs,
    .page-overview,
    #block-myh-cookiesui,
    main + footer {
        display: none !important;
    }

    .paragraph--type-basic .primary {
        max-width: 100% !important;
    }
}

html.js[dir="ltr"] body.gin--vertical-toolbar, 
html.js[dir="ltr"] body.gin--horizontal-toolbar, 
html.js[dir="ltr"] body.gin--classic-toolbar {
    padding-left: 0 !important;
}

html.js[dir="ltr"] body.gin--vertical-toolbar.toolbar-horizontal .mm-page, 
html.js[dir="ltr"] body.gin--horizontal-toolbar.toolbar-horizontal .mm-page, 
html.js[dir="ltr"] body.gin--classic-toolbar.toolbar-horizontal .mm-page {
    padding-left: 64px !important;
}

/* Overlay */
.ui-dialog:not(.ui-dialog-off-canvas) {
    width: 90% !important;
    font-family: inherit;
    z-index: 2;
}

.ui-dialog:not(.ui-dialog-off-canvas) a {
    color: var(--primary);
}

.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar {
    background-color: var(--primaryDark);
}

.ui-dialog:not(.ui-dialog-off-canvas) .ui-icon {
    filter: invert(1);
}

.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar .ui-dialog-title {
    visibility: hidden;
}

/* Map */
.geolocation-map-wrapper button {
    min-width: 32px;
    min-height: 32px;;
}

.gm-style-cc,
.gm-style-ct {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
}

/* Webform modal update */
.region-footer-top form fieldset {
    border: 0;
}

.ui-dialog:has(.webform-confirmation-modal--content) {
    background: white;
}

.ui-dialog:has(.webform-confirmation-modal--content) h1 {
    visibility: visible;
    padding: 1em;
}

.ui-dialog:has(.webform-confirmation-modal--content) .ui-dilog-content {
    padding: 1em 1em 0;
}

/* Animations */
@keyframes progress-grow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}