#header .background,
#header .background_image {
    overflow-x: hidden;
}
html {scroll-behavior: smooth;}
.content-image.center_element img {
    margin-inline: auto;
}
img {
    height: auto;
    max-width: 100%;
    display: block;
    border: 0;
}
body,
form,
fieldset,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
p.active,
p.confirm {
    margin: 0;
    padding: 0;
}
a img { border-bottom: 0; }
header,
footer,
nav,
section,
aside,
article,
figure,
figcaption,
.custom,
.tableless label,
.checkbox_container span,
.radio_container span{
    display: block;
}
select,
input,
textarea {
    font-family: inherit;
    font-size: max(16px, 1em);
}
.block:not(.row) {
    overflow: hidden;
}
.invisible {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--prime);
    outline-offset: 2px;
}
textarea { min-height: 150px; }
fieldset {
    border: 0;
    margin-inline: 0;
    padding-inline: 0;
    padding-block: 0;
}
fieldset table,
input.text,
input.email,
textarea {
    width: 100%;
}
input.captcha {
    width: 50px;
}
input.checkbox,
.tableless .checkbox_container label,
.checkbox_container span.mandatory,
input.radio,
.tableless .radio_container label,
.radio_container span.mandatory,
.tableless span label,
address,
.pdf_link img,
.content-download img,
.content-downloads img,
.enclosure img {
    display: inline;
}
input.text,
input.submit,
.textarea,
textarea,
input.captcha,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}
.error,
span.mandatory {
    color: var(--second);
}
.confirm {
    color: var(--prime);
}
p.error {
    margin: 0;
    padding-top: 10px;
}
.content-download img,
.content-downloads img,
.enclosure img {
    vertical-align: top;
}
.content-downloads p,
.enclosure p,
p.error {
    padding-bottom: 0;
}
.enclosure { padding-top: 20px; }
table { border-spacing: 0; }
address { font-style: normal; }
.content-text.media { display: flow-root; }
.content-text.media--left figure,
.content-text.media--right figure {
    max-width: min(50%, 480px);
}
.content-text.media--left figure {
    float: left;
    margin: 0 var(--row-gap-x) var(--space-24) 0;
}
.content-text.media--right figure {
    float: right;
    margin: 0 0 var(--space-24) var(--row-gap-x);
}
.content-text.media.media--above figure { margin-bottom: var(--space-24); }
.content-text.media.media--below {
    display: flex;
    flex-direction: column-reverse;
}
.content-text.media.media--below figure { margin-top: var(--space-24); }
@media (max-width: 600px) {
    .content-text.media--left figure,
    .content-text.media--right figure {
        float: none;
        max-width: none;
        margin: 0 0 var(--space-24);
    }
}
.float_left { float: left; }
.float_right figure { float: right; }
.float_clear,
.center,
.clear,
#clear {
    clear: both;
}
.content-youtube,
.content-vimeo,
.content-youtube iframe,
.content-vimeo iframe {
    width: 100%;
}
.content-youtube iframe,
.content-vimeo iframe {
    height: auto;
    aspect-ratio: var(--video-ratio, 16 / 9);
    display: block;
    margin-inline: auto;
}
.content-youtube .aspect--16\:9 iframe,
.content-vimeo .aspect--16\:9 iframe {
    aspect-ratio: 16 / 9;
}
.content-youtube .aspect--16\:10 iframe,
.content-vimeo .aspect--16\:10 iframe {
    aspect-ratio: 16 / 10;
}
.content-youtube .aspect--21\:9 iframe,
.content-vimeo .aspect--21\:9 iframe {
    aspect-ratio: 21 / 9;
}
.content-youtube .aspect--4\:3 iframe,
.content-vimeo .aspect--4\:3 iframe {
    aspect-ratio: 4 / 3;
}
.content-youtube .aspect--3\:2 iframe,
.content-vimeo .aspect--3\:2 iframe {
    aspect-ratio: 3 / 2;
}
.content-youtube .aspect--9\:16 iframe,
.content-vimeo .aspect--9\:16 iframe {
    aspect-ratio: 9 / 16;
    max-width: calc(var(--video-tall-max, 80vh) * 9 / 16);
}
.content-youtube .aspect--1\:1 iframe,
.content-vimeo .aspect--1\:1 iframe {
    aspect-ratio: 1 / 1;
    max-width: var(--video-tall-max, 80vh);
}
.content-player video {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: var(--video-tall-max, 80vh);
    margin-inline: auto;
}
.content-player audio {
    display: block;
    width: 100%;
}
.content-player figure {
    margin: 0;
}
.content-player figcaption {
    margin-top: var(--space-8);
    font-size: 0.875em;
    color: var(--grey-dark);
}
.rte :is(iframe, embed, object, video),
.mod_article > :is(iframe, embed, object, video) {
    max-width: 100%;
}
.mod_article > :is(iframe, embed, object, video, .embed-fluid) {
    flex: 0 0 100%;
}
:is(.rte iframe, .mod_article > iframe):is(
    [src*="youtube.com"], [src*="youtube-nocookie.com"], [src*="youtu.be"],
    [src*="player.vimeo.com"], [src*="loom.com"], [src*="wistia.net"],
    [src*="dailymotion.com"], [src*="videopress.com"]),
.embed-fluid iframe {
    width: 100%;
    height: auto;
    aspect-ratio: var(--video-ratio, 16 / 9);
    display: block;
}
@supports (aspect-ratio: attr(width type(<number>)) / attr(height type(<number>))) {
    :is(.rte iframe, .mod_article > iframe)[width][height]:is(
        [src*="youtube.com"], [src*="youtube-nocookie.com"], [src*="youtu.be"],
        [src*="player.vimeo.com"], [src*="loom.com"], [src*="wistia.net"],
        [src*="dailymotion.com"], [src*="videopress.com"]),
    .embed-fluid iframe[width][height] {
        aspect-ratio: attr(width type(<number>), 16) / attr(height type(<number>), 9);
        max-width: calc(var(--video-tall-max, 80vh)
                        * attr(width type(<number>), 16)
                        / attr(height type(<number>), 9));
        margin-inline: auto;
    }
}
iframe { border: 0; }
:is(.ratio-1x1, .ratio-4x3, .ratio-3x2, .ratio-16x9, .ratio-21x9) img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: var(--ratio-focus, 50% 50%);
}
.ratio-1x1 img  { aspect-ratio: 1 / 1; }
.ratio-4x3 img  { aspect-ratio: 4 / 3; }
.ratio-3x2 img  { aspect-ratio: 3 / 2; }
.ratio-16x9 img { aspect-ratio: 16 / 9; }
.ratio-21x9 img { aspect-ratio: 21 / 9; }
