html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

a {
    background-color: transparent;
}

a:active, a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td, th {
    padding: 0;
}

@media (min--moz-device-pixel-ratio: 0) {
    summary {
        display: list-item;
    }
}

.messages {
    padding: 15px 20px 15px 35px;
    word-wrap: break-word;
    border: 1px solid;
    border-width: 1px 1px 1px 0;
    border-radius: 2px;
    background: no-repeat 10px 17px;
    overflow-wrap: break-word;
}

[dir="rtl"] .messages {
    padding-right: 35px;
    padding-left: 20px;
    text-align: right;
    border-width: 1px 0 1px 1px;
    background-position: right 10px top 17px;
}

.messages + .messages {
    margin-top: 1.538em;
}

.messages__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.messages__item + .messages__item {
    margin-top: 0.769em;
}

.messages--status {
    color: #325e1c;
    border-color: #c9e1bd #c9e1bd #c9e1bd transparent;
    background-color: #f3faef;
    background-image: url(https://www.chumontreal.qc.ca/core/misc/icons/73b355/check.svg);
    box-shadow: -8px 0 0 #77b259;
}

[dir="rtl"] .messages--status {
    margin-left: 0;
    border-color: #c9e1bd transparent #c9e1bd #c9e1bd;
    box-shadow: 8px 0 0 #77b259;
}

.messages--warning {
    color: #734c00;
    border-color: #f4daa6 #f4daa6 #f4daa6 transparent;
    background-color: #fdf8ed;
    background-image: url(https://www.chumontreal.qc.ca/core/misc/icons/e29700/warning.svg);
    box-shadow: -8px 0 0 #e09600;
}

[dir="rtl"] .messages--warning {
    border-color: #f4daa6 transparent #f4daa6 #f4daa6;
    box-shadow: 8px 0 0 #e09600;
}

.messages--error {
    color: #a51b00;
    border-color: #f9c9bf #f9c9bf #f9c9bf transparent;
    background-color: #fcf4f2;
    background-image: url(https://www.chumontreal.qc.ca/core/misc/icons/e32700/error.svg);
    box-shadow: -8px 0 0 #e62600;
}

[dir="rtl"] .messages--error {
    border-color: #f9c9bf transparent #f9c9bf #f9c9bf;
    box-shadow: 8px 0 0 #e62600;
}

.messages--error p.error {
    color: #a51b00;
}

.progress__track {
    border-color: #b3b3b3;
    border-radius: 10em;
    background-color: #f2f1eb;
    background-image: -webkit-linear-gradient(#e7e7df, #f0f0f0);
    background-image: linear-gradient(#e7e7df, #f0f0f0);
    box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.16);
}

.progress__bar {
    height: 16px;
    margin-top: -1px;
    margin-left: -1px;
    padding: 0 1px;
    -webkit-transition: width 0.5s ease-out;
    transition: width 0.5s ease-out;
    -webkit-animation: animate-stripes 3s linear infinite;
    -moz-animation: animate-stripes 3s linear infinite;
    border: 1px #07629a solid;
    border-radius: 10em;
    background: #057ec9;
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), -webkit-linear-gradient(left top, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), linear-gradient(to right bottom, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
    background-size: 40px 40px;
}

[dir="rtl"] .progress__bar {
    margin-right: -1px;
    margin-left: 0;
    -webkit-animation-direction: reverse;
    -moz-animation-direction: reverse;
    animation-direction: reverse;
}

@media screen and (prefers-reduced-motion: reduce) {
    .progress__bar {
        -webkit-transition: none;
        transition: none;
        -webkit-animation: none;
        -moz-animation: none;
    }
}

@-webkit-keyframes animate-stripes {
    0% {
        background-position: 0 0, 0 0;
    }
    100% {
        background-position: 0 0, -80px 0;
    }
}

@-ms-keyframes animate-stripes {
    0% {
        background-position: 0 0, 0 0;
    }
    100% {
        background-position: 0 0, -80px 0;
    }
}

@keyframes animate-stripes {
    0% {
        background-position: 0 0, 0 0;
    }
    100% {
        background-position: 0 0, -80px 0;
    }
}

:root {
    --c-p1: var(--primary-color-ch1);
    --c-s1: var(--primary-color-ch2);
    --c-s2: var(--secondary-color-ch4);
    --c-s3: var(--secondary-color-ch2)
}

:root .site--crchum {
    --c-s1: var(--primary-color-cr1);
    --c-s2: var(--secondary-color-cr1)
}

*, :after, :before {
    box-sizing: border-box
}

a, b, blockquote, body, canvas, caption, code, div, em, embed, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, i, iframe, img, label, li, main, nav, object, ol, p, pre, section, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, video {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    text-size-adjust: none;
    border: 0;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

footer, header, main, nav, section {
    display: block
}

blockquote, q {
    quotes: none
}

blockquote:after, blockquote:before, q:after, q:before {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}


body:before {
    background: var(--c-s1);
    content: "";
    height: 100%;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: transform .2s;
    width: 5px;
    z-index: 201
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    body:before {
        width: 3px
    }
}

body.scroll-locked {
    height: 100vh;
    overflow: hidden
}

body.scroll-locked:before {
    transform: translateX(-100%)
}

.page {
    min-height: 300px;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .page {
        padding-top: var(--header-height)
    }
}

.header--sticky body:not(.has-local-nav) .page {
    padding-top: var(--header-height)
}

.layout-content {
    margin-top: 100px;
    position: relative
}

.bg-primary-color--ch1, [data-bg-primary-color=ch1] {
    background-color: var(--primary-color-ch1)
}

.bg-primary-color--ch2, [data-bg-primary-color=ch2] {
    background-color: var(--primary-color-ch2)
}

.bg-primary-color--cr1, [data-bg-primary-color=cr1] {
    background-color: var(--primary-color-cr1)
}

.bg-primary-color--cr2, [data-bg-primary-color=cr2] {
    background-color: var(--primary-color-cr2)
}

.bg-primary-color--000, [data-bg-primary-color="000"] {
    background-color: var(--primary-color-000)
}

.primary-color--ch1, [data-primary-color=ch1] {
    color: var(--primary-color-ch1)
}

.primary-color--ch2, [data-primary-color=ch2] {
    color: var(--primary-color-ch2)
}

.primary-color--cr1, [data-primary-color=cr1] {
    color: var(--primary-color-cr1)
}

.primary-color--cr2, [data-primary-color=cr2] {
    color: var(--primary-color-cr2)
}

.primary-color--000, [data-primary-color="000"] {
    color: var(--primary-color-000)
}

.bg-secondary-color--ch1, [data-bg-secondary-color=ch1] {
    background-color: var(--secondary-color-ch1)
}

.bg-secondary-color--ch2, [data-bg-secondary-color=ch2] {
    background-color: var(--secondary-color-ch2)
}

.bg-secondary-color--ch3, [data-bg-secondary-color=ch3] {
    background-color: var(--secondary-color-ch3)
}

.bg-secondary-color--ch4, [data-bg-secondary-color=ch4] {
    background-color: var(--secondary-color-ch4)
}

.bg-secondary-color--ch5, [data-bg-secondary-color=ch5] {
    background-color: var(--secondary-color-ch5)
}

.bg-secondary-color--cr1, [data-bg-secondary-color=cr1] {
    background-color: var(--secondary-color-cr1)
}

.bg-secondary-color--green-1, [data-bg-secondary-color=green-1] {
    background-color: var(--secondary-color-green-1)
}

.bg-secondary-color--orange-1, [data-bg-secondary-color=orange-1] {
    background-color: var(--secondary-color-orange-1)
}

.bg-secondary-color--grey-200, [data-bg-secondary-color=grey-200] {
    background-color: var(--secondary-color-grey-200)
}

.bg-secondary-color--grey-50, [data-bg-secondary-color=grey-50] {
    background-color: var(--secondary-color-grey-50)
}

.bg-secondary-color--white-000, [data-bg-secondary-color=white-000] {
    background-color: var(--secondary-color-white-000)
}

.bg-secondary-color--status-error, [data-bg-secondary-color=status-error] {
    background-color: var(--secondary-color-status-error)
}

.bg-secondary-color--status-alert, [data-bg-secondary-color=status-alert] {
    background-color: var(--secondary-color-status-alert)
}

.bg-secondary-color--status-warning, [data-bg-secondary-color=status-warning] {
    background-color: var(--secondary-color-status-warning)
}

.bg-secondary-color--status-success, [data-bg-secondary-color=status-success] {
    background-color: var(--secondary-color-status-success)
}

.secondary-color--ch1, [data-secondary-color=ch1] {
    color: var(--secondary-color-ch1)
}

.secondary-color--ch2, [data-secondary-color=ch2] {
    color: var(--secondary-color-ch2)
}

.secondary-color--ch3, [data-secondary-color=ch3] {
    color: var(--secondary-color-ch3)
}

.secondary-color--ch4, [data-secondary-color=ch4] {
    color: var(--secondary-color-ch4)
}

.secondary-color--ch5, [data-secondary-color=ch5] {
    color: var(--secondary-color-ch5)
}

.secondary-color--cr1, [data-secondary-color=cr1] {
    color: var(--secondary-color-cr1)
}

.secondary-color--green-1, [data-secondary-color=green-1] {
    color: var(--secondary-color-green-1)
}

.secondary-color--orange-1, [data-secondary-color=orange-1] {
    color: var(--secondary-color-orange-1)
}

.secondary-color--grey-200, [data-secondary-color=grey-200] {
    color: var(--secondary-color-grey-200)
}

.secondary-color--grey-50, [data-secondary-color=grey-50] {
    color: var(--secondary-color-grey-50)
}

.secondary-color--white-000, [data-secondary-color=white-000] {
    color: var(--secondary-color-white-000)
}

.secondary-color--status-error, [data-secondary-color=status-error] {
    color: var(--secondary-color-status-error)
}

.secondary-color--status-alert, [data-secondary-color=status-alert] {
    color: var(--secondary-color-status-alert)
}

.secondary-color--status-warning, [data-secondary-color=status-warning] {
    color: var(--secondary-color-status-warning)
}

.secondary-color--status-success, [data-secondary-color=status-success] {
    color: var(--secondary-color-status-success)
}

.container-bg-image, .section--background-image {
    background-image: var(--background)
}

.section--background-image {
    background-size: cover;
    color: var(--secondary-color-white-50)
}

:root {
    --section-margin-v: 100px;
    --primary-color-ch1: #004071;
    --primary-color-ch2: #6dcff6;
    --primary-color-cr1: #72bf44;
    --primary-color-cr2: #addfad;
    --primary-color-000: #333;
    --secondary-color-ch1: #b6d1ea;
    --secondary-color-ch2: #e8f4ff;
    --secondary-color-ch3: #707070;
    --secondary-color-ch4: #e3e9ee;
    --secondary-color-ch5: #e5f7fe;
    --secondary-color-cr1: #e3f2d9;
    --secondary-color-green-1: #00a88e;
    --secondary-color-orange-1: #f19600;
    --secondary-color-grey-200: #999;
    --secondary-color-grey-50: #f3f3f0;
    --secondary-color-white-000: #fdfdfd;
    --secondary-color-status-error: #a02020;
    --secondary-color-status-alert: #eb6a42;
    --secondary-color-status-warning: #ffce00;
    --secondary-color-status-success: #00a88e
}

html {
    color: var(--primary-color-000, #000, #000);
    font-size: 62.5%
}

html * {
    color: currentColor
}

.font-body-1, body, textarea {
   /* font-family: Gotham*/
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .font-body-1, body, textarea {
        font-size: 15px;
        line-height: 18px
    }
}

@media (min-width: 900px) {
    .font-body-1, body, textarea {
        font-size: 18px;
        line-height: 22px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .font-body-2 {
        font-size: 14px;
        line-height: 20px
    }
}

@media (min-width: 900px) {
    .font-body-2 {
        font-size: 16px;
        line-height: 22px
    }
}

.font-h1 strong, .font-h2 strong, .font-h3 strong, .font-h4 strong, .font-h5 strong, .font-h6 strong, .layout-wysiwyg .font-h1 strong, .layout-wysiwyg .font-h2 strong, .layout-wysiwyg .font-h3 strong, .layout-wysiwyg .font-h4 strong, .layout-wysiwyg .font-h5 strong, .layout-wysiwyg .font-h6 strong, .layout-wysiwyg h1 strong, .layout-wysiwyg h2 strong, .layout-wysiwyg h3 strong, .layout-wysiwyg h4 strong, .layout-wysiwyg h5 strong, .layout-wysiwyg h6 strong, .node-health-card .section-wrapper .section-wrapper__title strong, h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
    font-weight: inherit
}

.font-h1, h1 {
    font-size: clamp(30px, 4.5vw, 60px)
}

.font-h1, .font-h1-large, h1 {
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1
}

.font-h1-large {
    font-size: clamp(40px, 6vw, 100px)
}

.font-h2, h2 {
    letter-spacing: -.03em
}

.font-h2, .font-h3, h2, h3 {
    font-size: clamp(18px, 3.5vw, 36px);
    font-weight: 500;
    line-height: 1
}

.font-h4, .node-health-card .section-wrapper .section-wrapper__title, h4 {
    font-size: clamp(16px, 2.5vw, 20px);
    font-weight: 700;
    line-height: 1
}

.font-h5, h5 {
    font-size: clamp(12px, 2vw, 15px);
    font-weight: 700;
    line-height: 1.1
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .font-h6, h6 {
        font-size: 20px;
        letter-spacing: -.65px;
        line-height: 28px
    }
}

@media only screen and (min-width: 900px) {
    .font-h6, h6 {
        font-size: 20px;
        letter-spacing: -.6px;
        line-height: 28px
    }
}

.font-subtitle {
    font-size: clamp(20px, 3vw, 24px);
    font-weight: 700;
    line-height: 1.1
}

.font-subtitle-slim {
    font-weight: 500
}

.font-small-title, .node-health-card .section-wrapper .paragraph .page-module-accordion__title, .node-health-card .section-wrapper .paragraph .page-module-checklist__title, .node-health-card .section-wrapper .paragraph .page-module-images__title, .node-health-card .section-wrapper .paragraph .title {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.8rem
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .font-quote {
        font-size: 25px;
        letter-spacing: -.75px;
        line-height: 32px
    }
}

@media only screen and (min-width: 900px) {
    .font-quote {
        font-size: 30px;
        letter-spacing: -.5px;
        line-height: 37px
    }
}

.font-caption {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2
}

.button {
    font-size: 16px;
    line-height: 25px
}

.screen-reader-only, .sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff")
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide, .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-css-mode > .swiper-wrapper {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: none
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    height: var(--swiper-centered-offset-after);
    width: 100%
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center
}

body.hidden-scroll {
    overflow: hidden
}

.sl-overlay {
    background: #fff;
    bottom: 0;
    display: none;
    right: 0;
    z-index: 1035
}

.sl-overlay, .sl-wrapper {
    left: 0;
    position: fixed;
    top: 0
}

.sl-wrapper {
    height: 100%;
    width: 100%;
    z-index: 1040
}

.sl-wrapper * {
    box-sizing: border-box
}

.sl-wrapper button {
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 28px;
    padding: 0
}

.sl-wrapper button:hover {
    opacity: .7
}

.sl-wrapper .sl-close {
    font-family: Arial, Baskerville, monospace;
    font-size: 3rem;
    height: 44px;
    line-height: 44px;
    margin-right: -14px;
    margin-top: -14px;
    right: 30px;
    width: 44px;
    z-index: 10060
}

.sl-wrapper .sl-close, .sl-wrapper .sl-counter {
    color: #000;
    display: none;
    position: fixed;
    top: 30px
}

.sl-wrapper .sl-counter {
    font-size: 1rem;
    left: 30px;
    z-index: 1060
}

.sl-wrapper .sl-navigation {
    display: none;
    width: 100%
}

.sl-wrapper .sl-navigation button {
    color: #000;
    display: block;
    font-family: Arial, Baskerville, monospace;
    height: 44px;
    line-height: 44px;
    margin-top: -22px;
    position: fixed;
    text-align: center;
    top: 50%;
    width: 22px;
    z-index: 10060
}

.sl-wrapper .sl-navigation button.sl-next {
    font-size: 2rem;
    right: 5px
}

.sl-wrapper .sl-navigation button.sl-prev {
    font-size: 2rem;
    left: 5px
}

@media (min-width: 35.5em) {
    .sl-wrapper .sl-navigation button {
        width: 44px
    }

    .sl-wrapper .sl-navigation button.sl-next {
        font-size: 3rem;
        right: 10px
    }

    .sl-wrapper .sl-navigation button.sl-prev {
        font-size: 3rem;
        left: 10px
    }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-navigation button {
        width: 44px
    }

    .sl-wrapper .sl-navigation button.sl-next {
        font-size: 3rem;
        right: 20px
    }

    .sl-wrapper .sl-navigation button.sl-prev {
        font-size: 3rem;
        left: 20px
    }
}

.sl-wrapper.sl-dir-rtl .sl-navigation {
    direction: ltr
}

.sl-wrapper .sl-image {
    position: fixed;
    -ms-touch-action: none;
    touch-action: none;
    z-index: 10000
}

.sl-wrapper .sl-image img {
    border: 0;
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%
}

@media (min-width: 35.5em) {
    .sl-wrapper .sl-image img {
        border: 0
    }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-image img {
        border: 0
    }
}

.sl-wrapper .sl-image iframe {
    background: #000;
    border: 0
}

@media (min-width: 35.5em) {
    .sl-wrapper .sl-image iframe {
        border: 0
    }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-image iframe {
        border: 0
    }
}

.sl-wrapper .sl-image .sl-caption {
    background: rgba(0, 0, 0, .8);
    bottom: 0;
    color: #fff;
    display: none;
    font-size: 1rem;
    left: 0;
    padding: 10px;
    position: absolute;
    right: 0
}

.sl-wrapper .sl-image .sl-caption.pos-top {
    bottom: auto;
    top: 0
}

.sl-wrapper .sl-image .sl-caption.pos-outside {
    bottom: auto
}

.sl-wrapper .sl-image .sl-download {
    bottom: 5px;
    color: #000;
    display: none;
    position: absolute;
    right: 5px;
    z-index: 1060
}

.sl-spinner {
    -webkit-animation: pulsate 1s ease-out infinite;
    -moz-animation: pulsate 1s ease-out infinite;
    -ms-animation: pulsate 1s ease-out infinite;
    -o-animation: pulsate 1s ease-out infinite;
    animation: pulsate 1s ease-out infinite;
    border: 5px solid #333;
    border-radius: 40px;
    display: none;
    height: 40px;
    left: 50%;
    margin: -20px 0 0 -20px;
    opacity: 0;
    position: fixed;
    top: 50%;
    width: 40px;
    z-index: 1007
}

.sl-scrollbar-measure {
    height: 50px;
    overflow: scroll;
    position: absolute;
    top: -9999px;
    width: 50px
}

.sl-transition {
    transition: -moz-transform .2s ease;
    transition: -ms-transform .2s ease;
    transition: -o-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease
}

@-webkit-keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1)
    }
    50% {
        opacity: 1
    }
    to {
        opacity: 0;
        transform: scale(1.2)
    }
}

@keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1)
    }
    50% {
        opacity: 1
    }
    to {
        opacity: 0;
        transform: scale(1.2)
    }
}

@-moz-keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1)
    }
    50% {
        opacity: 1
    }
    to {
        opacity: 0;
        transform: scale(1.2)
    }
}

@-o-keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1)
    }
    50% {
        opacity: 1
    }
    to {
        opacity: 0;
        transform: scale(1.2)
    }
}

@-ms-keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1)
    }
    50% {
        opacity: 1
    }
    to {
        opacity: 0;
        transform: scale(1.2)
    }
}

.sl-wrapper .sl-counter {
    color: var(--primary-color-ch1);
    font-size: 1.3rem;
    font-weight: 600
}

.sl-wrapper .sl-close {
    background: url(../images/template/x-bold-color-dual.svg) center 9px no-repeat;
    background-size: 14px auto;
    border: 2px solid var(--primary-color-ch1);
    border-radius: 100%;
    height: 36px;
    overflow: hidden;
    text-indent: -1000px;
    transition: transform .05s;
    width: 36px
}

@media (hover: hover) {
    .sl-wrapper .sl-close:hover {
        background-color: var(--primary-color-ch1);
        background-position: center -37px
    }
}

.sl-wrapper .sl-navigation button {
    background: url(../images/template/arrow-circle-right-color.svg) 50% no-repeat;
    background-size: cover;
    height: 32px;
    overflow: hidden;
    text-indent: -1000px;
    transition: transform .05s;
    width: 32px
}

.sl-wrapper .sl-navigation button.sl-prev {
    background: url(../images/template/arrow-circle-left-color.svg) 50% no-repeat
}

@media (hover: hover) {
    .sl-wrapper .sl-navigation button:hover {
        opacity: 1;
        transform: scale(1.1)
    }

    .sl-wrapper .sl-navigation button:hover:active {
        transform: scale(1)
    }
}

.block-local-tasks-block nav {
    bottom: 20px;
    left: 20px;
    position: fixed;
    z-index: 600
}

.block-local-tasks-block .node-state {
    --state-color: var(--secondary-color-ch4);
    --dot-size: 30px;
    bottom: 100%;
    display: flex;
    margin-left: calc((48px - var(--dot-size)) / 2);
    position: absolute
}

.block-local-tasks-block .node-state:before {
    background: var(--state-color);
    border: 2px solid transparent;
    border-radius: 100%;
    content: "";
    display: block;
    height: var(--dot-size);
    width: var(--dot-size);
    z-index: 1
}

.block-local-tasks-block .node-state .title {
    background: var(--state-color);
    border-radius: 0 calc(var(--dot-size) / 2) calc(var(--dot-size) / 2) 0;
    font-size: 12px;
    font-weight: 500;
    height: var(--dot-size);
    line-height: var(--dot-size);
    margin-left: calc(var(--dot-size) * -1 / 2);
    opacity: 0;
    padding: 0 calc(var(--dot-size) / 3) 0 calc(var(--dot-size) / 1.5);
    pointer-events: none;
    white-space: nowrap;
    z-index: 0
}

.block-local-tasks-block .node-state--published {
    --state-color: var(--secondary-color-status-success)
}

.block-local-tasks-block .node-state--not-published {
    --state-color: var(--secondary-color-status-warning)
}

.block-local-tasks-block .node-state:hover:before {
    border-color: var(--primary-color-000)
}

.block-local-tasks-block .node-state:hover .title {
    opacity: 1;
    pointer-events: all
}

.block-local-tasks-block .contextual {
    display: none
}

.block-local-tasks-block .tabs li {
    list-style: none;
    margin-top: 10px
}

.block-local-tasks-block .tabs a {
    background: var(--secondary-color-white-000);
    border: 2px solid;
    border-radius: 50%;
    color: var(--primary-color-000, #000);
    display: block;
    font-size: 1.6rem;
    padding: 6px;
    position: relative
}

.block-local-tasks-block .tabs a:active svg, .block-local-tasks-block .tabs a:hover svg {
    transform: scale(.9)
}

.block-local-tasks-block .tabs a:active .label, .block-local-tasks-block .tabs a:hover .label {
    opacity: 1;
    pointer-events: all
}

.block-local-tasks-block .tabs .label {
    align-items: center;
    background: var(--primary-color-000);
    border-radius: 0 24px 24px 0;
    color: var(--secondary-color-white-000);
    display: flex;
    height: calc(100% + 4px);
    left: 100%;
    margin-left: -24px;
    opacity: 0;
    padding: 0 16px 0 34px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
    z-index: -1
}

.block-local-tasks-block .tabs .icon {
    display: block;
    height: 32px;
    width: 32px
}

.block-local-tasks-block .tabs svg {
    fill: currentColor;
    height: 100%;
    transition: transform .125s;
    width: 100%
}

.styleguide section {
    margin: var(--section-margin-v) 0
}

.styleguide section .lw > .title {
    margin-bottom: 70px;
    text-transform: uppercase
}

.styleguide__logos .styleguide-section__content {
    display: flex
}

.styleguide__logos .styleguide-section__content svg {
    width: 120px
}

.styleguide__logos .styleguide-section__content svg:nth-child(2) {
    margin-left: 40px;
    width: 180px
}

.styleguide__colors .styleguide-section__content {
    display: grid;
    gap: 10px;
    grid-template-columns:repeat(4, 1fr)
}

.styleguide__colors .styleguide-section__content div {
    aspect-ratio: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 10px
}

.styleguide__colors .styleguide-section__content p {
    font-size: 14px
}

.styleguide__colors .styleguide-section__content p:first-child {
    font-size: 16px
}

.styleguide__typography .styleguide-section__content > p {
    margin-bottom: 1em
}

.styleguide__typography .styleguide-section__content .layout-wysiwyg {
    margin-top: 100px
}

.styleguide__buttons .styleguide-section__content {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.styleguide__icons .styleguide-section__content {
    align-items: center;
    display: flex;
    flex-wrap: wrap
}

.styleguide__icons .styleguide-section__content svg {
    height: auto;
    margin-right: 20px;
    width: 30px
}

body {
    background: var(--secondary-color-white-000)
}

:root {
    --gg: 30px;
    --lp: 120px;
    --lc: 12;
    --lw: 1120px;
    --cw: calc((100vw - var(--lp) * 2 - (var(--lc) - 1) * var(--gg)) / var(--lc));
    --cwg: calc(var(--cw) + var(--gg));
    --iw: calc(100vw - var(--sw, 0px))
}

@media only screen and (min-width: 1200px) {
    :root {
        --cw: calc((var(--lw) - ((var(--lc) - 1) * var(--gg))) / var(--lc))
    }
}

@media only screen and (min-width: 1024px)and (max-width: calc(1200px - 1px)) {
    :root {
        --lp: 100px
    }
}

@media only screen and (min-width: 900px)and (max-width: calc(1024px - 1px)) {
    :root {
        --lp: 80px
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(900px - 1px)) {
    :root {
        --lp: 60px
    }
}

@media only screen and (min-width: 600px)and (max-width: calc(768px - 1px)) {
    :root {
        --lp: 40px;
        --gg: 20px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    :root {
        --lp: 20px;
        --gg: 10px;
        --lc: 6
    }
}

.layout-wrapper, .lw {
    display: grid;
    gap: 0 var(--gg);
    grid-template-columns:repeat(var(--lc), 1fr);
    margin: 0 auto;
    max-width: calc(var(--lw) + var(--lp) * 2);
    padding: 0 var(--lp);
    position: relative;
    width: 100%
}

.layout-wrapper--block, .lw--block {
    display: block
}

.layout-wrapper--block .lw, .lw--block .lw {
    padding-left: 0;
    padding-right: 0
}

.layout-wrapper--flex, .lw--flex {
    display: flex
}

.layout-wrapper--right, .layout-wrapper--right.swiper, .lw--right, .lw--right.swiper {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    padding: 0 var(--lp);
    width: auto
}

.layout-wrapper--right .lw, .layout-wrapper--right.swiper .lw, .lw--right .lw, .lw--right.swiper .lw {
    margin-left: 0;
    margin-right: 0;
    max-width: 1120px;
    padding-left: 0;
    padding-right: 0
}

@media only screen and (min-width: 1360px) {
    .layout-wrapper--right, .layout-wrapper--right.swiper, .lw--right, .lw--right.swiper {
        padding-left: calc(50vw - 680px + var(--lp))
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__primary .layout-wrapper--right, .node-split__primary .lw--right {
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(1360px - 1px)) {
    .node-split__primary .layout-wrapper--right, .node-split__primary .lw--right {
        width: calc(100% + var(--lp))
    }
}

@media only screen and (min-width: 1360px) {
    .node-split__primary .layout-wrapper--right, .node-split__primary .lw--right {
        --primary-column-width: 641.33333px;
        --right-space-width: calc(50vw - 560px);
        width: calc(var(--primary-column-width) + var(--right-space-width))
    }
}

.layout-wrapper--narrow, .lw--narrow {
    --lw: 670px
}

.layout-wrapper--split, .lw--split {
    --gg: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .layout-wrapper--split, .lw--split {
        display: flex;
        flex-direction: column-reverse
    }
}

@media only screen and (min-width: 600px) {
    .layout-wrapper--split, .lw--split {
        align-items: center
    }
}

.layout-wrapper--split:after, .lw--split:after {
    background: var(--block-background, var(--secondary-color-ch4));
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .layout-wrapper--split .content, .lw--split .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 375px;
        padding-bottom: 60px;
        padding-top: 60px
    }
}

@media only screen and (min-width: 600px) {
    .layout-wrapper--split .content, .lw--split .content {
        grid-column: 1/7;
        grid-row: 1;
        padding-right: 60px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .layout-wrapper--split .media-image, .lw--split .media-image {
        height: 375px;
        margin-left: calc(var(--lp) * -1);
        width: 100%;
    }
}

@media only screen and (min-width: 600px) {
    .layout-wrapper--split .media-image, .lw--split .media-image {
        grid-column: 7/-1;
        height: 100%
    }
}

.layout-wrapper--split .media-image img, .lw--split .media-image img {
    height: 100%;
    max-width: none;
    object-fit: cover
}

@media only screen and (min-width: 600px) {
    .layout-wrapper--split .media-image img, .lw--split .media-image img {
        width: calc(50vw - var(--sw, 0px) / 2)
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    :root {
        --margin-around: 100px
    }
}

@media only screen and (min-width: 768px) {
    :root {
        --margin-around: 160px
    }
}

.page-module {
    position: relative
}

.page-module--dark {
    --module-primary-color: var(--secondary-color-white-000);
    --module-secondary-color: var(--primary-color-ch1);
    background: var(---module-secondary-color, var(--primary-color-ch1));
    color: var(--module-primary-color, var(--secondary-color-white-000))
}

.page-module--title {
    font-size: clamp(20px, 2vw, 24px);
    font-weight: 700
}

.page-module--margins {
    margin-bottom: var(--margin-around);
    margin-top: var(--margin-around);
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node__title + .page-module--margins {
        margin-top: 70px
    }
}

@media only screen and (min-width: 600px) {
    .node__title + .page-module--margins {
        margin-top: 60px
    }
}

.page-module-hero + .page-module--margins {
    margin-top: 44px
}

footer.footer {
    background: var(--primary-color-100);
    padding: 45px 0 35px;
    position: relative
}

@media (min-width: 900px) {
    footer.footer {
        padding: 98px 0 74px
    }
}

footer.footer .menu-item {
    list-style: none
}

footer.footer .footer__first-line, footer.footer .footer__second-line {
    display: flex;
    flex-direction: column;
    justify-content: flex-start
}

@media (min-width: 900px) {
    footer.footer .footer__first-line, footer.footer .footer__second-line {
        flex-direction: row;
        justify-content: space-between
    }
}

footer.footer .footer__first-line {
    flex-direction: column-reverse
}

@media (min-width: 900px) {
    footer.footer .footer__first-line {
        align-items: flex-start;
        flex-direction: row
    }
}

footer.footer .footer__second-line {
    align-items: flex-start;
    margin-top: 28px
}

@media (min-width: 900px) {
    footer.footer .footer__second-line {
        align-items: flex-end;
        margin-top: 172px
    }
}

footer.footer .menu--footer {
    transform: translate3d(-10px, -20px, 0)
}

@media (min-width: 900px) {
    footer.footer .menu--footer {
        transform: translate3d(-18px, 0, 0)
    }
}

footer.footer .menu--footer > .menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%
}

footer.footer .menu--footer > .menu > .menu-item {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 20px;
    max-width: 137px;
    width: 100%
}

@media (min-width: 900px) {
    footer.footer .menu--footer > .menu > .menu-item {
        margin-left: 18px;
        margin-right: 18px;
        margin-top: 0;
        max-width: 160px
    }
}

footer.footer .menu--footer > .menu > .menu-item > span {
    display: block;
    font-size: clamp(12px, 2vw, 15px);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 11px
}

@media (min-width: 900px) {
    footer.footer .menu--footer > .menu > .menu-item > span {
        margin-bottom: 20px
    }
}

footer.footer .menu--footer > .menu > .menu-item li {
    margin-bottom: 11px
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    footer.footer .menu--footer > .menu > .menu-item li {
        font-size: 14px;
        line-height: 20px
    }
}

@media only screen and (min-width: 900px) {
    footer.footer .menu--footer > .menu > .menu-item li {
        font-size: 16px;
        line-height: 22px
    }
}

@media (min-width: 900px) {
    footer.footer .menu--footer > .menu > .menu-item li {
        margin-bottom: 20px
    }
}

footer.footer .block-social-media-links-block {
    margin-bottom: 44px
}

@media (min-width: 900px) {
    footer.footer .block-social-media-links-block {
        max-width: 420px;
        transform: translate3d(44px, 0, 0)
    }
}

footer.footer .block-social-media-links-block .fa {
    font-size: 1.7em
}

@media (min-width: 900px) {
    footer.footer .block-social-media-links-block .fa {
        font-size: 1.4em
    }
}

footer.footer .block-social-media-links-block h2 {
    font-size: clamp(16px, 2.5vw, 20px);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 25px
}

@media (min-width: 900px) {
    footer.footer .block-social-media-links-block h2 {
        margin-bottom: 20px
    }
}

footer.footer .social-media-links--platforms {
    transform: translate3d(-10px, 0, 0);
    width: 100%
}

@media (min-width: 900px) {
    footer.footer .social-media-links--platforms {
        transform: translate3d(-22px, 0, 0)
    }
}

footer.footer .social-media-links--platforms li {
    margin-left: 10px;
    margin-right: 10px
}

@media (min-width: 900px) {
    footer.footer .social-media-links--platforms li {
        margin-left: 22px;
        margin-right: 22px
    }
}

footer.footer .footer-copyright {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2
}

footer.footer .menu--utility {
    margin-top: 10px;
    transform: translate3d(-10px, 0, 0)
}

@media (min-width: 900px) {
    footer.footer .menu--utility {
        margin-top: 0;
        transform: translate3d(15px, 0, 0)
    }
}

footer.footer .menu--utility li {
    display: inline;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    margin-left: 10px;
    margin-right: 10px
}

@media (min-width: 900px) {
    footer.footer .menu--utility li {
        margin-left: 15px;
        margin-right: 15px
    }
}

:root {
    --back-button-height: 48px;
    --header-height: 130px;
    --header-width: 100%;
    --menu-margin-top: 0px;
    --menu-bg-margin-top: 0px
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    :root {
        --header-height: 90px;
        --header-width: 100vw
    }
}

.toolbar-horizontal, .toolbar-vertical {
    --menu-margin-top: 39px
}

.toolbar-horizontal.toolbar-tray-open {
    --menu-margin-top: 78px
}

:not(.header--sticky) .toolbar-horizontal.toolbar-tray-open {
    --menu-bg-margin-top: 78px
}

.header-container {
    --logo-height: 59px;
    --logo-width: 70px;
    font-weight: 500;
    height: var(--header-height);
    position: relative;
    transition: transform .2s ease;
    width: var(--header-width);
    z-index: 200
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container {
        --logo-height: 50px;
        --logo-width: 59px;
        left: 0;
        overflow: hidden;
        position: absolute;
        top: 0;
        transition: height 0s .5s
    }

    .site--crchum .header-container {
        --logo-height: 28px;
        --logo-width: 88px
    }
}

@media only screen and (min-width: 900px) {
    .site--crchum .header-container {
        --logo-height: 48px;
        --logo-width: 148px
    }
}

.header-container .contextual {
    display: none !important
}

.header-container svg {
    height: auto;
    width: 100%
}

.header-container li {
    list-style: none
}

.header-container a:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

@media only screen and (min-width: 900px) {
    .header-container nav {
        height: 100%
    }

    .header-container nav ul {
        display: flex;
        height: 100%
    }
}

.header-container nav li {
    outline: none
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container nav li .icon {
        align-self: center;
        grid-column: 1;
        grid-row: 1;
        height: 13px;
        justify-self: end;
        margin-right: var(--lp);
        pointer-events: none;
        transition: transform .3s cubic-bezier(.34, 0, .3, 1);
        width: 20px
    }
}

@media only screen and (min-width: 900px) {
    .header-container nav li .icon {
        display: none
    }
}

.header-container nav a {
    display: block;
    outline: none
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container nav a {
        font-size: 2rem;
        font-weight: 700;
        line-height: 2.4rem
    }

    .header-container .btn-menu-back {
        align-items: center;
        background-color: var(--secondary-color-ch2);
        display: grid;
        gap: 10px;
        grid-column: 1/-1;
        grid-row: 2;
        grid-template-columns:20px auto;
        height: var(--back-button-height);
        opacity: 0;
        padding-left: var(--lp);
        position: relative;
        text-align: left;
        transform: translate(100%, 10%);
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s;
        width: 100vw;
        z-index: 10
    }
}

@media only screen and (min-width: 900px) {
    .header-container .btn-menu-back {
        display: none
    }
}

.header-container .btn-menu-back .icon {
    height: var(--back-button-height)
}

.header-container .tab-looper {
    height: 0;
    overflow: hidden;
    position: absolute;
    width: 0
}

@media only screen and (min-width: 900px) {
    .header-container .tab-looper {
        display: none
    }
}

.header-container .header {
    align-items: center;
    height: 100%;
    max-width: none
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header {
        grid-template-columns:1fr calc(36px + var(--lp));
        grid-template-rows:var(--header-height) auto 1fr;
        padding: 0
    }

    .header-container .header:after {
        content: "";
        display: block;
        height: 101%;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        top: -1%;
        transition: opacity .3s;
        width: 100vw;
        z-index: 2
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px))and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header:after {
        background: var(--secondary-color-ch2);
        transition-delay: .25s
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px))and (min-width: 900px) {
    .header-container .header:after {
        background: var(--primary-color-ch1);
        height: calc(var(--ah) + 30px)
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header {
        grid-template-columns:var(--logo-width) 1fr 50px
    }
}

.header-container .header:before {
    background: var(--secondary-color-ch2);
    content: "";
    display: block;
    height: calc(var(--header-height) + var(--sub-nav-height));
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: var(--menu-bg-margin-top);
    transition: opacity .3s, height .15s;
    transition-delay: .1s;
    width: 100vw;
    z-index: 3
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header:before {
        display: none
    }
}

.header-container .header__logo {
    z-index: 5
}

@media only screen and (min-width: 900px) {
    .header-container .header__logo {
        margin-top: 25px
    }
}

.header-container .header__logo a {
    display: block;
    height: var(--logo-height);
    width: var(--logo-width)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__logo a {
        margin-bottom: 4px;
        margin-left: var(--lp)
    }

    .site--crchum .header-container .header__logo a {
        height: 17px
    }
}

.header-container .header__logo svg {
    height: 100%;
    width: 100%
}

.header-container .header__logo__wrapper svg {
    height: var(--logo-height);
    width: var(--logo-width)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__logo__wrapper {
        display: block;
        height: 17px;
        overflow: hidden
    }
}

.header-container .header .menu--main {
    font-size: 1.4rem;
    line-height: 1.7rem;
    position: static;
    z-index: 4
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header .menu--main {
        grid-row: 1;
        margin: 24px 0;
        opacity: 0;
        transform: translateY(10px);
        transition-delay: 0s;
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header .menu--main {
        justify-self: right;
        transition: opacity .3s
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header .menu--main li {
        display: grid
    }
}

.header-container .header .menu--main > ul > .menu-item:not(:last-child) {
    margin-right: 40px
}

@media only screen and (min-width: 0)and (max-width: calc(1200px - 1px)) {
    .header-container .header .menu--main > ul > .menu-item:not(:last-child) {
        margin-right: 0
    }
}

.header-container .header .menu--main > ul > .menu-item > a {
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header .menu--main > ul > .menu-item > a {
        padding-left: var(--lp);
        padding-right: var(--lp);
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header .menu--main > ul > .menu-item > a {
        height: 100px;
        max-width: 126px;
        padding-right: 20px;
        padding-top: 40px;
        transition: color .2s, opacity .2s;
        z-index: 5
    }

    .header-container .header .menu--main > ul > .menu-item > a.longer {
        max-width: 160px
    }
}

@media only screen and (min-width: 900px)and (hover: hover) {
    .header-container .header .menu--main > ul > .menu-item > a:hover {
        color: var(--primary-color-ch1)
    }

    .header-container .header .menu--main > ul > .menu-item > a:hover .line {
        transform: none;
        transform-origin: left bottom
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header .menu--main > ul > .menu-item > a:focus {
        color: var(--primary-color-ch1)
    }

    .header-container .header .menu--main > ul > .menu-item > a:focus .line {
        transform: none;
        transform-origin: left bottom
    }
}

@media only screen and (min-width: 1200px) {
    .header-container .header .menu--main > ul > .menu-item > a {
        padding-right: 30px
    }
}

.header-container .header .menu--main > ul > .menu-item > a .line {
    background: var(--primary-color-ch1);
    display: block;
    height: 1.5px;
    margin-top: 6px;
    transform: scaleX(0);
    transform-origin: right bottom;
    transition: transform .2s cubic-bezier(.76, 0, .24, 1);
    width: 0
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header .menu--main > ul > .menu-item > a .line {
        display: none
    }
}

.header-container .header .menu--main > ul > .menu-item--active-trail > a, .header-container .header .menu--main > ul > .menu-item--active > a {
    color: var(--primary-color-ch1)
}

.header-container .header .menu--main > ul > .menu-item--active-trail > a .line, .header-container .header .menu--main > ul > .menu-item--active > a .line {
    transform: none
}

.header-container .header .menu--main > ul > .menu-item--active .sub-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateZ(0)
}

@media only screen and (min-width: 900px) {
    .header-container .header .menu--main > ul > .menu-item--active .sub-nav {
        transition-delay: .125s
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header .menu--main a {
        grid-column: 1;
        grid-row: 1;
        padding: clamp(6px, 1vh, 12px) 40px clamp(6px, 1vh, 12px) var(--lp)
    }

    .header-container .header__nav__mask {
        align-self: start;
        background: linear-gradient(180deg, #e8f4ff, rgba(232, 244, 255, 0));
        grid-column: 1/-1;
        grid-row: 3;
        height: 24px;
        left: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
        transition-delay: 0s;
        width: calc(100% - 10px);
        z-index: 11
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__mask {
        display: none
    }
}

.header-container .header__nav__wrapper {
    display: grid
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__wrapper {
        align-self: start;
        grid-column: 1/-1;
        grid-row: 3;
        grid-template-rows:1fr auto;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        z-index: 6
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__wrapper {
        grid-column: 2;
        grid-row: 1;
        grid-template-rows:auto auto;
        grid-template-rows:30px 1fr
    }
}

.header-container .header__nav__secondary {
    grid-column: 1/-1;
    transition: transform .2s;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__secondary {
        grid-row: 2;
        opacity: 0;
        position: relative;
        transform: translateY(10px);
        transition-delay: 0s;
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s;
        width: 100%;
        z-index: 3
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__secondary {
        display: flex;
        grid-row: 1;
        justify-self: end;
        margin-right: -80px
    }

    .header-container .header__nav__secondary:after {
        background: #000;
        background: var(--secondary-color-grey-50);
        content: "";
        height: 100%;
        height: 30px;
        left: 50%;
        pointer-events: none;
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        width: var(--iw, 100vw);
        z-index: -1
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__secondary .block-language, .header-container .header__nav__secondary nav {
        border-top: 1px solid var(--primary-color-ch1);
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s
    }

    .header-container .header__nav__secondary nav ul {
        display: grid;
        grid-template-columns:1fr 1fr;
        padding-bottom: max(3vh, 20px);
        padding-top: max(3vh, 20px)
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__secondary nav ul {
        margin-right: -15px
    }
}

.header-container .header__nav__secondary nav ul a {
    transition: color .2s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__secondary nav ul a {
        line-height: 1;
        padding-bottom: 10px;
        padding-top: 10px;
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__secondary nav ul a {
        font-weight: 300
    }
}

@media (hover: hover) {
    .header-container .header__nav__secondary nav ul a:hover {
        color: var(--primary-color-000)
    }
}

.header-container .header__nav__secondary nav ul a:focus {
    color: var(--primary-color-000)
}

.header-container .header__nav__secondary a {
    display: block
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__secondary a {
        font-size: 1.4rem;
        font-weight: 500;
        padding-left: var(--lp)
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__nav__secondary a {
        color: var(--primary-color-ch1);
        font-size: 1.2rem;
        line-height: 3rem;
        padding-left: 15px;
        padding-right: 15px
    }

    .header-container .header__nav__secondary .language-switcher-language-url {
        position: absolute;
        right: 0;
        top: 0
    }
}

.header-container .header__nav__secondary .language-switcher-language-url a {
    transition: color .2s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__nav__secondary .language-switcher-language-url a {
        text-align: right
    }
}

@media (hover: hover) {
    .header-container .header__nav__secondary .language-switcher-language-url a:hover {
        color: var(--primary-color-000)
    }
}

.header-container .header__nav__secondary .language-switcher-language-url a:focus {
    color: var(--primary-color-000)
}

.header-container .header__search {
    position: relative;
    z-index: 5
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__search {
        grid-column: 1/-1;
        grid-row: 2;
        margin-top: 4px;
        opacity: 0;
        padding-left: var(--lp);
        padding-right: var(--lp);
        transform: translateY(10px);
        transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s;
        transition-delay: 0s;
        width: 100%
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__search {
        grid-column: 3;
        grid-row: 1;
        margin-top: 30px
    }
}

.header-container .header__search .recaptcha-text {
    display: none
}

.header-container .header__search .form-type-search-api-autocomplete, .header-container .header__search form {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    transition: transform .3s cubic-bezier(.34, 0, .3, 1), opacity .3s
}

.header-container .header__search .form-text {
    background-image: none !important;
    border: 2px solid var(--primary-color-ch1);
    border-radius: 32px;
    cursor: pointer;
    font-weight: 400;
    height: 51px;
    padding-left: 20px;
    padding-right: 40px;
    z-index: 1
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__search .form-text {
        background-color: var(--secondary-color-ch2);
        grid-column: 1;
        grid-row: 1
    }

    .header-container .header__search .form-text:not(:placeholder-shown):not(.ui-autocomplete-loading) + .loader + .btn-search-reset {
        opacity: 1;
        pointer-events: auto
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__search .form-text {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        right: -8px;
        top: -1px;
        transition: width .3s, opacity .3s;
        width: 0
    }
}

.header-container .header__search .form-text + .loader {
    left: -50px
}

.header-container .header__search .btn-search-reset, .header-container .header__search .btn-search-toggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: end
}

.header-container .header__search .btn-search-reset {
    left: -40px;
    opacity: 0;
    pointer-events: none;
    position: relative;
    z-index: 4
}

.header-container .header__search .btn-search-toggle {
    position: relative;
    transition: transform .2s, color .2s;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__search .btn-search-toggle {
        display: none
    }
}

.header-container .header__search .form-submit {
    border: 0;
    border-radius: 0;
    grid-column: 1;
    grid-row: 1;
    height: var(--input-height);
    justify-self: end;
    min-width: 0;
    overflow: hidden;
    position: relative;
    text-indent: -1000px;
    z-index: 3
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .header__search .form-submit {
        width: 43px
    }
}

@media only screen and (min-width: 900px) {
    .header-container .header__search .form-submit {
        pointer-events: none;
        right: -6px;
        top: -1px;
        width: 50px
    }
}

.header-container .sub-nav {
    left: 0;
    pointer-events: none;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav {
        background: var(--secondary-color-ch2);
        height: calc(var(--ah) - var(--header-height) - var(--back-button-height));
        overflow-x: hidden;
        overflow-y: auto;
        position: absolute;
        top: calc(var(--header-height) + var(--back-button-height));
        transform: translateX(100%);
        transition: opacity .25s, transform .3s cubic-bezier(.34, 0, .3, 1);
        z-index: 10
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav {
        opacity: 0;
        position: absolute;
        top: var(--header-height);
        transform: translateY(10px);
        transition: opacity .3s, transform .3s cubic-bezier(.34, 0, .3, 1);
        transition-delay: 0s;
        z-index: 4
    }
}

.header-container .sub-nav .lw {
    height: auto;
    z-index: 10
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav .lw {
        display: block;
        padding: 0;
        position: relative
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw {
        grid-template-rows:1fr auto;
        max-height: calc(var(--ah) - var(--header-height));
        padding-top: 30px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav .lw > ul {
        margin-bottom: 40px
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw > ul {
        display: grid;
        gap: 0 40px;
        grid-column: 1/-1;
        grid-template-columns:40% 30% 30%;
        padding-bottom: 60px
    }
}

.header-container .sub-nav .lw > ul > .menu-item--expanded--index-1 {
    grid-column: 2;
    grid-row: 1/999
}

.header-container .sub-nav .lw > ul > .menu-item--expanded--index-2 {
    grid-column: 3;
    grid-row: 1/999
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw > ul > .menu-item--expanded--index-1 > a, .header-container .sub-nav .lw > ul > .menu-item--expanded--index-2 > a {
        font-size: 1.6rem;
        font-weight: 900;
        line-height: 2rem;
        padding: 10px 0
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav .lw > ul > .menu-item--expanded ul {
        display: none
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw > ul > .menu-item--expanded ul {
        display: block
    }
}

.header-container .sub-nav .lw > ul > .menu-item--expanded ul li {
    font-size: 1.4rem;
    line-height: 1.8rem
}

.header-container .sub-nav .lw > ul > .menu-item--expanded ul li a {
    padding: 7px 0
}

.header-container .sub-nav .lw > ul > .menu-item--expanded ul li a.all {
    align-items: center;
    background-image: linear-gradient(var(--primary-color-ch1), var(--primary-color-ch1));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--primary-color-ch1);
    border-radius: 22px;
    color: var(--primary-color-ch1);
    display: flex;
    font-size: 1.2rem;
    height: 44px;
    justify-content: center;
    margin-top: 20px;
    max-width: 164px;
    padding: 0;
    text-align: center;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease
}

@media (hover: hover) {
    .header-container .sub-nav .lw > ul > .menu-item--expanded ul li a.all:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.header-container .sub-nav .lw > ul > .menu-item--expanded ul li a.all.active {
    background-color: var(--primary-color-ch1);
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) {
        align-items: center;
        display: flex;
        font-size: 2.4rem;
        font-weight: 700;
        grid-column: 1;
        line-height: 3.2rem;
        position: relative
    }

    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) .icon {
        align-items: center;
        color: var(--primary-color-ch1);
        display: flex;
        height: 16px;
        margin-left: 20px;
        opacity: 0;
        pointer-events: none;
        transform: translateX(-4px);
        transition: opacity .2s, transform .2s;
        width: 24px
    }

    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) a {
        padding: 8px 0
    }
}

@media only screen and (min-width: 900px)and (hover: hover) {
    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) a:hover + .icon {
        opacity: 1;
        transform: none
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) a:focus + .icon {
        opacity: 1;
        transform: none
    }

    .header-container .sub-nav .lw > ul > .menu-item:not(.menu-item--expanded) ul {
        display: none
    }
}

.header-container .sub-nav .lw > ul li a {
    display: block;
    max-width: none
}

@media (hover: hover) {
    .header-container .sub-nav .lw > ul li a:hover {
        color: var(--primary-color-ch1);
        transition: color .2s
    }
}

.header-container .sub-nav .lw > ul li a:focus {
    color: var(--primary-color-ch1);
    transition: color .2s
}

.header-container .sub-nav .lw .featured-articles {
    align-self: end;
    border-top: 1px solid var(--secondary-color-ch3);
    display: flex;
    grid-column: 1/-1
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav .lw .featured-articles {
        border-color: var(--primary-color-ch1);
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 30px;
        padding-left: var(--lp);
        padding-top: 30px;
        position: relative;
        z-index: 3
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw .featured-articles {
        padding-bottom: 40px;
        padding-top: 40px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .sub-nav .lw .featured-articles article {
        padding-right: 50px
    }
}

@media only screen and (min-width: 900px) {
    .header-container .sub-nav .lw .featured-articles article:first-of-type {
        margin-right: max(10vw, 130px)
    }
}

.header-container .sub-nav .lw .featured-articles article a {
    align-items: center;
    color: var(--primary-color-000);
    display: flex;
    padding: 0
}

@media (hover: hover) {
    .header-container .sub-nav .lw .featured-articles article a:hover .media-image img {
        transform: scale(1.1)
    }
}

.header-container .sub-nav .lw .featured-articles article a:focus .media-image img {
    transform: scale(1.1)
}

.header-container .sub-nav .lw .featured-articles article .media-image {
    aspect-ratio: 1;
    height: auto;
    margin-right: 16px;
    overflow: hidden;
    width: 100px
}

.header-container .sub-nav .lw .featured-articles article .media-image img {
    height: 100%;
    object-fit: cover;
    transition: transform .2s;
    width: 100%
}

.header-container .sub-nav .lw .featured-articles article p {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 2.3rem;
    max-width: 215px;
    min-width: 120px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .header-container .sub-nav .lw .featured-articles article p {
        font-size: 1.4rem;
        line-height: 2rem
    }
}

.header--hide body:not(.has-local-nav) .header-container, .header--minified body:not(.has-local-nav) .header-container {
    position: fixed;
    top: var(--menu-margin-top);
    transition: transform .2s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header--hide body:not(.has-local-nav) .header-container, .header--minified body:not(.has-local-nav) .header-container {
        transition: transform .2s, height 0s .5s
    }
}

.header--hide body:not(.has-local-nav) .header-container:before, .header--minified body:not(.has-local-nav) .header-container:before {
    background: var(--secondary-color-white-000);
    content: "";
    height: var(--header-height);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header--hide body:not(.has-local-nav) .header-container, .header--minified body:not(.has-local-nav) .header-container {
        margin-left: 0
    }

    .header--hide body:not(.has-local-nav) .header-container.header-container--expanded, .header--minified body:not(.has-local-nav) .header-container.header-container--expanded {
        transition: transform .2s, height 0s
    }
}

.header--hide.header--no-anim .header-container, .header--hide.header--no-anim body:not(.has-local-nav) .header-container, .header--minified.header--no-anim .header-container, .header--minified.header--no-anim body:not(.has-local-nav) .header-container, .header--no-anim .header-container, .header--no-anim body:not(.has-local-nav) .header-container {
    transition: none
}

.header--hide body:not(.has-local-nav) .header-container {
    transform: translateY(-100%)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header--minified .header-container {
        transform: none
    }
}

@media only screen and (min-width: 900px) {
    .header--minified body:not(.has-local-nav) .header-container {
        transform: translateY(-30px)
    }
}

.header-container .btn-toggle-menu {
    border: 2px solid var(--primary-color-ch1);
    border-radius: 100%;
    color: var(--primary-color-ch1);
    height: 36px;
    position: relative;
    transition: opacity .1s, background-color .3s ease, color .3s ease;
    width: 36px;
    z-index: 4
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .btn-toggle-menu {
        align-self: start;
        margin-top: 15px
    }
}

@media only screen and (min-width: 900px) {
    .header-container .btn-toggle-menu {
        left: calc(100% - var(--lp));
        margin: 0 0 0 20px;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 69px
    }
}

@media only screen and (min-width: 1024px)and (max-width: calc(1200px - 1px)) {
    .header-container .btn-toggle-menu {
        margin-left: 30px
    }
}

@media only screen and (min-width: 1200px) {
    .header-container .btn-toggle-menu {
        margin-left: 50px
    }
}

.header-container .btn-toggle-menu__bar {
    background: currentColor;
    border-radius: 2px;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform .2s cubic-bezier(.34, 0, .3, 1), width .2s;
    width: 16px
}

.header-container .btn-toggle-menu__bar--bottom, .header-container .btn-toggle-menu__bar--top {
    transition: transform .1s .2s
}

@media only screen and (min-width: 900px) {
    .header-container .btn-toggle-menu__bar--bottom, .header-container .btn-toggle-menu__bar--top {
        transition-delay: 1s
    }
}

.header-container .btn-toggle-menu__bar--top {
    transform: translate(-50%, -7px);
    width: 9px
}

.header-container .btn-toggle-menu__bar--bottom {
    transform: translate(-50%, 5px);
    width: 9px
}

@media only screen and (min-width: 900px) {
    .header-container .btn-toggle-menu__bar--middle--first, .header-container .btn-toggle-menu__bar--middle--second {
        transition-delay: 1s
    }
}

@media (hover: hover) {
    .header-container .btn-toggle-menu:hover {
        background-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.header-container .btn-toggle-menu:focus-visible {
    background-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .block-language li a {
        font-weight: 900;
        padding: 12px var(--lp) 10px
    }
}

.header-container .btn-close-cover {
    height: 0;
    opacity: 0;
    transition: height 0s .4s, opacity .3s;
    width: 100%;
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container .btn-close-cover {
        display: none
    }
}

@media only screen and (min-width: 900px) {
    .header-container.search-opened .menu--main > ul > li > a {
        opacity: .3
    }
}

.header-container.search-opened .header__search .form-text {
    cursor: auto;
    pointer-events: auto
}

@media only screen and (min-width: 900px) {
    .header-container.search-opened .header__search .form-text {
        opacity: 1;
        width: 400px
    }
}

.header-container.search-opened .header__search .form-text + button {
    color: var(--primary-color-ch1);
    pointer-events: auto
}

.header-container.search-opened .header__search .form-text:not(:placeholder-shown):not(.ui-autocomplete-loading) + .loader + .btn-search-reset {
    opacity: 1;
    pointer-events: auto
}

.header-container.search-opened .header__search .btn-search-toggle {
    display: none
}

.header-container.search-opened .header__search.search-filled .form-submit {
    pointer-events: auto
}

.header-container--expanded {
    z-index: 300
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container--expanded {
        height: var(--ah);
        transition: height 0s
    }
}

.header-container--expanded .header:after {
    transform: none;
    transition-delay: .1s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container--expanded .header:after {
        opacity: 1;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 900px) {
    .header-container--expanded .header:after {
        opacity: .75
    }
}

.header-container--expanded .header:before {
    opacity: 1;
    transform: none;
    transition-delay: 75ms
}

.header-container--expanded .header .menu--main, .header-container--expanded .header__nav__mask, .header-container--expanded .header__nav__secondary, .header-container--expanded .header__search {
    opacity: 1;
    transform: none
}

.header-container--expanded .header .btn-menu-back {
    opacity: 1;
    transform: translateX(100%)
}

.header-container--expanded .header__search {
    transition-delay: 0s
}

.header-container--expanded .header__nav__mask {
    transition-delay: .15s
}

.header-container--expanded .header .menu--main {
    transition-delay: .125s
}

.header-container--expanded .header .menu--main > ul > li.menu-item--active-trail > a {
    color: var(--primary-color-000)
}

.header-container--expanded .header .menu--main > ul > li.menu-item--active-trail > a .line {
    transform: scaleX(0)
}

.header-container--expanded .header__nav__secondary {
    transition-delay: .225s
}

@media only screen and (min-width: 900px) {
    .header-container--expanded .btn-toggle-menu {
        opacity: 1;
        pointer-events: auto;
        transform: none
    }
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--bottom, .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--top {
    transition: transform .1s
}

@media only screen and (min-width: 900px) {
    .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--bottom, .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--top {
        transition: none
    }
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--top {
    transform: translate(-50%, -7px) scaleX(0)
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--bottom {
    transform: translate(-50%, 5px) scaleX(0)
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--first, .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--second {
    transition: transform .2s .2s;
    width: 18px
}

@media only screen and (min-width: 900px) {
    .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--first, .header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--second {
        transition: none
    }
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--first {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.header-container--expanded .btn-toggle-menu .btn-toggle-menu__bar--middle--second {
    transform: translate(-50%, -50%) rotate(45deg)
}

.header-container--expanded .btn-close-cover {
    height: 100vw;
    opacity: .4;
    transition: height 0s 0s, opacity .3s .05s;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header-container--sub-nav .header__search {
        pointer-events: none
    }

    .header-container--sub-nav .header .menu--main > ul > li > .icon, .header-container--sub-nav .header .menu--main > ul > li > a, .header-container--sub-nav .header__nav__secondary div, .header-container--sub-nav .header__nav__secondary nav, .header-container--sub-nav .header__search form {
        opacity: .5;
        transform: translateX(-80px);
        transition-delay: 0s
    }

    .header-container--sub-nav .header .btn-menu-back {
        transform: none
    }

    .header-container--sub-nav .header__nav__mask {
        opacity: 0;
        transition-delay: 0s
    }

    .header-container--sub-nav .header__nav__wrapper {
        overflow: hidden
    }

    .header-container--sub-nav .header .menu--main > ul > .menu-item--active .sub-nav .lw {
        transition: opacity .3s, transform .3s
    }

    .header-container--sub-nav.header-container--expanded .header__search {
        opacity: 0;
        transition: opacity 0s;
        transition-delay: 1s
    }

    .header-container--sub-nav:not(.header-container--expanded) .header .menu--main, .header-container--sub-nav:not(.header-container--expanded) .header__nav__secondary {
        opacity: 0;
        transform: none
    }

    .header-container--sub-nav:not(.header-container--expanded) .header__nav__secondary div, .header-container--sub-nav:not(.header-container--expanded) .header__nav__secondary nav, .header-container--sub-nav:not(.header-container--expanded) .header__search form {
        opacity: 0;
        transition: none;
        transition-delay: 1s
    }

    .header-container--sub-nav:not(.header-container--expanded) .header .menu--main > ul > .menu-item--active .sub-nav .lw {
        opacity: 0;
        transform: translateY(10px)
    }
}

.header-container--sub-nav:not(.header-container--expanded) .btn-menu-back {
    transform: translateY(10%)
}

.alerts-container, .error-messages {
    bottom: 20px;
    max-width: 420px;
    pointer-events: none;
    position: fixed;
    right: 20px;
    width: calc(100% - 40px);
    z-index: 200
}

.alerts-container p, .alerts-container ul, .error-messages p, .error-messages ul {
    font-size: 1.6rem;
    line-height: 1.8rem
}

.alerts-container ul li, .error-messages ul li {
    display: block;
    font-size: 1.6rem;
    line-height: 2rem;
    margin-bottom: 12px
}

.alerts-container ul li:last-child, .error-messages ul li:last-child {
    margin-bottom: 0
}

.alerts-container .button-close, .error-messages .button-close {
    border: 0;
    color: var(--primary-color-000);
    height: 20px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 20px
}

.alerts-container .button-close .icon, .error-messages .button-close .icon {
    height: 100%;
    width: 100%
}

.alerts-container .button-close .icon svg, .error-messages .button-close .icon svg {
    height: 20px;
    width: 10px
}

@media (hover: hover) {
    .alerts-container .button-close:hover, .error-messages .button-close:hover {
        background-color: var(--primary-color-000)
    }
}

.alerts-container .button-close:focus, .error-messages .button-close:focus {
    background-color: var(--primary-color-000)
}

.alerts-container .alert, .error-messages .alert {
    background: var(--secondary-color-white-000, #fff);
    border: 2px solid var(--alert-color, var(--primary-color-ch1));
    border-radius: 12px;
    opacity: 0;
    padding: 20px;
    pointer-events: none;
    transform: translateY(10px);
    transition: transform .2s, opacity .2s
}

.alerts-container .alert.is-active, .error-messages .alert.is-active {
    opacity: 1;
    pointer-events: all;
    transform: none
}

.alerts-container .alert-success, .error-messages .alert-success {
    --alert-color: var(--secondary-color-status-success)
}

.error-messages {
    background: #fdfdfd;
    border-left: 6px solid #a02020;
    bottom: auto;
    color: #000;
    left: 0;
    margin-bottom: 20px;
    margin-left: 0;
    position: relative
}

.error-messages ul {
    margin: 0;
    padding: 30px 36px 30px 30px
}

.errors-container {
    --lw: 670px;
    display: grid;
    display: block;
    gap: 0 var(--gg);
    grid-template-columns:repeat(var(--lc), 1fr);
    margin: 0 auto;
    max-width: calc(var(--lw) + var(--lp) * 2);
    padding: 0 var(--lp);
    padding-left: var(--lp);
    padding-right: var(--lp);
    position: relative;
    width: 100%
}

.errors-container--block {
    display: block
}

.errors-container--block .lw {
    padding-left: 0;
    padding-right: 0
}

.errors-container--flex {
    display: flex
}

.errors-container--right, .errors-container--right.swiper {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    padding: 0 var(--lp);
    width: auto
}

.errors-container--right .lw, .errors-container--right.swiper .lw {
    margin-left: 0;
    margin-right: 0;
    max-width: 1120px;
    padding-left: 0;
    padding-right: 0
}

@media only screen and (min-width: 1360px) {
    .errors-container--right, .errors-container--right.swiper {
        padding-left: calc(50vw - 680px + var(--lp))
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__primary .errors-container--right {
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(1360px - 1px)) {
    .node-split__primary .errors-container--right {
        width: calc(100% + var(--lp))
    }
}

@media only screen and (min-width: 1360px) {
    .node-split__primary .errors-container--right {
        --primary-column-width: 641.33333px;
        --right-space-width: calc(50vw - 560px);
        width: calc(var(--primary-column-width) + var(--right-space-width))
    }
}

.errors-container--narrow {
    --lw: 670px
}

.errors-container--split {
    --gg: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .errors-container--split {
        display: flex;
        flex-direction: column-reverse
    }
}

@media only screen and (min-width: 600px) {
    .errors-container--split {
        align-items: center
    }
}

.errors-container--split:after {
    background: var(--block-background, var(--secondary-color-ch4));
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .errors-container--split .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 375px;
        padding-bottom: 60px;
        padding-top: 60px
    }
}

@media only screen and (min-width: 600px) {
    .errors-container--split .content {
        grid-column: 1/7;
        grid-row: 1;
        padding-right: 60px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .errors-container--split .media-image {
        height: 375px;
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 600px) {
    .errors-container--split .media-image {
        grid-column: 7/-1;
        height: 100%
    }
}

.errors-container--split .media-image img {
    height: 100%;
    max-width: none;
    object-fit: cover
}

@media only screen and (min-width: 600px) {
    .errors-container--split .media-image img {
        width: calc(50vw - var(--sw, 0px) / 2)
    }
}

.webform-submission-form .errors-container {
    margin-bottom: 50px;
    padding-left: 0;
    padding-right: 0
}

.errors-container .alert {
    border-bottom: 2px solid var(--alert-color-main, var(--primary-color-ch1));
    color: var(--alert-color-main, var(--primary-color-ch1));
    font-size: 14px;
    font-weight: 500;
    padding: 20px 0
}

.errors-container .alert .button-close {
    right: inherit
}

.errors-container .alert p:not(:last-child), .errors-container .alert ul:not(:last-child) {
    margin-bottom: 20px
}

.errors-container .alert ul {
    padding-left: 18px
}

.errors-container .alert li {
    margin-bottom: 10px
}

.errors-container .alert-danger {
    --alert-color-main: var(--secondary-color-status-error)
}

.site-alert {
    --alert-color: var(--primary-color-ch1);
    --alert-highlight: var(--secondary-color-white-000);
    align-items: center;
    background-color: var(--alert-color);
    color: var(--alert-highlight);
    display: none;
    min-height: 50px
}

.site-alert--critical {
    --alert-color: var(--secondary-color-status-error)
}

.site-alert--medium {
    --alert-color: var(--secondary-color-status-alert);
    --alert-highlight: var(--primary-color-000)
}

.site-alert--low {
    --alert-color: var(--secondary-color-status-warning);
    --alert-highlight: var(--primary-color-000)
}

.site-alert.is-active {
    display: flex
}

.site-alert .layout-wysiwyg {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.7rem;
    padding-bottom: 10px;
    padding-top: 12px;
    text-align: center
}

.site-alert .layout-wysiwyg a:not(.btn):not(.button) {
    color: var(--alert-highlight)
}

.site-alert .btn-close {
    color: currentColor;
    flex-shrink: 0;
    height: 25px;
    margin-right: 25px;
    width: 25px
}

.site-alert .btn-close .icon {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

.site-alert .btn-close .icon svg {
    width: 9px
}

@media (hover: hover) {
    .site-alert .btn-close:hover {
        background-color: var(--alert-highlight);
        border-color: var(--alert-highlight);
        color: var(--alert-color)
    }
}

.site-alert .btn-close:focus {
    background-color: var(--alert-highlight);
    border-color: var(--alert-highlight);
    color: var(--alert-color)
}

a, button, input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    border: none;
    cursor: pointer;
    margin: 0;
    padding: 0;
    text-decoration: none
}

.button {
    cursor: pointer;
    position: relative
}

.btn:focus-visible, .button:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.btn-primary, .button-primary {
    align-items: center;
    background-image: linear-gradient(var(--module-primary-color, var(--primary-color-ch1)), var(--module-primary-color, var(--primary-color-ch1)));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--module-primary-color, var(--primary-color-ch1));
    border-radius: 24px;
    color: var(--module-primary-color, var(--primary-color-ch1));
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    height: 43px;
    line-height: 1.1;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    text-align: center;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease;
    width: fit-content
}

@media (hover: hover) {
    .btn-primary:hover, .button-primary:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--module-primary-color, var(--primary-color-ch1));
        color: var(--module-secondary-color, var(--secondary-color-white-000))
    }
}

.btn-primary.active, .button-primary.active {
    background-color: var(--module-primary-color, var(--primary-color-ch1));
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--module-primary-color, var(--primary-color-ch1));
    color: var(--module-secondary-color, var(--secondary-color-white-000))
}

.btn-primary:disabled, .button-primary:disabled {
    background-color: var(--secondary-color-ch4);
    border-color: var(--secondary-color-ch4);
    opacity: 1
}

.btn-primary .icon-arrow, .button-primary .icon-arrow {
    height: 20px;
    margin-left: 8px;
    width: 20px
}

.btn-primary .loader, .button-primary .loader {
    display: none;
    margin-left: 10px
}

.btn-primary--loading .loader, .button-primary--loading .loader {
    display: block
}

.btn-primary--loading .loader + .icon-arrow, .button-primary--loading .loader + .icon-arrow {
    display: none
}

.btn-primary.webform-button--previous, .button-primary.webform-button--previous {
    flex-direction: row-reverse
}

.btn-primary.webform-button--previous .icon-arrow, .button-primary.webform-button--previous .icon-arrow {
    margin: 0 8px 0 0;
    transform: rotate(-180deg)
}

@media (hover: hover) {
    .btn-primary:hover, .button-primary:hover {
        --loader-color: var(--secondary-color-white-000)
    }
}

.btn-primary-invert, .button-primary-invert {
    align-items: center;
    background-image: linear-gradient(var(--secondary-color-white-000), var(--secondary-color-white-000));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--secondary-color-white-000);
    border-radius: 24px;
    color: var(--secondary-color-white-000);
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    height: 43px;
    line-height: 1.1;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease;
    width: fit-content
}

@media (hover: hover) {
    .btn-primary-invert:hover, .button-primary-invert:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--secondary-color-white-000);
        color: var(--primary-color-ch1)
    }
}

.btn-primary-invert.active, .button-primary-invert.active {
    background-color: var(--secondary-color-white-000);
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--secondary-color-white-000);
    color: var(--primary-color-ch1)
}

.btn-primary-invert:disabled, .button-primary-invert:disabled {
    background-color: var(--secondary-color-ch4);
    border-color: var(--secondary-color-ch4);
    opacity: 1
}

.btn-primary-invert .icon-arrow, .button-primary-invert .icon-arrow {
    height: 20px;
    margin-left: 8px;
    width: 20px
}

.btn-secondary, .button-secondary {
    align-items: center;
    background-image: linear-gradient(var(--primary-color-ch1), var(--primary-color-ch1));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--primary-color-000);
    border-radius: 30px;
    color: var(--primary-color-000);
    font-size: 1.4rem;
    font-weight: 700;
    height: var(--input-height, 55px);
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
    text-decoration: none;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease
}

@media (hover: hover) {
    .btn-secondary:hover, .button-secondary:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-secondary.active, .button-secondary.active {
    background-color: var(--primary-color-000);
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.btn-tertiary, .button-tertiary {
    --focus-outline: var(--secondary-color-white-000);
    align-items: center;
    background-image: linear-gradient(var(--secondary-color-white-000), var(--secondary-color-white-000));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--secondary-color-white-000);
    border-radius: 18px;
    color: var(--secondary-color-white-000);
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
    justify-content: center;
    min-height: 33px;
    padding-left: 20px;
    padding-right: 20px;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease
}

@media (hover: hover) {
    .btn-tertiary:hover, .button-tertiary:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--secondary-color-white-000);
        color: var(--primary-color-ch1)
    }
}

.btn-tertiary.active, .button-tertiary.active {
    background-color: var(--secondary-color-white-000);
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--secondary-color-white-000);
    color: var(--primary-color-ch1)
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-tertiary, .button-tertiary {
        font-weight: 300
    }

    .btn-tertiary.active, .button-tertiary.active {
        font-weight: 500
    }
}

.btn-tertiary-invert, .button-tertiary-invert {
    align-items: center;
    background-image: linear-gradient(var(--primary-color-ch1), var(--primary-color-ch1));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--primary-color-ch1);
    border-radius: 18px;
    color: var(--primary-color-ch1);
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
    justify-content: center;
    min-height: 33px;
    padding-left: 20px;
    padding-right: 20px;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease
}

@media (hover: hover) {
    .btn-tertiary-invert:hover, .button-tertiary-invert:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-tertiary-invert.active, .button-tertiary-invert.active {
    background-color: var(--primary-color-ch1);
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-tertiary-invert, .button-tertiary-invert {
        font-weight: 300
    }

    .btn-tertiary-invert.active, .button-tertiary-invert.active {
        font-weight: 500
    }
}

.btn-link, .button-link {
    align-items: center;
    box-sizing: border-box;
    display: grid;
    font-weight: 500;
    gap: 20px;
    grid-template-columns:1fr 27px;
    min-height: 64px;
    padding: 6px 30px 6px 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-link, .button-link {
        padding-left: 20px;
        padding-right: 20px
    }
}

.btn-link .icon, .button-link .icon {
    height: 18px;
    transition: transform .2s
}

@media (hover: hover) {
    .btn-link:hover .icon, .button-link:hover .icon {
        transform: translateX(6px)
    }
}

.btn-link:focus .icon, .button-link:focus .icon {
    transform: translateX(6px)
}

.btn-link--external .icon, .button-link--external .icon {
    height: 20px
}

@media (hover: hover) {
    .btn-link--external:hover .icon, .button-link--external:hover .icon {
        transform: scale(1.1)
    }
}

.btn-link--external:focus .icon, .button-link--external:focus .icon {
    transform: scale(1.1)
}

.btn-close, .button-close {
    align-items: center;
    border: 2px solid;
    border-radius: 100%;
    color: var(--primary-color-ch1);
    display: flex;
    height: 36px;
    justify-content: center;
    transition: color .3s ease, border-color .3s ease, background-color .3s ease;
    width: 36px
}

.btn-close .icon, .button-close .icon {
    color: currentColor;
    height: 36px;
    width: 14px
}

.btn-close-invert, .button-close-invert {
    color: var(--secondary-color-white-000)
}

@media (hover: hover) {
    .btn-close:hover, .button-close:hover {
        background: var(--primary-color-ch1);
        border-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-close:focus, .button-close:focus {
    background: var(--primary-color-ch1);
    border-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.btn-close-cover, .button-close-cover {
    background: var(--primary-color-ch1);
    display: block;
    height: 100%;
    left: 0;
    opacity: .75;
    position: absolute;
    top: 0;
    width: 100%
}

.btn-clear, .button-clear {
    align-items: center;
    color: currentColor;
    display: flex;
    height: var(--input-height, 55px);
    justify-content: center;
    width: 55px
}

.btn-clear .icon, .button-clear .icon {
    color: currentColor;
    height: 16px;
    width: 12px
}

.btn-reset, .button-reset {
    color: var(--primary-color-ch1);
    font-size: 1.4rem;
    font-weight: 500;
    max-width: fit-content;
    text-decoration: underline
}

@media (hover: hover) {
    .btn-reset:hover, .button-reset:hover {
        text-decoration: none
    }
}

.btn-reset:focus, .button-reset:focus {
    text-decoration: none
}

.btn-reset.btn-reset-global, .button-reset.btn-reset-global {
    align-items: center;
    color: var(--primary-color-000);
    display: flex;
    text-decoration: none
}

.btn-reset.btn-reset-global .icon, .button-reset.btn-reset-global .icon {
    height: 17px;
    margin-left: 10px;
    transition: transform .2s;
    width: 17px
}

@media (hover: hover) {
    .btn-reset.btn-reset-global:hover .icon, .button-reset.btn-reset-global:hover .icon {
        transform: rotate(-40deg)
    }
}

.btn-reset.btn-reset-global:focus .icon, .button-reset.btn-reset-global:focus .icon {
    transform: rotate(-40deg)
}

.btn-search, .button-search {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: start;
    width: 35px
}

.btn-search .icon, .button-search .icon {
    height: 20px;
    margin-top: 1px;
    width: 20px
}

.btn-search-toggle, .button-search-toggle {
    align-items: center;
    display: flex;
    height: var(--input-height);
    justify-content: center;
    width: 40px
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .btn-search-toggle .icon, .button-search-toggle .icon {
        fill: var(--primary-color-ch1);
        height: 24px;
        width: 24px
    }
}

@media only screen and (min-width: 900px) {
    .btn-search-toggle .icon, .button-search-toggle .icon {
        fill: currentColor;
        height: 30px;
        width: 30px
    }
}

.btn-search-reset, .button-search-reset {
    align-items: center;
    display: flex;
    height: calc(var(--input-height) - 4px);
    justify-content: center;
    width: 40px
}

.btn-search-reset .icon, .button-search-reset .icon {
    color: var(--primary-color-000);
    height: 16px;
    width: 14px
}

.btn-toggle, .button-toggle {
    align-items: center;
    background-color: var(--secondary-color-white-000);
    display: flex;
    justify-content: center;
    text-align: center
}

.btn-toggle .count, .button-toggle .count {
    background: var(--primary-color-000);
    border-radius: 100%;
    color: var(--secondary-color-white-000);
    display: block;
    font-size: 1.4rem;
    height: 25px;
    line-height: 2.5rem;
    margin-right: auto;
    opacity: 0;
    text-align: center;
    transition: background-color .2s;
    width: 25px
}

.btn-toggle .title, .button-toggle .title {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px
}

.btn-toggle .icon-filters, .button-toggle .icon-filters {
    height: 21px;
    margin-left: auto;
    width: 24px
}

.btn-toggle .icon-x, .button-toggle .icon-x {
    height: 16px;
    margin-left: auto;
    opacity: 0;
    transition: opacity .1s;
    width: 24px
}

.btn-toggle .icon-x svg, .button-toggle .icon-x svg {
    width: 16px
}

.btn-toggle.has-count .count, .btn-toggle.is-open .icon-x, .button-toggle.has-count .count, .button-toggle.is-open .icon-x {
    opacity: 1
}

@media (hover: hover) {
    .btn-toggle:hover .count, .button-toggle:hover .count {
        background-color: var(--primary-color-ch1)
    }
}

.btn-toggle:focus .count, .button-toggle:focus .count {
    background-color: var(--primary-color-ch1)
}

.btn-filter-letter, .button-filter-letter {
    align-items: center;
    border-radius: 100%;
    color: var(--primary-color-ch1);
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    line-height: 1;
    transition: color .2s, background-color .2s, border-color .2s;
    width: 30px
}

.btn-filter-letter-all, .button-filter-letter-all {
    border: 2px solid var(--primary-color-ch1);
    border-radius: 16px;
    font-size: 1.2rem;
    padding: 0 10px;
    width: auto
}

.btn-filter-letter-all.is-active, .btn-filter-letter.is-active, .button-filter-letter-all.is-active, .button-filter-letter.is-active {
    background: var(--primary-color-ch1);
    border: 2px solid var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

@media (hover: hover) {
    .btn-filter-letter:hover, .button-filter-letter:hover {
        background: var(--primary-color-ch1);
        border: 2px solid var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-filter-letter:focus, .button-filter-letter:focus {
    background: var(--primary-color-ch1);
    border: 2px solid var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.btn-pager, .button-pager {
    align-items: center;
    border: 2px solid var(--primary-color-ch1);
    border-radius: 100%;
    color: var(--primary-color-ch1);
    display: flex;
    height: 34px;
    justify-content: center;
    transition: color .2s, background-color .2s;
    width: 34px
}

.btn-pager .icon, .button-pager .icon {
    height: 18px;
    width: 18px
}

@media (hover: hover) {
    .btn-pager:hover, .button-pager:hover {
        background: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-pager:focus, .button-pager:focus {
    background: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.btn-breadcrumb, .button-breadcrumb {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    height: 20px;
    text-decoration: underline
}

.btn-breadcrumb .icon, .button-breadcrumb .icon {
    height: 16px;
    margin-bottom: -2px;
    margin-right: 10px;
    transition: transform .2s;
    width: 20px
}

@media (hover: hover) {
    .btn-breadcrumb:hover .icon, .button-breadcrumb:hover .icon {
        transform: translateX(-10%)
    }
}

.btn-breadcrumb:focus .icon, .button-breadcrumb:focus .icon {
    transform: translateX(-10%)
}

.btn-slider, .button-slider {
    color: var(--module-primary-color, var(--primary-color-ch1));
    transition: transform .05s
}

.btn-slider[disabled], .button-slider[disabled] {
    opacity: 0
}

.btn-slider .icon, .button-slider .icon {
    display: block;
    height: 32px;
    width: 32px
}

@media (hover: hover) {
    .btn-slider:hover, .button-slider:hover {
        transform: scale(1.1)
    }

    .btn-slider:hover:active, .button-slider:hover:active {
        transform: scale(1)
    }
}

.btn-map, .button-map {
    --pin-color: var(--primary-color-ch1);
    --pin-color-center: var(--primary-color-ch2);
    display: flex;
    font-size: 1.2rem;
    font-weight: 500;
    height: 32px;
    width: fit-content
}

.btn-map .icon, .button-map .icon {
    height: 20px;
    margin-left: -4px;
    margin-right: 10px;
    width: 14px
}

.btn-map svg, .button-map svg {
    transition: fill .2s
}

@media (hover: hover) {
    .btn-map:hover, .button-map:hover {
        --pin-color: var(--secondary-color-white-000);
        --pin-color-center: var(--primary-color-ch1)
    }
}

.btn-donation, .button-donation {
    align-items: center;
    background-image: linear-gradient(#f19600, #f19600);
    background-position: 0 100%;
    background-repeat: repeat-y;
    background-size: 102% 100%;
    border: 2px solid #f19600;
    border-radius: 24px;
    color: #333;
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    height: 43px;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease;
    width: fit-content
}

@media (hover: hover) {
    .btn-donation:hover, .button-donation:hover {
        background-position: 100% 100%;
        background-size: 0 100%;
        border-color: #f19600;
        color: #f19600
    }
}

.btn-donation.active, .button-donation.active {
    background-position: 100% 100%;
    background-size: 0 100%;
    border-color: #f19600;
    color: #f19600
}

.btn-share, .button-share {
    align-items: center;
    background: var(--primary-color-ch1);
    border: 2px solid var(--primary-color-ch1);
    border-radius: 100%;
    color: var(--secondary-color-white-000);
    display: flex;
    height: 36px;
    justify-content: center;
    transition: background-color .2s, color .2s, transform .2s;
    width: 36px
}

@media (hover: hover) {
    .btn-share:hover, .button-share:hover {
        background-color: var(--primary-color-ch1);
        color: var(--secondary-color-white-000)
    }
}

.btn-share .icon, .button-share .icon {
    height: 20px;
    width: 20px
}

.btn-share-toggle .icon, .button-share-toggle .icon {
    margin-right: 2px
}

.btn-donation-fixed, .button-donation-fixed {
    align-items: center;
    background: var(--secondary-color-orange-1);
    border-radius: 26px;
    display: grid;
    font-size: 1.2rem;
    font-weight: 500;
    gap: 4px;
    grid-template-columns:1fr 42px;
    height: 52px;
    line-height: 1.4rem;
    padding-left: 14px;
    pointer-events: all;
    transition: width .3s, transform .2s cubic-bezier(.34, 0, .3, 1);
    width: 150px;
    z-index: 10
}

[lang=en] .btn-donation-fixed, [lang=en] .button-donation-fixed {
    width: 180px
}

@media (hover: hover) {
    .btn-donation-fixed:hover, .button-donation-fixed:hover {
        width: 330px
    }
}

@media only screen and (hover: hover)and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-donation-fixed:hover, .button-donation-fixed:hover {
        width: calc(100vw - 40px)
    }
}

.btn-donation-fixed:focus, .button-donation-fixed:focus {
    width: 330px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-donation-fixed:focus, .button-donation-fixed:focus {
        width: calc(100vw - 40px)
    }
}

.btn-donation-fixed.is-expanded, .button-donation-fixed.is-expanded {
    width: 330px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .btn-donation-fixed.is-expanded, .button-donation-fixed.is-expanded {
        width: calc(100vw - 40px)
    }
}

.btn-donation-fixed .label, .button-donation-fixed .label {
    justify-self: center
}

.btn-donation-fixed .icon, .button-donation-fixed .icon {
    flex-shrink: 0;
    height: 30px;
    width: 34px
}

.btn-play, .button-play {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.btn-play .icon-video, .button-play .icon-video {
    height: 60px;
    width: 60px
}

.btn-play .icon-video svg, .button-play .icon-video svg {
    height: 18px;
    width: 18px
}

@media (hover: hover) {
    .btn-play:hover .icon-video:after, .button-play:hover .icon-video:after {
        transform: scale(1.1)
    }
}

.btn-play:focus .icon-video:after, .button-play:focus .icon-video:after {
    transform: scale(1.1)
}

.btn-split-large, .button-split-large {
    align-items: center;
    display: flex;
    font-size: 1.8rem;
    font-weight: 500;
    justify-content: space-between;
    line-height: 2.6rem;
    position: relative;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .btn-split-large, .button-split-large {
        height: 67px;
        margin-left: calc(var(--lp) * -1);
        padding-left: var(--lp);
        padding-right: var(--lp);
        width: 100vw
    }
}

@media only screen and (min-width: 768px) {
    .btn-split-large, .button-split-large {
        height: 83px;
        padding-right: 24px
    }
}

.btn-split-large .icon, .button-split-large .icon {
    height: 20px;
    transition: transform .2s;
    width: 30px
}

.btn-split-large:after, .button-split-large:after {
    background: var(--c-s1);
    content: "";
    height: 100%;
    left: 50%;
    opacity: .5;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    transition: opacity .2s;
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 768px) {
    .btn-split-large:after, .button-split-large:after {
        left: auto;
        right: 0;
        transform: none
    }
}

@media (hover: hover) {
    .btn-split-large:hover .icon, .button-split-large:hover .icon {
        transform: translateX(4px)
    }

    .btn-split-large:hover:after, .button-split-large:hover:after {
        opacity: .75
    }
}

.btn-arrow-inline, .button-arrow-inline {
    align-items: center;
    display: flex;
    font-weight: 500
}

.btn-arrow-inline:after, .button-arrow-inline:after {
    background: url(../images/template/arrow.svg) 50% no-repeat;
    background-size: cover;
    content: "";
    flex-shrink: 0;
    height: 18px;
    margin-left: 20px;
    transition: transform .2s;
    width: 27px
}

@media (hover: hover) {
    .btn-arrow-inline:hover:after, .button-arrow-inline:hover:after {
        transform: translateX(6px)
    }
}

.btn-external-inline, .button-external-inline {
    align-items: center;
    display: inline-block;
    font-weight: 500;
    text-decoration: underline
}

.btn-external-inline:after, .button-external-inline:after {
    background: url(../images/template/external.svg) 50% no-repeat;
    background-size: cover;
    content: "";
    display: inline-block;
    height: 20px;
    margin-bottom: -3px;
    margin-left: 8px;
    margin-right: 4px;
    transition: transform .2s;
    width: 20px
}

@media (hover: hover) {
    .btn-external-inline:hover:after, .button-external-inline:hover:after {
        transform: scale(1.1)
    }
}

.btn-map-inline, .button-map-inline {
    --pin-color: var(--primary-color-ch1);
    --pin-color-center: var(--primary-color-ch2);
    align-items: center;
    background-image: linear-gradient(var(--module-primary-color, var(--primary-color-ch1)), var(--module-primary-color, var(--primary-color-ch1)));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--module-primary-color, var(--primary-color-ch1));
    border-radius: 24px;
    color: var(--module-primary-color, var(--primary-color-ch1));
    display: flex;
    font-size: 1.4rem;
    font-size: 1.2rem;
    font-weight: 500;
    height: 43px;
    height: 32px;
    line-height: 1.1;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    text-align: center;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease;
    width: fit-content
}

@media (hover: hover) {
    .btn-map-inline:hover, .button-map-inline:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--module-primary-color, var(--primary-color-ch1));
        color: var(--module-secondary-color, var(--secondary-color-white-000))
    }
}

.btn-map-inline.active, .button-map-inline.active {
    background-color: var(--module-primary-color, var(--primary-color-ch1));
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--module-primary-color, var(--primary-color-ch1));
    color: var(--module-secondary-color, var(--secondary-color-white-000))
}

.btn-map-inline:disabled, .button-map-inline:disabled {
    background-color: var(--secondary-color-ch4);
    border-color: var(--secondary-color-ch4);
    opacity: 1
}

.btn-map-inline .icon-arrow, .button-map-inline .icon-arrow {
    height: 20px;
    margin-left: 8px;
    width: 20px
}

.btn-map-inline .loader, .button-map-inline .loader {
    display: none;
    margin-left: 10px
}

.btn-map-inline--loading .loader, .button-map-inline--loading .loader {
    display: block
}

.btn-map-inline--loading .loader + .icon-arrow, .button-map-inline--loading .loader + .icon-arrow {
    display: none
}

.btn-map-inline.webform-button--previous, .button-map-inline.webform-button--previous {
    flex-direction: row-reverse
}

.btn-map-inline.webform-button--previous .icon-arrow, .button-map-inline.webform-button--previous .icon-arrow {
    margin: 0 8px 0 0;
    transform: rotate(-180deg)
}

@media (hover: hover) {
    .btn-map-inline:hover, .button-map-inline:hover {
        --loader-color: var(--secondary-color-white-000)
    }
}

.btn-map-inline .icon, .button-map-inline .icon {
    height: 20px;
    margin-left: -4px;
    margin-right: 10px;
    width: 14px
}

.btn-map-inline svg, .button-map-inline svg {
    transition: fill .2s
}

@media (hover: hover) {
    .btn-map-inline:hover, .button-map-inline:hover {
        --pin-color: var(--secondary-color-white-000);
        --pin-color-center: var(--primary-color-ch1)
    }
}

.btn-map-inline:before, .button-map-inline:before {
    background: url(../images/template/pin-colored.svg) 50% no-repeat;
    background-position: top;
    background-size: 100% auto;
    content: "";
    flex-shrink: 0;
    height: 20px;
    margin-left: -4px;
    margin-right: 10px;
    width: 14px
}

@media (hover: hover) {
    .btn-map-inline:hover:before, .button-map-inline:hover:before {
        background-position: bottom
    }
}

.btn-map-inline:focus:before, .button-map-inline:focus:before {
    background-position: bottom
}

.btn-file, .button-file {
    align-items: center;
    display: flex;
    font-weight: 500;
    text-decoration: underline
}

.btn-file .icon, .button-file .icon {
    align-self: flex-start;
    flex-shrink: 0;
    height: 20px;
    margin: 0 10px 0 0;
    min-height: 30px;
    width: 20px
}

.btn-filter-remove, .button-filter-remove {
    align-items: center;
    display: flex;
    font-size: 13px;
    font-weight: 500;
    height: 30px
}

.btn-filter-remove .icon, .button-filter-remove .icon {
    align-items: center;
    border: 2px solid var(--primary-color-000);
    border-radius: 100%;
    display: flex;
    height: 17px;
    justify-content: center;
    margin-left: 5px;
    transition: background-color .1s;
    width: 17px
}

.btn-filter-remove .icon svg, .button-filter-remove .icon svg {
    height: 7px;
    transition: fill .1s;
    width: 7px
}

@media (hover: hover) {
    .btn-filter-remove:hover .icon, .button-filter-remove:hover .icon {
        background-color: var(--primary-color-000);
        color: var(--secondary-color-white-000)
    }
}

.btn-search-filter, .button-search-filter {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    height: 50px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .btn-search-filter, .button-search-filter {
        padding-left: var(--lp);
        padding-right: var(--lp);
        width: 100%
    }
}

.btn-search-filter .count, .button-search-filter .count {
    align-items: center;
    background: var(--primary-color-000);
    border-radius: 100%;
    color: var(--secondary-color-white-000);
    display: none;
    height: 24px;
    justify-content: center;
    margin-right: 6px;
    width: 24px
}

.btn-search-filter .icon-arrow-small, .button-search-filter .icon-arrow-small {
    height: 16px;
    margin-left: 8px;
    width: 14px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .btn-search-filter .icon-arrow-small, .button-search-filter .icon-arrow-small {
        display: none
    }
}

.btn-search-filter.is-open .icon-arrow-small, .button-search-filter.is-open .icon-arrow-small {
    transform: rotate(180deg)
}

.btn-search-filter.has-count .count, .button-search-filter.has-count .count {
    display: flex
}

.webform-submission-form.webform-submission-feedback-form {
    border-top: 1px solid var(--secondary-color-ch3);
    padding-top: 30px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form.webform-submission-feedback-form {
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin-bottom: 100px;
        margin-top: 50px
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form {
        font-size: 1.6rem;
        line-height: 2rem;
        margin-bottom: 150px;
        margin-top: 50px
    }
}

.webform-submission-form.webform-submission-feedback-form .webform__title {
    display: none
}

.node-split__primary .webform-submission-form.webform-submission-feedback-form {
    margin-bottom: 0
}

.webform-submission-form.webform-submission-feedback-form legend {
    font-weight: 700;
    margin-bottom: 6px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form.webform-submission-feedback-form .description {
        font-size: 1.2rem;
        line-height: 1.6rem
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form .description {
        font-size: 1.4rem;
        line-height: 1.8rem
    }
}

.webform-submission-form.webform-submission-feedback-form .form-item:not(:last-child), .webform-submission-form.webform-submission-feedback-form .form-type:not(:last-child) {
    margin-bottom: 0
}

.webform-submission-form.webform-submission-feedback-form .form-radios {
    display: flex;
    margin-bottom: 6px;
    margin-top: 6px
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio {
    height: 36px;
    margin: 0;
    position: relative;
    width: 36px
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio:not(:last-of-type) {
    margin-right: 10px
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio label {
    cursor: pointer;
    height: 100%;
    left: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-indent: -1000px;
    top: 0;
    width: 100%;
    z-index: 1
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio label:after, .webform-submission-form.webform-submission-feedback-form .form-type-radio label:before {
    background: url(../images/template/thumb-circle.svg);
    border: 0;
    content: "";
    height: 100%;
    left: 0;
    margin: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio label:after {
    background: url(../images/template/thumb-full.svg);
    background-color: var(--secondary-color-white-000);
    opacity: 0;
    transition: opacity .2s
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio input {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

@media (hover: hover) {
    .webform-submission-form.webform-submission-feedback-form .form-type-radio input:hover + label:after {
        opacity: 1
    }
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio input:checked + label:after, .webform-submission-form.webform-submission-feedback-form .form-type-radio input:focus + label:after {
    opacity: 1
}

.webform-submission-form.webform-submission-feedback-form .form-type-radio:nth-of-type(2) label {
    transform: rotate(180deg)
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form.webform-submission-feedback-form .form-type-textarea {
        padding-bottom: 30px;
        padding-top: 16px
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form .form-type-textarea {
        padding-bottom: 40px;
        padding-top: 20px
    }
}

.webform-submission-form.webform-submission-feedback-form .form-type-textarea label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form.webform-submission-feedback-form .form-type-textarea label {
        font-size: 1.5rem
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form .form-type-textarea label {
        font-size: 1.6rem
    }
}

.webform-submission-form.webform-submission-feedback-form .form-type-textarea textarea {
    font-size: 1.6rem;
    line-height: 2rem;
    min-height: 120px;
    padding: 10px 14px
}

.webform-submission-form.webform-submission-feedback-form .form-actions {
    margin: 0
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form .form-actions {
        overflow: hidden
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form.webform-submission-feedback-form .form-submit {
        margin: 0 auto
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form.webform-submission-feedback-form .form-submit {
        display: grid;
        float: right;
        grid-template-columns:1fr 20px;
        justify-content: center;
        text-align: center;
        width: 250px
    }

    .webform-submission-form.webform-submission-feedback-form .form-submit .icon {
        margin-left: auto
    }
}

.site-footer {
    color: var(--primary-color-ch1);
    overflow: hidden;
    padding-bottom: 30px;
    padding-top: 30px;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer {
        padding-bottom: 88px
    }
}

.site-footer a:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.site-footer:after {
    background: var(--c-s2);
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer .lw {
        display: block
    }
}

.site-footer #block-breadcrumbs {
    border-bottom: 1px solid var(--primary-color-ch1);
    grid-column: 1/-1;
    margin-bottom: 40px;
    padding-bottom: 22px
}

.site-footer #block-breadcrumbs nav {
    align-items: start;
    display: grid;
    font-size: 1.2rem;
    gap: 10px;
    grid-template-columns:16px 1fr
}

.site-footer #block-breadcrumbs .breadcrumb__nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.1
}

.site-footer #block-breadcrumbs a {
    font-weight: 300
}

.site-footer #block-breadcrumbs .btn-home {
    height: 18px;
    margin-top: 5px;
    padding: 0
}

.site-footer #block-breadcrumbs .btn-home .icon svg {
    height: 18px;
    width: 16px
}

.site-footer #block-breadcrumbs .breadcrumb__item {
    margin-right: 8px;
    padding: 8px 0 8px 16px;
    position: relative
}

.site-footer #block-breadcrumbs .breadcrumb__item:before {
    content: ">";
    display: block;
    left: 0;
    margin-right: 8px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

@media (hover: hover) {
    .site-footer #block-breadcrumbs .breadcrumb__item:hover {
        text-decoration: none
    }

    .site-footer #block-breadcrumbs .breadcrumb__item:hover span {
        text-decoration: underline
    }
}

.site-footer #block-breadcrumbs .breadcrumb__item:focus {
    text-decoration: none
}

.site-footer #block-breadcrumbs .breadcrumb__item:focus span {
    text-decoration: underline
}

.site-footer__infos {
    align-items: center;
    display: flex;
    flex-direction: column;
    grid-column: 1/5;
    text-align: center
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .site-footer__infos {
        grid-column: 1/-1;
        margin-bottom: 60px
    }
}

@media only screen and (min-width: 768px) {
    .site-footer__infos {
        max-width: 260px
    }
}

.site-footer__newsletter {
    margin-top: 50px
}

.site-footer__logo {
    height: 76px;
    width: 90px
}

.site--crchum .site-footer__logo {
    height: 46px;
    width: 148px
}

.site-footer__baseline {
    font-size: 1.4rem;
    margin: 18px 0
}

.site-footer__social {
    display: flex
}

.site-footer__social li {
    display: block;
    list-style: none
}

.site-footer__social li:not(:last-of-type) {
    margin-right: 12px
}

.site-footer__social a, .site-footer__social a .icon {
    display: block
}

.site-footer__social a svg {
    height: 32px;
    margin: 0;
    width: 32px
}

.site-footer nav {
    font-size: 1.4rem
}

.site-footer nav li {
    list-style: none
}

.site-footer nav h2 {
    font-size: 1.4rem;
    font-weight: 300;
    margin-bottom: 6px
}

.site-footer nav a {
    display: block;
    font-weight: 500;
    padding-bottom: 4px;
    padding-top: 4px;
    width: fit-content
}

@media (hover: hover) {
    .site-footer nav a:hover {
        text-decoration: underline
    }
}

.site-footer nav a:focus {
    text-decoration: underline
}

.site-footer #block-crchumliensrapides, .site-footer #block-liensrapides {
    grid-column: 5/9
}

@media only screen and (min-width: 600px)and (max-width: calc(768px - 1px)) {
    .site-footer #block-crchumliensrapides, .site-footer #block-liensrapides {
        grid-column: 1/7
    }
}

.site-footer #block-crchumliensutiles, .site-footer #block-liensutiles {
    grid-column: 9/-1
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer #block-crchumliensutiles, .site-footer #block-liensutiles {
        margin-top: 50px
    }
}

@media only screen and (min-width: 600px)and (max-width: calc(768px - 1px)) {
    .site-footer #block-crchumliensutiles, .site-footer #block-liensutiles {
        grid-column: 7/-1
    }
}

.site-footer__logo-services {
    align-self: end;
    display: flex;
    grid-column: 8/-1;
    grid-row: 3/5;
    justify-self: end
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .site-footer__logo-services {
        margin-bottom: 16px
    }
}

.site-footer__logo-services img, .site-footer__logo-services svg {
    height: auto;
    width: 172px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer__logo-services img, .site-footer__logo-services svg {
        width: 160px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .site-footer__logo-services {
        grid-column: 1/-1;
        grid-row: 4;
        justify-content: center;
        margin-top: 50px;
        width: 100%
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(768px - 1px)) {
    .site-footer__logo-services {
        grid-row: 4/6
    }
}

.site-footer #block-cguetplandusite {
    grid-column: 1/-1;
    grid-row: 3;
    margin-top: 50px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer #block-cguetplandusite {
        margin-top: 10px
    }
}

@media only screen and (min-width: 600px)and (max-width: calc(768px - 1px)) {
    .site-footer #block-cguetplandusite {
        grid-row: 4
    }
}

.site-footer #block-cguetplandusite ul {
    display: flex;
    font-size: 1.2rem
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .site-footer #block-cguetplandusite ul {
        justify-content: center
    }
}

.site-footer #block-cguetplandusite li {
    list-style: none
}

.site-footer #block-cguetplandusite li:not(:last-of-type) {
    margin-right: 20px
}

.site-footer #block-cguetplandusite a {
    text-decoration: underline
}

@media (hover: hover) {
    .site-footer #block-cguetplandusite a:hover {
        text-decoration: none
    }
}

.site-footer #block-cguetplandusite a:focus {
    text-decoration: none
}

.site-footer__copyright {
    font-size: 1.2rem;
    grid-column: 1/-1
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .site-footer__copyright {
        grid-row: 5;
        text-align: center
    }
}

@media only screen and (min-width: 768px) {
    .site-footer__copyright {
        grid-row: 4
    }
}

:root {
    --input-height: 55px;
    --input-border-radius: calc(var(--input-height) / 2)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    :root {
        --input-height: 43px
    }
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea {
    appearance: none;
    -webkit-appearance: none;
    border: 2px solid var(--primary-color-000);
    border-radius: calc(var(--input-height) / 2);
    box-sizing: border-box;
    color: var(--primary-color-000);
    font-size: var(--input-font-size, 16px);
    height: var(--input-height);
    padding: 0 var(--input-padding, 20px);
    width: 100%
}

input:not([type=checkbox]):not([type=radio]):not([type=submit])::placeholder, select::placeholder, textarea::placeholder {
    color: var(--secondary-color-grey-200)
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]):active, select:active, textarea:active {
    outline: none
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]).has-autocomplete, select.has-autocomplete, textarea.has-autocomplete {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]).error, select.error, textarea.error {
    border-color: var(--secondary-color-status-error)
}

@media (hover: hover) {
    input:not([type=checkbox]):not([type=radio]):not([type=submit]):hover, select:hover, textarea:hover {
        outline: none
    }
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]):focus, select:focus, textarea:focus {
    outline: none
}

input[type=time] {
    min-width: 140px
}

textarea {
    display: block;
    padding: var(--input-padding, 20px);
    resize: vertical
}

textarea, textarea.resize-vertical {
    min-height: 120px
}

select {
    background-image: url(../images/template/arrow-small.svg);
    background-position: center right 20px;
    background-repeat: no-repeat;
    background-size: 13px auto
}

fieldset legend, label {
    color: var(--primary-color-000);
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px
}

fieldset legend a, label a {
    color: var(--primary-color-ch1);
    text-decoration: underline
}

.form-required:after {
    content: "*"
}

.form-item:not(:last-child), .form-type:not(:last-child), .form-wrapper .form-item:only-child, .form-wrapper .form-type:only-child {
    margin-bottom: 24px
}

.form-item .form-wrapper .form-wrapper, .form-type .form-wrapper .form-wrapper {
    margin-bottom: 0
}

.form-item-search, .form-type-search {
    align-items: center;
    display: grid;
    position: relative;
    z-index: 20
}

.form-item-search .loader, .form-item-search button, .form-item-search input, .form-type-search .loader, .form-type-search button, .form-type-search input {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 3
}

.form-item-search input, .form-type-search input {
    padding-right: 40px
}

.form-item-search .loader, .form-item-search button, .form-type-search .loader, .form-type-search button {
    justify-self: end
}

.form-item-search .btn-clear, .form-type-search .btn-clear {
    margin-right: 35px;
    z-index: 4
}

.form-item-search .loader, .form-type-search .loader {
    margin-right: 50px
}

.form-item-autocomplete, .form-type-autocomplete {
    background: var(--secondary-color-white-000);
    border: 2px solid var(--primary-color-000);
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    margin-top: -2px;
    max-height: 300px;
    max-width: var(--autocomplete-maxwidth, none);
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 300
}

.form-item-autocomplete li, .form-type-autocomplete li {
    list-style: none
}

@media (hover: hover) {
    .form-item-autocomplete li:hover, .form-type-autocomplete li:hover {
        background: none
    }
}

.form-item-autocomplete li:focus, .form-type-autocomplete li:focus {
    background: none
}

.form-item-autocomplete a, .form-type-autocomplete a {
    display: block;
    font-size: 1.4rem;
    line-height: 1.6rem;
    padding: 11px 10px
}

.form-item-autocomplete a.ui-state-active, .form-type-autocomplete a.ui-state-active {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.form-item-autocomplete a.ui-state-active .search-api-autocomplete-suggestion, .form-type-autocomplete a.ui-state-active .search-api-autocomplete-suggestion {
    background: none;
    color: currentColor
}

@media (hover: hover) {
    .form-item-autocomplete a:hover, .form-type-autocomplete a:hover {
        background: var(--secondary-color-ch4);
        color: var(--primary-color-000)
    }

    .form-item-autocomplete a:hover .search-api-autocomplete-suggestion, .form-type-autocomplete a:hover .search-api-autocomplete-suggestion {
        background: none;
        color: currentColor
    }
}

.form-item-autocomplete a:focus, .form-type-autocomplete a:focus {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.form-item-autocomplete a:focus .search-api-autocomplete-suggestion, .form-type-autocomplete a:focus .search-api-autocomplete-suggestion {
    background: none;
    color: currentColor
}

.form-item-checkbox, .form-item-radio, .form-type-checkbox, .form-type-radio {
    position: relative
}

.form-item-checkbox label, .form-item-radio label, .form-type-checkbox label, .form-type-radio label {
    align-self: center;
    display: grid;
    gap: 10px;
    grid-template-columns:24px 1fr
}

.form-item-checkbox label:after, .form-item-checkbox label:before, .form-item-radio label:after, .form-item-radio label:before, .form-type-checkbox label:after, .form-type-checkbox label:before, .form-type-radio label:after, .form-type-radio label:before {
    background-position: 50%;
    background-repeat: no-repeat;
    content: "";
    grid-column: 1;
    grid-row: 1;
    transition: opacity .1s
}

.form-item-checkbox label:before, .form-item-radio label:before, .form-type-checkbox label:before, .form-type-radio label:before {
    background-image: url(../images/template/check-border.svg);
    background-size: contain;
    height: 26px;
    width: 24px
}

.form-item-checkbox label:after, .form-item-radio label:after, .form-type-checkbox label:after, .form-type-radio label:after {
    background-image: url(../images/template/check.svg);
    background-position: 50% 54%;
    background-size: 14px 12px;
    height: 26px;
    opacity: 0;
    transition: opacity .1s;
    width: 24px
}

.form-item-checkbox input, .form-item-radio input, .form-type-checkbox input, .form-type-radio input {
    cursor: pointer;
    height: 24px;
    left: 0;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    z-index: 5
}

.form-item-checkbox input:checked + label:after, .form-item-radio input:checked + label:after, .form-type-checkbox input:checked + label:after, .form-type-radio input:checked + label:after {
    opacity: 1
}

.form-item-checkbox input.error + label:before, .form-item-radio input.error + label:before, .form-type-checkbox input.error + label:before, .form-type-radio input.error + label:before {
    background-image: url(../images/template/check-border-error.svg)
}

.form-item-checkbox input:not(:checked):focus-visible + label:after, .form-item-radio input:not(:checked):focus-visible + label:after, .form-type-checkbox input:not(:checked):focus-visible + label:after, .form-type-radio input:not(:checked):focus-visible + label:after {
    opacity: .5
}

@media (hover: hover) {
    .form-item-checkbox input:hover:not(:checked) + label:after, .form-item-radio input:hover:not(:checked) + label:after, .form-type-checkbox input:hover:not(:checked) + label:after, .form-type-radio input:hover:not(:checked) + label:after {
        opacity: .3
    }
}

.form-item-radio label, .form-type-radio label {
    gap: 6px
}

.form-item-radio label:before, .form-type-radio label:before {
    background: none;
    border: 2px solid var(--primary-color-000);
    border-radius: 100%;
    height: 22px;
    width: 22px
}

.form-item-radio label:after, .form-type-radio label:after {
    background: var(--primary-color-000) repeat;
    border-radius: 100%;
    height: 10px;
    margin: 6px 0 0 6px;
    width: 10px
}

.form-item-radio input.error + label:before, .form-type-radio input.error + label:before {
    background-image: none;
    border-color: var(--secondary-color-status-error)
}

.form-item-boolean, .form-type-boolean {
    display: flex;
    position: relative
}

.form-item-boolean label, .form-type-boolean label {
    cursor: pointer;
    font-size: 14px;
    grid-column: 2;
    grid-row: 1;
    line-height: 22px;
    margin: 0 0 0 6px
}

.form-item-boolean label:before, .form-type-boolean label:before {
    border: 2px solid var(--primary-color-ch1);
    border-radius: 15px;
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px
}

.form-item-boolean label:after, .form-type-boolean label:after {
    background: var(--primary-color-ch1);
    border-radius: 50%;
    content: "";
    display: block;
    height: 14px;
    left: 4px;
    opacity: .5;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s cubic-bezier(.33, 1, .68, 1), opacity .2s;
    width: 14px
}

.form-item-boolean input, .form-type-boolean input {
    display: block;
    height: 22px;
    opacity: 0;
    width: 32px
}

.form-item-boolean input:checked + label:after, .form-type-boolean input:checked + label:after {
    opacity: 1;
    transform: translate(10px, -50%)
}

.form-item__assessive-text, .form-type__assessive-text {
    margin-top: 8px
}

.form-type-search-api-autocomplete {
    position: relative
}

.search-api-autocomplete-suggestion {
    padding: 0
}

.form-autocomplete {
    background-image: none !important
}

.form-autocomplete.ui-autocomplete-loading + .loader {
    opacity: 1
}

.form-autocomplete + .loader {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    opacity: 0;
    pointer-events: none;
    position: relative;
    z-index: 4
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .form-submit {
        font-size: 1.2rem;
        justify-content: center;
        min-width: 220px
    }
}

.chum-search-global-form button.form-submit {
    background-image: url(../images/template/search.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 28px auto;
    transition: background-size .125s
}

@media only screen and (min-width: 0)and (max-width: calc(1024px - 1px)) {
    .chum-search-global-form button.form-submit {
        background-size: 24px auto
    }
}

.webform-submission-form {
    --input-height: 43px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .webform-submission-form .webform__title {
        margin-bottom: 30px
    }
}

@media only screen and (min-width: 768px) {
    .webform-submission-form .webform__title {
        margin-bottom: 50px
    }
}

.webform-submission-form .ajax-progress {
    left: auto;
    right: var(--lp, 0);
    top: 10px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-webform .webform-submission-form {
        margin-bottom: 60px;
        margin-top: 30px
    }
}

@media only screen and (min-width: 768px) {
    .node-webform .webform-submission-form {
        margin-bottom: 120px;
        margin-top: 60px
    }
}

.webform-submission-form .webform-required {
    margin-bottom: 24px
}

.webform-submission-form .webform-required .form-required {
    display: none
}

.webform-submission-form .webform-required:after {
    content: "*";
    font-size: 1.8rem
}

.webform-submission-form .form-checkboxes legend, .webform-submission-form .webform-type-checkboxes legend {
    margin-bottom: 12px
}

.webform-submission-form .form-checkboxes .form-item, .webform-submission-form .webform-type-checkboxes .form-item {
    margin: 0
}

.webform-submission-form .webform-section-title {
    font-weight: 700;
    margin-bottom: 22px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form .webform-section-title {
        font-size: 2rem;
        line-height: 2.2rem
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form .webform-section-title {
        font-size: 2.4rem;
        line-height: 2.8rem
    }
}

.webform-submission-form .webform-checkboxes-other-input {
    padding-top: 10px
}

.webform-submission-form .webform-element-description, .webform-submission-form fieldset .field-prefix .description {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin-bottom: 14px;
    margin-top: 10px
}

.webform-submission-form fieldset .field-prefix .description {
    margin-bottom: 24px
}

.webform-submission-form .form-type-processed-text p {
    font-size: 1.6rem;
    line-height: 2.4rem
}

.webform-submission-form .form-type-processed-text p:not(:last-child) {
    margin-bottom: 4px
}

.webform-submission-form .form-type-checkbox label, .webform-submission-form .form-type-radio label {
    display: block;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.8rem;
    min-height: 26px;
    padding-left: 34px;
    padding-top: 4px;
    position: relative
}

.webform-submission-form .form-type-checkbox label:after, .webform-submission-form .form-type-checkbox label:before, .webform-submission-form .form-type-radio label:after, .webform-submission-form .form-type-radio label:before {
    content: "";
    left: 0;
    position: absolute;
    top: 0
}

.webform-submission-form .form-type-radio label {
    padding-left: 30px
}

@media only screen and (min-width: 900px) {
    .webform-submission-form .form-type-radio label:after, .webform-submission-form .form-type-radio label:before {
        top: 1px
    }
}

.webform-submission-form .form-type-radio label:before {
    height: 22px;
    width: 22px
}

.webform-submission-form .form-type-radio label:after {
    height: 10px;
    width: 10px
}

.webform-submission-form .form-type-managed-file input[type=file], .webform-submission-form .form-type-webform-document-file input[type=file], .webform-submission-form .form-type-webform-image-file input[type=file] {
    margin-bottom: 10px;
    padding-block: 8px
}

.webform-submission-form .form-type-managed-file span.file, .webform-submission-form .form-type-webform-document-file span.file, .webform-submission-form .form-type-webform-image-file span.file {
    background: var(--secondary-color-ch4);
    display: block;
    font-size: 1.5rem;
    line-height: 1.7rem;
    padding: 10px 20px
}

.webform-submission-form .form-type-managed-file .btn-primary, .webform-submission-form .form-type-managed-file .button-primary, .webform-submission-form .form-type-webform-document-file .btn-primary, .webform-submission-form .form-type-webform-document-file .button-primary, .webform-submission-form .form-type-webform-image-file .btn-primary, .webform-submission-form .form-type-webform-image-file .button-primary {
    margin-bottom: 10px;
    margin-top: 10px
}

.webform-submission-form .form-type-managed-file .btn-primary .icon, .webform-submission-form .form-type-managed-file .button-primary .icon, .webform-submission-form .form-type-webform-document-file .btn-primary .icon, .webform-submission-form .form-type-webform-document-file .button-primary .icon, .webform-submission-form .form-type-webform-image-file .btn-primary .icon, .webform-submission-form .form-type-webform-image-file .button-primary .icon {
    display: none
}

.webform-submission-form .form-type-managed-file .form-item, .webform-submission-form .form-type-webform-document-file .form-item, .webform-submission-form .form-type-webform-image-file .form-item {
    background: var(--secondary-color-ch4);
    margin: 0;
    padding: 10px
}

.webform-submission-form .form-type-managed-file .form-item label, .webform-submission-form .form-type-webform-document-file .form-item label, .webform-submission-form .form-type-webform-image-file .form-item label {
    margin: 0
}

.webform-submission-form .form-type-managed-file .form-item span.file, .webform-submission-form .form-type-webform-document-file .form-item span.file, .webform-submission-form .form-type-webform-image-file .form-item span.file {
    background: none;
    padding: 0
}

.webform-submission-form .form-type-date {
    position: relative
}

.webform-submission-form .form-type-date:after {
    background: url(../images/template/calendar.svg) 50% no-repeat;
    background-position: top;
    background-size: 100% auto;
    bottom: 11px;
    content: "";
    display: block;
    height: 21px;
    pointer-events: none;
    position: absolute;
    right: 16px;
    width: 22px
}

.webform-submission-form .form-radios {
    padding-top: 4px
}

.webform-submission-form .form-radios .form-item {
    margin: 4px 20px 4px 0
}

.webform-submission-form .form-actions {
    align-items: center;
    border-top: 2px solid var(--secondary-color-ch4);
    display: flex;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form .form-actions {
        align-items: center;
        flex-direction: column-reverse;
        flex-wrap: wrap;
        margin-top: 30px;
        padding-top: 30px
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form .form-actions {
        margin-top: 50px;
        padding-top: 50px
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(1024px - 1px)) {
    .webform-submission-form .form-actions {
        flex-wrap: wrap
    }
}

.webform-submission-form .form-actions .form-submit {
    flex-shrink: 0
}

@media only screen and (min-width: 600px) {
    .webform-submission-form .form-actions .form-submit {
        margin-left: auto
    }
}

.webform-submission-form .form-actions .webform-button--previous {
    margin-left: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form .form-actions .webform-button--previous {
        margin-top: 20px
    }
}

.webform-submission-form .form-actions .ajax-progress {
    display: none
}

.webform-submission-form .webform-file-button {
    align-items: center;
    background-image: linear-gradient(var(--module-primary-color, var(--primary-color-ch1)), var(--module-primary-color, var(--primary-color-ch1)));
    background-position: 100% 100%;
    background-repeat: repeat-y;
    background-size: 0 100%;
    border: 2px solid var(--module-primary-color, var(--primary-color-ch1));
    border-radius: 24px;
    color: var(--module-primary-color, var(--primary-color-ch1));
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    height: 43px;
    line-height: 1.1;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    text-align: center;
    transition: background-size .3s ease, border-color .3s ease, color .2s ease;
    width: fit-content
}

@media (hover: hover) {
    .webform-submission-form .webform-file-button:hover {
        background-position: 0 100%;
        background-size: 102% 100%;
        border-color: var(--module-primary-color, var(--primary-color-ch1));
        color: var(--module-secondary-color, var(--secondary-color-white-000))
    }
}

.webform-submission-form .webform-file-button.active {
    background-color: var(--module-primary-color, var(--primary-color-ch1));
    background-position: 0 100%;
    background-size: 102% 100%;
    border-color: var(--module-primary-color, var(--primary-color-ch1));
    color: var(--module-secondary-color, var(--secondary-color-white-000))
}

.webform-submission-form .webform-file-button:disabled {
    background-color: var(--secondary-color-ch4);
    border-color: var(--secondary-color-ch4);
    opacity: 1
}

.webform-submission-form .webform-file-button .icon-arrow {
    height: 20px;
    margin-left: 8px;
    width: 20px
}

.webform-submission-form .webform-file-button .loader {
    display: none;
    margin-left: 10px
}

.webform-submission-form .webform-file-button--loading .loader {
    display: block
}

.webform-submission-form .webform-file-button--loading .loader + .icon-arrow {
    display: none
}

.webform-submission-form .webform-file-button.webform-button--previous {
    flex-direction: row-reverse
}

.webform-submission-form .webform-file-button.webform-button--previous .icon-arrow {
    margin: 0 8px 0 0;
    transform: rotate(-180deg)
}

@media (hover: hover) {
    .webform-submission-form .webform-file-button:hover {
        --loader-color: var(--secondary-color-white-000)
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form fieldset.webform-type-fieldset {
        margin: 30px 0;
        padding: 26px 0 0
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-form fieldset.webform-type-fieldset {
        margin: 50px 0;
        padding: 46px 0 0
    }
}

.webform-submission-form fieldset.webform-type-fieldset > legend {
    border-bottom: 2px solid var(--secondary-color-ch4);
    font-size: clamp(20px, 3vw, 24px);
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    padding-bottom: 16px;
    width: 100%
}

.webform-submission-form fieldset.webform-type-fieldset > legend-slim {
    font-weight: 500
}

.webform-submission-form .webform-flexbox {
    margin-top: 0
}

.webform-submission-form .webform-flexbox .webform-flexbox {
    margin: 0 -.5em
}

.webform-submission-form .webform-flexbox:not(:last-child) {
    margin-bottom: 24px
}

.webform-submission-form .webform-flexbox .form-item {
    margin-bottom: 0
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .webform-submission-form .webform-flexbox .webform-flex:not(:last-child) {
        margin-bottom: 24px
    }
}

.webform-submission-form .container-inline[data-drupal-field-elements=date-time] {
    display: flex
}

.webform-submission-form .container-inline[data-drupal-field-elements=date-time] .form-item:not(:last-of-type) {
    margin-right: 10px
}

.webform-submission-form .container-inline[data-drupal-field-elements=date-time] .form-type-date {
    width: 180px
}

.webform-submission-form .container-inline[data-drupal-field-elements=date-time] .form-type-webform-time {
    width: 100px
}

.webform-submission-form .container-inline[data-drupal-field-elements=date-time] .form-type-webform-time input {
    text-align: center
}

.webform-submission-form .webform-options-display-side-by-side {
    display: flex;
    flex-wrap: wrap
}

.webform-submission-form .webform-options-display-side-by-side > div {
    display: block;
    flex-shrink: 0
}

.webform-submission-form .captcha {
    margin-top: 25px
}

.webform-submission-form .form-item .messages {
    background: none;
    border: 0;
    border-bottom: 2px solid var(--message-color, var(--primary-color-000));
    box-shadow: none;
    color: var(--message-color, var(--primary-color-000));
    font-size: 1.5rem;
    line-height: 1.7rem;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 0 0 20px
}

.webform-submission-form .form-item .messages--error {
    --message-color: var(--secondary-color-status-error)
}

@media only screen and (min-width: 600px) {
    .webform-submission-form #edit-image-demo, .webform-submission-form .images-carte {
        display: flex;
        justify-content: space-between
    }
}

.webform-submission-form #edit-image-demo .media-image, .webform-submission-form .images-carte .media-image {
    display: block;
    height: auto;
    margin: 0
}

@media only screen and (min-width: 600px) {
    .webform-submission-form #edit-image-demo .media-image, .webform-submission-form .images-carte .media-image {
        width: calc(50% - 4px)
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-form #edit-image-demo .media-image:not(:last-child), .webform-submission-form .images-carte .media-image:not(:last-child) {
        margin-bottom: 10px
    }
}

.recaptcha-text {
    color: var(--secondary-color-ch3);
    font-size: 1.2rem;
    line-height: 1.6rem;
    margin-right: 20px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .recaptcha-text {
        margin-top: 30px;
        width: 100%
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(1024px - 1px)) {
    .recaptcha-text {
        margin-bottom: 40px;
        width: 100%
    }
}

.recaptcha-text a {
    text-decoration: underline
}

.grecaptcha-badge {
    transform: translateX(100%);
    transition: transform .2s
}

.footer--visible .grecaptcha-badge {
    transform: none
}

.ajax-progress div, .ajax-progress img, .ajax-progress span {
    display: none;
    visibility: hidden
}

.ajax-progress-throbber {
    background: none;
    height: 18px;
    left: 0;
    position: absolute;
    top: 0;
    width: 18px
}

.ajax-progress-throbber:after {
    animation: rotate360 .75s linear infinite;
    border: 2px solid var(--loader-color, var(--primary-color-ch1));
    border-radius: 100%;
    border-right: 2px solid transparent;
    content: "";
    height: 18px;
    left: 0;
    position: absolute;
    top: 0;
    transition: border-color .2s;
    width: 18px
}

hr, hr.webform-horizontal-rule {
    appearance: none;
    background: var(--secondary-color-ch4);
    border: 0;
    height: 2px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    hr, hr.webform-horizontal-rule {
        margin: 30px 0
    }
}

@media only screen and (min-width: 600px) {
    hr, hr.webform-horizontal-rule {
        margin: 50px 0
    }
}

.webform-progress__summary {
    background: var(--secondary-color-ch4);
    margin-bottom: 60px
}

.webform-progress__summary[open] .webform-progress__summary__title .icon-arrow-small {
    transform: rotate(-180deg)
}

.webform-progress__summary__title {
    cursor: pointer;
    display: flex;
    font-weight: 700;
    padding: 30px
}

.webform-progress__summary__title .icon-arrow-small {
    margin-left: auto;
    transition: transform .2s
}

.webform-progress__summary__title .icon-arrow-small svg {
    height: 12px;
    width: 20px
}

.webform-progress__summary__inner {
    padding: 0 30px 30px
}

.webform-progress__summary__content {
    font-size: 1.4rem;
    line-height: 1.6rem;
    list-style: none
}

.webform-progress__summary__content:not(:last-child) {
    border-bottom: 1px solid var(--primary-color-000);
    margin-bottom: 20px;
    padding-bottom: 20px
}

.webform-progress__summary__content li:not(:last-child) {
    margin-bottom: 10px
}

.webform-progress__summary__content li .title {
    font-weight: 500
}

.webform-progress-tracker {
    margin-bottom: 20px;
    margin-top: 20px;
    padding-right: 34px;
    position: relative
}

.webform-progress-tracker:before {
    background: var(--primary-color-ch1);
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: 16px;
    width: 100%
}

.webform-progress-tracker .progress-step {
    position: relative;
    z-index: 1
}

.webform-progress-tracker .progress-step:last-of-type {
    position: absolute;
    right: 0;
    top: 0
}

.webform-progress-tracker .progress-step .progress-marker {
    color: var(--primary-color-ch1);
    font-weight: 700;
    line-height: 1.1
}

.webform-progress-tracker .progress-step .progress-marker:before {
    background-color: var(--secondary-color-white-000);
    border: 2px solid var(--primary-color-ch1);
    height: 34px;
    margin: 0;
    padding: 0;
    width: 34px
}

.webform-progress-tracker .progress-step .progress-marker:after {
    background-color: var(--primary-color-ch1);
    display: none;
    height: 2px;
    top: 16px
}

.webform-progress-tracker .progress-step:not(.is-active) .progress-marker:before {
    background-color: var(--secondary-color-white-000)
}

.webform-progress-tracker .progress-step.is-active .progress-marker:before, .webform-progress-tracker .progress-step.is-complete .progress-marker:before {
    background-color: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.webform-progress-tracker .progress-step.is-active:hover .progress-marker:before, .webform-progress-tracker .progress-step.is-complete:hover .progress-marker:before {
    background-color: var(--primary-color-ch1)
}

.disabled, [disabled] {
    opacity: .5;
    pointer-events: none
}

.webform-confirmation__message .webform-container {
    border-top: 2px solid var(--secondary-color-ch4);
    margin-top: 40px;
    padding-top: 40px
}

.webform-confirmation__back a {
    font-size: 14px;
    text-decoration: underline
}

@media (hover: hover) {
    .webform-confirmation__back a:hover {
        text-decoration: none
    }
}

.webform-required {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 10px;
    width: 100%
}

.webform-submission-form .chosen-container {
    --input-border-radius: 22px;
    color: var(--primary-color-000);
    font-size: var(--input-font-size, 16px)
}

.webform-submission-form .chosen-container-single .chosen-single {
    background: none;
    border: 2px solid var(--primary-color-000);
    border-radius: var(--input-border-radius);
    box-shadow: none;
    height: var(--input-height);
    padding: 0 0 0 20px
}

.webform-submission-form .chosen-container-single .chosen-single span {
    margin-right: 40px;
    margin-top: 8px
}

.webform-submission-form .chosen-container-single .chosen-single div {
    right: 20px;
    width: 13px
}

.webform-submission-form .chosen-container-single .chosen-single div b {
    background-image: url(../images/template/arrow-small.svg) !important;
    background-position: 50% !important;
    background-size: contain !important
}

.webform-submission-form .chosen-container-single .chosen-search {
    --input-height: 36px;
    padding: 6px
}

.webform-submission-form .chosen-container-single .chosen-search input[type=text] {
    background: url(../images/template/search.svg) center right 10px no-repeat !important;
    background-size: 16px auto !important
}

.webform-submission-form .chosen-container-single .chosen-drop {
    border: 2px solid var(--primary-color-000);
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    box-shadow: none;
    margin-top: -2px
}

.webform-submission-form .chosen-container-single .chosen-drop .chosen-results {
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    margin: 0;
    padding: 0
}

.webform-submission-form .chosen-container-single .chosen-drop .chosen-results li {
    font-size: 1.4rem;
    line-height: 1.6rem;
    padding: 8px 10px
}

.webform-submission-form .chosen-container-single .chosen-drop .chosen-results li.highlighted {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.webform-submission-form .chosen-container.chosen-with-drop .chosen-single {
    border-radius: var(--input-border-radius) var(--input-border-radius) 0 0
}

.webform-submission-form .chosen-container.error .chosen-single {
    border-color: var(--secondary-color-status-error)
}

.ui-widget.ui-widget-content {
    background: var(--secondary-color-white-000);
    border: 2px solid var(--primary-color-000);
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    border-top: 0;
    margin-top: -2px;
    max-height: 300px;
    max-width: var(--autocomplete-maxwidth, none);
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    top: 100%;
    width: 100%;
    width: auto;
    z-index: 300
}

.ui-widget.ui-widget-content li {
    list-style: none
}

@media (hover: hover) {
    .ui-widget.ui-widget-content li:hover {
        background: none
    }
}

.ui-widget.ui-widget-content li:focus {
    background: none
}

.ui-widget.ui-widget-content a {
    display: block;
    font-size: 1.4rem;
    line-height: 1.6rem;
    padding: 11px 10px
}

.ui-widget.ui-widget-content a.ui-state-active {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.ui-widget.ui-widget-content a.ui-state-active .search-api-autocomplete-suggestion {
    background: none;
    color: currentColor
}

@media (hover: hover) {
    .ui-widget.ui-widget-content a:hover {
        background: var(--secondary-color-ch4);
        color: var(--primary-color-000)
    }

    .ui-widget.ui-widget-content a:hover .search-api-autocomplete-suggestion {
        background: none;
        color: currentColor
    }
}

.ui-widget.ui-widget-content a:focus {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.ui-widget.ui-widget-content a:focus .search-api-autocomplete-suggestion {
    background: none;
    color: currentColor
}

form .ui-widget.ui-widget-content {
    border: 2px solid var(--primary-color-ch1);
    border-radius: 0
}

.ui-widget.ui-widget-content .ui-widget-header {
    background: none;
    border: 0;
    border-bottom: 2px solid var(--primary-color-000);
    border-radius: 0
}

.ui-widget.ui-widget-content .ui-widget-header a {
    align-items: center;
    display: flex;
    height: 40px;
    justify-content: center;
    padding: 0;
    transition: transform .2s;
    width: 30px
}

.ui-widget.ui-widget-content .ui-widget-header a, .ui-widget.ui-widget-content .ui-widget-header a.ui-state-active, .ui-widget.ui-widget-content .ui-widget-header a.ui-state-hover, .ui-widget.ui-widget-content .ui-widget-header a:hover {
    background: none;
    border: 0;
    bottom: auto;
    left: auto;
    margin: 0;
    padding: 0;
    right: auto;
    top: auto
}

.ui-widget.ui-widget-content .ui-widget-header a .ui-icon {
    left: 0;
    margin: 0;
    position: relative;
    top: 0;
    transform: none
}

.ui-widget.ui-widget-content .ui-button {
    border: 2px solid var(--primary-color-ch1);
    border-radius: 100%
}

.ui-widget.ui-widget-content .ui-button:active, .ui-widget.ui-widget-content .ui-button:focus, .ui-widget.ui-widget-content .ui-button:hover {
    background: none
}

.ui-widget.ui-widget-content .ui-button .ui-icon.ui-icon-closethick {
    background: url(../images/template/x-bold-color-dual.svg) center 10px no-repeat;
    background-size: 14px 60px;
    height: 100%;
    width: 100%
}

.ui-widget.ui-widget-content.ui-datepicker {
    --input-height: 40px;
    --input-padding: 16px;
    border-radius: var(--input-border-radius);
    border-top: 2px solid var(--primary-color-000);
    margin-top: 4px;
    max-height: none;
    max-width: 326px;
    padding: 24px;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(340px - 1px)) {
    .ui-widget.ui-widget-content.ui-datepicker {
        max-width: 280px
    }
}

.ui-widget.ui-widget-content.ui-datepicker select {
    --input-padding: 10px;
    background-position: center right 16px;
    background-size: 10px auto;
    border: 0;
    font-size: 16px;
    margin: 0;
    width: 80px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header {
    border: 0;
    display: flex
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-icon {
    height: 26px;
    position: relative;
    width: 26px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-icon.ui-icon-circle-triangle-e {
    background: url(../images/template/arrow-circle-bold-right.svg) 50% no-repeat
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-icon.ui-icon-circle-triangle-w {
    background: url(../images/template/arrow-circle-bold-left.svg) 50% no-repeat
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
    margin: 0
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
    margin-left: auto;
    order: 3
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
    order: 4
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-next, .ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
    position: relative;
    width: 26px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-next:not(:last-child), .ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:not(:last-child) {
    margin-right: 6px
}

@media (hover: hover) {
    .ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover, .ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover {
        transform: scale(1.1)
    }
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar {
    margin: 0 0 6px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar th {
    font-size: 12px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar td {
    padding: 0
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar .ui-state-default {
    align-items: center;
    background: none;
    border: 2px solid transparent;
    border-radius: 100%;
    display: flex;
    font-size: 14px;
    height: 32px;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 32px
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar .ui-state-default.ui-state-hover, .ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar .ui-state-default:hover {
    border-color: var(--primary-color-ch1)
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar .ui-state-default.ui-state-active {
    background: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.ui-widget.ui-widget-content.ui-datepicker .ui-datepicker-calendar .ui-state-default.ui-state-highlight {
    background: var(--secondary-color-ch4);
    color: var(--primary-color-000)
}

.ui-widget.ui-widget-content.ui-dialog {
    border: 0;
    border-radius: 0
}

.ui-widget.ui-widget-content.ui-dialog .ui-widget-header {
    border-color: var(--secondary-color-ch4)
}

.ui-widget.ui-widget-content.ui-dialog .ui-dialog-titlebar {
    padding: 20px
}

.ui-widget.ui-widget-content.ui-dialog .ui-dialog-title {
    color: var(--primary-color-000);
    font-size: 20px
}

.ui-widget.ui-widget-content.ui-dialog .ui-widget-content.ui-dialog-content {
    padding: 20px
}

.ui-widget.ui-widget-content.ui-dialog .ui-button.ui-dialog-titlebar-close {
    background: url(../images/template/x-bold-color-dual.svg) center 9px no-repeat;
    background-size: 14px 60px;
    height: 36px;
    margin: 0;
    opacity: 1;
    right: 10px;
    top: 10px;
    transition: background-color .2s;
    width: 36px
}

.ui-widget.ui-widget-content.ui-dialog .ui-button.ui-dialog-titlebar-close:hover {
    background-color: var(--primary-color-ch1);
    background-position: center -37px;
    border-color: var(--primary-color-ch1)
}

.ui-widget.ui-widget-content.ui-dialog .ui-button.ui-dialog-titlebar-close .ui-icon {
    display: none
}

.ui-widget-overlay {
    background: var(--primary-color-ch1);
    opacity: .6
}

.captcha {
    width: 100%
}

.g-recaptcha {
    margin-bottom: 25px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .hero-page {
        padding-bottom: 30px;
        padding-top: 50px
    }
}

@media only screen and (min-width: 600px) {
    .hero-page {
        padding-bottom: 70px;
        padding-top: 70px
    }
}

@media only screen and (min-width: 900px) {
    .hero-page .title {
        margin-right: 60px
    }
}

.hero-page .layout-wysiwyg {
    margin: 30px 0 0;
    max-width: 370px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .hero-page .layout-wysiwyg p {
        font-size: 1.5rem;
        line-height: 2.1rem
    }
}

@media only screen and (min-width: 600px) {
    .hero-page .layout-wysiwyg p {
        font-size: 1.8rem;
        line-height: 2.4rem
    }
}

.hero-search {
    display: grid
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .hero-search {
        gap: 20px 0
    }
}

@media only screen and (min-width: 600px) {
    .hero-search {
        gap: 40px 28px;
        grid-template-columns:minmax(350px, 550px) auto
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .hero-search.is-loading {
        margin-bottom: 28px
    }
}

@media only screen and (min-width: 600px) {
    .hero-search.is-loading {
        margin-bottom: 40px
    }
}

.hero-search .title {
    grid-column: 1/-1
}

@media only screen and (min-width: 600px) {
    .hero-search .btn-toggle, .hero-search .page__search__form {
        grid-row: 2
    }

    .hero-search .btn-toggle {
        grid-column: 2
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .hero-search .btn-reset-global {
        grid-column: 1/-1;
        justify-self: center
    }
}

.hero-search .summary {
    max-width: 370px
}

@media only screen and (min-width: 600px) {
    .hero-search .summary {
        grid-column: 1/-1;
        grid-row: 2
    }

    .hero-search .summary + .page__search__form, .hero-search .summary + .page__search__form + .btn-toggle {
        grid-row: 3
    }
}

.icon svg {
    fill: currentColor;
    height: 100%;
    width: 100%
}

.icon-podcast, .icon-video {
    align-items: center;
    background: var(--icon-background, var(--secondary-color-white-000));
    border-radius: 100%;
    color: var(--icon-color, var(--primary-color-000));
    display: flex;
    height: 36px;
    justify-content: center;
    position: relative;
    width: 36px
}

.icon-podcast svg, .icon-video svg {
    height: 17px;
    width: 22px
}

.icon-podcast:after, .icon-video:after {
    background: var(--icon-background, var(--secondary-color-white-000));
    border-radius: 100%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: transform .2s;
    width: 100%;
    z-index: -1
}

.icon-video svg {
    height: 12px;
    width: 14px
}

a .icon svg {
    transition: fill .1s
}

.media-image {
    position: relative
}

.media-image img {
    height: auto;
    max-width: 100%
}

.media-image__copyright {
    bottom: 20px;
    display: grid;
    gap: 10px;
    grid-template-columns:20px auto;
    left: 20px;
    width: calc(100% - 30px);
    z-index: 2
}

.media-image__copyright, .media-image__copyright span {
    align-items: center;
    pointer-events: none;
    position: absolute;
    transition: opacity .2s
}

.media-image__copyright span {
    background: var(--primary-color-ch1);
    border-radius: 12px;
    bottom: -2px;
    color: var(--secondary-color-white-000);
    display: flex;
    font-size: 1.2rem;
    font-weight: 500;
    left: -2px;
    line-height: 1.1;
    min-height: 24px;
    opacity: 0;
    padding: 4px 10px 4px 28px;
    width: max-content;
    z-index: 0
}

.media-image__copyright:before {
    align-items: center;
    background: rgba(0, 64, 113, .4);
    border: 1px solid transparent;
    border-radius: 100%;
    color: var(--secondary-color-white-000);
    content: "C";
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    height: 20px;
    justify-content: center;
    line-height: 1rem;
    pointer-events: all;
    transition: border .1s;
    z-index: 1
}

@media (hover: hover) {
    .media-image__copyright:hover:before {
        border-color: var(--secondary-color-white-000)
    }

    .media-image__copyright:hover span {
        opacity: 1;
        pointer-events: auto
    }
}

.media-image__copyright:focus:before {
    border-color: var(--secondary-color-white-000)
}

.media-image__copyright:focus span {
    opacity: 1;
    pointer-events: auto
}

ol.list-text {
    counter-reset: item
}

@media (max-width: 599px) {
    ol.list-text li {
        font-size: 16px;
        line-height: 46px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ol.list-text li {
        font-size: 16px;
        line-height: 46px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ol.list-text li {
        font-size: 19px;
        line-height: 51px
    }
}

@media (min-width: 1200px) {
    ol.list-text li {
        font-size: 19px;
        line-height: 51px
    }
}

@media (max-width: 599px) {
    ol.list-text {
        --padding-left: 52px;
        --bullet: 30px;
        --bullet-font-size: 13px;
        --bullet-line-height: 46px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ol.list-text {
        --padding-left: 52px;
        --bullet: 30px;
        --bullet-font-size: 13px;
        --bullet-line-height: 46px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ol.list-text {
        --padding-left: 56px;
        --bullet: 36px;
        --bullet-font-size: 16px;
        --bullet-line-height: 51px
    }
}

@media (min-width: 1200px) {
    ol.list-text {
        --padding-left: 56px;
        --bullet: 36px;
        --bullet-font-size: 16px;
        --bullet-line-height: 51px
    }
}

ol.list-text li {
    min-height: var(--bullet);
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ol.list-text li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: counters(item, ".") " ";
    counter-increment: item;
    font-size: var(--bullet-font-size);
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet) * .25);
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

@media (max-width: 599px) {
    ol.list-text ol li, ol.list-text ul li {
        font-size: 14px;
        line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ol.list-text ol li, ol.list-text ul li {
        font-size: 14px;
        line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ol.list-text ol li, ol.list-text ul li {
        font-size: 16px;
        line-height: 36px
    }
}

@media (min-width: 1200px) {
    ol.list-text ol li, ol.list-text ul li {
        font-size: 16px;
        line-height: 36px
    }
}

ol.list-text ol {
    counter-reset: item
}

@media (max-width: 599px) {
    ol.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ol.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ol.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 1200px) {
    ol.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

ol.list-text ol li {
    min-height: var(--bullet);
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ol.list-text ol li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: counters(item, ".") " ";
    counter-increment: item;
    font-size: var(--bullet-font-size);
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet) * .25);
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

@media (max-width: 599px) {
    ol.list-text ul {
        --padding-left: 20px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ol.list-text ul {
        --padding-left: 20px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ol.list-text ul {
        --padding-left: 22px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 1200px) {
    ol.list-text ul {
        --padding-left: 22px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

ol.list-text ul li {
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ol.list-text ul li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: "";
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

@media (max-width: 599px) {
    ul.list-text li {
        font-size: 16px;
        line-height: 46px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ul.list-text li {
        font-size: 16px;
        line-height: 46px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ul.list-text li {
        font-size: 19px;
        line-height: 51px
    }
}

@media (min-width: 1200px) {
    ul.list-text li {
        font-size: 19px;
        line-height: 51px
    }
}

@media (max-width: 599px) {
    ul.list-text {
        --padding-left: 26px;
        --bullet: 3px;
        --bullet-line-height: 46px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ul.list-text {
        --padding-left: 26px;
        --bullet: 3px;
        --bullet-line-height: 46px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ul.list-text {
        --padding-left: 30px;
        --bullet: 4px;
        --bullet-line-height: 51px
    }
}

@media (min-width: 1200px) {
    ul.list-text {
        --padding-left: 30px;
        --bullet: 4px;
        --bullet-line-height: 51px
    }
}

ul.list-text li {
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ul.list-text li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: "";
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

@media (max-width: 599px) {
    ul.list-text ol li, ul.list-text ul li {
        font-size: 14px;
        line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ul.list-text ol li, ul.list-text ul li {
        font-size: 14px;
        line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ul.list-text ol li, ul.list-text ul li {
        font-size: 16px;
        line-height: 36px
    }
}

@media (min-width: 1200px) {
    ul.list-text ol li, ul.list-text ul li {
        font-size: 16px;
        line-height: 36px
    }
}

@media (max-width: 599px) {
    ul.list-text ul {
        --padding-left: 20px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ul.list-text ul {
        --padding-left: 20px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ul.list-text ul {
        --padding-left: 22px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 1200px) {
    ul.list-text ul {
        --padding-left: 22px;
        --bullet: 3px;
        --bullet-line-height: 35px
    }
}

ul.list-text ul li {
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ul.list-text ul li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: "";
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

ul.list-text ol {
    counter-reset: item
}

@media (max-width: 599px) {
    ul.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 600px)and (max-width: 899px) {
    ul.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 900px)and (max-width: 1199px) {
    ul.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

@media (min-width: 1200px) {
    ul.list-text ol {
        --padding-left: 50px;
        --bullet: 24px;
        --bullet-font-size: 10px;
        --bullet-line-height: 35px
    }
}

ul.list-text ol li {
    min-height: var(--bullet);
    overflow: hidden;
    padding-left: var(--padding-left);
    position: relative
}

ul.list-text ol li:before {
    background-color: var(--primary-color-100);
    border-radius: 100%;
    color: inherit;
    content: counters(item, ".") " ";
    counter-increment: item;
    font-size: var(--bullet-font-size);
    height: var(--bullet);
    left: 0;
    line-height: var(--bullet);
    margin-top: calc(var(--bullet) * -.5);
    position: absolute;
    text-align: center;
    top: calc(var(--bullet) * .25);
    top: calc(var(--bullet-line-height) * .5);
    width: var(--bullet)
}

@keyframes loader-bar {
    0% {
        background-position: 100% 0
    }
    50% {
        background-position: 0 0
    }
    to {
        background-position: 100% 0
    }
}

.loader-bar {
    animation: loader-bar 2s ease-in-out infinite;
    background: linear-gradient(90deg, var(--primary-color-ch1) 0, var(--primary-color-ch2) 50%, var(--primary-color-ch1) 100%);
    background-size: 200% 100%;
    height: 2px;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 10
}

.loader-spinner {
    animation: rotate360 .75s linear infinite;
    border: 2px solid var(--loader-color, var(--primary-color-ch1));
    border-radius: 100%;
    border-right: 2px solid transparent;
    height: 18px;
    transition: border-color .2s;
    width: 18px
}

@keyframes rotate360 {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(1turn)
    }
}

:root {
    --local-nav-height: 0px
}

.has-local-nav {
    --local-nav-height: 40px
}

.nav-local-container {
    height: var(--local-nav-height, 40px);
    position: relative
}

.nav-local-container__inner {
    transition: transform .2s;
    z-index: 200
}

.local-nav--sticky .nav-local-container__inner {
    left: 0;
    position: fixed;
    top: var(--menu-margin-top, 0);
    width: 100%
}

.local-nav--hide .nav-local-container__inner {
    transform: translateY(-100%)
}

.local-nav--no-anim .nav-local-container__inner {
    transition: none
}

.nav-local-container .btn-close-cover {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .2s, height 0s .3s;
    width: 100vw;
    z-index: 3
}

@media only screen and (min-width: 900px) {
    .nav-local-container .btn-close-cover {
        display: none
    }
}

.nav-local {
    align-items: start;
    display: grid;
    gap: 0;
    grid-template-columns:1fr 150px;
    height: var(--local-nav-height, 40px);
    position: relative;
    z-index: 190
}

.nav-local:after {
    background: #000;
    background: var(--primary-color-ch1);
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

.nav-local .title {
    align-self: center;
    color: var(--secondary-color-white-000);
    font-size: 1.4rem;
    font-weight: 700;
    overflow: hidden
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local .title {
        align-items: center;
        display: flex;
        height: 40px;
        position: relative
    }
}

@media only screen and (min-width: 900px) {
    .nav-local .title {
        display: none
    }
}

.nav-local .title span {
    display: block;
    transition: opacity .3s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local .title span {
        position: relative
    }

    .nav-local .title span:after {
        border-bottom: 8px solid;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        bottom: 0;
        bottom: -10px;
        content: "";
        display: block;
        height: 0;
        left: 50%;
        left: 10px;
        position: absolute;
        transform: translate(-50%, 100%) scaleX(1.5);
        transform: translate(0) scaleX(2.4) scaley(1.3);
        transition: transform .1s;
        width: 0
    }
}

.nav-local > .menu {
    display: flex;
    flex-wrap: wrap;
    height: var(--local-nav-height, 40px);
    left: 0;
    margin-left: -20px;
    overflow: hidden
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local > .menu {
        display: none
    }
}

.nav-local li {
    flex-shrink: 0;
    list-style: none
}

.nav-local li .icon {
    display: none;
    pointer-events: none
}

.nav-local li.moved {
    opacity: 0;
    pointer-events: none
}

.nav-local a, .nav-local button {
    --focus-shadow: 0 0 0 2px inset var(--primary-color-ch2)
}

.nav-local a:focus-visible, .nav-local button:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.nav-local a {
    align-items: center;
    color: var(--secondary-color-white-000);
    display: flex;
    overflow: hidden;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local a {
        font-size: 2rem;
        font-weight: 700;
        line-height: 2.2rem;
        padding-left: var(--lp);
        padding-right: var(--lp)
    }
}

@media only screen and (min-width: 900px) {
    .nav-local a {
        font-size: 1.3rem;
        font-weight: 500;
        height: var(--local-nav-height, 40px);
        line-height: 1.3rem;
        padding-left: 20px;
        padding-right: 20px
    }
}

.nav-local a:after {
    border-bottom: 8px solid;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 100%) scaleX(1.5);
    transition: transform .1s;
    width: 0
}

@media (hover: hover) {
    .nav-local a:hover:after {
        transform: translateX(-50%) scaleX(1.5)
    }
}

.nav-local a:focus:after {
    transform: translateX(-50%) scaleX(1.5)
}

@media only screen and (min-width: 900px) {
    .nav-local li.menu-item--active-trail a {
        font-weight: 900
    }

    .nav-local li.menu-item--active-trail a:after {
        transform: translateX(-50%) scaleX(1.5)
    }
}

.nav-local button {
    align-items: center;
    color: var(--secondary-color-white-000);
    display: flex;
    font-size: 1.2rem;
    font-weight: 500;
    grid-column: 2;
    grid-row: 1;
    height: var(--local-nav-height, 40px);
    justify-self: end;
    padding-left: 10px;
    padding-right: 10px;
    text-decoration: underline
}

@media only screen and (min-width: 900px) {
    .nav-local button {
        display: none
    }
}

.nav-local button .label--opened {
    display: none
}

.nav-local button .icon {
    margin-left: 10px
}

.nav-local button svg {
    fill: currentColor;
    height: 6px;
    width: 12px
}

.nav-local__overflow {
    background: var(--primary-color-ch1);
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-6px);
    transition: transform .2s, opacity .2s;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local__overflow {
        left: 0;
        max-height: calc(var(--ah) - var(--local-nav-height));
        overflow-x: hidden;
        overflow-y: auto;
        padding-bottom: 40px;
        padding-top: 20px;
        width: 100%
    }

    .nav-local__overflow:after {
        background: #000;
        background: var(--primary-color-ch1);
        content: "";
        height: 100%;
        left: 50%;
        pointer-events: none;
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        width: var(--iw, 100vw);
        z-index: -1
    }
}

@media only screen and (min-width: 900px) {
    .nav-local__overflow {
        right: 0
    }

    .nav-local__overflow .menu {
        display: none
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local__overflow li {
        color: var(--secondary-color-white-000);
        position: relative
    }

    .nav-local__overflow li .icon {
        display: block;
        height: 20px;
        position: absolute;
        right: var(--lp);
        top: 50%;
        transform: translateY(-50%);
        width: 20px
    }
}

.nav-local__overflow a {
    transition: background-color .125s
}

@media (hover: hover) {
    .nav-local__overflow a:hover {
        background: var(--primary-color-0 0)
    }
}

.nav-local__overflow a:focus {
    background: var(--primary-color-0 0)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .nav-local__overflow a {
        padding: 12px var(--lp);
        width: 100vw
    }
}

.nav-local__overflow a:after {
    display: none
}

.nav-local--has-extra button {
    display: flex
}

.nav-local--expanded .nav-local__overflow {
    opacity: 1;
    pointer-events: auto;
    transform: none
}

.nav-local--expanded .title span {
    opacity: 0
}

.nav-local--expanded .title span:after {
    transform: translate(-50%, 100%) scaleX(1.5)
}

.nav-local--expanded button .icon {
    transform: rotate(180deg)
}

.nav-local--expanded button .label--closed {
    display: none
}

.nav-local--expanded button .label--opened {
    display: block
}

.nav-local--expanded + .btn-close-cover {
    height: var(--ah);
    opacity: .4;
    transition: opacity .2s .05s, height 0s 0s
}

.logo {
    overflow: hidden
}

.logo__wrapper {
    fill: currentColor;
    color: var(--secondary-color-black-000)
}

[data-bg-secondary-color=black-000] .logo__wrapper {
    color: var(--secondary-color-white-000)
}

.media-image img {
    display: block;
    margin: 0;
    width: 100%
}

.media-image > a {
    display: block;
    overflow: hidden
}

.media-image > a img {
    transition: transform .2s cubic-bezier(.34, 0, .3, 1)
}

@media (hover: hover) {
    .media-image > a:hover img {
        transform: scale(1.05)
    }
}

.media-image__mask {
    position: relative
}

.media-image__mask .icon-hexagon-mask, .media-image__mask .icon-hexagon-mask-mobile {
    color: var(--mask-color, var(--secondary-color-white-000));
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(1.01);
    width: 100%
}

.media-image--placeholder {
    align-items: center;
    background: var(--primary-color-ch1);
    color: var(--secondary-color-ch1);
    display: flex;
    justify-content: center
}

.media-image--placeholder .icon {
    width: 60px
}

.page-module--dark .media-image {
    background: var(--secondary-color-ch1)
}

.page-module--dark .media-image--placeholder {
    color: var(--primary-color-ch1)
}

.media-description {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4rem
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .media-description {
        margin-top: 15px
    }
}

@media only screen and (min-width: 600px) {
    .media-description {
        margin-top: 20px
    }
}

.media-icon img {
    display: block;
    margin: 0;
    width: 100%
}

.node-module-share {
    display: flex;
    height: 0;
    justify-content: end;
    position: sticky;
    top: 0;
    transition: transform .2s;
    z-index: 101
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-module-share .addthis_inline_share_toolbox, .node-module-share .btn-share {
        margin: 20px 20px 0 0
    }
}

@media only screen and (min-width: 600px) {
    .node-module-share .addthis_inline_share_toolbox, .node-module-share .btn-share {
        margin: 30px 30px 0 0
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-split .node-module-share {
        top: 20px
    }
}

@media only screen and (min-width: 600px) {
    .node-split .node-module-share {
        top: 30px
    }
}

.node-split .node-module-share .addthis_inline_share_toolbox, .node-split .node-module-share .btn-share {
    margin-top: 0
}

.node-module-share .btn-share {
    transition-delay: .3s
}

.node-module-share .addthis_inline_share_toolbox {
    margin-bottom: 10px;
    pointer-events: none;
    position: absolute;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-module-share .addthis_inline_share_toolbox {
        right: 2px;
        top: 3px
    }
}

@media only screen and (min-width: 600px) {
    .node-module-share .addthis_inline_share_toolbox {
        right: 2px;
        top: 3px
    }
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn {
    opacity: 0;
    pointer-events: none;
    transform: scale(0)
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:first-child {
    transition-delay: .2s
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:nth-child(2) {
    transition-delay: .16s
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:nth-child(3) {
    transition-delay: .12s
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:nth-child(4) {
    transition-delay: .08s
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:nth-child(5) {
    transition-delay: .04s
}

.node-module-share .addthis_inline_share_toolbox .at-share-btn:nth-child(6) {
    transition-delay: 0s
}

.node-module-share.tools-opened .btn-share {
    transform: scale(0);
    transition-delay: 0s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox {
    pointer-events: auto
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn {
    opacity: 1;
    pointer-events: auto;
    transform: none
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:first-child {
    transition-delay: .04s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:nth-child(2) {
    transition-delay: .08s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:nth-child(3) {
    transition-delay: .12s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:nth-child(4) {
    transition-delay: .16s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:nth-child(5) {
    transition-delay: .2s
}

.node-module-share.tools-opened .addthis_inline_share_toolbox .at-share-btn:nth-child(6) {
    transition-delay: .24s
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .header--sticky.header--minified:not(.local-nav--sticky) .node-module-share.is-sticky {
        transform: translateY(var(--header-height))
    }
}

@media only screen and (min-width: 900px) {
    .header--sticky.header--minified:not(.local-nav--sticky) .node-module-share.is-sticky {
        transform: translateY(calc(var(--header-height) - 30px))
    }
}

.header--sticky.header--minified.local-nav--sticky .node-module-share.is-sticky {
    transform: translateY(40px)
}

.addthis_inline_share_toolbox .at-share-btn-elements {
    width: 32px
}

.addthis_inline_share_toolbox .at-share-tbx-element .at-share-btn {
    margin-right: 0;
    transition: transform .2s, opacity .2s
}

.addthis_inline_share_toolbox .at-share-tbx-element .at-share-btn:focus, .addthis_inline_share_toolbox .at-share-tbx-element .at-share-btn:hover {
    transform: scale(1.05)
}

.addthis_inline_share_toolbox .at-share-tbx-element .at-share-btn.at-svc-email svg {
    transform: scale(.8)
}

.protected-pages-enter-password {
    --lw: 400px;
    display: grid;
    display: block;
    gap: 0 var(--gg);
    grid-template-columns:repeat(var(--lc), 1fr);
    margin: 0 auto;
    max-width: calc(var(--lw) + var(--lp) * 2);
    padding: 0 var(--lp);
    padding-bottom: var(--lp);
    padding-top: var(--lp);
    position: relative;
    width: 100%
}

.protected-pages-enter-password--block {
    display: block
}

.protected-pages-enter-password--block .lw {
    padding-left: 0;
    padding-right: 0
}

.protected-pages-enter-password--flex {
    display: flex
}

.protected-pages-enter-password--right, .protected-pages-enter-password--right.swiper {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    padding: 0 var(--lp);
    width: auto
}

.protected-pages-enter-password--right .lw, .protected-pages-enter-password--right.swiper .lw {
    margin-left: 0;
    margin-right: 0;
    max-width: 1120px;
    padding-left: 0;
    padding-right: 0
}

@media only screen and (min-width: 1360px) {
    .protected-pages-enter-password--right, .protected-pages-enter-password--right.swiper {
        padding-left: calc(50vw - 680px + var(--lp))
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__primary .protected-pages-enter-password--right {
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 768px)and (max-width: calc(1360px - 1px)) {
    .node-split__primary .protected-pages-enter-password--right {
        width: calc(100% + var(--lp))
    }
}

@media only screen and (min-width: 1360px) {
    .node-split__primary .protected-pages-enter-password--right {
        --primary-column-width: 641.33333px;
        --right-space-width: calc(50vw - 560px);
        width: calc(var(--primary-column-width) + var(--right-space-width))
    }
}

.protected-pages-enter-password--narrow {
    --lw: 670px
}

.protected-pages-enter-password--split {
    --gg: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .protected-pages-enter-password--split {
        display: flex;
        flex-direction: column-reverse
    }
}

@media only screen and (min-width: 600px) {
    .protected-pages-enter-password--split {
        align-items: center
    }
}

.protected-pages-enter-password--split:after {
    background: var(--block-background, var(--secondary-color-ch4));
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .protected-pages-enter-password--split .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 375px;
        padding-bottom: 60px;
        padding-top: 60px
    }
}

@media only screen and (min-width: 600px) {
    .protected-pages-enter-password--split .content {
        grid-column: 1/7;
        grid-row: 1;
        padding-right: 60px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .protected-pages-enter-password--split .media-image {
        height: 375px;
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 600px) {
    .protected-pages-enter-password--split .media-image {
        grid-column: 7/-1;
        height: 100%
    }
}

.protected-pages-enter-password--split .media-image img {
    height: 100%;
    max-width: none;
    object-fit: cover
}

@media only screen and (min-width: 600px) {
    .protected-pages-enter-password--split .media-image img {
        width: calc(50vw - var(--sw, 0px) / 2)
    }
}

.protected-pages-enter-password .protected_pages_description {
    font-size: 1.6rem;
    font-weight: 600;
    grid-column: 1/-1;
    line-height: 1.8rem;
    margin-bottom: 1em
}

.protected-pages-enter-password .fieldset-wrapper {
    display: grid
}

.protected-pages-enter-password .fieldset-wrapper label {
    display: none
}

.protected-pages-enter-password .fieldset-wrapper button {
    justify-self: end
}

.slider-controls {
    display: flex;
    flex-shrink: 0;
    height: 32px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .slider-controls {
        display: none
    }
}

.slider-controls button:last-child {
    margin-left: 10px
}

.swiper .swiper-slide {
    transition: opacity .2s, transform .2s
}

.swiper .swiper-slide[data-visible=false] {
    display: none
}

.page-module-tiles {
    padding-bottom: 120px;
    padding-top: 120px
}

.page-module-tiles--dark {
    background: var(--primary-color-ch1);
    color: var(--secondary-color-white-000)
}

.page-module-tiles ul {
    display: grid;
    gap: 20px;
    grid-template-columns:repeat(4, 1fr)
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .page-module-tiles ul {
        grid-template-columns:1fr
    }
}

@media only screen and (min-width: 600px)and (max-width: calc(900px - 1px)) {
    .page-module-tiles ul {
        grid-template-columns:1fr 1fr
    }
}

.page-module-tiles li {
    list-style: none
}

@keyframes square {
    to {
        stroke-dashoffset: 0
    }
}

.tile, .tile a {
    height: 100%
}

.tile a {
    --focus-shadow: 0 0 0 2px inset var(--primary-color-ch1);
    display: block
}

.tile a:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.tile .media-description {
    display: none
}

.tile-team {
    text-align: center
}

.tile-team__image {
    height: 0;
    margin-bottom: 10px;
    padding-bottom: 117.64705882%;
    position: relative
}

.tile-team__image picture {
    display: block;
    overflow: hidden
}

.tile-team__image img {
    display: block;
    height: auto;
    transition: transform .4s cubic-bezier(.33, 1, .68, 1);
    width: 100%
}

.tile-team__image .icon {
    color: var(--module-secondary-color, var(--secondary-color-white-000));
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(1.01);
    width: 100%
}

.tile-team__image .media-image__copyright {
    bottom: 25%;
    left: 4px;
    opacity: 0
}

.tile-team__image:hover .media-image__copyright {
    opacity: 1
}

.tile-team__initials {
    background: var(--module-primary-color, var(--primary-color-ch1));
    height: 0;
    padding-bottom: 117.64705882%
}

.tile-team__initials__inner {
    align-items: center;
    display: grid;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.tile-team__initials p {
    color: var(--module-secondary-color, var(--secondary-color-white-000));
    font-size: clamp(60px, 5.5vw, 80px);
    font-weight: 500;
    letter-spacing: -.1em;
    line-height: 1;
    position: relative;
    transition: transform .3s;
    z-index: 1
}

.tile-team__initials p .tile-team__prefix {
    bottom: 100%;
    font-size: .25em;
    left: 0;
    letter-spacing: 0;
    position: absolute;
    text-align: center;
    width: 100%
}

.tile-team__name {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2rem
}

.tile-team__title {
    font-size: 1.4rem;
    line-height: 1.6rem;
    margin-top: 3px
}

.tile-team__description {
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin: 6px auto 0;
    max-width: 220px
}

@media (hover: hover) {
    .tile-team a:hover img {
        transform: scale(1.1)
    }

    .tile-team a:hover .tile-team__initials p {
        transform: scale(1.05)
    }
}

.tile-team a:focus img {
    transform: scale(1.1)
}

.tile-team a:focus .tile-team__initials p {
    transform: scale(1.05)
}

.tile-team__grid {
    display: grid;
    gap: 0 20px;
    grid-template-columns:112px auto;
    text-align: left
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .tile-team__grid {
        grid-template-rows:auto 18px auto
    }
}

.tile-team__grid .tile-team__image {
    grid-row: 1/3
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .tile-team__grid .tile-team__image {
        grid-row: 1/4
    }
}

.tile-team__grid .tile-team__name {
    align-self: end
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .tile-team__grid .tile-team__name {
        font-size: 16px
    }
}

@media only screen and (min-width: 600px) {
    .tile-team__grid .tile-team__name {
        font-size: 20px;
        margin-bottom: 3px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .tile-team__grid .tile-team__title {
        font-size: 12px
    }
}

.tile-team__grid .tile-team__description {
    font-size: 1.4rem;
    line-height: 2rem;
    margin: 0;
    max-width: none
}

@media only screen and (min-width: 600px) {
    .tile-team__grid .tile-team__description {
        grid-column: 1/-1;
        margin-top: -2px
    }
}

.tile-team--no-title .tile-team__grid .tile-team__name {
    grid-row: 1/3
}

@media only screen and (min-width: 600px) {
    .tile-team--no-title .tile-team__grid .tile-team__name {
        align-self: center
    }
}

.node-split__secondary .tile-team a:not(.btn) {
    color: var(--primary-color-000);
    text-decoration: none
}

.node-split__secondary .tile-team .tile-team__initials p {
    font-size: 48px
}

.tile-health-card > a {
    border: 1px solid var(--primary-color-000);
    display: grid;
    grid-template-columns:1fr;
    grid-template-rows:18px 1fr 1fr;
    overflow: hidden;
    padding: 20px;
    position: relative;
    transition: border-color .3s
}

.tile-health-card > a:after {
    border-bottom: 40px solid transparent;
    border-left: 40px solid var(--primary-color-ch2);
    border-top: 40px solid transparent;
    content: "";
    display: block;
    grid-column: 1;
    grid-row: 1;
    height: 0;
    justify-self: end;
    margin: -20px -4px 0;
    transform: rotate(-45deg);
    transform-origin: left top;
    width: 0
}

.tile-health-card__category {
    align-self: center;
    font-size: 1.4rem;
    grid-column: 1;
    grid-row: 1;
    line-height: 1.8rem;
    padding-right: 30px
}

.tile-health-card__title {
    font-size: 2rem;
    font-weight: 700;
    grid-column: 1;
    grid-row: 2;
    line-height: 2.2rem;
    line-height: 1.08;
    margin-bottom: 30px;
    margin-top: 30px
}

.tile-health-card .layout-wysiwyg {
    margin-bottom: 20px
}

.tile-health-card .layout-wysiwyg p {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin: 0
}

.tile-health-card .icon-arrow-slim {
    margin-top: auto;
    transition: transform .3s
}

.tile-health-card .icon-arrow-slim svg {
    height: 20px;
    width: 30px
}

@media (hover: hover) {
    .tile-health-card:hover > a {
        border-color: var(--primary-color-ch2)
    }

    .tile-health-card:hover .icon-arrow-slim {
        transform: translateX(10px)
    }
}

.tile-health-card:focus > a {
    border-color: var(--primary-color-ch2)
}

.tile-health-card:focus .icon-arrow-slim {
    transform: translateX(10px)
}

.page-module--dark .tile-health-card {
    background: var(--secondary-color-white-000);
    color: var(--primary-color-000)
}

.tile-page a {
    display: grid;
    grid-template-rows:auto 1fr auto
}

.tile-page__image {
    overflow: hidden;
    position: relative
}

.tile-page__image img {
    display: block;
    margin: 0;
    transition: transform .4s cubic-bezier(.33, 1, .68, 1)
}

.tile-page__title {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 2rem;
    margin-top: 20px
}

.tile-page__datetime {
    font-size: 1.2rem;
    margin-top: 24px
}

@media (hover: hover) {
    .tile-page:hover .tile-page__image img {
        transform: scale(1.1)
    }
}

.tile-page:focus .tile-page__image img {
    transform: scale(1.1)
}

.tile-news {
    height: 100%
}

.tile-news a {
    display: grid;
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr auto;
    height: 100%
}

@media (hover: hover) {
    .tile-news a:hover .icon-hexagon, .tile-news a:hover .icon-podcast:after, .tile-news a:hover .icon-video:after, .tile-news a:hover img {
        transform: scale(1.1)
    }
}

.tile-news a:focus .icon-hexagon, .tile-news a:focus .icon-podcast:after, .tile-news a:focus .icon-video:after, .tile-news a:focus img {
    transform: scale(1.1)
}

.tile-news .icon-podcast, .tile-news .icon-video {
    align-self: end;
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .tile-news .icon-podcast, .tile-news .icon-video {
        margin: 0 10px 10px 0
    }
}

@media only screen and (min-width: 600px) {
    .tile-news .icon-podcast, .tile-news .icon-video {
        margin: 0 15px 15px 0
    }
}

.tile-news .icon, .tile-news img {
    transition: transform .2s cubic-bezier(.33, 1, .68, 1)
}

.tile-news .media-image {
    aspect-ratio: 1.6;
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    z-index: 1
}

.tile-news .media-image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.tile-news .title {
    font-size: clamp(12px, 3vw, 17px)
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .tile-news .title {
        margin-bottom: 12px;
        margin-top: 18px
    }
}

@media only screen and (min-width: 768px) {
    .tile-news .title {
        margin-bottom: 24px;
        margin-top: 20px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .tile-news .time {
        font-size: 1.1rem
    }
}

@media only screen and (min-width: 768px) {
    .tile-news .time {
        font-size: 1.2rem
    }
}

.tile-news .time__read {
    font-weight: 700;
    white-space: nowrap
}

.tile-clinic, .tile-page {
    height: 100%
}

@media (hover: hover) {
    .tile-clinic a:hover .icon-hexagon, .tile-clinic a:hover .icon-podcast:after, .tile-clinic a:hover .icon-video:after, .tile-clinic a:hover img, .tile-page a:hover .icon-hexagon, .tile-page a:hover .icon-podcast:after, .tile-page a:hover .icon-video:after, .tile-page a:hover img {
        transform: scale(1.1)
    }
}

.tile-clinic a:focus .icon-hexagon, .tile-clinic a:focus .icon-podcast:after, .tile-clinic a:focus .icon-video:after, .tile-clinic a:focus img, .tile-page a:focus .icon-hexagon, .tile-page a:focus .icon-podcast:after, .tile-page a:focus .icon-video:after, .tile-page a:focus img {
    transform: scale(1.1)
}

.tile-clinic .icon, .tile-clinic img, .tile-page .icon, .tile-page img {
    transition: transform .2s cubic-bezier(.33, 1, .68, 1)
}

.tile-clinic .image, .tile-page .image {
    height: 0;
    padding-bottom: 80%;
    position: relative
}

.tile-clinic .media-image, .tile-page .media-image {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.tile-clinic .media-image img, .tile-page .media-image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.tile-clinic__title, .tile-page__title {
    font-weight: 600;
    margin-top: 25px
}

.tile-clinic__location, .tile-page__location {
    font-weight: 600
}

.tile-clinic__address, .tile-page__address {
    font-size: 12px;
    font-style: normal;
    line-height: 1.2;
    margin-top: 6px
}

.tile-clinic__phone, .tile-page__phone {
    margin-top: 10px
}

.tile-clinic .icon-arrow-long, .tile-page .icon-arrow-long {
    display: block;
    margin-top: 25px;
    overflow: hidden
}

.tile-clinic .icon-arrow-long svg, .tile-page .icon-arrow-long svg {
    height: 20px;
    transform: translateX(-10px);
    transition: transform .2s;
    width: 40px
}

.tile-clinic.tile-clinic--with-image .tile-clinic__title, .tile-page.tile-clinic--with-image .tile-clinic__title {
    font-size: 1.6rem;
    line-height: 2rem
}

.tile-clinic:not(.tile-clinic--with-image) .tile-clinic__title, .tile-page:not(.tile-clinic--with-image) .tile-clinic__title {
    font-size: 2.4rem;
    line-height: 2.6rem
}

.tile-clinic:not(.tile-clinic--with-image) a, .tile-page:not(.tile-clinic--with-image) a {
    transition: color .2s
}

@media (hover: hover) {
    .tile-clinic:not(.tile-clinic--with-image) a:hover, .tile-page:not(.tile-clinic--with-image) a:hover {
        color: var(--primary-color-ch1)
    }

    .tile-clinic:not(.tile-clinic--with-image) a:hover svg, .tile-page:not(.tile-clinic--with-image) a:hover svg {
        transform: none
    }
}

.tile-page a {
    display: block
}

.tile-page .title {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2rem;
    margin-top: 12px
}

.tile-page .bundle {
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin-top: 4px
}

.tile-content {
    background: var(--tile-background, var(--secondary-color-ch4))
}

@media only screen and (min-width: 768px) {
    .tile-content a {
        display: grid;
        gap: 10px;
        grid-template-columns:1fr 1fr
    }
}

@media (hover: hover) {
    .tile-content a:hover .icon-arrow-long svg {
        transform: none
    }
}

.tile-content a:focus .icon-arrow-long svg {
    transform: none
}

.tile-content__title {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.9rem;
    margin-bottom: 10px
}

.tile-content__content {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 1;
    padding: 20px 0 20px 20px
}

.tile-content__summary {
    font-size: 1.4rem;
    line-height: 1.7rem;
    margin-bottom: 20px
}

.tile-content .media-image {
    grid-column: 2;
    grid-row: 1
}

.tile-content .media-image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.tile-content .icon-arrow-long {
    height: 20px;
    margin-top: auto;
    overflow: hidden;
    width: 40px
}

.tile-content .icon-arrow-long svg {
    height: 20px;
    transform: translateX(-10px);
    transition: transform .3s;
    width: 40px
}

.tile-content-carousel__content {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 2rem;
    margin-top: 12px
}

.tile-room__title {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 2rem;
    margin-top: 24px
}

.tile-room .media-image {
    overflow: hidden
}

.tile-room .media-image img {
    transition: transform .3s
}

.tile-room .media-image--placeholder {
    aspect-ratio: 1.25
}

.tile-room .icon-hexagon {
    transition: transform .2s
}

.tile-room a {
    color: currentColor
}

@media (hover: hover) {
    .tile-room a:hover .icon-hexagon, .tile-room a:hover img {
        transform: scale(1.1)
    }
}

.tile-room a:focus .icon-hexagon, .tile-room a:focus img {
    transform: scale(1.1)
}

.wysiwyg-col-1-module {
    --margin-around: 150px;
    margin: var(--margin-around) 0;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .wysiwyg-col-1-module {
        --margin-around: 97px
    }
}

.cke_editable, .form-group-processed-text, .form-group-webform-markup {
    overflow: hidden
}

.cke_editable, .form-group-processed-text, .form-group-webform-markup, .form-type-processed-text, .layout-wysiwyg, .ui-dialog-content {
    --gw: 20px;
    box-sizing: content-box;
    margin: 0 auto
}

.cke_editable a:focus-visible, .form-group-processed-text a:focus-visible, .form-group-webform-markup a:focus-visible, .form-type-processed-text a:focus-visible, .layout-wysiwyg a:focus-visible, .ui-dialog-content a:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.layout-wrapper .cke_editable, .layout-wrapper .form-group-processed-text, .layout-wrapper .form-group-webform-markup, .layout-wrapper .form-type-processed-text, .layout-wrapper .layout-wysiwyg, .layout-wrapper .ui-dialog-content {
    padding: 0
}

.cke_editable strong, .form-group-processed-text strong, .form-group-webform-markup strong, .form-type-processed-text strong, .layout-wysiwyg strong, .ui-dialog-content strong {
    font-weight: 700
}

.cke_editable blockquote img, .cke_editable ol img, .cke_editable p img, .cke_editable ul img, .form-group-processed-text blockquote img, .form-group-processed-text ol img, .form-group-processed-text p img, .form-group-processed-text ul img, .form-group-webform-markup blockquote img, .form-group-webform-markup ol img, .form-group-webform-markup p img, .form-group-webform-markup ul img, .form-type-processed-text blockquote img, .form-type-processed-text ol img, .form-type-processed-text p img, .form-type-processed-text ul img, .layout-wysiwyg blockquote img, .layout-wysiwyg ol img, .layout-wysiwyg p img, .layout-wysiwyg ul img, .ui-dialog-content blockquote img, .ui-dialog-content ol img, .ui-dialog-content p img, .ui-dialog-content ul img {
    clear: both;
    display: block;
    margin-bottom: 10px
}

.cke_editable blockquote, .cke_editable h1, .cke_editable h2, .cke_editable h3, .cke_editable h4, .cke_editable h5, .cke_editable h6, .cke_editable ol, .cke_editable p, .cke_editable ul, .form-group-processed-text blockquote, .form-group-processed-text h1, .form-group-processed-text h2, .form-group-processed-text h3, .form-group-processed-text h4, .form-group-processed-text h5, .form-group-processed-text h6, .form-group-processed-text ol, .form-group-processed-text p, .form-group-processed-text ul, .form-group-webform-markup blockquote, .form-group-webform-markup h1, .form-group-webform-markup h2, .form-group-webform-markup h3, .form-group-webform-markup h4, .form-group-webform-markup h5, .form-group-webform-markup h6, .form-group-webform-markup ol, .form-group-webform-markup p, .form-group-webform-markup ul, .form-type-processed-text blockquote, .form-type-processed-text h1, .form-type-processed-text h2, .form-type-processed-text h3, .form-type-processed-text h4, .form-type-processed-text h5, .form-type-processed-text h6, .form-type-processed-text ol, .form-type-processed-text p, .form-type-processed-text ul, .layout-wysiwyg blockquote, .layout-wysiwyg h1, .layout-wysiwyg h2, .layout-wysiwyg h3, .layout-wysiwyg h4, .layout-wysiwyg h5, .layout-wysiwyg h6, .layout-wysiwyg ol, .layout-wysiwyg p, .layout-wysiwyg ul, .ui-dialog-content blockquote, .ui-dialog-content h1, .ui-dialog-content h2, .ui-dialog-content h3, .ui-dialog-content h4, .ui-dialog-content h5, .ui-dialog-content h6, .ui-dialog-content ol, .ui-dialog-content p, .ui-dialog-content ul {
    margin-bottom: 25px
}

.cke_editable blockquote:first-child, .cke_editable h1:first-child, .cke_editable h2:first-child, .cke_editable h3:first-child, .cke_editable h4:first-child, .cke_editable h5:first-child, .cke_editable h6:first-child, .cke_editable ol:first-child, .cke_editable p:first-child, .cke_editable ul:first-child, .form-group-processed-text blockquote:first-child, .form-group-processed-text h1:first-child, .form-group-processed-text h2:first-child, .form-group-processed-text h3:first-child, .form-group-processed-text h4:first-child, .form-group-processed-text h5:first-child, .form-group-processed-text h6:first-child, .form-group-processed-text ol:first-child, .form-group-processed-text p:first-child, .form-group-processed-text ul:first-child, .form-group-webform-markup blockquote:first-child, .form-group-webform-markup h1:first-child, .form-group-webform-markup h2:first-child, .form-group-webform-markup h3:first-child, .form-group-webform-markup h4:first-child, .form-group-webform-markup h5:first-child, .form-group-webform-markup h6:first-child, .form-group-webform-markup ol:first-child, .form-group-webform-markup p:first-child, .form-group-webform-markup ul:first-child, .form-type-processed-text blockquote:first-child, .form-type-processed-text h1:first-child, .form-type-processed-text h2:first-child, .form-type-processed-text h3:first-child, .form-type-processed-text h4:first-child, .form-type-processed-text h5:first-child, .form-type-processed-text h6:first-child, .form-type-processed-text ol:first-child, .form-type-processed-text p:first-child, .form-type-processed-text ul:first-child, .layout-wysiwyg blockquote:first-child, .layout-wysiwyg h1:first-child, .layout-wysiwyg h2:first-child, .layout-wysiwyg h3:first-child, .layout-wysiwyg h4:first-child, .layout-wysiwyg h5:first-child, .layout-wysiwyg h6:first-child, .layout-wysiwyg ol:first-child, .layout-wysiwyg p:first-child, .layout-wysiwyg ul:first-child, .ui-dialog-content blockquote:first-child, .ui-dialog-content h1:first-child, .ui-dialog-content h2:first-child, .ui-dialog-content h3:first-child, .ui-dialog-content h4:first-child, .ui-dialog-content h5:first-child, .ui-dialog-content h6:first-child, .ui-dialog-content ol:first-child, .ui-dialog-content p:first-child, .ui-dialog-content ul:first-child {
    margin-top: 0
}

.cke_editable blockquote:last-child, .cke_editable h1:last-child, .cke_editable h2:last-child, .cke_editable h3:last-child, .cke_editable h4:last-child, .cke_editable h5:last-child, .cke_editable h6:last-child, .cke_editable ol:last-child, .cke_editable p:last-child, .cke_editable ul:last-child, .form-group-processed-text blockquote:last-child, .form-group-processed-text h1:last-child, .form-group-processed-text h2:last-child, .form-group-processed-text h3:last-child, .form-group-processed-text h4:last-child, .form-group-processed-text h5:last-child, .form-group-processed-text h6:last-child, .form-group-processed-text ol:last-child, .form-group-processed-text p:last-child, .form-group-processed-text ul:last-child, .form-group-webform-markup blockquote:last-child, .form-group-webform-markup h1:last-child, .form-group-webform-markup h2:last-child, .form-group-webform-markup h3:last-child, .form-group-webform-markup h4:last-child, .form-group-webform-markup h5:last-child, .form-group-webform-markup h6:last-child, .form-group-webform-markup ol:last-child, .form-group-webform-markup p:last-child, .form-group-webform-markup ul:last-child, .form-type-processed-text blockquote:last-child, .form-type-processed-text h1:last-child, .form-type-processed-text h2:last-child, .form-type-processed-text h3:last-child, .form-type-processed-text h4:last-child, .form-type-processed-text h5:last-child, .form-type-processed-text h6:last-child, .form-type-processed-text ol:last-child, .form-type-processed-text p:last-child, .form-type-processed-text ul:last-child, .layout-wysiwyg blockquote:last-child, .layout-wysiwyg h1:last-child, .layout-wysiwyg h2:last-child, .layout-wysiwyg h3:last-child, .layout-wysiwyg h4:last-child, .layout-wysiwyg h5:last-child, .layout-wysiwyg h6:last-child, .layout-wysiwyg ol:last-child, .layout-wysiwyg p:last-child, .layout-wysiwyg ul:last-child, .ui-dialog-content blockquote:last-child, .ui-dialog-content h1:last-child, .ui-dialog-content h2:last-child, .ui-dialog-content h3:last-child, .ui-dialog-content h4:last-child, .ui-dialog-content h5:last-child, .ui-dialog-content h6:last-child, .ui-dialog-content ol:last-child, .ui-dialog-content p:last-child, .ui-dialog-content ul:last-child {
    margin-bottom: 0
}

.cke_editable ul:not(.list-fronted), .form-group-processed-text ul:not(.list-fronted), .form-group-webform-markup ul:not(.list-fronted), .form-type-processed-text ul:not(.list-fronted), .layout-wysiwyg ul:not(.list-fronted), .ui-dialog-content ul:not(.list-fronted) {
    padding-left: 15px
}

.cke_editable ul:not(.list-fronted) li, .form-group-processed-text ul:not(.list-fronted) li, .form-group-webform-markup ul:not(.list-fronted) li, .form-type-processed-text ul:not(.list-fronted) li, .layout-wysiwyg ul:not(.list-fronted) li, .ui-dialog-content ul:not(.list-fronted) li {
    list-style: none;
    margin: 0 20px 10px 5px
}

.cke_editable ul:not(.list-fronted) li:before, .form-group-processed-text ul:not(.list-fronted) li:before, .form-group-webform-markup ul:not(.list-fronted) li:before, .form-type-processed-text ul:not(.list-fronted) li:before, .layout-wysiwyg ul:not(.list-fronted) li:before, .ui-dialog-content ul:not(.list-fronted) li:before {
    content: "•";
    display: inline-block;
    font-weight: 700;
    margin-left: -20px;
    width: 1em
}

.cke_editable ul:not(.list-fronted) li ol, .cke_editable ul:not(.list-fronted) li ul, .form-group-processed-text ul:not(.list-fronted) li ol, .form-group-processed-text ul:not(.list-fronted) li ul, .form-group-webform-markup ul:not(.list-fronted) li ol, .form-group-webform-markup ul:not(.list-fronted) li ul, .form-type-processed-text ul:not(.list-fronted) li ol, .form-type-processed-text ul:not(.list-fronted) li ul, .layout-wysiwyg ul:not(.list-fronted) li ol, .layout-wysiwyg ul:not(.list-fronted) li ul, .ui-dialog-content ul:not(.list-fronted) li ol, .ui-dialog-content ul:not(.list-fronted) li ul {
    margin: 20px 0
}

.cke_editable ul:not(.list-fronted) li ol li:before, .cke_editable ul:not(.list-fronted) li ul li:before, .form-group-processed-text ul:not(.list-fronted) li ol li:before, .form-group-processed-text ul:not(.list-fronted) li ul li:before, .form-group-webform-markup ul:not(.list-fronted) li ol li:before, .form-group-webform-markup ul:not(.list-fronted) li ul li:before, .form-type-processed-text ul:not(.list-fronted) li ol li:before, .form-type-processed-text ul:not(.list-fronted) li ul li:before, .layout-wysiwyg ul:not(.list-fronted) li ol li:before, .layout-wysiwyg ul:not(.list-fronted) li ul li:before, .ui-dialog-content ul:not(.list-fronted) li ol li:before, .ui-dialog-content ul:not(.list-fronted) li ul li:before {
    font-size: 1.6rem;
    line-height: 1.8rem;
    margin-left: -16px
}

.cke_editable ol:not(.list-fronted), .form-group-processed-text ol:not(.list-fronted), .form-group-webform-markup ol:not(.list-fronted), .form-type-processed-text ol:not(.list-fronted), .layout-wysiwyg ol:not(.list-fronted), .ui-dialog-content ol:not(.list-fronted) {
    padding-left: 18px
}

.cke_editable ol:not(.list-fronted) li, .form-group-processed-text ol:not(.list-fronted) li, .form-group-webform-markup ol:not(.list-fronted) li, .form-type-processed-text ol:not(.list-fronted) li, .layout-wysiwyg ol:not(.list-fronted) li, .ui-dialog-content ol:not(.list-fronted) li {
    margin: 0 20px 10px 5px
}

.cke_editable ol:not(.list-fronted) li ol, .cke_editable ol:not(.list-fronted) li ul, .form-group-processed-text ol:not(.list-fronted) li ol, .form-group-processed-text ol:not(.list-fronted) li ul, .form-group-webform-markup ol:not(.list-fronted) li ol, .form-group-webform-markup ol:not(.list-fronted) li ul, .form-type-processed-text ol:not(.list-fronted) li ol, .form-type-processed-text ol:not(.list-fronted) li ul, .layout-wysiwyg ol:not(.list-fronted) li ol, .layout-wysiwyg ol:not(.list-fronted) li ul, .ui-dialog-content ol:not(.list-fronted) li ol, .ui-dialog-content ol:not(.list-fronted) li ul {
    margin: 20px 0
}

.cke_editable ol:not(.list-fronted) li ol li::marker, .cke_editable ol:not(.list-fronted) li ul li::marker, .form-group-processed-text ol:not(.list-fronted) li ol li::marker, .form-group-processed-text ol:not(.list-fronted) li ul li::marker, .form-group-webform-markup ol:not(.list-fronted) li ol li::marker, .form-group-webform-markup ol:not(.list-fronted) li ul li::marker, .form-type-processed-text ol:not(.list-fronted) li ol li::marker, .form-type-processed-text ol:not(.list-fronted) li ul li::marker, .layout-wysiwyg ol:not(.list-fronted) li ol li::marker, .layout-wysiwyg ol:not(.list-fronted) li ul li::marker, .ui-dialog-content ol:not(.list-fronted) li ol li::marker, .ui-dialog-content ol:not(.list-fronted) li ul li::marker {
    font-size: 1.6rem;
    line-height: 1.8rem
}

.cke_editable blockquote + h2, .cke_editable blockquote + h3, .cke_editable blockquote + h4, .cke_editable blockquote + h5, .cke_editable blockquote + h6, .cke_editable ol + h2, .cke_editable ol + h3, .cke_editable ol + h4, .cke_editable ol + h5, .cke_editable ol + h6, .cke_editable p + h2, .cke_editable p + h3, .cke_editable p + h4, .cke_editable p + h5, .cke_editable p + h6, .cke_editable table + h2, .cke_editable table + h3, .cke_editable table + h4, .cke_editable table + h5, .cke_editable table + h6, .cke_editable ul + h2, .cke_editable ul + h3, .cke_editable ul + h4, .cke_editable ul + h5, .cke_editable ul + h6, .form-group-processed-text blockquote + h2, .form-group-processed-text blockquote + h3, .form-group-processed-text blockquote + h4, .form-group-processed-text blockquote + h5, .form-group-processed-text blockquote + h6, .form-group-processed-text ol + h2, .form-group-processed-text ol + h3, .form-group-processed-text ol + h4, .form-group-processed-text ol + h5, .form-group-processed-text ol + h6, .form-group-processed-text p + h2, .form-group-processed-text p + h3, .form-group-processed-text p + h4, .form-group-processed-text p + h5, .form-group-processed-text p + h6, .form-group-processed-text table + h2, .form-group-processed-text table + h3, .form-group-processed-text table + h4, .form-group-processed-text table + h5, .form-group-processed-text table + h6, .form-group-processed-text ul + h2, .form-group-processed-text ul + h3, .form-group-processed-text ul + h4, .form-group-processed-text ul + h5, .form-group-processed-text ul + h6, .form-group-webform-markup blockquote + h2, .form-group-webform-markup blockquote + h3, .form-group-webform-markup blockquote + h4, .form-group-webform-markup blockquote + h5, .form-group-webform-markup blockquote + h6, .form-group-webform-markup ol + h2, .form-group-webform-markup ol + h3, .form-group-webform-markup ol + h4, .form-group-webform-markup ol + h5, .form-group-webform-markup ol + h6, .form-group-webform-markup p + h2, .form-group-webform-markup p + h3, .form-group-webform-markup p + h4, .form-group-webform-markup p + h5, .form-group-webform-markup p + h6, .form-group-webform-markup table + h2, .form-group-webform-markup table + h3, .form-group-webform-markup table + h4, .form-group-webform-markup table + h5, .form-group-webform-markup table + h6, .form-group-webform-markup ul + h2, .form-group-webform-markup ul + h3, .form-group-webform-markup ul + h4, .form-group-webform-markup ul + h5, .form-group-webform-markup ul + h6, .form-type-processed-text blockquote + h2, .form-type-processed-text blockquote + h3, .form-type-processed-text blockquote + h4, .form-type-processed-text blockquote + h5, .form-type-processed-text blockquote + h6, .form-type-processed-text ol + h2, .form-type-processed-text ol + h3, .form-type-processed-text ol + h4, .form-type-processed-text ol + h5, .form-type-processed-text ol + h6, .form-type-processed-text p + h2, .form-type-processed-text p + h3, .form-type-processed-text p + h4, .form-type-processed-text p + h5, .form-type-processed-text p + h6, .form-type-processed-text table + h2, .form-type-processed-text table + h3, .form-type-processed-text table + h4, .form-type-processed-text table + h5, .form-type-processed-text table + h6, .form-type-processed-text ul + h2, .form-type-processed-text ul + h3, .form-type-processed-text ul + h4, .form-type-processed-text ul + h5, .form-type-processed-text ul + h6, .layout-wysiwyg blockquote + h2, .layout-wysiwyg blockquote + h3, .layout-wysiwyg blockquote + h4, .layout-wysiwyg blockquote + h5, .layout-wysiwyg blockquote + h6, .layout-wysiwyg ol + h2, .layout-wysiwyg ol + h3, .layout-wysiwyg ol + h4, .layout-wysiwyg ol + h5, .layout-wysiwyg ol + h6, .layout-wysiwyg p + h2, .layout-wysiwyg p + h3, .layout-wysiwyg p + h4, .layout-wysiwyg p + h5, .layout-wysiwyg p + h6, .layout-wysiwyg table + h2, .layout-wysiwyg table + h3, .layout-wysiwyg table + h4, .layout-wysiwyg table + h5, .layout-wysiwyg table + h6, .layout-wysiwyg ul + h2, .layout-wysiwyg ul + h3, .layout-wysiwyg ul + h4, .layout-wysiwyg ul + h5, .layout-wysiwyg ul + h6, .ui-dialog-content blockquote + h2, .ui-dialog-content blockquote + h3, .ui-dialog-content blockquote + h4, .ui-dialog-content blockquote + h5, .ui-dialog-content blockquote + h6, .ui-dialog-content ol + h2, .ui-dialog-content ol + h3, .ui-dialog-content ol + h4, .ui-dialog-content ol + h5, .ui-dialog-content ol + h6, .ui-dialog-content p + h2, .ui-dialog-content p + h3, .ui-dialog-content p + h4, .ui-dialog-content p + h5, .ui-dialog-content p + h6, .ui-dialog-content table + h2, .ui-dialog-content table + h3, .ui-dialog-content table + h4, .ui-dialog-content table + h5, .ui-dialog-content table + h6, .ui-dialog-content ul + h2, .ui-dialog-content ul + h3, .ui-dialog-content ul + h4, .ui-dialog-content ul + h5, .ui-dialog-content ul + h6 {
    margin-top: 50px
}

.cke_editable blockquote, .cke_editable ol, .cke_editable p, .cke_editable ul, .form-group-processed-text blockquote, .form-group-processed-text ol, .form-group-processed-text p, .form-group-processed-text ul, .form-group-webform-markup blockquote, .form-group-webform-markup ol, .form-group-webform-markup p, .form-group-webform-markup ul, .form-type-processed-text blockquote, .form-type-processed-text ol, .form-type-processed-text p, .form-type-processed-text ul, .layout-wysiwyg blockquote, .layout-wysiwyg ol, .layout-wysiwyg p, .layout-wysiwyg ul, .ui-dialog-content blockquote, .ui-dialog-content ol, .ui-dialog-content p, .ui-dialog-content ul {
    line-height: 1.3
}

.cke_editable a:not(.btn):not(.button), .form-group-processed-text a:not(.btn):not(.button), .form-group-webform-markup a:not(.btn):not(.button), .form-type-processed-text a:not(.btn):not(.button), .layout-wysiwyg a:not(.btn):not(.button), .ui-dialog-content a:not(.btn):not(.button) {
    color: var(--primary-color-ch1);
    text-decoration: underline
}

@media (hover: hover) {
    .cke_editable a:not(.btn):not(.button):hover, .form-group-processed-text a:not(.btn):not(.button):hover, .form-group-webform-markup a:not(.btn):not(.button):hover, .form-type-processed-text a:not(.btn):not(.button):hover, .layout-wysiwyg a:not(.btn):not(.button):hover, .ui-dialog-content a:not(.btn):not(.button):hover {
        text-decoration: none
    }
}

.cke_editable .h1, .cke_editable .h2, .cke_editable .h3, .cke_editable .h4, .cke_editable .h5, .cke_editable .h6, .cke_editable h1, .cke_editable h2, .cke_editable h3, .cke_editable h4, .cke_editable h5, .cke_editable h6, .form-group-processed-text .h1, .form-group-processed-text .h2, .form-group-processed-text .h3, .form-group-processed-text .h4, .form-group-processed-text .h5, .form-group-processed-text .h6, .form-group-processed-text h1, .form-group-processed-text h2, .form-group-processed-text h3, .form-group-processed-text h4, .form-group-processed-text h5, .form-group-processed-text h6, .form-group-webform-markup .h1, .form-group-webform-markup .h2, .form-group-webform-markup .h3, .form-group-webform-markup .h4, .form-group-webform-markup .h5, .form-group-webform-markup .h6, .form-group-webform-markup h1, .form-group-webform-markup h2, .form-group-webform-markup h3, .form-group-webform-markup h4, .form-group-webform-markup h5, .form-group-webform-markup h6, .form-type-processed-text .h1, .form-type-processed-text .h2, .form-type-processed-text .h3, .form-type-processed-text .h4, .form-type-processed-text .h5, .form-type-processed-text .h6, .form-type-processed-text h1, .form-type-processed-text h2, .form-type-processed-text h3, .form-type-processed-text h4, .form-type-processed-text h5, .form-type-processed-text h6, .layout-wysiwyg .h1, .layout-wysiwyg .h2, .layout-wysiwyg .h3, .layout-wysiwyg .h4, .layout-wysiwyg .h5, .layout-wysiwyg .h6, .layout-wysiwyg h1, .layout-wysiwyg h2, .layout-wysiwyg h3, .layout-wysiwyg h4, .layout-wysiwyg h5, .layout-wysiwyg h6, .ui-dialog-content .h1, .ui-dialog-content .h2, .ui-dialog-content .h3, .ui-dialog-content .h4, .ui-dialog-content .h5, .ui-dialog-content .h6, .ui-dialog-content h1, .ui-dialog-content h2, .ui-dialog-content h3, .ui-dialog-content h4, .ui-dialog-content h5, .ui-dialog-content h6 {
    letter-spacing: -.03em;
    line-height: 1.1
}

.cke_editable .font-h2, .cke_editable h2, .form-group-processed-text .font-h2, .form-group-processed-text h2, .form-group-webform-markup .font-h2, .form-group-webform-markup h2, .form-type-processed-text .font-h2, .form-type-processed-text h2, .layout-wysiwyg .font-h2, .layout-wysiwyg h2, .ui-dialog-content .font-h2, .ui-dialog-content h2 {
    font-size: clamp(24px, 4vw, 34px)
}

.cke_editable .font-h3, .cke_editable h3, .form-group-processed-text .font-h3, .form-group-processed-text h3, .form-group-webform-markup .font-h3, .form-group-webform-markup h3, .form-type-processed-text .font-h3, .form-type-processed-text h3, .layout-wysiwyg .font-h3, .layout-wysiwyg h3, .ui-dialog-content .font-h3, .ui-dialog-content h3 {
    font-size: clamp(20px, 3.5vw, 28px)
}

.cke_editable .font-h4, .cke_editable .node-health-card .section-wrapper .section-wrapper__title, .cke_editable h4, .form-group-processed-text .font-h4, .form-group-processed-text .node-health-card .section-wrapper .section-wrapper__title, .form-group-processed-text h4, .form-group-webform-markup .font-h4, .form-group-webform-markup .node-health-card .section-wrapper .section-wrapper__title, .form-group-webform-markup h4, .form-type-processed-text .font-h4, .form-type-processed-text .node-health-card .section-wrapper .section-wrapper__title, .form-type-processed-text h4, .layout-wysiwyg .font-h4, .layout-wysiwyg .node-health-card .section-wrapper .section-wrapper__title, .layout-wysiwyg h4, .node-health-card .section-wrapper .cke_editable .section-wrapper__title, .node-health-card .section-wrapper .form-group-processed-text .section-wrapper__title, .node-health-card .section-wrapper .form-group-webform-markup .section-wrapper__title, .node-health-card .section-wrapper .form-type-processed-text .section-wrapper__title, .node-health-card .section-wrapper .layout-wysiwyg .section-wrapper__title, .node-health-card .section-wrapper .ui-dialog-content .section-wrapper__title, .ui-dialog-content .font-h4, .ui-dialog-content .node-health-card .section-wrapper .section-wrapper__title, .ui-dialog-content h4 {
    font-size: clamp(18px, 3vw, 24px);
    font-weight: 700
}

.cke_editable .font-h5, .cke_editable h5, .form-group-processed-text .font-h5, .form-group-processed-text h5, .form-group-webform-markup .font-h5, .form-group-webform-markup h5, .form-type-processed-text .font-h5, .form-type-processed-text h5, .layout-wysiwyg .font-h5, .layout-wysiwyg h5, .ui-dialog-content .font-h5, .ui-dialog-content h5 {
    font-size: clamp(15px, 2.5vw, 20px)
}

.cke_editable .font-h6, .cke_editable h6, .form-group-processed-text .font-h6, .form-group-processed-text h6, .form-group-webform-markup .font-h6, .form-group-webform-markup h6, .form-type-processed-text .font-h6, .form-type-processed-text h6, .layout-wysiwyg .font-h6, .layout-wysiwyg h6, .ui-dialog-content .font-h6, .ui-dialog-content h6 {
    font-size: clamp(14px, 2vw, 18px)
}

.cke_editable .font-h1, .cke_editable h1, .form-group-processed-text .font-h1, .form-group-processed-text h1, .form-group-webform-markup .font-h1, .form-group-webform-markup h1, .form-type-processed-text .font-h1, .form-type-processed-text h1, .layout-wysiwyg .font-h1, .layout-wysiwyg h1, .ui-dialog-content .font-h1, .ui-dialog-content h1 {
    display: block;
    max-width: 740px
}

.cke_editable .table-wrapper, .form-group-processed-text .table-wrapper, .form-group-webform-markup .table-wrapper, .form-type-processed-text .table-wrapper, .layout-wysiwyg .table-wrapper, .ui-dialog-content .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%
}

.cke_editable table, .form-group-processed-text table, .form-group-webform-markup table, .form-type-processed-text table, .layout-wysiwyg table, .ui-dialog-content table {
    font-size: 1.8rem;
    margin-bottom: 40px;
    text-align: left;
    width: 100%
}

.cke_editable table caption, .form-group-processed-text table caption, .form-group-webform-markup table caption, .form-type-processed-text table caption, .layout-wysiwyg table caption, .ui-dialog-content table caption {
    margin-bottom: 25px;
    text-align: left
}

.cke_editable table tr td, .form-group-processed-text table tr td, .form-group-webform-markup table tr td, .form-type-processed-text table tr td, .layout-wysiwyg table tr td, .ui-dialog-content table tr td {
    vertical-align: top
}

.cke_editable table td, .cke_editable table th, .form-group-processed-text table td, .form-group-processed-text table th, .form-group-webform-markup table td, .form-group-webform-markup table th, .form-type-processed-text table td, .form-type-processed-text table th, .layout-wysiwyg table td, .layout-wysiwyg table th, .ui-dialog-content table td, .ui-dialog-content table th {
    padding: 10px
}

.cke_editable table tr:nth-child(odd) td, .form-group-processed-text table tr:nth-child(odd) td, .form-group-webform-markup table tr:nth-child(odd) td, .form-type-processed-text table tr:nth-child(odd) td, .layout-wysiwyg table tr:nth-child(odd) td, .ui-dialog-content table tr:nth-child(odd) td {
    background: var(--secondary-color-ch5)
}

.cke_editable table th, .form-group-processed-text table th, .form-group-webform-markup table th, .form-type-processed-text table th, .layout-wysiwyg table th, .ui-dialog-content table th {
    border-bottom: 1px solid var(--primary-color-000)
}

.cke_editable tbody, .cke_editable thead, .form-group-processed-text tbody, .form-group-processed-text thead, .form-group-webform-markup tbody, .form-group-webform-markup thead, .form-type-processed-text tbody, .form-type-processed-text thead, .layout-wysiwyg tbody, .layout-wysiwyg thead, .ui-dialog-content tbody, .ui-dialog-content thead {
    background: #fdfdfd
}

.cke_editable blockquote, .cke_editable table, .form-group-processed-text blockquote, .form-group-processed-text table, .form-group-webform-markup blockquote, .form-group-webform-markup table, .form-type-processed-text blockquote, .form-type-processed-text table, .layout-wysiwyg blockquote, .layout-wysiwyg table, .ui-dialog-content blockquote, .ui-dialog-content table {
    margin: 50px 0
}

.cke_editable blockquote, .form-group-processed-text blockquote, .form-group-webform-markup blockquote, .form-type-processed-text blockquote, .layout-wysiwyg blockquote, .ui-dialog-content blockquote {
    background: var(--secondary-color-ch4);
    padding: 70px clamp(50px, 5vw, 90px);
    text-align: center
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .cke_editable blockquote, .form-group-processed-text blockquote, .form-group-webform-markup blockquote, .form-type-processed-text blockquote, .layout-wysiwyg blockquote, .ui-dialog-content blockquote {
        margin-left: calc(var(--lp) * -1);
        margin-right: calc(var(--lp) * -1)
    }
}

.cke_editable blockquote p, .form-group-processed-text blockquote p, .form-group-webform-markup blockquote p, .form-type-processed-text blockquote p, .layout-wysiwyg blockquote p, .ui-dialog-content blockquote p {
    font-size: clamp(20px, 3vw, 24px);
    font-weight: 700;
    line-height: 1.25
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .cke_editable blockquote p, .form-group-processed-text blockquote p, .form-group-webform-markup blockquote p, .form-type-processed-text blockquote p, .layout-wysiwyg blockquote p, .ui-dialog-content blockquote p {
        line-height: 1.1
    }
}

.cke_editable blockquote p:before, .form-group-processed-text blockquote p:before, .form-group-webform-markup blockquote p:before, .form-type-processed-text blockquote p:before, .layout-wysiwyg blockquote p:before, .ui-dialog-content blockquote p:before {
    content: "“"
}

.cke_editable blockquote p:after, .form-group-processed-text blockquote p:after, .form-group-webform-markup blockquote p:after, .form-type-processed-text blockquote p:after, .layout-wysiwyg blockquote p:after, .ui-dialog-content blockquote p:after {
    content: "”"
}

html[lang=fr] .cke_editable blockquote p:before, html[lang=fr] .form-group-processed-text blockquote p:before, html[lang=fr] .form-group-webform-markup blockquote p:before, html[lang=fr] .form-type-processed-text blockquote p:before, html[lang=fr] .layout-wysiwyg blockquote p:before, html[lang=fr] .ui-dialog-content blockquote p:before {
    content: "«"
}

html[lang=fr] .cke_editable blockquote p:after, html[lang=fr] .form-group-processed-text blockquote p:after, html[lang=fr] .form-group-webform-markup blockquote p:after, html[lang=fr] .form-type-processed-text blockquote p:after, html[lang=fr] .layout-wysiwyg blockquote p:after, html[lang=fr] .ui-dialog-content blockquote p:after {
    content: "»"
}

.cke_editable .page-module--margins, .form-group-processed-text .page-module--margins, .form-group-webform-markup .page-module--margins, .form-type-processed-text .page-module--margins, .layout-wysiwyg .page-module--margins, .ui-dialog-content .page-module--margins {
    margin: 0
}

@media only screen and (min-width: 768px) {
    .cke_editable .columns, .form-group-processed-text .columns, .form-group-webform-markup .columns, .form-type-processed-text .columns, .layout-wysiwyg .columns, .ui-dialog-content .columns {
        display: grid
    }
}

@media only screen and (min-width: 790px)and (max-width: calc(1360px - 1px)) {
    .cke_editable .columns, .form-group-processed-text .columns, .form-group-webform-markup .columns, .form-type-processed-text .columns, .layout-wysiwyg .columns, .ui-dialog-content .columns {
        margin-left: calc(-50vw - var(--lp) * 2 * -1 / 2 - -335px);
        width: calc(100vw - var(--lp) * 2)
    }
}

@media only screen and (min-width: 1360px) {
    .cke_editable .columns, .form-group-processed-text .columns, .form-group-webform-markup .columns, .form-type-processed-text .columns, .layout-wysiwyg .columns, .ui-dialog-content .columns {
        margin-left: -225px;
        width: 1120px
    }
}

@media only screen and (min-width: 768px) {
    .cke_editable .columns-2, .form-group-processed-text .columns-2, .form-group-webform-markup .columns-2, .form-type-processed-text .columns-2, .layout-wysiwyg .columns-2, .ui-dialog-content .columns-2 {
        gap: 0 40px;
        grid-template-columns:1fr 1fr
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .cke_editable .columns > div, .form-group-processed-text .columns > div, .form-group-webform-markup .columns > div, .form-type-processed-text .columns > div, .layout-wysiwyg .columns > div, .ui-dialog-content .columns > div {
        margin-top: 20px
    }
}

.cke_editable .media-image:not(:last-child), .cke_editable .media-remote-video:not(:last-child), .form-group-processed-text .media-image:not(:last-child), .form-group-processed-text .media-remote-video:not(:last-child), .form-group-webform-markup .media-image:not(:last-child), .form-group-webform-markup .media-remote-video:not(:last-child), .form-type-processed-text .media-image:not(:last-child), .form-type-processed-text .media-remote-video:not(:last-child), .layout-wysiwyg .media-image:not(:last-child), .layout-wysiwyg .media-remote-video:not(:last-child), .ui-dialog-content .media-image:not(:last-child), .ui-dialog-content .media-remote-video:not(:last-child) {
    margin-bottom: 54px
}

.cke_editable .media-remote-video .media-video-poster, .form-group-processed-text .media-remote-video .media-video-poster, .form-group-webform-markup .media-remote-video .media-video-poster, .form-type-processed-text .media-remote-video .media-video-poster, .layout-wysiwyg .media-remote-video .media-video-poster, .ui-dialog-content .media-remote-video .media-video-poster {
    aspect-ratio: 1.78
}

.cke_editable .media-remote-video .media-video-poster img, .form-group-processed-text .media-remote-video .media-video-poster img, .form-group-webform-markup .media-remote-video .media-video-poster img, .form-type-processed-text .media-remote-video .media-video-poster img, .layout-wysiwyg .media-remote-video .media-video-poster img, .ui-dialog-content .media-remote-video .media-video-poster img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

.cke_editable .media-remote-video .media-video-details .duration, .form-group-processed-text .media-remote-video .media-video-details .duration, .form-group-webform-markup .media-remote-video .media-video-details .duration, .form-type-processed-text .media-remote-video .media-video-details .duration, .layout-wysiwyg .media-remote-video .media-video-details .duration, .ui-dialog-content .media-remote-video .media-video-details .duration {
    display: block;
    margin-bottom: 10px
}

.cke_editable .extract, .form-group-processed-text .extract, .form-group-webform-markup .extract, .form-type-processed-text .extract, .layout-wysiwyg .extract, .ui-dialog-content .extract {
    background: var(--secondary-color-ch4);
    margin-bottom: 50px
}

.cke_editable .extract:not(:first-child), .form-group-processed-text .extract:not(:first-child), .form-group-webform-markup .extract:not(:first-child), .form-type-processed-text .extract:not(:first-child), .layout-wysiwyg .extract:not(:first-child), .ui-dialog-content .extract:not(:first-child) {
    margin-top: 60px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .cke_editable .extract, .form-group-processed-text .extract, .form-group-webform-markup .extract, .form-type-processed-text .extract, .layout-wysiwyg .extract, .ui-dialog-content .extract {
        margin-left: calc(var(--lp) * -1);
        padding: 50px var(--lp) 44px;
        width: 100vw
    }
}

@media only screen and (min-width: 600px) {
    .cke_editable .extract, .form-group-processed-text .extract, .form-group-webform-markup .extract, .form-type-processed-text .extract, .layout-wysiwyg .extract, .ui-dialog-content .extract {
        padding: 64px 50px 54px
    }
}

.cke_editable .extract p.title, .form-group-processed-text .extract p.title, .form-group-webform-markup .extract p.title, .form-type-processed-text .extract p.title, .layout-wysiwyg .extract p.title, .ui-dialog-content .extract p.title {
    font-size: clamp(20px, 3vw, 24px);
    font-weight: 600
}

.cke_editable ul.sitemap-first-level > li:before, .form-group-processed-text ul.sitemap-first-level > li:before, .form-group-webform-markup ul.sitemap-first-level > li:before, .form-type-processed-text ul.sitemap-first-level > li:before, .layout-wysiwyg ul.sitemap-first-level > li:before, .ui-dialog-content ul.sitemap-first-level > li:before {
    content: ""
}

ul.sitemap-first-level > li > ul {
    border-bottom: 1px solid #bbb;
    padding-bottom: 20px
}

.page {
    --clip-padding: 60px
}

@media only screen and (min-width: 0)and (max-width: calc(1024px - 1px)) {
    .page {
        --clip-padding: 40px
    }
}

.page__content__image {
    clip-path: polygon(var(--clip-padding) var(--clip-padding), calc(100% - var(--clip-padding)) var(--clip-padding), calc(100% - var(--clip-padding)) calc(100% - var(--clip-padding)), var(--clip-padding) calc(100% - var(--clip-padding)));
    transition: clip-path .5s cubic-bezier(.34, 0, .3, 1)
}

.page__content__image--in-view {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width: 900px) {
    .node--type-content-hub .node__title {
        margin-bottom: 70px
    }
}

.node--type-content-hub .node__body {
    --lw: 1120px
}

.node--type-content-hub .node__body .layout-wysiwyg {
    margin: 0;
    max-width: 370px
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .node--type-content-hub .node__body {
        margin-bottom: 50px
    }
}

@media only screen and (min-width: 900px) {
    .node--type-content-hub .node__body {
        margin-bottom: 100px
    }
}

.nav-content:not(.calculated) .list-item:first-child:after {
    opacity: .5
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:first-child:hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:first-child:focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(2):after {
    opacity: .4
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(2):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(2):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(3):after {
    opacity: .3
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(3):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(3):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(4):after {
    opacity: .2
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(4):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(4):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(5):after {
    opacity: .1
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(5):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(5):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(6):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(6):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(6):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(7):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(7):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(7):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(8):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(8):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(8):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(9):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(9):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(9):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(10):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(10):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(10):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(11):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(11):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(11):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(12):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(12):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(12):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(13):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(13):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(13):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(14):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(14):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(14):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(15):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(15):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(15):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(16):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(16):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(16):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(17):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(17):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(17):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(18):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(18):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(18):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(19):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(19):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(19):focus:after {
    opacity: 1
}

.nav-content:not(.calculated) .list-item:nth-child(20):after {
    opacity: 0
}

@media (hover: hover) {
    .nav-content:not(.calculated) .list-item:nth-child(20):hover:after {
        opacity: 1
    }
}

.nav-content:not(.calculated) .list-item:nth-child(20):focus:after {
    opacity: 1
}

.nav-content.calculated .list-item:after {
    opacity: var(--gradient-level, .6)
}

@media (hover: hover) {
    .nav-content.calculated .list-item:hover:after {
        opacity: 1
    }
}

.nav-content.calculated .list-item:focus:after {
    opacity: 1
}

.nav-content a {
    align-items: center;
    display: flex;
    justify-content: space-between;
    position: relative;
    text-align: left;
    width: 100%
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .nav-content a {
        padding-bottom: 35px;
        padding-top: 35px
    }
}

@media only screen and (min-width: 768px) {
    .nav-content a {
        padding-bottom: 50px;
        padding-top: 50px
    }
}

.nav-content a:after {
    background: #000;
    background: var(--c-s1);
    content: "";
    height: 100%;
    left: 50%;
    opacity: .6;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    transition: opacity .2s;
    width: var(--iw, 100vw);
    z-index: -1
}

@media (hover: hover) {
    .nav-content a:hover:after {
        opacity: 1
    }
}

.nav-content a:focus:after {
    opacity: 1
}

.nav-content a .summary {
    margin-right: 40px;
    margin-top: 6px;
    max-width: 470px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .nav-content a .summary {
        font-size: 1.2rem;
        line-height: 1.6rem
    }
}

@media only screen and (min-width: 600px) {
    .nav-content a .summary {
        font-size: 1.4rem;
        line-height: 2.2rem
    }
}

.nav-content a .icon {
    flex-shrink: 0;
    margin-left: 20px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .nav-content a .icon {
        height: 20px;
        width: 30px
    }
}

@media only screen and (min-width: 768px) {
    .nav-content a .icon {
        height: 38px;
        width: 55px
    }
}

.nav-content a .icon svg {
    height: 100%;
    width: 100%
}

.page--error__title {
    margin-bottom: 15px
}

.page--error__subtitle {
    margin-bottom: 6px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .page--error__content {
        margin-bottom: 50px
    }
}

@media only screen and (min-width: 768px) {
    .page--error__content {
        margin-bottom: 100px
    }
}

.page--error__content p {
    max-width: 670px
}

.user-login-form, form.user-pass {
    border: 2px solid var(--primary-color-000);
    border-radius: 20px;
    grid-column: 5/9;
    margin: max(10vh, 60px) auto;
    max-width: 400px;
    padding: max(2vw, 40px)
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .user-login-form, form.user-pass {
        grid-column: 1/-1
    }
}

.user-login-form .form-item:not(:last-of-type), form.user-pass .form-item:not(:last-of-type) {
    margin-bottom: 30px
}

.user-login-form .form-item .item-form-label, form.user-pass .form-item .item-form-label {
    font-size: 1.6rem;
    line-height: 2rem
}

.user-login-form input:not([type=checkbox]):not([type=radio]):not([type=submit]), form.user-pass input:not([type=checkbox]):not([type=radio]):not([type=submit]) {
    background: none
}

.user-login-form .description, form.user-pass .description {
    display: none
}

.user-login-form p, form.user-pass p {
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 20px
}

.user-login-form .password-reset, form.user-pass .password-reset {
    color: var(--primary-color-000);
    display: inline-block;
    font-size: 1.2rem;
    margin-top: 20px
}

@media (hover: hover) {
    .user-login-form .password-reset:hover, form.user-pass .password-reset:hover {
        text-decoration: underline
    }
}

.webform-submission-newsletter-form {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    padding-top: 50px
}

.webform-submission-newsletter-form:before {
    background: var(--secondary-color-ch4);
    content: "";
    height: 2px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 600px) {
    .webform-submission-newsletter-form .webform-section-wrapper {
        display: grid;
        gap: 0 20px;
        grid-template-columns:1fr 1fr
    }
}

.webform-submission-newsletter-form .form-item-email, .webform-submission-newsletter-form .form-item-opt-in, .webform-submission-newsletter-form .webform-select-other {
    grid-column: 1/-1
}

.webform-submission-newsletter-form .form-item-opt-in label {
    font-weight: 400
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .webform-submission-newsletter-form .form-item-opt-in label {
        font-size: 1.2rem;
        line-height: 1.4rem;
        padding-top: 3px
    }

    .webform-submission-newsletter-form .form-item-opt-in label:after, .webform-submission-newsletter-form .form-item-opt-in label:before {
        top: -1px
    }
}

@media only screen and (min-width: 600px) {
    .webform-submission-newsletter-form .form-item-opt-in label {
        font-size: 1.4rem
    }

    .webform-submission-newsletter-form .form-item-opt-in label:after, .webform-submission-newsletter-form .form-item-opt-in label:before {
        top: 0
    }
}

.webform-submission-newsletter-form .form-item-opt-in label a {
    font-weight: 500
}

:root {
    --split-margin-top: 60px;
    --split-padding-bottom: 150px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    :root {
        --split-margin-top: 40px;
        --split-padding-bottom: 70px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(900px - 1px)) {
    .node__title {
        margin-bottom: 42px;
        margin-top: 42px
    }
}

@media only screen and (min-width: 900px) {
    .node__title {
        margin-bottom: 44px;
        margin-top: 100px
    }
}

.node__title .title {
    max-width: 670px
}

.node-platform-homepage .node__title .title {
    max-width: none
}

.node__short-description {
    max-width: 370px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node__short-description {
        margin-top: 20px
    }
}

@media only screen and (min-width: 600px) {
    .node__short-description {
        margin-top: 40px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .block-chum-back-link {
        margin-bottom: 30px;
        margin-top: 10px
    }
}

@media only screen and (min-width: 600px) {
    .block-chum-back-link {
        margin-bottom: 40px;
        margin-top: 15px
    }
}

.block-chum-back-link a {
    max-width: fit-content
}

.block-chum-back-link + .node > .media-image {
    margin-bottom: 50px
}

.block-chum-local-nav-block + .region--content .block-chum-back-link {
    margin-top: 46px
}

.block-chum-local-nav-block + .page-module-accordion {
    margin-top: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .block-chum-local-nav-block + .page-module-wysiwyg {
        margin-top: 40px
    }
}

@media only screen and (min-width: 600px) {
    .block-chum-local-nav-block + .page-module-wysiwyg {
        margin-top: 50px
    }
}

.block-chum-back-link + .node > .node__title {
    margin-top: 0
}

.node .block-chum-local-nav-block + .node__title {
    margin-top: 40px
}

.node__body {
    margin-bottom: var(--margin-around);
    margin-top: calc(var(--margin-around) / 2)
}

.node__body + .page-module--margins {
    margin-top: 0
}

.node-split__title {
    margin-bottom: 40px
}

.node-split__title .title {
    max-width: 670px
}

.node-split__title + .block-chum-local-nav-block .node-split__title {
    display: none
}

.node-split__summary a {
    text-decoration: underline
}

@media (hover: hover) {
    .node-split__summary a:hover {
        text-decoration: none
    }
}

.node-split__summary a:focus {
    text-decoration: none
}

.node-split__summary__categories {
    font-size: 1.4rem;
    line-height: 1.8rem
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-split__summary__categories {
        padding-bottom: 19px;
        padding-top: 11px
    }
}

@media only screen and (min-width: 600px) {
    .node-split__summary__categories {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 36px;
        padding-top: 22px
    }
}

.node-split__content {
    margin-top: var(--split-margin-top);
    padding-bottom: var(--split-padding-bottom)
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__content {
        display: block
    }
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-split__content > .media-image {
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

@media only screen and (min-width: 768px) {
    .node-split__content > .media-image {
        grid-column: 6/-1;
        margin-bottom: 60px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__content .node-split__secondary__inner:before {
        display: none
    }
}

@media only screen and (min-width: 768px) {
    .node-split__content .node-split__secondary {
        grid-row: 1/3
    }
}

.node-split__content .page-module--margins, .node-split__content .page-module-quotes {
    margin-top: 50px
}

.node-split__content .page-module--margins:not(:last-of-type), .node-split__content .page-module-quotes:not(:last-of-type) {
    margin-bottom: 80px
}

.node-split__content + .page-module--margins {
    margin-top: 0
}

.node-split__primary {
    grid-column: 6/-1
}

.node-split__primary .lw {
    padding-left: 0;
    padding-right: 0
}

.node-split__primary .page-module--margins {
    --margin-around: 0
}

.node-split__primary__section:not(:last-child) {
    margin-bottom: 40px
}

.node-split__primary__section .title {
    margin-bottom: .75em
}

.node-split__primary > .media-image {
    margin-bottom: 60px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__primary > .media-image:first-of-type {
        margin-left: calc(var(--lp) * -1);
        width: 100vw
    }
}

.node-split__primary > .media-image img {
    height: auto;
    width: 100%
}

.node-split__secondary {
    font-size: 1.4rem;
    line-height: 1.6rem;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__secondary {
        margin-bottom: 60px
    }
}

@media only screen and (min-width: 768px) {
    .node-split__secondary {
        grid-column: 1/6
    }
}

@media only screen and (min-width: 1200px) {
    .node-split__secondary {
        grid-column: 1/5
    }
}

.node-split__secondary__section {
    margin-bottom: 30px
}

.node-split__secondary__section > ul {
    margin-top: 14px;
    padding-left: 16px
}

.node-split__secondary__section > ul li:not(:last-child) {
    margin-bottom: 4px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__secondary__inner {
        padding-top: 40px;
        position: relative
    }
}

@media only screen and (min-width: 768px) {
    .node-split__secondary__inner {
        left: 0;
        padding-top: 50px;
        position: sticky;
        top: -1px;
        transition: transform .2s
    }
}

.node-split__secondary__inner:before {
    background: #000;
    content: "";
    height: 1px;
    left: 50%;
    left: auto;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(-50%);
    transform: none;
    width: var(--iw, 100vw);
    z-index: -1;
    z-index: 2
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__secondary__inner:before {
        right: calc(var(--lp) * -1)
    }
}

.node-health-card .section-wrapper .paragraph .node-split__secondary .page-module-accordion__title, .node-health-card .section-wrapper .paragraph .node-split__secondary .page-module-checklist__title, .node-health-card .section-wrapper .paragraph .node-split__secondary .page-module-images__title, .node-health-card .section-wrapper .paragraph .node-split__secondary .title, .node-split__secondary .font-small-title, .node-split__secondary .node-health-card .section-wrapper .paragraph .page-module-accordion__title, .node-split__secondary .node-health-card .section-wrapper .paragraph .page-module-checklist__title, .node-split__secondary .node-health-card .section-wrapper .paragraph .page-module-images__title, .node-split__secondary .node-health-card .section-wrapper .paragraph .title {
    margin-bottom: 6px
}

.node-split__secondary a:not(.btn):not(.button):not(.tile__link) {
    color: var(--primary-color-ch1);
    text-decoration: underline
}

.node-split__contact {
    position: relative
}

.node-split__contact a {
    font-weight: 500
}

.node-split__contact p {
    margin-bottom: 2px
}

.node-split__contact ul {
    display: flex;
    margin-top: 12px;
    padding: 0
}

.node-split__contact ul:only-child {
    margin-top: 20px
}

.node-split__contact ul a:not(.btn) {
    color: var(--primary-color-000)
}

.node-split__contact ul li {
    list-style: none
}

.node-split__contact ul li:not(:last-of-type) {
    margin-right: 10px
}

.node-split__contact ul a {
    color: var(--primary-color-000);
    display: block;
    height: 35px;
    width: 35px
}

@media (hover: hover) {
    .node-split__contact ul a:hover {
        color: var(--primary-color-ch1)
    }
}

.node-split__contact ul a:focus {
    color: var(--primary-color-ch1)
}

.node-split__team .paragraph--type--team-member:first-of-type {
    margin-top: 20px
}

.node-split__team .paragraph--type--team-member:not(:only-child) {
    margin-bottom: 30px
}

.node-split__location address {
    font-style: normal;
    line-height: 1.3;
    margin-bottom: 12px
}

.node-split__location address span, .node-split__location address strong {
    display: block
}

.node-split__publications ul {
    font-weight: 500;
    list-style: none;
    margin: 0;
    padding: 0
}

.node-split__action {
    margin-top: 48px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-split__download {
        margin-bottom: 40px
    }
}

@media only screen and (min-width: 600px) {
    .node-split__download {
        margin-bottom: 60px
    }
}

.node-split__download .btn, .node-split__download .button {
    margin-top: 17px
}

.node-split__assistance {
    margin-top: 40px;
    padding: 20px 20px 20px 0;
    position: relative
}

.node-split__assistance p {
    font-size: 1.2rem;
    line-height: 1.6rem
}

.node-split__assistance:after {
    background: var(--secondary-color-ch4);
    content: "";
    height: 100%;
    left: 50%;
    left: auto;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(-50%);
    transform: none;
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-split__assistance:after {
        right: calc(var(--lp) * -1)
    }
}

@media only screen and (min-width: 768px) {
    .header--sticky.header--minified.node-split--scrolled .node-split__secondary__inner {
        transform: translateY(calc(var(--header-height) - 30px))
    }

    .header--sticky.header--minified.node-split--scrolled .has-local-nav .node-split__secondary__inner {
        transform: translateY(var(--local-nav-height))
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .has-local-nav .region--content, .node--type-subsection {
        --margin-around: 40px
    }
}

@media only screen and (min-width: 768px) {
    .has-local-nav .region--content, .node--type-subsection {
        --margin-around: 80px
    }
}

.has-local-nav .region--content section.node__body:last-of-type, .has-local-nav .region--content section.page-module--margins:last-of-type, .node--type-subsection section.node__body:last-of-type, .node--type-subsection section.page-module--margins:last-of-type {
    margin-bottom: var(--split-padding-bottom)
}

.node-clinic__location, .node-clinic__schedule {
    margin-bottom: 20px
}

.node-clinic__schedule .accordion-item .accordion-item-content {
    overflow: hidden
}

.node-clinic__schedule .accordion-item.is-closed .accordion-item-content {
    height: 0
}

.office-hours {
    max-width: 220px;
    padding-bottom: 10px;
    padding-top: 10px
}

.office-hours__item {
    display: grid;
    grid-template-columns:1fr 1fr;
    padding-bottom: 4px;
    padding-top: 4px
}

.office-hours__item-label {
    font-weight: 500
}

.office-hours-status {
    align-items: center;
    color: var(--primary-color-ch1);
    display: flex;
    font-weight: 700
}

.office-hours-status--closed {
    font-style: normal
}

.office-hours-status .icon {
    height: 16px;
    margin-left: 8px;
    width: 13px
}

.office-hours-status[aria-expanded=true] .icon {
    transform: rotate(180deg)
}

.node-contact .webform-required {
    display: none
}

.node-contact .webform-submission-contact-add-form {
    padding-top: 50px
}

@media only screen and (min-width: 600px) {
    .node-contact .webform-submission-contact-add-form .fieldset-wrapper, .node-contact .webform-submission-contact-add-form .webform-section-wrapper {
        display: grid;
        gap: 0 10px;
        grid-template-columns:1fr 1fr
    }
}

.node-contact .webform-submission-contact-add-form #address-ajax-wrapper, .node-contact .webform-submission-contact-add-form .form-item-address-address-line1, .node-contact .webform-submission-contact-add-form .form-item-message, .node-contact .webform-submission-contact-add-form .form-item-preferred-contact-method, .node-contact .webform-submission-contact-add-form .form-item-subject {
    grid-column: 1/-1
}

.node-contact .webform-submission-contact-add-form #edit-address-container1, .node-contact .webform-submission-contact-add-form #edit-address-country-code {
    display: none
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-health-card .node__short-description {
        margin-bottom: 14px;
        margin-top: -20px
    }
}

@media only screen and (min-width: 600px) {
    .node-health-card .node__short-description {
        margin-bottom: 17px
    }
}

.node-health-card .node-split__summary__categories {
    padding-bottom: 0;
    padding-top: 0
}

.node-health-card__translation-notice {
    font-size: 12px;
    font-style: italic;
    margin-top: 10px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-health-card .node-split__secondary__inner:before {
        display: block
    }

    .node-health-card .page-module-other-health-cards {
        padding-bottom: 120px;
        padding-top: 70px
    }
}

@media only screen and (min-width: 768px) {
    .node-health-card .page-module-other-health-cards {
        padding-bottom: 150px;
        padding-top: 150px
    }
}

.node-health-card .anchor-nav {
    align-items: center;
    background-color: var(--secondary-color-ch4);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 4rem 0;
    padding: 2rem
}

@media only screen and (min-width: 768px) {
    .node-health-card .anchor-nav {
        flex-direction: row
    }
}

.node-health-card .anchor-nav__title {
    white-space: nowrap
}

.node-health-card .anchor-nav__selector {
    flex: 1;
    width: 100%
}

.node-health-card .anchor-nav [name=select-item] {
    background-color: transparent
}

.node-health-card .section-wrapper {
    margin-bottom: 8rem
}

.node-health-card .section-wrapper .section-wrapper__title {
    margin-bottom: 2rem
}

.node-health-card .section-wrapper .paragraph {
    margin-top: 0;
    padding-bottom: 0 !important;
    padding-top: 0
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-job-posting .node-split__secondary__inner:before {
        display: block
    }
}

.node-job-posting__details ul {
    margin-bottom: 60px;
    padding: 0
}

.node-job-posting__details ul li {
    list-style: none
}

.node-job-posting__details ul li:not(:last-child) {
    margin-bottom: 20px
}

.node-health-card .section-wrapper .paragraph .node-job-posting__details ul li .page-module-accordion__title, .node-health-card .section-wrapper .paragraph .node-job-posting__details ul li .page-module-checklist__title, .node-health-card .section-wrapper .paragraph .node-job-posting__details ul li .page-module-images__title, .node-health-card .section-wrapper .paragraph .node-job-posting__details ul li .title, .node-job-posting__details ul li .font-small-title, .node-job-posting__details ul li .node-health-card .section-wrapper .paragraph .page-module-accordion__title, .node-job-posting__details ul li .node-health-card .section-wrapper .paragraph .page-module-checklist__title, .node-job-posting__details ul li .node-health-card .section-wrapper .paragraph .page-module-images__title, .node-job-posting__details ul li .node-health-card .section-wrapper .paragraph .title {
    display: block
}

.node-news__intro {
    margin-bottom: 44px
}

.node-news__intro a:focus-visible {
    box-shadow: var(--focus-shadow, 0 0 0 2px var(--focus-outline, var(--primary-color-ch1)));
    outline: none
}

.node-news__categories {
    font-size: 1.4rem;
    line-height: 1.6rem;
    margin-bottom: 44px;
    margin-top: 24px
}

.node-news__categories .title {
    margin-bottom: 8px
}

.node-news__categories a {
    text-decoration: underline
}

@media (hover: hover) {
    .node-news__categories a:hover {
        text-decoration: none
    }
}

.node-news__categories a:focus {
    text-decoration: none
}

.node-news__time {
    font-weight: 700;
    padding-bottom: 12px;
    padding-top: 12px;
    position: relative
}

.node-news__time:before {
    top: 0
}

.node-news__time:after, .node-news__time:before {
    background: currentColor;
    content: "";
    height: 1px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

.node-news__time:after {
    bottom: 0
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-news__image {
        margin-bottom: 50px
    }
}

@media only screen and (min-width: 768px) {
    .node-news__image {
        margin-bottom: 120px
    }
}

.node-news__image img {
    height: auto;
    width: 100%
}

.node-news__image__description {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 10px
}

.node-news__image--migrated {
    margin: 0 auto 44px;
    max-width: 670px
}

@media only screen and (min-width: 0)and (max-width: calc(750px - 1px)) {
    .node-news__image--migrated .node-news__image__description {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media only screen and (min-width: 750px) {
    .node-news__image--migrated .node-news__image__description {
        margin-left: 0;
        margin-right: 0
    }
}

.node-news__content {
    position: relative
}

.node-news__content__inner {
    --lw: 670px
}

.node-news__content__inner .page-module--margins {
    margin: 0
}

.node-news__content__inner .page-module--margins:not(:first-child) {
    margin-top: 60px
}

.node-news__content__inner .page-module--margins:not(:last-child) {
    margin-bottom: 54px
}

.node-news__contribution {
    --module-secondary-color: var(--secondary-color-ch4);
    background: var(--secondary-color-ch4)
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-news__contribution {
        margin-bottom: 140px;
        margin-left: calc(var(--lp) * -1);
        margin-top: 40px;
        padding: 40px var(--lp);
        width: 100vw
    }
}

@media only screen and (min-width: 768px) {
    .node-news__contribution {
        margin-bottom: 160px;
        margin-top: 60px;
        padding: 50px
    }
}

.node-news__contribution .node-news__categories {
    margin-bottom: 0
}

.node-news__contribution__title {
    margin-bottom: 40px
}

.node-news__contribution__subtitle {
    margin-bottom: 16px
}

.node-news__contribution__researchers {
    display: grid;
    gap: 0 40px;
    grid-template-columns:repeat(4, 1fr)
}

.node-news__contribution .tile-team {
    width: 19.75%
}

.node-news__contribution .tile-team__name {
    font-size: 1.2rem
}

.node-news__contribution .tile-team__description, .node-news__contribution .tile-team__title {
    font-size: 1rem;
    margin: 0
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-news__contribution__slider {
        margin-left: calc(var(--lp) * -1);
        overflow: hidden;
        padding-left: var(--lp);
        padding-right: var(--lp);
        width: 100vw
    }
}

@media only screen and (min-width: 768px) {
    .node-news__contribution .swiper-wrapper {
        flex-wrap: wrap;
        transform: none !important
    }

    .node-news__contribution .swiper-wrapper .swiper-slide {
        margin-bottom: 20px
    }

    .node-news__contribution .swiper-wrapper .swiper-slide:nth-child(12), .node-news__contribution .swiper-wrapper .swiper-slide:nth-child(16), .node-news__contribution .swiper-wrapper .swiper-slide:nth-child(4), .node-news__contribution .swiper-wrapper .swiper-slide:nth-child(8) {
        margin-right: 0 !important
    }
}

.node-researcher__content {
    margin-top: 0
}

.node-researcher .node-split__summary {
    margin-top: -40px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-researcher .node-split__secondary__inner:before {
        display: block
    }
}

.node-researcher__field {
    margin-right: 10px
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-researcher__field {
        margin-bottom: 8px
    }
}

.node-researcher__organization:not(:last-of-type) {
    margin-bottom: 20px
}

.node-researcher__organization span {
    display: block
}

.node-researcher__organization__title {
    font-weight: 500
}

.node-researcher__picture {
    aspect-ratio: .85;
    background: var(--primary-color-ch1);
    color: var(--secondary-color-white-000);
    margin-bottom: 40px;
    overflow: hidden;
    position: relative
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .node-researcher__picture {
        margin-left: calc(var(--lp) * -1);
        overflow: hidden;
        width: 100vw
    }
}

@media only screen and (min-width: 600px)and (max-width: calc(768px - 1px)) {
    .node-researcher__picture {
        margin-left: auto;
        margin-right: auto;
        max-width: 400px
    }
}

.node-researcher__picture img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.node-researcher__picture .icon {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(1.01);
    width: 100%
}

.node-researcher__contact {
    position: relative
}

.node-researcher__contact a {
    font-weight: 500
}

.node-researcher__contact ul {
    display: flex;
    margin-top: 12px
}

.node-researcher__contact ul li {
    list-style: none
}

.node-researcher__contact ul li:not(:last-of-type) {
    margin-right: 10px
}

.node-researcher__contact ul a {
    color: var(--primary-color-000);
    display: block;
    height: 35px;
    width: 35px
}

@media (hover: hover) {
    .node-researcher__contact ul a:hover {
        color: var(--primary-color-ch1)
    }
}

.node-researcher__contact ul a:focus {
    color: var(--primary-color-ch1)
}

.node-researcher__publications a {
    display: block;
    font-weight: 500;
    margin-bottom: 3px
}

.node-researcher__news.page-module-news-slider {
    padding-top: 0
}

@media only screen and (min-width: 0)and (max-width: calc(600px - 1px)) {
    .page-module-research-fields__description, .page-module-research-fields__title {
        margin-bottom: 24px
    }
}

@media only screen and (min-width: 600px) {
    .page-module-research-fields__description, .page-module-research-fields__title {
        margin-bottom: 40px
    }
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .page-module-other-researchers {
        padding-bottom: 155px;
        padding-top: 70px
    }
}

@media only screen and (min-width: 768px) {
    .page-module-other-researchers {
        padding-bottom: 150px;
        padding-top: 150px
    }
}

.page-module-other-researchers .page-module-content-slider__intro {
    margin: 0
}

@media only screen and (min-width: 768px) {
    .page-module-other-researchers .page-module-content-slider__intro {
        grid-column: 1/10
    }
}

.page-module-other-researchers .lw {
    position: static
}

.page-module-other-researchers__top {
    align-items: center
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .page-module-other-researchers__more {
        left: 50%;
        margin-top: -110px;
        min-width: fit-content;
        position: absolute;
        top: 100%;
        transform: translateX(-50%)
    }
}

@media only screen and (min-width: 768px) {
    .page-module-other-researchers__more {
        align-items: center;
        display: flex;
        grid-column: 1/-1;
        grid-row: 1;
        justify-self: end;
        margin-left: 20px
    }

    .page-module-other-researchers__more .btn {
        margin-left: 20px
    }
}

.page-module-other-researchers__slider {
    margin-top: 40px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-room .node-split__secondary__inner:before {
        display: block
    }
}

.node-room__planning ul {
    margin-top: 14px;
    padding: 0
}

.node-room__planning ul li {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 38px;
    padding: 3px 0;
    position: relative
}

.node-room__planning ul li:nth-child(2n):after {
    background: var(--primary-color-ch2);
    content: "";
    height: 100%;
    left: 50%;
    opacity: .2;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: var(--iw, 100vw);
    z-index: -1
}

@media only screen and (min-width: 768px) {
    .node-room__planning ul li:nth-child(2n):after {
        left: auto;
        right: 0;
        transform: none
    }
}

.node-room__planning ul li span:first-child {
    align-items: center;
    display: flex
}

.node-room__planning ul li span:first-child img {
    flex-shrink: 0;
    margin-right: 14px;
    width: 40px
}

.node-room__planning ul li span:nth-child(2) {
    font-weight: 500;
    margin-left: 20px;
    text-align: right
}

@media only screen and (min-width: 768px) {
    .node-room__planning ul li span:nth-child(2) {
        margin-right: 30px
    }
}

.node-room__book {
    margin-top: 50px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .node-room__booking-form {
        margin-bottom: 60px
    }
}

@media only screen and (min-width: 768px) {
    .node-room__booking-form {
        margin-bottom: 120px
    }
}

.node-room__furniture {
    margin-top: 50px
}

.node-room__furniture:not(:last-child) {
    margin-bottom: 50px
}

@media only screen and (min-width: 0)and (max-width: calc(768px - 1px)) {
    .page-module-other-rooms {
        padding: 70px 0 130px
    }
}

@media only screen and (min-width: 768px) {
    .page-module-other-rooms {
        padding: 140px 0
    }
}
