/** @license CookieJSR v1.0.13
 * file: cookiesjsr.min.css
 *
 * Copyright (c) Joachim Feltkamp, Hamburg, Germany.
 *
 * This source code is licensed under the CC BY-ND license found in the
 * LICENSE file in the root directory of this source tree.
 */

 .cookiesjsr-btn {
    align-items: center;
    background-color: #004c93;
    background-color: var(--btn-bg-color,#004c93);
    border: 2px solid #fff;
    border: 2px solid var(--btn-border-color,#fff);
    color: #fff;
    color: var(--btn-font-color,#fff);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .85em;
    justify-content: center;
    margin: .625em;
    min-height: 42px;
    opacity: .95;
    padding: 0;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: all .3s ease;
    white-space: nowrap;
    width: calc(100% - 2.5em)
}

@media (min-width: 576px) {
    .cookiesjsr-btn {
        min-height:48px
    }
}

.cookiesjsr-btn:hover {
    opacity: 1;
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

.cookiesjsr-btn.invert {
    background-color: #fff;
    background-color: var(--btn-inv-bg-color,#fff);
    border-color: #004c93;
    border-color: var(--btn-inv-border-color,#004c93);
    color: #004c93;
    color: var(--btn-inv-font-color,#004c93)
}

.cookiesjsr-btn.important {
    background-color: #fff;
    background-color: var(--btn-prime-bg-color,#fff);
    border-color: #fff;
    border-color: var(--btn-prime-border-color,#fff);
    color: #004c93;
    color: var(--btn-prime-font-color,#004c93)
}

.cookiesjsr-btn.important.invert {
    background-color: #004c93;
    background-color: var(--btn-prime-inv-bg-color,#004c93);
    border-color: #004c93;
    border-color: var(--btn-prime-inv-border-color,#004c93);
    color: #fff;
    color: var(--btn-prime-inv-font-color,#fff)
}

.cookiesjsr-links {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0 -.75em;
    padding: 0
}

@media (min-width: 576px) {
    .cookiesjsr-links.links--row {
        align-items:center;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: left
    }
}

.cookiesjsr-links.links--row li {
    margin: 0;
    padding-left: .75em;
    padding-right: .75em;
    position: relative
}

.cookiesjsr-links.links--row li a {
    display: inline-block;
    line-height: 2em;
    margin: 0;
    padding: 0
}

.cookiesjsr-links.links--row li:first-child:before {
    content: none
}

@media (min-width: 576px) {
    .cookiesjsr-links.links--row li:before {
        background-color:#fff;
        background-color: var(--link-list-separator-color,#fff);
        content: "";
        height: .3em;
        left: 0;
        position: absolute;
        top: 50%;
        -webkit-transform: translate(-50%,-40%);
        transform: translate(-50%,-40%);
        width: .3em
    }
}

.cookiesjsr-btn.denyAll {
    display: none
}

@media (min-width: 1200px) {
    .cookiesjsr-btn.denyAll {
        display:inline-block
    }
}

.cookiesjsr-switch {
    background-color: #fff;
    background-color: var(--switch-bg-off,#fff);
    border: 0;
    border-radius: 20px;
    border-radius: var(--switch-height,20px);
    box-shadow: inset -1px 2px 1px rgba(0,0,0,.25);
    cursor: pointer;
    display: block;
    height: 20px;
    height: var(--switch-height,20px);
    margin: 0;
    padding: 0;
    position: relative;
    transition: background-color .1s ease-in-out;
    width: 45px;
    width: var(--switch-width,45px)
}

.cookiesjsr-switch:focus-within:before {
    border: 1px dotted #eee;
    border-radius: 10px;
    content: "";
    height: 100%;
    position: absolute;
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    width: 100%
}

.cookiesjsr-switch:after {
    background-color: #fff;
    background-color: var(--switch-handle-color,#fff);
    border: 1px solid #e4e5e6;
    border: 1px solid var(--switch-border-color,#e4e5e6);
    border-radius: 20px;
    border-radius: var(--switch-height,20px);
    box-shadow: -1px 2px 1px rgba(0,0,0,.25);
    content: "";
    display: block;
    height: 20px;
    height: var(--switch-height,20px);
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: left .1s ease-in-out;
    width: 20px;
    width: var(--switch-height,20px)
}

.cookiesjsr-switch.active {
    background-color: #0a0;
    background-color: var(--switch-bg-on,#0a0)
}

.cookiesjsr-switch.active:after {
    left: 25px
}

.cookiesjsr-switch input[type=checkbox] {
    opacity: 0;
    position: absolute
}

.cookiesjsr-banner {
    align-items: center;
    box-sizing: border-box;
    background-color: #004c93;
    background-color: var(--banner-bg-color,#004c93);
    bottom: 0;
    color: #fff;
    color: var(--banner-font-color,#fff);
    display: flex;
    flex-direction: column;
    height: auto;
    justify-content: flex-start;
    left: 0;
    max-height: calc(100vh - 100px);
    overflow: auto;
    padding: 1em;
    position: fixed;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out,-webkit-transform .3s ease-in-out;
    width: 100vw;
    z-index: 10000
}

.cookiesjsr-banner.active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

@media (min-width: 768px) {
    .cookiesjsr-banner {
        flex-direction:row
    }
}

.cookiesjsr-banner a {
    color: #fff;
    color: var(--link-list-font-color,#fff)
}

.cookiesjsr-banner--action,.cookiesjsr-banner--info {
    width: 100%
}

@media (min-width: 768px) {
    .cookiesjsr-banner--action,.cookiesjsr-banner--info {
        width:50%
    }
}

.cookiesjsr-banner--info {
    margin-bottom: 1.25em;
    margin-bottom: var(--default-margin,1.25em);
    max-height: calc(100vh - 100px - 2.5em);
    overflow: auto;
    padding: 0 1.25em;
    padding: 0 var(--default-margin,1.25em)
}

.cookiesjsr-banner--text {
    display: block
}

.cookiesjsr-banner--links {
    font-size: .85em;
    margin-top: .5em
}

.cookiesjsr-banner--action {
    display: flex;
    flex-direction: column;
    padding: 0
}

@media (min-width: 1200px) {
    .cookiesjsr-banner--action {
        flex-direction:row
    }
}

.cookiesjsr-banner button.denyAll {
    display: inline-block
}

.cookiesjsr-service-groups {
    display: block;
    list-style: none;
    margin: 0 0 -1px!important;
    max-height: 100%;
    overflow: auto;
    padding: 0!important;
    position: static!important
}

.cookiesjsr-service-group {
    line-height: 1.5em;
    list-style: none;
    position: static!important
}

.cookiesjsr-service-group--tab {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    background: var(--layer-tab-bg-color,#fff);
    border: 0;
    border-bottom: 1px solid #e4e5e6;
    border-bottom: 1px solid var(--layer-border-color,#e4e5e6);
    color: #000f37;
    color: var(--layer-tab-font-color,#000f37);
    cursor: pointer;
    display: block;
    font-weight: 700;
    margin: 0;
    min-height: 3em;
    padding: 1em 1.25em;
    padding: 1em var(--default-margin,1.25em);
    text-align: left;
    text-decoration: none;
    width: 100%
}

.cookiesjsr-service-group--tab:last-child {
    border-bottom: 0
}

@media (min-width: 768px) {
    .cookiesjsr-service-group--tab {
        padding:1em 3.25em 1em 1.25em;
        width: calc(30% + 2em)
    }
}

.cookiesjsr-service-group--content {
    display: none
}

@media (min-width: 768px) {
    .cookiesjsr-service-group--content {
        height:100%;
        overflow: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: 70%
    }
}

.cookiesjsr-service-group--intro {
    padding: 1em 1.25em;
    padding: 1em var(--default-margin,1.25em)
}

.cookiesjsr-service-group.active .cookiesjsr-service-group--tab {
    background: #004c93;
    background: var(--layer-tab-active-bg-color,#004c93);
    border-bottom: 0;
    color: #fff;
    color: var(--layer-tab-active-font-color,#fff)
}

.cookiesjsr-service-group.active .cookiesjsr-service-group--content {
    background: #004c93;
    background: var(--layer-tab-active-bg-color,#004c93);
    color: #fff;
    color: var(--layer-tab-active-font-color,#fff);
    display: block;
    font-weight: 500
}

.cookiesjsr-service-group--services {
    margin: 0!important;
    padding: 0!important
}

.cookiesjsr-service {
    align-items: center;
    background-color: hsla(210,4%,90%,0);
    display: flex;
    transition: background-color .3s ease
}

.cookiesjsr-service:hover {
    background-color: hsla(210,4%,90%,.1)
}

.cookiesjsr-service--description {
    padding: .625em 1.25em;
    width: calc(100% - 2.5em - 45px)
}

.cookiesjsr-service--description h3 {
    color: #fff;
    color: var(--layer-font-light,#fff);
    font-size: 1.125em;
    font-weight: 400;
    margin: 0
}

.cookiesjsr-service--links a {
    font-size: .75em
}

.cookiesjsr-service--links a,.cookiesjsr-service--links a:active,.cookiesjsr-service--links a:hover,.cookiesjsr-service--links a:visited {
    color: #fff;
    color: var(--layer-font-light,#fff)
}

.cookiesjsr-service--action {
    padding: .625em 1.25em;
    width: calc(2.5em + 45px)
}

.cookiesjsr-service--always-on {
    color: #0a0;
    color: var(--switch-always-on-font-color,#0a0);
    display: flex;
    justify-content: flex-end;
    text-align: right;
    white-space: nowrap
}

.cookiesjsr-service--always-on span {
    background-color: #fff;
    background-color: var(--switch-always-on-bg-color,#fff);
    padding: 0 .5em
}

.cookiesjsr-layer {
    background: #fff;
    background: var(--layer-header-bg-color,#fff);
    display: block;
    height: 100vh;
    left: 50%;
    line-height: 1.5em;
    max-width: 100%;
    overflow: hidden;
    padding: 3.5em 0 4.5em;
    padding: var(--layer-header-height,3.5em) 0 var(--layer-footer-height,4.5em);
    position: fixed;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 100vw;
    z-index: 314160
}

@media (min-height: 668px) {
    .cookiesjsr-layer {
        height:80vh;
        max-height: 575px
    }
}

@media (min-height: 992px) {
    .cookiesjsr-layer {
        height:60vh
    }
}

@media (min-width: 768px) {
    .cookiesjsr-layer {
        width:860px
    }
}

.cookiesjsr-layer--overlay {
    background: rgba(0,0,0,.4);
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 314159
}

.cookiesjsr-layer--header {
    align-items: center;
    background-color: #fff;
    background: #fff;
    background: var(--layer-header-bg-color,#fff);
    border-bottom: 1px solid #e4e5e6;
    border-bottom: 1px solid var(--layer-border-color,#e4e5e6);
    display: flex;
    height: 3.5em;
    justify-content: space-between;
    left: 0;
    margin: 0;
    padding: 0 1.25em;
    padding: 0 var(--default-margin,1.25em);
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 100
}

.cookiesjsr-layer--title {
    color: #000f37;
    color: var(--layer-header-font-color,#000f37);
    text-transform: uppercase
}

.cookiesjsr-layer--close {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent url("data:image/svg+xml;charset=utf-8,%3Csvg width='27' height='27' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.263 0 13.501 10.762 2.737 0 0 2.737l10.764 10.764L0 24.263 2.737 27l10.764-10.764L24.263 27 27 24.263 16.238 13.501 27 2.737z' fill='%23000f37' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat 50% scroll;
    background-size: contain;
    border: 0;
    cursor: pointer;
    height: 1em;
    overflow: hidden;
    padding: 0;
    text-indent: -999em;
    width: 1em;
    z-index: 102
}

.cookiesjsr-layer--body {
    background: #fff;
    background: var(--layer-body-bg-color,#fff);
    bottom: 4.5em;
    bottom: var(--layer-footer-height,4.5em);
    left: 0;
    position: absolute;
    right: 0;
    top: 3.5em;
    top: var(--layer-header-height,3.5em)
}

.cookiesjsr-layer--footer {
    align-items: center;
    background: #fff;
    background: var(--layer-footer-bg-color,#fff);
    border-top: 1px solid #e4e5e6;
    border-top: 1px solid var(--layer-border-color,#e4e5e6);
    bottom: 0;
    display: flex;
    height: 4.5em;
    height: var(--layer-footer-height,4.5em);
    justify-content: flex-end;
    left: 0;
    padding: 0 1.25em;
    padding: 0 var(--default-margin,1.25em);
    position: absolute;
    width: 100%
}

@media (min-width: 768px) {
    .cookiesjsr-layer--footer {
        justify-content:space-between
    }
}

.cookiesjsr-layer--label-all {
    color: #000f37;
    color: var(--layer-footer-font-color,#000f37);
    display: none
}

@media (min-width: 768px) {
    .cookiesjsr-layer--label-all {
        display:block;
        padding-right: 1.25em;
        padding-right: var(--default-margin,1.25em);
        width: 30%
    }
}

.cookiesjsr-layer--actions {
    align-items: center;
    display: flex;
    margin: -.625em;
    width: calc(100% + 1.25em)
}

@media (min-width: 768px) {
    .cookiesjsr-layer--actions {
        width:calc(70% + .625em)
    }
}

.cookiesjsr-layer button.allowAll,.cookiesjsr-layer button.denyAll {
    display: none
}

@media (min-width: 576px) {
    .cookiesjsr-layer button.allowAll,.cookiesjsr-layer button.denyAll {
        display:inline-block
    }
}

@media (max-width: 576px) {
    .cookiesjsr-layer button.save {
        margin-left:auto;
        padding: 0 2em;
        width: auto
    }
}

#cookiesjsr {
    --default-margin: 1.25em;
    --font-size-reset: 1rem;
    --btn-font-color: var(--site-color-text, #333);
    --btn-border-color: var(--site-color-text-secondary, #6c757d);
    --btn-bg-color: transparent;
    --btn-prime-font-color: var(--site-color-surface, #fff);
    --btn-prime-border-color: var(--site-color-shell, #3d3d43);
    --btn-prime-bg-color: var(--site-color-shell, #3d3d43);
    --btn-inv-font-color: var(--site-color-text, #333);
    --btn-inv-border-color: var(--site-color-text-secondary, #6c757d);
    --btn-inv-bg-color: transparent;
    --btn-prime-inv-font-color: var(--site-color-surface, #fff);
    --btn-prime-inv-border-color: var(--site-color-shell, #3d3d43);
    --btn-prime-inv-bg-color: var(--site-color-shell, #3d3d43);
    --link-list-font-color: var(--site-color-text, #333);
    --link-list-separator-color: var(--site-color-text-secondary, #6c757d);
    --banner-logo-offset: 100px;
    --banner-bg-color: var(--site-color-surface, #fff);
    --banner-font-color: var(--site-color-text, #333);
    --layer-header-height: 3.5em;
    --layer-header-bg-color: var(--site-color-surface, #fff);
    --layer-header-font-color: var(--site-color-text, #333);
    --layer-body-bg-color: var(--site-color-surface, #fff);
    --layer-tab-bg-color: var(--site-color-surface-muted, #f5f5f5);
    --layer-tab-font-color: var(--site-color-text, #333);
    --layer-tab-active-bg-color: var(--site-color-shell, #3d3d43);
    --layer-tab-active-font-color: var(--site-color-surface, #fff);
    --layer-bg-dark: var(--site-color-shell, #3d3d43);
    --layer-font-light: var(--site-color-surface, #fff);
    --layer-font-dark: var(--site-color-text, #333);
    --layer-border-color: var(--site-color-line, #e5e5e5);
    --layer-footer-bg-color: var(--site-color-surface, #fff);
    --layer-footer-font-color: var(--site-color-text, #333);
    --layer-footer-height: 4.5em;
    --switch-border-color: var(--site-color-line, #e5e5e5);
    --switch-handle-color: var(--site-color-surface, #fff);
    --switch-bg-off: var(--site-color-text-secondary, #6c757d);
    --switch-bg-on: var(--site-color-status, #4f8a58);
    --switch-width: 45px;
    --switch-height: 20px;
    --switch-always-on-font-color: var(--site-color-status, #4f8a58);
    --switch-always-on-bg-color: var(--site-color-surface, #fff)
}

.cookiesjsr--app {
    font-size: 1rem;
    font-size: var(--font-size-reset,1rem)
}

body .cookiesjsr--app,body .cookiesjsr--app *,body .cookiesjsr--app :after,body .cookiesjsr--app :before {
    box-sizing: border-box
}

/* Project theme and layout. Keep overrides inside the CookieJSR mount point. */
#cookiesjsr .cookiesjsr--app {
    color: var(--site-color-text, #333);
    font-family: var(--site-font-family, Arial, Helvetica, sans-serif);
}

#cookiesjsr .cookiesjsr-banner {
    align-items: stretch;
    border-top: 1px solid var(--site-color-line, #e5e5e5);
    box-sizing: border-box;
    box-shadow: none;
    gap: 1.5rem;
    left: 0;
    max-width: none;
    padding: 1.25rem max(1.25rem, calc((100vw - var(--site-content-wide, 1320px)) / 2));
    right: 0;
    width: auto;
}

#cookiesjsr .cookiesjsr-banner--info,
#cookiesjsr .cookiesjsr-banner--action {
    box-sizing: border-box;
    margin: 0;
    max-width: 100%;
    min-width: 0;
}

#cookiesjsr .cookiesjsr-banner--info {
    max-height: none;
    overflow: visible;
    padding: 0;
}

#cookiesjsr .cookiesjsr-banner--text {
    line-height: 1.5;
}

#cookiesjsr .cookiesjsr-banner--links {
    margin-left: 0;
    margin-top: .5rem;
    margin-right: 0;
}

#cookiesjsr .cookiesjsr-banner--links li:first-child {
    padding-left: 0;
}

#cookiesjsr .cookiesjsr-banner img {
    height: auto;
    max-width: 100%;
}

#cookiesjsr .cookiesjsr-banner--links a,
#cookiesjsr .cookiesjsr-service--links a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
    text-decoration: underline;
}

#cookiesjsr .cookiesjsr-banner--action {
    align-content: center;
    display: grid;
    flex: 0 1 auto;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    max-width: 100%;
    min-width: 0;
}

#cookiesjsr .cookiesjsr-banner--action .cookiesjsr-btn {
    height: 100%;
    max-width: 100%;
    width: 100%;
}

#cookiesjsr .cookiesjsr-btn {
    border-radius: .375rem;
    margin: 0;
    min-width: 0;
    opacity: 1;
    padding: .625rem 1rem;
    text-transform: none;
    transform: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    white-space: normal;
    width: auto;
}

#cookiesjsr .cookiesjsr-btn:hover {
    transform: none;
}

#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn.denyAll {
    background-color: transparent;
    border-color: var(--site-color-text-secondary, #6c757d);
    color: var(--site-color-text, #333);
}

#cookiesjsr .cookiesjsr-layer {
    border: 1px solid var(--site-color-line, #e5e5e5);
    border-radius: .5rem;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    padding: 0;
}

#cookiesjsr .cookiesjsr-layer--header {
    flex: 0 0 auto;
    height: auto;
    min-height: var(--layer-header-height);
    position: static;
}

#cookiesjsr .cookiesjsr-layer--body {
    flex: 1 1 auto;
    inset: auto;
    min-height: 0;
    overflow-y: auto;
    position: relative;
}

#cookiesjsr .cookiesjsr-layer--footer {
    flex: 0 0 auto;
    height: auto;
    min-height: var(--layer-footer-height);
    position: static;
}

#cookiesjsr .cookiesjsr-layer--title {
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: none;
}

#cookiesjsr .cookiesjsr-service-group--tab {
    font-weight: 600;
}

#cookiesjsr .cookiesjsr-service-group.active .cookiesjsr-service-group--content {
    font-weight: 400;
}

#cookiesjsr .cookiesjsr-service--description,
#cookiesjsr .cookiesjsr-service--action,
#cookiesjsr .cookiesjsr-layer--label-all,
#cookiesjsr .cookiesjsr-layer--actions {
    min-width: 0;
}

#cookiesjsr .cookiesjsr-layer--actions {
    align-items: stretch;
    gap: .75rem;
    margin: 0;
    width: 100%;
}

#cookiesjsr .cookiesjsr-layer--actions .cookiesjsr-btn {
    flex: 1 1 0;
}

@media (min-width: 768px) {
    #cookiesjsr .cookiesjsr-banner--info {
        flex: 1 1 auto;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-banner--action {
        flex-basis: 32rem;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-layer--label-all {
        flex: 0 0 30%;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-layer--actions {
        flex: 1 1 70%;
        width: auto;
    }
}

@media (max-width: 767.98px) {
    #cookiesjsr .cookiesjsr-banner {
        gap: 1rem;
        padding: 1rem;
    }

    #cookiesjsr .cookiesjsr-banner--action {
        grid-auto-rows: 1fr;
        grid-template-columns: minmax(0, 1fr);
    }

    #cookiesjsr .cookiesjsr-banner--action .cookiesjsr-btn {
        width: 100%;
    }

    #cookiesjsr .cookiesjsr-layer {
        border: 0;
        border-radius: 0;
    }
}

/* Stage 2: accessibility and responsive hardening. */
#cookiesjsr .cookiesjsr-banner--text,
#cookiesjsr .cookiesjsr-banner--links,
#cookiesjsr .cookiesjsr-btn,
#cookiesjsr .cookiesjsr-layer--title,
#cookiesjsr .cookiesjsr-service-group--tab,
#cookiesjsr .cookiesjsr-service-group--intro,
#cookiesjsr .cookiesjsr-service--description,
#cookiesjsr .cookiesjsr-service--links,
#cookiesjsr .cookiesjsr-service--always-on,
#cookiesjsr .cookiesjsr-layer--label-all {
    overflow-wrap: anywhere;
}

#cookiesjsr .cookiesjsr-btn {
    min-height: 44px;
}

#cookiesjsr .cookiesjsr-layer--close {
    background-size: 1rem;
    height: 44px;
    width: 44px;
}

#cookiesjsr .cookiesjsr-switch {
    background: transparent;
    border-radius: 22px;
    box-shadow: none;
    height: 44px;
    width: 45px;
}

#cookiesjsr .cookiesjsr-switch::before {
    background-color: var(--switch-bg-off);
    border-radius: var(--switch-height);
    content: "";
    height: var(--switch-height);
    left: 0;
    position: absolute;
    top: 12px;
    width: var(--switch-width);
}

#cookiesjsr .cookiesjsr-switch::after {
    top: 12px;
}

#cookiesjsr .cookiesjsr-switch.active {
    background: transparent;
}

#cookiesjsr .cookiesjsr-switch.active::before {
    background-color: var(--switch-bg-on);
}

#cookiesjsr .cookiesjsr-switch:focus-within::before {
    border: 0;
    transform: none;
}

#cookiesjsr .cookiesjsr-service--always-on {
    color: var(--site-color-shell, #3d3d43);
    max-width: 100%;
    white-space: normal;
}

#cookiesjsr .cookiesjsr-service--always-on span {
    display: block;
    max-width: 100%;
    white-space: normal;
}

#cookiesjsr .cookiesjsr-service--description {
    flex: 1 1 auto;
    width: auto;
}

#cookiesjsr .cookiesjsr-service--action:has(.cookiesjsr-service--always-on) {
    flex: 0 1 12rem;
    max-width: 50%;
    width: auto;
}

#cookiesjsr .cookiesjsr-btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}

#cookiesjsr .cookiesjsr-btn:active {
    opacity: .8;
}

#cookiesjsr .cookiesjsr-btn:focus-visible,
#cookiesjsr .cookiesjsr-banner a:focus-visible,
#cookiesjsr .cookiesjsr-service--links a:focus-visible,
#cookiesjsr .cookiesjsr-layer--close:focus-visible,
#cookiesjsr .cookiesjsr-service-group--tab:focus-visible,
#cookiesjsr .cookiesjsr-switch:has(input:focus-visible) {
    box-shadow: 0 0 0 5px var(--site-color-surface, #fff);
    outline: 3px solid var(--site-color-shell, #3d3d43);
    outline-offset: 3px;
}

#cookiesjsr .cookiesjsr-service:hover {
    background-color: transparent;
}

@media (hover: hover) {
    #cookiesjsr .cookiesjsr-btn:not(:disabled):hover {
        opacity: .9;
    }

    #cookiesjsr .cookiesjsr-service:hover {
        background-color: rgba(255, 255, 255, .08);
    }
}

@media (max-width: 767.98px) {
    #cookiesjsr,
    #cookiesjsr .cookiesjsr--app {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }

    #cookiesjsr .cookiesjsr--app:has(.cookiesjsr-layer--wrapper) .cookiesjsr-banner {
        display: none;
    }

    #cookiesjsr .cookiesjsr-banner {
        position: fixed;
        bottom: .5rem;
        bottom: calc(var(--cookiesjsr-visual-bottom, 0px) + .5rem + env(safe-area-inset-bottom));
        font-size: .875rem;
        left: .5rem;
        left: calc(.5rem + env(safe-area-inset-left));
        max-height: calc(100vh - 1rem - env(safe-area-inset-bottom));
        max-height: calc(100dvh - 1rem - env(safe-area-inset-bottom));
        max-width: none;
        overflow-y: auto;
        padding: .875rem;
        right: .5rem;
        right: calc(.5rem + env(safe-area-inset-right));
        width: auto;
    }

    #cookiesjsr .cookiesjsr-banner,
    #cookiesjsr .cookiesjsr-layer {
        left: calc(var(--cookiesjsr-visual-left, 0px) + .5rem + env(safe-area-inset-left));
        max-width: calc(var(--cookiesjsr-visual-width, 100vw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
        right: auto;
        width: calc(var(--cookiesjsr-visual-width, 100vw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
    }

    /* d-vw is a fallback for browsers without visualViewport. */
    @supports (width: 100dvw) {
        #cookiesjsr .cookiesjsr-banner,
        #cookiesjsr .cookiesjsr-layer {
            max-width: calc(var(--cookiesjsr-visual-width, 100dvw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
            width: calc(var(--cookiesjsr-visual-width, 100dvw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
        }

        #cookiesjsr .cookiesjsr-layer--overlay {
            left: 0;
            max-width: 100dvw;
            right: auto;
            width: 100dvw;
        }
    }

    #cookiesjsr .cookiesjsr-banner--info,
    #cookiesjsr .cookiesjsr-banner--action {
        min-width: 0;
        max-width: 100%;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-banner--info {
        display: block;
    }

    #cookiesjsr .cookiesjsr-banner--action {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    #cookiesjsr .cookiesjsr-banner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    #cookiesjsr .cookiesjsr-banner--text {
        line-height: 1.4;
    }

    #cookiesjsr .cookiesjsr-banner--links {
        margin-top: .25rem;
    }

    #cookiesjsr .cookiesjsr-layer {
        border: 1px solid var(--site-color-line, #e5e5e5);
        border-radius: .5rem;
        font-size: .875rem;
        height: auto;
        left: .5rem;
        left: calc(.5rem + env(safe-area-inset-left));
        max-height: none;
        right: .5rem;
        right: calc(.5rem + env(safe-area-inset-right));
        top: auto;
        bottom: .5rem;
        bottom: calc(var(--cookiesjsr-visual-bottom, 0px) + .5rem + env(safe-area-inset-bottom));
        transform: none;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-layer {
        bottom: calc(var(--cookiesjsr-visual-bottom, 0px) + .5rem + env(safe-area-inset-bottom));
        max-height: calc(var(--cookiesjsr-visual-height, 100vh) - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }

    #cookiesjsr .cookiesjsr-layer--overlay {
        background: var(--site-color-surface-muted, #f5f5f5);
    }

    #cookiesjsr .cookiesjsr-layer--header {
        min-height: var(--layer-header-height);
        padding: 0 .875rem;
    }

    #cookiesjsr .cookiesjsr-layer--body {
        position: relative;
    }

    #cookiesjsr .cookiesjsr-service-groups {
        max-height: none;
        overflow: visible;
    }

    #cookiesjsr .cookiesjsr-service {
        align-items: start;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    #cookiesjsr .cookiesjsr-service--description {
        max-width: 100%;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-service--action {
        align-self: start;
        display: flex;
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-start;
        padding: 0 1.25em 0 0;
        width: auto;
    }

    #cookiesjsr .cookiesjsr-layer--footer {
        padding: .625rem .875rem calc(.75rem + env(safe-area-inset-bottom));
    }

    #cookiesjsr .cookiesjsr-layer--actions {
        align-items: stretch;
        flex-direction: column;
        gap: .5rem;
        margin: 0;
        width: 100%;
    }

    #cookiesjsr .cookiesjsr-layer button.allowAll,
    #cookiesjsr .cookiesjsr-layer button.denyAll,
    #cookiesjsr .cookiesjsr-layer button.save {
        display: flex;
        margin: 0;
        padding: .625rem 1rem;
        width: 100%;
    }
}

/* A zoomed mobile browser can expose a desktop-sized layout viewport while
 * the visual viewport is narrow. Keep the fixed surfaces inside that area. */
#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr--app:has(.cookiesjsr-layer--wrapper) .cookiesjsr-banner {
    display: none;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner {
    align-items: stretch;
    bottom: calc(var(--cookiesjsr-visual-bottom, 0px) + .5rem + env(safe-area-inset-bottom));
    display: grid;
    font-size: .875rem;
    grid-template-columns: minmax(0, 1fr);
    left: calc(var(--cookiesjsr-visual-left, 0px) + .5rem + env(safe-area-inset-left));
    max-height: calc(var(--cookiesjsr-visual-height, 100vh) - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-width: calc(var(--cookiesjsr-visual-width, 100vw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
    overflow-y: auto;
    padding: .875rem;
    position: fixed;
    right: auto;
    width: calc(var(--cookiesjsr-visual-width, 100vw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner--info,
#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner--action {
    min-width: 0;
    max-width: 100%;
    width: auto;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner--info {
    display: block;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner--action {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-banner--action .cookiesjsr-btn {
    max-width: 100%;
    width: 100%;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer {
    bottom: calc(var(--cookiesjsr-visual-bottom, 0px) + .5rem + env(safe-area-inset-bottom));
    height: auto;
    left: calc(var(--cookiesjsr-visual-left, 0px) + .5rem + env(safe-area-inset-left));
    max-height: calc(var(--cookiesjsr-visual-height, 100vh) - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    position: fixed;
    top: auto;
    transform: none;
    width: calc(var(--cookiesjsr-visual-width, 100vw) - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right));
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer--overlay {
    height: var(--cookiesjsr-visual-height, 100vh);
    left: var(--cookiesjsr-visual-left, 0px);
    top: var(--cookiesjsr-visual-top, 0px);
    width: var(--cookiesjsr-visual-width, 100vw);
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer--header {
    min-height: var(--layer-header-height);
    padding: 0 .875rem;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer--body {
    position: relative;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-service-groups {
    max-height: none;
    overflow: visible;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-service {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-service--description {
    max-width: 100%;
    width: auto;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-service--action {
    align-self: start;
    display: flex;
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-start;
    padding: 0 1.25em 0 0;
    width: auto;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer--footer {
    padding: .625rem .875rem calc(.75rem + env(safe-area-inset-bottom));
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer--actions {
    align-items: stretch;
    flex-direction: column;
    gap: .5rem;
    margin: 0;
    width: 100%;
}

#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer button.allowAll,
#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer button.denyAll,
#cookiesjsr[data-cookiesjsr-visual-mobile] .cookiesjsr-layer button.save {
    display: flex;
    margin: 0;
    padding: .625rem 1rem;
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    #cookiesjsr .cookiesjsr-banner,
    #cookiesjsr .cookiesjsr-btn,
    #cookiesjsr .cookiesjsr-service,
    #cookiesjsr .cookiesjsr-switch,
    #cookiesjsr .cookiesjsr-switch::after {
        transition: none;
    }
}

/* end: cookiesjsr.min.css */
