@charset "UTF-8";
/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta) {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}
@media only screen and (min-width:33.75em) {
  .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta) {
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta) {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}

.layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + .cta, .layout-fullwidth .password-protected .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button, .password-protected .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button {
  margin-top: -1.25rem;
  margin-bottom: 1.875rem;
}
@media only screen and (min-width:33.75em) {
  .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + .cta, .layout-fullwidth .password-protected .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button, .password-protected .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button {
    margin-top: -2.5rem;
    margin-bottom: 3.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + .cta, .layout-fullwidth .password-protected .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button, .password-protected .layout-fullwidth .blocks-wrapper__inner > :is(div, figure.fullimage, span.icon):not(.cta):not(.slideshow) + button {
    margin-top: -3.75rem;
    margin-bottom: 5rem;
  }
}

.layout-main-plus-sidebar .blocks-wrapper__inner > div, .layout-single .blocks-wrapper__inner > div {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar .blocks-wrapper__inner > div, .layout-single .blocks-wrapper__inner > div {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar .blocks-wrapper__inner > div, .layout-single .blocks-wrapper__inner > div {
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
  }
}

.page-template-default .wp-block-columns.has-background, .blocks-wrapper .logoslider,
aside.sidebar .logoslider, .blocks-wrapper .service_list,
aside.sidebar .service_list, .blocks-wrapper .brand_hero .brand_hero__inner,
aside.sidebar .brand_hero .brand_hero__inner, .pagination-block, .site-footer, .single__related_posts {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
@media only screen and (min-width:33.75em) {
  .page-template-default .wp-block-columns.has-background, .blocks-wrapper .logoslider,
aside.sidebar .logoslider, .blocks-wrapper .service_list,
aside.sidebar .service_list, .blocks-wrapper .brand_hero .brand_hero__inner,
aside.sidebar .brand_hero .brand_hero__inner, .pagination-block, .site-footer, .single__related_posts {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
@media only screen and (min-width:46.25em) {
  .page-template-default .wp-block-columns.has-background, .blocks-wrapper .logoslider,
aside.sidebar .logoslider, .blocks-wrapper .service_list,
aside.sidebar .service_list, .blocks-wrapper .brand_hero .brand_hero__inner,
aside.sidebar .brand_hero .brand_hero__inner, .pagination-block, .site-footer, .single__related_posts {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.page-template-default .wp-block-columns.has-background, .blocks-wrapper .service_list,
aside.sidebar .service_list, .blocks-wrapper .brand_hero,
aside.sidebar .brand_hero {
  position: relative;
}
.page-template-default .wp-block-columns.has-background:before, .blocks-wrapper .service_list:before,
aside.sidebar .service_list:before, .blocks-wrapper .brand_hero:before,
aside.sidebar .brand_hero:before {
  position: absolute;
  height: 100%;
  content: "";
  width: 100vw;
  left: 50%;
  top: 0;
  margin-left: -50vw;
}

.layout-fullwidth .blocks-wrapper .logoslider,
.layout-fullwidth aside.sidebar .logoslider {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper .logoslider,
.layout-fullwidth aside.sidebar .logoslider {
    margin-right: -2.5rem;
    margin-left: -2.5rem;
  }
}
@media screen and (min-width: 90rem) {
  .layout-fullwidth .blocks-wrapper .logoslider,
.layout-fullwidth aside.sidebar .logoslider {
    margin-right: calc((50vw - 45rem + 2.5rem) * -1);
    margin-left: calc((50vw - 45rem + 2.5rem) * -1);
  }
}

.layout-fullwidth .blocks-wrapper .facts + div.facts,
.layout-fullwidth aside.sidebar .facts + div.facts {
  margin-top: -1.875rem;
}
@media only screen and (min-width:33.75em) {
  .layout-fullwidth .blocks-wrapper .facts + div.facts,
.layout-fullwidth aside.sidebar .facts + div.facts {
    margin-top: -3.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper .facts + div.facts,
.layout-fullwidth aside.sidebar .facts + div.facts {
    margin-top: -5rem;
  }
}

.layout-main-plus-sidebar .blocks-wrapper .facts + div.facts, .layout-single .blocks-wrapper .facts + div.facts,
.layout-main-plus-sidebar aside.sidebar .facts + div.facts,
.layout-single aside.sidebar .facts + div.facts {
  margin-top: -1.25rem;
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar .blocks-wrapper .facts + div.facts, .layout-single .blocks-wrapper .facts + div.facts,
.layout-main-plus-sidebar aside.sidebar .facts + div.facts,
.layout-single aside.sidebar .facts + div.facts {
    margin-top: -1.875rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar .blocks-wrapper .facts + div.facts, .layout-single .blocks-wrapper .facts + div.facts,
.layout-main-plus-sidebar aside.sidebar .facts + div.facts,
.layout-single aside.sidebar .facts + div.facts {
    margin-top: -3.125rem;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.site-footer__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 90rem;
  margin: 0 auto;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
@media only screen and (min-width:46.25em) {
  .site-footer__inner {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

.page-template-default .blocks-wrapper__inner, .pagination-block, .subpagesnav-banner__inner, .site-mainnav > div:last-child:not(:first-child) > ul, .site-mainnav > div:first-child, .site-footer__socials, .password-protected, .error_404, .container {
  max-width: 90rem;
  margin: 0 auto;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media only screen and (min-width:46.25em) {
  .page-template-default .blocks-wrapper__inner, .pagination-block, .subpagesnav-banner__inner, .site-mainnav > div:last-child:not(:first-child) > ul, .site-mainnav > div:first-child, .site-footer__socials, .password-protected, .error_404, .container {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

.site-footer__inner > div {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* work-sans-300 - latin */
@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 300;
  src: url("fonts/work-sans-v9-latin-300.woff2") format("woff2"), url("fonts/work-sans-v9-latin-300.woff") format("woff");
}
/* work-sans-regular - latin */
@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/work-sans-v9-latin-regular.woff2") format("woff2"), url("fonts/work-sans-v9-latin-regular.woff") format("woff");
}
/* work-sans-500 - latin */
@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/work-sans-v9-latin-500.woff2") format("woff2"), url("fonts/work-sans-v9-latin-500.woff") format("woff");
}
/* work-sans-italic - latin */
@font-face {
  font-family: "Work Sans";
  font-style: italic;
  font-weight: 400;
  src: url("fonts/work-sans-v9-latin-italic.woff2") format("woff2"), url("fonts/work-sans-v9-latin-italic.woff") format("woff");
}
/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
/* =====================
Typography
===================== */
body {
  font-family: "Work Sans", sans-serif;
  line-height: 1.375;
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum";
}

h1,
h2 {
  font-size: 2.0625rem;
}
@media only screen and (min-width:33.75em) {
  h1,
h2 {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:46.25em) {
  h1,
h2 {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:80em) {
  h1,
h2 {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:90em) {
  h1,
h2 {
    font-size: 2.75rem;
  }
}

h3 {
  font-size: 1.5rem;
}
@media only screen and (min-width:33.75em) {
  h3 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:46.25em) {
  h3 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:80em) {
  h3 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:90em) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 1.359375rem;
}
@media only screen and (min-width:33.75em) {
  h4 {
    font-size: 1.8125rem;
  }
}
@media only screen and (min-width:46.25em) {
  h4 {
    font-size: 1.8125rem;
  }
}
@media only screen and (min-width:80em) {
  h4 {
    font-size: 1.8125rem;
  }
}
@media only screen and (min-width:90em) {
  h4 {
    font-size: 1.8125rem;
  }
}

h5 {
  font-size: 1.125rem;
}
@media only screen and (min-width:33.75em) {
  h5 {
    font-size: 1.625rem;
  }
}
@media only screen and (min-width:46.25em) {
  h5 {
    font-size: 1.625rem;
  }
}
@media only screen and (min-width:80em) {
  h5 {
    font-size: 1.625rem;
  }
}
@media only screen and (min-width:90em) {
  h5 {
    font-size: 1.625rem;
  }
}

h6 {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  h6 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  h6 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  h6 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  h6 {
    font-size: 1.375rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Work Sans", sans-serif;
  font-weight: 500;
  line-height: 1.18;
  color: var(--color-display);
  margin: 0 0 0.5em;
}
p + h1, ul + h1, :is(h2, h3, h4, h5, h6):not(.page-title) + h1,
p + h2,
ul + h2,
:is(h2, h3, h4, h5, h6):not(.page-title) + h2,
p + h3,
ul + h3,
:is(h2, h3, h4, h5, h6):not(.page-title) + h3,
p + h4,
ul + h4,
:is(h2, h3, h4, h5, h6):not(.page-title) + h4,
p + h5,
ul + h5,
:is(h2, h3, h4, h5, h6):not(.page-title) + h5,
p + h6,
ul + h6,
:is(h2, h3, h4, h5, h6):not(.page-title) + h6 {
  margin-top: 2.5rem;
}

b,
strong {
  font-weight: 500;
}

em,
i {
  font-weight: 400;
  font-style: italic;
}

p,
ul,
ol,
address,
blockquote,
dl,
figcaption,
pre,
time,
input,
details {
  margin: 0 0 1.37em 0;
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  p,
ul,
ol,
address,
blockquote,
dl,
figcaption,
pre,
time,
input,
details {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  p,
ul,
ol,
address,
blockquote,
dl,
figcaption,
pre,
time,
input,
details {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  p,
ul,
ol,
address,
blockquote,
dl,
figcaption,
pre,
time,
input,
details {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  p,
ul,
ol,
address,
blockquote,
dl,
figcaption,
pre,
time,
input,
details {
    font-size: 1.375rem;
  }
}
.layout-main-plus-sidebar p, .layout-single p, .sidebar p,
.layout-main-plus-sidebar ul,
.layout-single ul,
.sidebar ul,
.layout-main-plus-sidebar ol,
.layout-single ol,
.sidebar ol,
.layout-main-plus-sidebar address,
.layout-single address,
.sidebar address,
.layout-main-plus-sidebar blockquote,
.layout-single blockquote,
.sidebar blockquote,
.layout-main-plus-sidebar dl,
.layout-single dl,
.sidebar dl,
.layout-main-plus-sidebar figcaption,
.layout-single figcaption,
.sidebar figcaption,
.layout-main-plus-sidebar pre,
.layout-single pre,
.sidebar pre,
.layout-main-plus-sidebar time,
.layout-single time,
.sidebar time,
.layout-main-plus-sidebar input,
.layout-single input,
.sidebar input,
.layout-main-plus-sidebar details,
.layout-single details,
.sidebar details {
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar p, .layout-single p, .sidebar p,
.layout-main-plus-sidebar ul,
.layout-single ul,
.sidebar ul,
.layout-main-plus-sidebar ol,
.layout-single ol,
.sidebar ol,
.layout-main-plus-sidebar address,
.layout-single address,
.sidebar address,
.layout-main-plus-sidebar blockquote,
.layout-single blockquote,
.sidebar blockquote,
.layout-main-plus-sidebar dl,
.layout-single dl,
.sidebar dl,
.layout-main-plus-sidebar figcaption,
.layout-single figcaption,
.sidebar figcaption,
.layout-main-plus-sidebar pre,
.layout-single pre,
.sidebar pre,
.layout-main-plus-sidebar time,
.layout-single time,
.sidebar time,
.layout-main-plus-sidebar input,
.layout-single input,
.sidebar input,
.layout-main-plus-sidebar details,
.layout-single details,
.sidebar details {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar p, .layout-single p, .sidebar p,
.layout-main-plus-sidebar ul,
.layout-single ul,
.sidebar ul,
.layout-main-plus-sidebar ol,
.layout-single ol,
.sidebar ol,
.layout-main-plus-sidebar address,
.layout-single address,
.sidebar address,
.layout-main-plus-sidebar blockquote,
.layout-single blockquote,
.sidebar blockquote,
.layout-main-plus-sidebar dl,
.layout-single dl,
.sidebar dl,
.layout-main-plus-sidebar figcaption,
.layout-single figcaption,
.sidebar figcaption,
.layout-main-plus-sidebar pre,
.layout-single pre,
.sidebar pre,
.layout-main-plus-sidebar time,
.layout-single time,
.sidebar time,
.layout-main-plus-sidebar input,
.layout-single input,
.sidebar input,
.layout-main-plus-sidebar details,
.layout-single details,
.sidebar details {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar p, .layout-single p, .sidebar p,
.layout-main-plus-sidebar ul,
.layout-single ul,
.sidebar ul,
.layout-main-plus-sidebar ol,
.layout-single ol,
.sidebar ol,
.layout-main-plus-sidebar address,
.layout-single address,
.sidebar address,
.layout-main-plus-sidebar blockquote,
.layout-single blockquote,
.sidebar blockquote,
.layout-main-plus-sidebar dl,
.layout-single dl,
.sidebar dl,
.layout-main-plus-sidebar figcaption,
.layout-single figcaption,
.sidebar figcaption,
.layout-main-plus-sidebar pre,
.layout-single pre,
.sidebar pre,
.layout-main-plus-sidebar time,
.layout-single time,
.sidebar time,
.layout-main-plus-sidebar input,
.layout-single input,
.sidebar input,
.layout-main-plus-sidebar details,
.layout-single details,
.sidebar details {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .layout-main-plus-sidebar p, .layout-single p, .sidebar p,
.layout-main-plus-sidebar ul,
.layout-single ul,
.sidebar ul,
.layout-main-plus-sidebar ol,
.layout-single ol,
.sidebar ol,
.layout-main-plus-sidebar address,
.layout-single address,
.sidebar address,
.layout-main-plus-sidebar blockquote,
.layout-single blockquote,
.sidebar blockquote,
.layout-main-plus-sidebar dl,
.layout-single dl,
.sidebar dl,
.layout-main-plus-sidebar figcaption,
.layout-single figcaption,
.sidebar figcaption,
.layout-main-plus-sidebar pre,
.layout-single pre,
.sidebar pre,
.layout-main-plus-sidebar time,
.layout-single time,
.sidebar time,
.layout-main-plus-sidebar input,
.layout-single input,
.sidebar input,
.layout-main-plus-sidebar details,
.layout-single details,
.sidebar details {
    font-size: 1rem;
  }
}

ul,
ol {
  padding-left: 2.5em;
}
ul li,
ol li {
  margin: 0 0 0.75em;
}

a {
  text-decoration: underline;
  color: inherit;
}
a:hover, a:focus {
  color: currentColor;
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}

address {
  font-style: normal;
}

img {
  max-width: 100%;
  height: auto;
}
img + p,
img + ul {
  margin-top: rem-calc(20);
}

figure {
  margin: 0 0 1.37em;
}
figure picture,
figure img {
  display: block;
  transition: transform 0.2s ease-out 0s;
}
figure a {
  display: block;
}
figure a:hover img,
figure a:hover picture, figure a:focus img,
figure a:focus picture {
  transform: scale(1.02);
}
figure figcaption {
  padding-top: 0.625rem;
  margin-bottom: 0;
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  figure figcaption {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  figure figcaption {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:80em) {
  figure figcaption {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:90em) {
  figure figcaption {
    font-size: 1.125rem;
  }
}

hr {
  margin: rem-calc(15) auto;
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}
@media only screen and (min-width:33.75em) {
  hr {
    margin: rem-calc(30) auto;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
form input[type=email],
form input[type=text],
form input[type=number],
form input[type=tel],
form select,
form textarea {
  margin: 0;
  border: none;
  border-bottom: 0.0625rem solid var(--color-interaction);
  padding: 0.9375rem 0.625rem;
  font-size: 1rem;
  background: var(--color-decoration);
  outline: none;
  line-height: 1;
}
form textarea {
  line-height: 1.4;
}
form label {
  cursor: pointer;
}
form input[type=button],
form input[type=submit],
form button[type=submit] {
  margin: 0;
  padding: 0.75rem 1.25rem;
  font-size: 0.75rem;
  line-height: 1;
  background: var(--color-interaction);
  border: none;
  color: var(--color-text-invert);
  cursor: pointer;
  font-size: 1rem;
  position: relative;
}
form input[type=button]:hover, form input[type=button]:focus,
form input[type=submit]:hover,
form input[type=submit]:focus,
form button[type=submit]:hover,
form button[type=submit]:focus {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.2);
}
form input[type=checkbox] {
  cursor: pointer;
}

form .nf-form-fields-required {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
form .nf-field-label label {
  text-transform: uppercase;
  font-weight: normal;
}
form .nf-field {
  margin: 2em 0 0;
}
form .nf-error.listimage-wrap .nf-field-element ul,
form .nf-error .ninja-forms-field {
  border: none;
  border-bottom: 0.0625rem solid red;
}
form .label-above .nf-field-label {
  margin-bottom: 0.3125rem;
}

.nf-response-msg {
  background: var(--color-decoration);
  padding: 1.875rem 1.875rem 0.625rem;
}
.nf-response-msg p {
  font-weight: 500;
}

.mc4wp-form {
  max-width: 37.5rem;
}
.mc4wp-form label.checkbox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.mc4wp-form .mc4wp-form-fields input[type=email],
.mc4wp-form .mc4wp-form-fields input[type=text],
.mc4wp-form .mc4wp-form-fields input[type=number] {
  display: block;
  width: 100%;
}
.mc4wp-form .mc4wp-form-fields input[type=checkbox] {
  margin: 0 0.625rem 0 0;
}
.mc4wp-form .mc4wp-form-fields input[type=checkbox] + a {
  display: inline;
  font-size: 0.875rem;
}
.mc4wp-form .mc4wp-response > div {
  background: var(--color-decoration);
  padding: 1.25rem;
}
.mc4wp-form .mc4wp-response p {
  color: var(--color-interaction);
  font-weight: 500;
}
.mc4wp-form .mc4wp-response p:last-child {
  margin-bottom: 0;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
*,
*:before,
*:after {
  box-sizing: border-box;
}

@media only screen and (min-width:33.75em) {
  html {
    font-size: 16px;
  }
}

html,
body {
  min-height: 100%;
  background-color: var(--color-body);
  scroll-behavior: smooth;
}

:target {
  scroll-margin-top: 5.25rem;
}
@media only screen and (min-width:46.25em) {
  :target {
    scroll-margin-top: 7.8125rem;
  }
}

body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
body.no-scroll {
  overflow: hidden;
}

main {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  padding-top: 3.75rem;
  padding-bottom: 1.875rem;
  overflow: hidden;
}
body.has-fixed-sidebar:not(.has-no-sidebar) main {
  overflow: inherit;
}
@media only screen and (min-width:33.75em) {
  main {
    padding-top: 4.6875rem;
    padding-bottom: 2.5rem;
  }
}
@media only screen and (min-width:46.25em) {
  main {
    padding-bottom: 3.75rem;
  }
}

html {
  height: 100%;
}
html.js .js {
  display: block;
}
html.js .no-js {
  display: none;
}
html.no-js .js {
  display: none;
}
html.no-js .no-js {
  display: block;
}

.quicklink-anchor {
  display: block;
  width: 100%;
  height: 1px;
  position: relative;
  pointer-events: none;
  top: rem-calc(-60);
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.user-content {
  /* GALLERIES */
}
.user-content .gallery {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 3em 0 3em -0.8em;
  width: calc(100% + 1.6em);
}
.user-content .gallery-item {
  margin: 0.8em 0;
  padding: 0 0.8em;
  width: 100%;
}
.user-content .gallery-caption {
  display: block;
  margin-top: 0.8em;
}
.user-content .linked-image {
  margin: 0.3125rem 0;
}
.user-content .linked-image img {
  margin: 0;
}

.alignnone {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

.wp-caption.alignnone {
  margin: 0.3125rem 1.25rem 1.25rem;
}

.wp-caption.alignleft {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.wp-caption.alignright {
  margin: 0.3125rem 0 1.25rem 1.25rem;
}

.wp-caption img {
  width: auto;
  max-width: 98.5%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0 none;
}

/* Text meant only for screen readers. */
/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.wpml-ls-flag {
  margin-right: 0.25rem;
}

.site-footer__inner .wpml-ls-menu-item.wpml-ls-first-item:not(:first-child) {
  margin-top: 0.625rem;
}
.site-footer__inner .wpml-ls-menu-item.wpml-ls-last-item:not(:last-child) {
  margin-bottom: 0.625rem;
}

.wpml-ls-statics-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.wpml-ls-statics-footer ul li {
  padding: 0.625rem;
  margin: 0;
}

.wpml-binary-switcher li > a {
  text-transform: uppercase;
  font-size: 1.5rem;
  color: var(--color-primary);
  font-weight: 400;
  display: block;
}
.wpml-binary-switcher li > a:hover, .wpml-binary-switcher li > a:focus {
  text-decoration: none;
  transform: scale(1.05);
}
.wpml-binary-switcher .active {
  display: none;
}

body.error404 main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.error_404 {
  text-align: center;
  width: 100%;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.layout-index .page-title {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}
@media only screen and (min-width:33.75em) {
  .layout-index .page-title {
    display: none;
  }
}
@media only screen and (min-width:64em) {
  .layout-index .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (min-width:64em) {
  .layout-index .teaser-grid {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    margin-left: 0;
    margin-right: auto;
  }
}
@media only screen and (min-width:64em) {
  .layout-index .sidebar {
    padding-left: 1.25rem;
    -ms-flex-preferred-size: 41.6666666667%;
        flex-basis: 41.6666666667%;
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width:64em) {
  .layout-index.has-small-sidebar .teaser-grid {
    -ms-flex-preferred-size: 66.6666666667%;
        flex-basis: 66.6666666667%;
  }
}
@media only screen and (min-width:64em) {
  .layout-index.has-small-sidebar .sidebar {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
  }
}
@media only screen and (min-width:64em) {
  .layout-index.has-no-sidebar .teaser-grid {
    -ms-flex: 1;
        flex: 1;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.layout-main-plus-sidebar .page-title, .layout-single .page-title {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 1.5rem;
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar .page-title, .layout-single .page-title {
    font-size: 2rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar .page-title, .layout-single .page-title {
    font-size: 2rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar .page-title, .layout-single .page-title {
    font-size: 2rem;
  }
}
@media only screen and (min-width:90em) {
  .layout-main-plus-sidebar .page-title, .layout-single .page-title {
    font-size: 2rem;
  }
}
.layout-main-plus-sidebar .page-title ~ *, .layout-single .page-title ~ * {
  position: relative;
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar:not(.layout-single) .page-title, .layout-single:not(.layout-single) .page-title {
    display: none;
  }
}
@media only screen and (min-width:64em) {
  .layout-main-plus-sidebar .container, .layout-single .container {
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (min-width:64em) {
  .layout-main-plus-sidebar .container .blocks-wrapper, .layout-single .container .blocks-wrapper {
    width: 50%;
    padding-right: 0.625rem;
    margin-left: 0;
    margin-right: auto;
  }
}
@media only screen and (min-width:64em) {
  .layout-main-plus-sidebar.has-small-sidebar .container .blocks-wrapper, .has-small-sidebar.layout-single .container .blocks-wrapper {
    width: 66.6666666667%;
  }
}
@media only screen and (min-width:64em) {
  .layout-main-plus-sidebar.has-no-sidebar .container .blocks-wrapper, .has-no-sidebar.layout-single .container .blocks-wrapper {
    -ms-flex: 1;
        flex: 1;
    padding-right: 0;
  }
}
.layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner {
  display: none;
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner {
    display: block;
    margin-bottom: -7.5rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner {
    margin-bottom: -18.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner__image, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .subpagesnav-banner__image {
    width: column-calc(6);
  }
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper {
    padding-top: 1.875rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper {
    position: relative;
    overflow: visible;
    padding-top: 5rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before {
    content: "";
    position: absolute;
    width: 100vw;
    right: 50%;
    top: 1.25rem;
    height: 18.75rem;
    background: var(--color-body);
    transform: skewY(-5.7deg);
  }
}
@media only screen and (min-width:64em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before {
    right: -2.5rem;
  }
}
@media screen and (min-width: 100em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper:before {
    top: 3vw;
  }
}
.layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper__inner, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .blocks-wrapper__inner {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .sidebar, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .sidebar {
    margin-top: 10.625rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .sidebar, .layout-single:not(.page-has-children):not(.page-has-parent):not(.has-headline-top):not(.has-no-sidebar):not(.layout-single) .sidebar {
    margin-top: 21.875rem;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.layout-single .teaser-grid {
  width: 100%;
}
@media only screen and (min-width:80em) {
  .layout-single .teaser-grid {
    width: 83.3333333333%;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-single .single__related_posts .teaser-grid ul li {
    width: 50%;
  }
}
.layout-single .page-title {
  position: relative;
  color: var(--color-text);
}
.layout-single .page-title > * {
  position: relative;
  z-index: 1;
}
.layout-single .page-title .post__meta {
  display: block;
  margin-bottom: 0.2em;
}
.layout-single .page-title time,
.layout-single .page-title .post__tags {
  font-weight: 400;
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .layout-single .page-title time,
.layout-single .page-title .post__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-single .page-title time,
.layout-single .page-title .post__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-single .page-title time,
.layout-single .page-title .post__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .layout-single .page-title time,
.layout-single .page-title .post__tags {
    font-size: 1rem;
  }
}
.layout-single .page-title .post__tags:before {
  content: "|";
  display: inline-block;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  margin-left: 0.1875rem;
  margin-right: 0.1875rem;
}
.layout-single .page-title svg {
  position: absolute;
  top: -1.25rem;
  left: -1.25rem;
  z-index: 0;
  will-change: transform;
  transition: transform 0.3s ease-out 0s;
}
.layout-single .page-title svg path {
  fill: var(--color-decoration);
}
.layout-single .page-title small {
  font-size: 0.875rem;
  font-weight: 400;
  display: block;
  margin-top: 0.5em;
}
@media only screen and (min-width:33.75em) {
  .layout-single .page-title small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-single .page-title small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-single .page-title small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .layout-single .page-title small {
    font-size: 1rem;
  }
}

.single__related_posts {
  background: var(--color-decoration);
  margin-top: 2.5rem;
}
@media only screen and (min-width:33.75em) {
  .single__related_posts {
    margin-top: 3.75rem;
  }
}
.single__related_posts .teaser svg path {
  fill: var(--color-highlight-area);
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.single__related_posts .teaser > b:before {
  background-color: var(--color-decoration);
}
.single__related_posts .teaser .teaser__thumbnail {
  opacity: 0.37;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=37)";
}
.single__related_posts .teaser .teaser__thumbnail svg:last-of-type {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.single__related_posts + .site-footer {
  margin-top: 0;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.password-protected {
  text-align: center;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
.password-protected form {
  margin: 2.5rem auto;
  display: -ms-grid;
  display: grid;
  max-width: 31.25rem;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-grid-rows: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
  -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
  row-gap: 0.625rem;
  column-gap: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .password-protected form {
    -ms-grid-columns: 2fr 1fr;
        grid-template-columns: 2fr 1fr;
  }
}
.password-protected label {
  display: none;
}
.password-protected input,
.password-protected button {
  display: block;
  margin: 0;
  font-size: 1.25rem;
}
.password-protected input {
  padding: 0.625rem;
  border-radius: 0;
  border: 1px solid var(--color-interaction);
}
/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.sidebar {
  margin-top: 3.125rem;
}
@media only screen and (min-width:46.25em) {
  .sidebar {
    margin-top: 0;
  }
}
.sidebar > *:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media only screen and (min-width:64em) {
  .sidebar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 41.6666666667%;
    padding-left: 0.625rem;
    margin-right: 0;
    margin-left: auto;
  }
  .has-small-sidebar .sidebar {
    width: 25%;
  }
}
@media only screen and (min-width:64em) {
  .has-fixed-sidebar .sidebar {
    position: sticky;
    top: 7.8125rem;
  }
}

picture {
  display: block;
}
picture img {
  display: block;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.site-header {
  height: 5rem;
}
@media only screen and (min-width:33.75em) {
  .site-header {
    height: 6.25rem;
  }
}

.site-header__inner {
  background: var(--color-header);
  /*position: fixed;*/
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
}
.layout-fullwidth .site-header__inner {
  background: var(--color-decoration);
}
@media only screen and (min-width:33.75em) {
  .site-header__inner {
    height: 6.25rem;
  }
}
.site-header__inner > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: justify;
      justify-content: space-between;
  position: relative;
}

.site-header__groupnav {
  position: relative;
  z-index: 7;
}
.is-login-widget-open .site-header__groupnav {
  z-index: 1;
}

.site-header__navigation-wrapper {
  position: relative;
  z-index: 6;
}

.site-scrollspy {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 12.5rem;
}

.site-skiplinks {
  position: absolute;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-skiplinks li {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.site-skiplinks a {
  font-weight: 500;
  position: absolute;
  top: -31.25rem;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  left: 0;
  display: block;
  width: 100%;
  padding: 1.25rem;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-text-invert);
  outline: none;
  background: var(--color-interaction);
  font-size: 1.03125rem;
}
@media only screen and (min-width:33.75em) {
  .site-skiplinks a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-skiplinks a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .site-skiplinks a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .site-skiplinks a {
    font-size: 1.375rem;
  }
}
.site-skiplinks a:focus {
  top: 0;
}

.site-header__page-title {
  display: none;
  position: absolute;
  top: 0;
  padding: 1.25rem;
  left: 12.5rem;
  height: 6.25rem;
  right: 8.125rem;
  font-weight: 500;
  -ms-flex-align: center;
      align-items: center;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  will-change: opacity;
  transition: opacity 0.3s ease-out 0s;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.groupnav {
  display: -ms-flexbox;
  display: flex;
  margin-left: -1.25rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: -1rem;
  max-width: 20rem;
  overflow: visible;
  position: relative;
  -ms-flex-direction: column;
      flex-direction: column;
}
@media only screen and (min-width:33.75em) {
  .groupnav {
    -ms-flex-direction: row;
        flex-direction: row;
    margin-left: -2.5rem;
    margin-bottom: -1.125rem;
    max-width: none;
  }
}
.groupnav ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.groupnav ul li {
  height: 100%;
  margin: 0;
}
.groupnav img {
  margin: auto;
  position: relative;
  z-index: 2;
}
.groupnav a {
  position: relative;
  text-decoration: none;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  overflow: hidden;
  margin-right: 0.125rem;
}
.groupnav a:hover, .groupnav a:focus {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.groupnav a:hover img,
.groupnav a:hover b, .groupnav a:focus img,
.groupnav a:focus b {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transition-delay: 0s !important;
}
.groupnav a:after {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  position: absolute;
  content: "";
  border-top: 0.8125rem solid var(--color-primary);
  border-left: 0.8125rem solid transparent;
  right: 0.625rem;
  top: 1.5625rem;
  will-change: opacity, transform;
  transform: translateY(20%);
  transition: all 0.2s ease-out 0s;
}
@media only screen and (min-width:33.75em) {
  .groupnav a:after {
    top: 0.625rem;
  }
}
.groupnav a > span {
  display: block;
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transition: transform 0.2s ease-out 0s;
  will-change: transform;
  bottom: 0;
}
.groupnav a > span:before {
  position: absolute;
  width: 200%;
  background: var(--color-highlight-area);
  height: 100%;
  content: "";
  left: 0;
  top: 0;
  transform-origin: 0 0;
  transform: perspective(300px) rotateY(20deg);
  transition: transform 0.5s ease-out 0s;
  will-change: transform;
}
@media only screen and (min-width:33.75em) {
  .groupnav a > span:before {
    transform: perspective(300px) rotateY(9deg);
  }
}
.groupnav a > i {
  height: 0;
  width: 0;
  overflow: hidden;
  display: block;
}
.groupnav a > b {
  font-weight: 400;
  font-size: 0.625rem;
  color: rgba(0, 0, 0, 0.5);
  display: none;
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .groupnav a > b {
    display: block;
  }
}
.groupnav.is-open a span {
  transform: none;
}
.groupnav.is-open a img,
.groupnav.is-open a > b {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.groupnav.is-open li:nth-child(1) img,
.groupnav.is-open li:nth-child(1) b {
  transition-delay: 0.2s;
}
.groupnav.is-open li:nth-child(1) a > span {
  transition-delay: 0.15s;
}
.groupnav.is-open li:nth-child(2) img,
.groupnav.is-open li:nth-child(2) b {
  transition-delay: 0.35s;
}
.groupnav.is-open li:nth-child(2) a > span {
  transition-delay: 0.3s;
}
.groupnav.is-open li:nth-child(3) img,
.groupnav.is-open li:nth-child(3) b {
  transition-delay: 0.5s;
}
.groupnav.is-open li:nth-child(3) a > span {
  transition-delay: 0.45s;
}
.groupnav.is-open li:nth-child(4) img,
.groupnav.is-open li:nth-child(4) b {
  transition-delay: 0.65s;
}
.groupnav.is-open li:nth-child(4) a > span {
  transition-delay: 0.6s;
}
.groupnav.is-open-fully a span {
  pointer-events: all;
}

.groupnav__brand {
  margin: 0;
}
.groupnav__brand a {
  width: 8.125rem;
  height: 5.9375rem;
  will-change: height;
  transition: height 0.2s ease-out 0s;
  pointer-events: none;
}
@media (hover: hover) {
  .groupnav__brand a {
    pointer-events: all;
  }
}
@media only screen and (min-width:33.75em) {
  .groupnav__brand a {
    width: 12.5rem;
    height: 11.0625rem;
  }
}
.groupnav__brand a b {
  top: -0.1875rem;
}
.groupnav__brand img {
  height: auto;
  width: 5rem;
  max-height: 5rem;
  -o-object-fit: contain;
     object-fit: contain;
  top: -0.625rem;
}
@media only screen and (min-width:33.75em) {
  .groupnav__brand img {
    width: 7.5rem;
    max-height: 7.5rem;
  }
}
@media only screen and (min-width:33.75em) {
  .is-scrolled .groupnav:not(.is-open) .groupnav__brand a {
    height: 7rem;
  }
}

.groupnav__entries {
  pointer-events: none;
  z-index: -1;
  height: 0;
  overflow: hidden;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries {
    display: -ms-flexbox;
    display: flex;
    height: auto;
    overflow: visible;
    z-index: 1;
  }
}
.is-open .groupnav__entries {
  height: auto;
  overflow: visible;
  pointer-events: all;
  z-index: 1;
}
.groupnav__entries a {
  padding: 2.5rem 0 2.5rem;
  margin-top: -2.5rem;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: grayscale(1);
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries a {
    padding: 0;
    margin-top: 0;
    width: 7.5rem;
  }
}
.groupnav__entries a > span {
  transform: translateX(-100%);
}
.groupnav__entries a:hover, .groupnav__entries a:focus {
  filter: none;
}
.groupnav__entries a:hover > span:before, .groupnav__entries a:focus > span:before {
  transform: translateY(10%) perspective(300px) rotateY(9deg);
}
.groupnav__entries a:hover:after, .groupnav__entries a:focus:after {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: none;
}
.groupnav__entries img {
  height: auto;
  width: 5rem;
  max-height: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  top: 0;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: opacity 0.2s ease-out 0s;
  will-change: opacity;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries img {
    top: -0.9375rem;
  }
}
.groupnav__entries b {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  top: -0.625rem;
  transition: opacity 0.2s ease-out 0s;
  will-change: opacity;
}
.groupnav__entries li:nth-child(1) img,
.groupnav__entries li:nth-child(1) b {
  transition-delay: 0.55s;
}
.groupnav__entries li:nth-child(1) a > span {
  transition-delay: 0.6s;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries li:nth-child(1) a > span:before {
    top: -11%;
  }
}
.groupnav__entries li:nth-child(2) img,
.groupnav__entries li:nth-child(2) b {
  transition-delay: 0.4s;
}
.groupnav__entries li:nth-child(2) a > span {
  transition-delay: 0.45s;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries li:nth-child(2) a > span:before {
    top: -17.5%;
  }
}
.groupnav__entries li:nth-child(3) img,
.groupnav__entries li:nth-child(3) b {
  transition-delay: 0.25s;
}
.groupnav__entries li:nth-child(3) a > span {
  transition-delay: 0.3s;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries li:nth-child(3) a > span:before {
    top: -24%;
  }
}
.groupnav__entries li:nth-child(4) img,
.groupnav__entries li:nth-child(4) b {
  transition-delay: 0.1s;
}
.groupnav__entries li:nth-child(4) a > span {
  transition-delay: 0.15s;
}
@media only screen and (min-width:33.75em) {
  .groupnav__entries li:nth-child(4) a > span:before {
    top: -30.5%;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.site-footer {
  background: var(--color-footer);
}
@media only screen and (max-width: 33.6875em) {
  .site-footer {
    padding-top: 2.5rem;
  }
}

.site-footer__inner > div {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media only screen and (min-width:46.25em) {
  .site-footer__inner > div {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
@media only screen and (min-width:80em) {
  .site-footer__inner > div {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    -ms-flex-positive: 1;
        flex-grow: 1;
  }
}
@media only screen and (min-width:80em) {
  .site-footer__inner > div:first-child, .site-footer__inner > div:last-child {
    -ms-flex-positive: 0;
        flex-grow: 0;
  }
}
.site-footer__inner picture {
  display: block;
  margin-bottom: 1.5625rem;
  max-width: 18.75rem;
}
.site-footer__inner p,
.site-footer__inner ul,
.site-footer__inner ol {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .site-footer__inner p,
.site-footer__inner ul,
.site-footer__inner ol {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-footer__inner p,
.site-footer__inner ul,
.site-footer__inner ol {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:80em) {
  .site-footer__inner p,
.site-footer__inner ul,
.site-footer__inner ol {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:90em) {
  .site-footer__inner p,
.site-footer__inner ul,
.site-footer__inner ol {
    font-size: 1.25rem;
  }
}
.site-footer__inner p {
  font-weight: 300;
}
.site-footer__inner p a {
  text-decoration: none;
}
.site-footer__inner p a:hover, .site-footer__inner p a:focus {
  text-decoration: underline;
}

.site-footer__totop {
  position: fixed;
  z-index: 20;
  bottom: 1.25rem;
  right: 1.25rem;
  background: var(--color-interaction);
  height: 2.5rem;
  width: 2.5rem;
  display: none;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  border: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  will-change: opacity;
  transition: all 0.2s ease-out 0s;
}
.site-footer__totop:hover, .site-footer__totop:focus {
  transform: scale(1.05);
}
@media only screen and (min-width:33.75em) {
  .site-footer__totop {
    display: -ms-flexbox;
    display: flex;
  }
  .is-scrolled .site-footer__totop {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}
.site-footer__totop:after {
  content: "↑";
  color: var(--color-text-invert);
  font-size: 1.25rem;
}
.site-footer__totop > span {
  height: 0;
  width: 0;
  display: block;
  overflow: hidden;
}

.otgs-development-site-front-end {
  display: none !important;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
body.is-nav-open {
  overflow: hidden;
}

.site-navigation {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-align: center;
      align-items: center;
  height: 5rem;
}
@media only screen and (min-width:33.75em) {
  .site-navigation {
    height: 6.25rem;
  }
}
.site-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-navigation ul li {
  margin: 0;
  font-size: 1.125rem;
}
@media only screen and (min-width:33.75em) {
  .site-navigation ul li {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-navigation ul li {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .site-navigation ul li {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .site-navigation ul li {
    font-size: 1.375rem;
  }
}
.site-navigation a {
  text-decoration: none;
  color: var(--color-text);
  font-weight: 500;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}
.site-navigation a:hover, .site-navigation a:focus {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  text-decoration: underline;
}
.site-navigation nav {
  position: fixed;
  top: 5rem;
  left: 0;
  width: 100%;
  height: calc(100% - 5rem);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  pointer-events: none;
}
.site-navigation nav:before {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  content: "";
  left: 0;
  background: var(--color-body);
  transform-origin: 50% 0;
  transform: rotateX(-90deg);
  will-change: transform, opacity;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: all 0.3s ease-out 0s;
}
.is-nav-open .site-navigation nav:before {
  transform: none;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.is-nav-open .site-navigation nav {
  pointer-events: all;
}
@media only screen and (min-width:33.75em) {
  .site-navigation nav {
    top: 6.25rem;
    height: calc(100% - 6.25rem);
  }
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat {
    -ms-flex-direction: row;
        flex-direction: row;
  }
}
.site-navigation.is-flat ul li {
  font-size: 1.125rem;
}
@media only screen and (min-width:33.75em) {
  .site-navigation.is-flat ul li {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-navigation.is-flat ul li {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat ul li {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:90em) {
  .site-navigation.is-flat ul li {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-navigation.is-flat ul li a {
    white-space: nowrap;
  }
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat nav {
    pointer-events: all;
    position: static;
    width: auto;
    height: auto;
    display: block;
  }
}
.site-navigation .site-navigation__toggle {
  -ms-flex-order: 5;
      order: 5;
}
.site-navigation .login-widget {
  -ms-flex-order: 3;
      order: 3;
}
.site-navigation .wpml-binary-switcher {
  -ms-flex-order: 4;
      order: 4;
  z-index: 1;
  margin-right: 1.25rem;
  margin-left: -0.625rem;
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat .login-widget {
    margin-right: 0;
  }
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat .wpml-binary-switcher {
    margin-left: 1.25rem;
    margin-right: 0;
  }
}
@media only screen and (min-width:80em) {
  .site-navigation.is-flat .wpml-binary-switcher a {
    padding: 0.25rem 0.4375rem;
    margin: -0.25rem -0.4375rem;
    background: var(--color-highlight-area);
  }
  .site-navigation.is-flat .wpml-binary-switcher a:hover, .site-navigation.is-flat .wpml-binary-switcher a:focus {
    background: var(--color-primary);
    color: var(--color-highlight-area);
  }
}

.site-metanav {
  list-style: none;
  padding: 0;
}
.site-metanav li {
  margin: 0;
  font-weight: 300;
}
.site-metanav a {
  text-decoration: none;
}
.site-metanav a:hover, .site-metanav a:focus {
  text-decoration: underline;
}

.site-mainnav {
  width: 100%;
  height: 100%;
  -ms-flex-direction: column;
      flex-direction: column;
  padding-top: 2.5rem;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  z-index: -1;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width:33.75em) {
  .site-mainnav {
    padding-top: 7.5rem;
  }
}
.is-nav-open .site-mainnav {
  z-index: 10;
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav {
    display: block;
    background: none;
    padding: 0;
    z-index: 1;
  }
}
.site-mainnav > div {
  width: 100%;
  position: relative;
  -ms-flex: 1;
      flex: 1;
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav > div:first-child {
    padding: 0;
  }
}
.site-mainnav > div:last-child:not(:first-child) {
  margin-bottom: 0;
  margin-top: auto;
  -ms-flex: 0;
      flex: 0;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background: var(--color-header);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  will-change: opacity;
  transition: opacity 0s ease-out 0s;
}
.is-nav-open .site-mainnav > div:last-child:not(:first-child) {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transition-delay: 0.3s;
  transition-duration: 0.5s;
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav > div:last-child:not(:first-child) {
    display: none;
  }
}
@media only screen and (min-width:46.25em) {
  .site-mainnav .items__level-1 {
    column-count: 2;
    column-gap: 2.5rem;
  }
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav .items__level-1 {
    display: -ms-flexbox;
    display: flex;
    column-gap: 1.25rem;
  }
}
.site-mainnav .item__level-1 {
  padding-bottom: 1.25rem;
  margin-bottom: 0;
  transition: all 0s ease-out 0s;
  transform: translateX(-10%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  will-change: transform, opacity;
}
@media only screen and (min-width:33.75em) {
  .site-mainnav .item__level-1 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width:46.25em) {
  .site-mainnav .item__level-1 {
    break-inside: avoid;
    padding-bottom: 1.875rem;
  }
}
.is-nav-open .site-mainnav .item__level-1 {
  transform: none;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transition-duration: 0.2s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(1) {
  transition-delay: 0.3s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(2) {
  transition-delay: 0.4s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(3) {
  transition-delay: 0.5s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(4) {
  transition-delay: 0.6s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(5) {
  transition-delay: 0.7s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(6) {
  transition-delay: 0.8s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(7) {
  transition-delay: 0.9s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(8) {
  transition-delay: 1s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(9) {
  transition-delay: 1.1s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(10) {
  transition-delay: 1.2s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(11) {
  transition-delay: 1.3s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(12) {
  transition-delay: 1.4s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(13) {
  transition-delay: 1.5s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(14) {
  transition-delay: 1.6s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(15) {
  transition-delay: 1.7s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(16) {
  transition-delay: 1.8s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(17) {
  transition-delay: 1.9s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(18) {
  transition-delay: 2s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(19) {
  transition-delay: 2.1s;
}
.is-nav-open .site-mainnav .item__level-1:nth-child(20) {
  transition-delay: 2.2s;
}
@media only screen and (min-width:33.75em) {
  .is-flat .site-mainnav .item__level-1 {
    display: block;
  }
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav .item__level-1 {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    padding-bottom: 0;
    transform: none;
  }
}
@media only screen and (min-width:80em) {
  .is-flat .site-mainnav .item__level-1 a {
    color: var(--color-display);
  }
}
@media only screen and (min-width:33.75em) {
  .site-mainnav .item__level-1 > a {
    text-align: right;
    padding-right: 1.875rem;
  }
}
@media only screen and (min-width:33.75em) {
  .is-flat .site-mainnav .item__level-1 > a {
    padding-right: 0;
  }
}
.site-mainnav .item__level-1.current-menu-item > a, .site-mainnav .item__level-1.current_page_ancestor > a {
  text-decoration: underline;
}
@media only screen and (min-width:46.25em) {
  .is-flat .site-mainnav .item__level-1.current-menu-item > a, .is-flat .site-mainnav .item__level-1.current_page_ancestor > a {
    text-decoration: none;
    color: black;
  }
}
.site-mainnav .item__level-2 a {
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 300;
  color: var(--color-display);
}
@media only screen and (min-width:33.75em) {
  .site-mainnav .item__level-2 a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-mainnav .item__level-2 a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .site-mainnav .item__level-2 a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .site-mainnav .item__level-2 a {
    font-size: 1rem;
  }
}
.site-mainnav .item__level-2 a:hover, .site-mainnav .item__level-2 a:focus {
  text-decoration: underline;
}
.site-mainnav .item__level-2.current-menu-item a {
  color: black;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  text-decoration: underline;
}
.site-mainnav .site-metanav {
  display: -ms-flexbox;
  display: flex;
  column-gap: 1.25rem;
}
.site-mainnav .site-metanav a {
  text-decoration: none;
  font-weight: 400;
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .site-mainnav .site-metanav a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .site-mainnav .site-metanav a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .site-mainnav .site-metanav a {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .site-mainnav .site-metanav a {
    font-size: 1rem;
  }
}
.site-mainnav .site-metanav a:hover, .site-mainnav .site-metanav a:focus {
  text-decoration: underline;
}

.site-navigation__toggle {
  display: block;
  position: relative;
  z-index: 20;
  color: var(--color-primary);
  width: 2.5rem;
  height: 1.5625rem;
  cursor: pointer;
  transition: transform 0.4s ease-out 0s;
  border: none;
  outline: none !important;
  background: transparent;
}
@media only screen and (min-width:80em) {
  .is-flat .site-navigation__toggle {
    display: none;
  }
}
.site-navigation__toggle:before, .site-navigation__toggle:after,
.site-navigation__toggle span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  transition: all 0.2s ease-out 0s;
  background: currentColor;
  will-change: transform, background-color;
}
.site-navigation__toggle span {
  top: calc(50% - 1px);
  text-indent: -1000rem;
}
.site-navigation__toggle:before {
  top: 0;
}
.site-navigation__toggle:after {
  bottom: 0;
  transform-origin: 100% 0;
}
.is-nav-open .site-navigation__toggle span {
  opacity: 0 !important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.is-nav-open .site-navigation__toggle:before {
  top: 48%;
  transform: rotate(45deg);
}
.is-nav-open .site-navigation__toggle:after {
  top: 48%;
  transform: rotate(-45deg);
  transform-origin: center;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.teaser-grid ul {
  list-style: none;
  padding: 0;
  margin: -0.625rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width:46.25em) {
  .teaser-grid ul {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
}
.teaser-grid ul li {
  padding: 0.625rem;
  width: 100%;
}
@media only screen and (min-width:46.25em) {
  .teaser-grid ul li {
    width: 50%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .layout-main-plus-sidebar .teaser-grid ul li, .layout-single .teaser-grid ul li, .layout-index.has-linear-teaser .teaser-grid ul li, .wp-block-columns .teaser-grid ul li {
    width: 100%;
  }
  .layout-main-plus-sidebar .teaser-grid ul li a, .layout-single .teaser-grid ul li a, .layout-index.has-linear-teaser .teaser-grid ul li a, .wp-block-columns .teaser-grid ul li a {
    max-width: 40rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar .blocks-wrapper .teaser-grid ul li, .layout-single .blocks-wrapper .teaser-grid ul li {
    width: 50%;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar .blocks-wrapper .wp-block-columns .teaser-grid ul li, .layout-single .blocks-wrapper .wp-block-columns .teaser-grid ul li {
    width: 100%;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.teaser {
  display: block;
  text-decoration: none;
  position: relative;
  padding: 1rem 0 0 0;
}
.layout-main-plus-sidebar .sidebar .teaser, .layout-single .sidebar .teaser {
  max-width: none;
}
.teaser:hover, .teaser:focus {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.teaser:hover svg, .teaser:focus svg {
  transform: scale(1.1);
}
.teaser:hover > b:after, .teaser:hover > b:before, .teaser:focus > b:after, .teaser:focus > b:before {
  transform: scale(1.2);
}
.teaser > * {
  position: relative;
}
.teaser > svg {
  position: absolute;
  top: 0;
  left: -0.875rem;
  will-change: transform;
  transition: transform 0.3s ease-out 0s;
  transform-origin: 0 0;
  z-index: 0;
}
@media only screen and (min-width:33.75em) {
  .teaser > svg {
    left: -1.25rem;
  }
}
.teaser > svg path {
  fill: var(--color-decoration);
}
.teaser h4 {
  font-size: 1.125rem;
  position: relative;
  z-index: 2;
  color: var(--color-text);
}
@media only screen and (min-width:33.75em) {
  .teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .teaser h4 {
    font-size: 1.375rem;
  }
}
.teaser h4 small {
  font-size: 0.875rem;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  font-weight: normal;
}
@media only screen and (min-width:33.75em) {
  .teaser h4 small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .teaser h4 small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .teaser h4 small {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .teaser h4 small {
    font-size: 1rem;
  }
}
.teaser time,
.teaser p,
.teaser > b {
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .teaser time,
.teaser p,
.teaser > b {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .teaser time,
.teaser p,
.teaser > b {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .teaser time,
.teaser p,
.teaser > b {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .teaser time,
.teaser p,
.teaser > b {
    font-size: 1rem;
  }
}
.teaser > b {
  font-weight: normal;
  color: var(--color-primary);
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 1.875rem;
  margin-right: 0;
  margin-left: auto;
  z-index: 2;
}
@media only screen and (min-width:46.25em) {
  .teaser > b {
    margin-right: 1.25rem;
  }
}
.teaser > b:before, .teaser > b:after {
  position: absolute;
  right: 0;
  top: 0.1875rem;
  height: 1.125rem;
  width: 1.125rem;
  content: "";
  will-change: transform;
  transition: transform 0.3s ease-out 0s;
}
.teaser > b:after {
  background: currentColor;
  mix-blend-mode: lighten;
}
.teaser > b:before {
  background: url("img/arrow-right-up.svg") no-repeat center var(--color-body);
  background-size: contain;
}
.teaser .teaser__meta,
.teaser .teaser__excerpt {
  position: relative;
  z-index: 3;
}
.teaser .teaser__tags {
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .teaser .teaser__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .teaser .teaser__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .teaser .teaser__tags {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .teaser .teaser__tags {
    font-size: 1rem;
  }
}
.teaser .teaser__tags:before {
  content: "|";
  display: inline-block;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  margin-left: 0.1875rem;
  margin-right: 0.1875rem;
}
.teaser .teaser__thumbnail {
  margin: 0;
  position: absolute;
  top: 0;
  z-index: 0;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  mix-blend-mode: darken;
  background: white;
  width: 12.5rem;
  height: 12.5rem;
  left: -0.875rem;
}
@media only screen and (min-width:33.75em) {
  .teaser .teaser__thumbnail {
    left: -1.25rem;
  }
}
.teaser .teaser__thumbnail svg,
.teaser .teaser__thumbnail picture {
  position: absolute;
  left: 0;
  top: 0;
}
.teaser .teaser__thumbnail picture {
  mix-blend-mode: lighten;
  z-index: 1;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  filter: grayscale(1) brightness(1.2);
}
.teaser .teaser__thumbnail svg {
  will-change: transform;
  transition: transform 0.3s ease-out 0s;
  transform-origin: 0 0;
}
.teaser .teaser__thumbnail svg path {
  fill: var(--color-decoration);
}
.teaser .teaser__thumbnail svg:first-of-type {
  z-index: 0;
}
.teaser .teaser__thumbnail svg:first-of-type path {
  fill: black;
}
.teaser .teaser__thumbnail svg:last-of-type {
  z-index: 2;
  opacity: 0.75;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.subpagesnav-banner {
  background: var(--color-decoration);
  overflow: hidden;
  display: none;
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner {
    display: block;
  }
}

.subpagesnav-banner__inner {
  display: -ms-flexbox;
  display: flex;
}

.subpagesnav-banner__nav {
  padding: 5rem 0 2.1875rem;
  position: relative;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__nav {
    width: 66.6666666667%;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__nav {
    width: 50%;
  }
}
.subpagesnav-banner__nav > div {
  display: -ms-grid;
  display: grid;
  width: 100%;
  -ms-grid-columns: minmax(min-content, max-content) minmax(12.5rem, 1fr);
      grid-template-columns: minmax(min-content, max-content) minmax(12.5rem, 1fr);
  gap: 1.25rem;
}
body:not(.page-has-children):not(.page-has-parent):not(.layout-index):not(.has-headline-top):not(.layout-single) .subpagesnav-banner__nav > div {
  display: none;
}
.subpagesnav-banner__nav h2 {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  margin: 0;
}
.subpagesnav-banner__nav h2 a {
  font-size: 1.125rem;
  text-decoration: none;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  transform: translateY(-50%);
  top: 50%;
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner__nav h2 a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__nav h2 a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__nav h2 a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .subpagesnav-banner__nav h2 a {
    font-size: 1.375rem;
  }
}
.subpagesnav-banner__nav h2 a:after {
  content: "";
  height: 0.0625rem;
  background: #979797;
  width: 2.5rem;
  margin-left: 1.25rem;
}
.has-no-children .subpagesnav-banner__nav h2 a:after {
  display: none;
}
body.has-headline-top .subpagesnav-banner__nav h2 a:after {
  display: none;
}
.has-no-children .subpagesnav-banner__nav h2 {
  font-size: 1.5rem;
}
@media only screen and (min-width:33.75em) {
  .has-no-children .subpagesnav-banner__nav h2 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:46.25em) {
  .has-no-children .subpagesnav-banner__nav h2 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:80em) {
  .has-no-children .subpagesnav-banner__nav h2 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:90em) {
  .has-no-children .subpagesnav-banner__nav h2 {
    font-size: 2rem;
  }
}
.subpagesnav-banner__nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.js .subpagesnav-banner__nav ul {
  position: relative;
}
.subpagesnav-banner__nav ul li {
  padding: 0.25em 0;
  margin: 0;
  line-height: 1;
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner__nav ul li {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__nav ul li {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__nav ul li {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .subpagesnav-banner__nav ul li {
    font-size: 1rem;
  }
}
.subpagesnav-banner__nav ul a {
  color: var(--color-interaction);
  text-decoration: none;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}
.subpagesnav-banner__nav ul .current a {
  color: var(--color-text);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  font-size: 1.171875rem;
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner__nav ul .current a {
    font-size: 1.5625rem;
  }
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__nav ul .current a {
    font-size: 1.5625rem;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__nav ul .current a {
    font-size: 1.5625rem;
  }
}
@media only screen and (min-width:90em) {
  .subpagesnav-banner__nav ul .current a {
    font-size: 1.5625rem;
  }
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner__nav {
    padding-top: 6.25rem;
    padding-bottom: 4.375rem;
  }
}

.subpagesnav-banner__image {
  position: relative;
  z-index: 0;
  display: none;
  background: var(--color-decoration);
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__image {
    display: block;
    min-height: 12.5rem;
    width: 41.6666666667%;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__image {
    min-height: 18.75rem;
    width: 50%;
  }
}
.subpagesnav-banner__image > div {
  position: absolute;
  overflow: hidden;
  height: 100%;
  left: 0;
  right: 0;
  background: var(--color-decoration);
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__image > div {
    right: -29%;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__image > div {
    left: -5%;
    right: -23%;
  }
}
.subpagesnav-banner__image > div > div {
  background: white;
  mix-blend-mode: darken;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.subpagesnav-banner__image svg {
  display: block;
  height: 200%;
  top: -25%;
  width: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
}
.subpagesnav-banner__image svg path:nth-child(1) {
  fill: var(--color-overlay-1);
}
.subpagesnav-banner__image svg path:nth-child(2) {
  fill: var(--color-overlay-2);
}
.subpagesnav-banner__image svg path:nth-child(3) {
  fill: var(--color-overlay-3);
}
.banner-has-image .subpagesnav-banner__image svg.mask {
  z-index: 0;
}
.banner-has-image .subpagesnav-banner__image svg.mask path {
  fill: black !important;
}
.banner-has-image .subpagesnav-banner__image svg.overlay {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.banner-has-image .subpagesnav-banner__image picture {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.3" /><feFuncG type="linear" slope="1.3" /><feFuncB type="linear" slope="1.3" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" intercept="-0.09999999999999998" /><feFuncG type="linear" slope="1.2" intercept="-0.09999999999999998" /><feFuncB type="linear" slope="1.2" intercept="-0.09999999999999998" /></feComponentTransfer></filter></svg>#filter');
  filter: grayscale(1) brightness(1.3) contrast(1.2);
  mix-blend-mode: lighten;
  z-index: 1;
  position: absolute;
  height: 105%;
  right: 0;
  width: 100%;
}
.banner-has-image .subpagesnav-banner__image img {
  height: 100%;
  display: block;
  width: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
.subpagesnav-banner__image .caption {
  position: absolute;
  z-index: 10;
  right: 0;
  max-width: 80%;
  color: var(--color-text-invert);
  bottom: 0.625rem;
  font-size: 0.6875rem;
}
@media only screen and (min-width:33.75em) {
  .subpagesnav-banner__image .caption {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .subpagesnav-banner__image .caption {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width:80em) {
  .subpagesnav-banner__image .caption {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width:90em) {
  .subpagesnav-banner__image .caption {
    font-size: 0.8125rem;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.pagination-block ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pagination-block ul:before {
  content: "";
  background: #979797;
  height: 0.0625rem;
  width: 2.8125rem;
  margin-right: 1.25rem;
  display: none;
  margin-top: 1rem;
}
@media only screen and (min-width:46.25em) {
  .pagination-block ul:before {
    display: block;
  }
}
.pagination-block li {
  margin-bottom: 0.3125rem;
}
.pagination-block span,
.pagination-block a,
.pagination-block button {
  line-height: 1;
  display: block;
  text-decoration: none;
  color: var(--color-text);
  font-size: 0.875rem;
  border: none;
  min-width: 1.25rem;
  padding: 0.625rem 0.625rem;
  text-align: center;
  background: transparent;
}
.pagination-block span.current,
.pagination-block a.current,
.pagination-block button.current {
  background: var(--color-header);
}
.pagination-block a:hover, .pagination-block a:focus,
.pagination-block button:hover,
.pagination-block button:focus {
  background: var(--color-footer);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.pagination-block .btn.disabled {
  display: none;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.login-widget {
  margin: auto 0.625rem;
}
@media only screen and (min-width:33.75em) {
  .login-widget {
    position: relative;
  }
  .is-login-widget-open .login-widget {
    z-index: 2;
  }
}

.login-widget__link,
.login-widget__toggle {
  border: none;
  background: none;
  -webkit-appearance: none;
  position: relative;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0 1.25rem;
  outline: none;
}
.login-widget__link:hover, .login-widget__link:focus,
.login-widget__toggle:hover,
.login-widget__toggle:focus {
  transform: scale(1.05);
}
.login-widget__link svg,
.login-widget__toggle svg {
  height: 1.875rem;
  width: 1.875rem;
}
.login-widget__link svg path,
.login-widget__toggle svg path {
  fill: var(--color-primary);
}

.login-widget__overlay {
  position: absolute;
  top: 0;
  right: -1.25rem;
  width: 100vw;
  max-width: 16.875rem;
  background: var(--color-highlight-area);
  padding: 1.25rem;
  display: none;
}
.is-login-widget-open .login-widget__overlay {
  display: block;
}
.is-nav-open .login-widget__overlay {
  display: none !important;
}
@media only screen and (min-width:33.75em) {
  .login-widget__overlay {
    top: -0.9375rem;
    right: 0;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
.login-widget__overlay .cta, .login-widget__overlay .password-protected button, .password-protected .login-widget__overlay button {
  margin-left: 0;
}
.login-widget__overlay h3 {
  font-size: 1.25rem;
  margin-top: 0.5rem;
  margin-bottom: 2.5rem;
}
@media only screen and (min-width:33.75em) {
  .login-widget__overlay h3 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .login-widget__overlay h3 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .login-widget__overlay h3 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .login-widget__overlay h3 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:33.75em) {
  .login-widget__overlay h3 {
    margin-top: 0;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.socials {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: auto -0.3125rem 0;
  padding: 1.25rem 0 0;
  list-style: none;
}
@media only screen and (min-width:46.25em) {
  .socials {
    position: relative;
    top: 2.6875rem;
  }
}
.socials li {
  padding: 0.3125rem;
  margin: 0;
}
.socials a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  background: var(--color-interaction);
  width: 1.5rem;
  height: 1.5rem;
}
.socials a:hover, .socials a:focus {
  background: var(--color-text);
  opacity: inherit;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)";
}
.socials a > span:first-child {
  display: block;
  height: 0;
  width: 0;
  overflow: hidden;
}
.socials a > span:last-child {
  display: block;
  height: 60%;
  width: 60%;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  filter: invert(1);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.socials a > span:last-child[data-icon=facebook] {
  background-image: url("img/social-icons/facebook.svg");
}
.socials a > span:last-child[data-icon=twitter] {
  background-image: url("img/social-icons/twitter.svg");
}
.socials a > span:last-child[data-icon=linkedin] {
  background-image: url("img/social-icons/linkedin.svg");
}
.socials a > span:last-child[data-icon=xing] {
  background-image: url("img/social-icons/xing.svg");
}
.socials a > span:last-child[data-icon=vimeo] {
  background-image: url("img/social-icons/vimeo.svg");
}
.socials a > span:last-child[data-icon=youtube] {
  background-image: url("img/social-icons/youtube.svg");
}
.socials a > span:last-child[data-icon=instagram] {
  background-image: url("img/social-icons/instagram.svg");
}
.socials a > span:last-child[data-icon=diefondsplattform] {
  background-image: url("img/social-icons/diefondsplattform.png");
}
@media only screen and (min-width:46.25em) {
  .socials a {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.person__teaser {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  position: relative;
  max-width: 31.25rem;
}
@media only screen and (min-width:33.75em) {
  .person__teaser {
    padding: 1.25rem;
  }
}
@media only screen and (min-width:33.75em) {
  .sidebar .person__teaser {
    padding: 0;
  }
}
.person__teaser > a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 5;
}
.person__teaser > a:hover, .person__teaser > a:focus {
  background: rgba(255, 255, 255, 0.5);
  mix-blend-mode: lighten;
}
.person__teaser svg {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  max-width: 75%;
  height: auto;
}
@media only screen and (min-width:64em) {
  .sidebar .person__teaser svg {
    bottom: 0.625rem;
  }
}
.person__teaser svg path {
  fill: var(--color-decoration);
}
@media only screen and (min-width:46.25em) {
  .person__teaser svg {
    bottom: 2.5rem;
    left: 2.5rem;
  }
}
.person__teaser article,
.person__teaser picture {
  width: 50%;
  position: relative;
  z-index: 1;
}
.person__teaser picture {
  display: block;
  padding-right: 1.25rem;
}
@media only screen and (min-width:64em) {
  .sidebar .person__teaser picture {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
  }
}
.person__teaser picture img {
  width: 100%;
  max-width: 12.5rem;
  will-change: transform;
}
.person__teaser h4 {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .person__teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .person__teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .person__teaser h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .person__teaser h4 {
    font-size: 1.375rem;
  }
}
.sidebar .person__teaser h4 {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .sidebar .person__teaser h4 {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .sidebar .person__teaser h4 {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:80em) {
  .sidebar .person__teaser h4 {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:90em) {
  .sidebar .person__teaser h4 {
    font-size: 1.125rem;
  }
}
.person__teaser p {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media only screen and (min-width:33.75em) {
  .person__teaser p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .person__teaser p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .person__teaser p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .person__teaser p {
    font-size: 1rem;
  }
}
.sidebar .person__teaser p {
  font-size: 0.875rem;
}
.person__teaser p:last-child {
  margin-bottom: 0;
}
.person__teaser h4,
.person__teaser p {
  grid-column: 2/3;
  margin-bottom: 0.625rem;
}
.person__teaser.use-grayscale img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: grayscale(1);
}

.person__full__meta {
  position: relative;
  margin-top: 0 !important;
}
@media only screen and (min-width:46.25em) {
  .person__full__meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    -ms-flex-align: center;
        align-items: center;
    margin-right: 1.25rem;
  }
}
.person__full__meta > div,
.person__full__meta picture {
  position: relative;
  z-index: 1;
}
.person__full__meta > div {
  -ms-flex: 1;
      flex: 1;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.person__full__meta > div > *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width:33.75em) {
  .person__full__meta > div {
    padding-left: 5%;
  }
}
@media only screen and (min-width:80em) {
  .person__full__meta > div {
    padding-left: 20%;
  }
}
.person__full__meta picture {
  display: block;
  width: 13.75rem;
  margin: -1.875rem auto 0;
}
@media only screen and (min-width:46.25em) {
  .person__full__meta picture {
    margin-top: -3.125rem;
  }
}
.person__full__meta svg {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
}
.person__full__meta svg path {
  fill: var(--color-decoration);
}
.person__full__meta.use-grayscale img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: grayscale(1);
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.filter {
  width: 100%;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .filter {
    margin-bottom: 2.5rem;
  }
}
.filter ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
}
.filter ul li {
  margin: 0 0 0.2em;
  padding-right: 0.4em;
  font-size: 0.875rem;
}
.filter ul li:not(:last-child):after {
  content: "|";
}
.filter a {
  text-decoration: none;
  display: inline-block;
}
.filter .active a {
  text-decoration: underline;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.cmp > .cmp-banner {
  display: none;
}
body.cmp-banner-is-shown:not(.cmp-consent-dismissed) .cmp > .cmp-banner {
  display: block;
}

.cmp-banner {
  position: fixed;
  z-index: 20;
  right: 0;
  bottom: -0.625rem;
  width: 100%;
  max-width: 28.125rem;
  box-shadow: -1.25rem -1.25rem 3.125rem rgba(0, 0, 0, 0.15);
}

.cmp-banner__inner {
  position: relative;
  padding: 1.25rem;
  background: var(--color-body);
}
@media only screen and (min-width:33.75em) {
  .cmp-banner__inner {
    padding: 2.5rem;
  }
}
.cmp-banner__inner p {
  font-size: 0.875rem;
}

.cmp-banner__buttons {
  display: -ms-flexbox;
  display: flex;
  margin-right: -0.3125rem;
  margin-left: -0.3125rem;
}
.cmp-banner__buttons > button {
  margin: 0.625rem 0.3125rem;
  border: none;
  color: var(--color-text-invert);
  background: var(--color-interaction);
  padding: 0.375rem 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .cmp-banner__buttons > button {
    padding: 0.625rem 1.25rem;
  }
}
.cmp-banner__buttons > button:last-child {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.cmp-banner__buttons > button:hover, .cmp-banner__buttons > button:focus {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.9" /><feFuncG type="linear" slope="0.9" /><feFuncB type="linear" slope="0.9" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(0.9);
}

.cmp-inline__inner h1,
.cmp-inline__inner h2,
.cmp-inline__inner h3,
.cmp-inline__inner h4,
.cmp-inline__inner h5,
.cmp-inline__inner h6 {
  color: var(--color-primary);
  margin-top: 2.5rem;
}
@media only screen and (min-width:80em) {
  .cmp-inline__inner {
    width: column-calc(9);
    margin-left: column-calc(1);
  }
}
@media only screen and (min-width:90em) {
  .cmp-inline__inner {
    width: column-calc(8);
  }
}

.cmp-ui-toggle {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  cursor: pointer;
  line-height: 1.1;
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .cmp-ui-toggle {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .cmp-ui-toggle {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .cmp-ui-toggle {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .cmp-ui-toggle {
    font-size: 1rem;
  }
}
.cmp-ui-toggle > span {
  border: 0.125rem solid var(--color-primary);
  width: 3.125rem;
  height: 1.625rem;
  margin-right: 0.625rem;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  border-radius: 0.9375rem;
}
.cmp-ui-toggle > span:after {
  content: "";
  height: 1.125rem;
  width: 1.125rem;
  border: 0.125rem solid var(--color-primary);
  border-radius: 50%;
  position: absolute;
  top: 0.125rem;
  left: 0.1875rem;
  transition: all 0.2s ease-out 0s;
  background-color: transparent;
  will-change: background-color, transform;
}
.cmp-ui-toggle input[type=checkbox] {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  position: absolute;
}
.cmp-ui-toggle input[type=checkbox]:checked ~ span {
  background: var(--color-interaction-gradient-start);
  border-color: var(--color-interaction-gradient-start);
}
.cmp-ui-toggle input[type=checkbox]:checked ~ span:after {
  background: var(--color-highlight-area);
  border-color: var(--color-highlight-area);
  transform: translateX(120%);
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.filterbar {
  margin-bottom: 2.5rem;
}
.filterbar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filterbar ul li {
  margin: 0 0 0.25em;
}
.filterbar > ul {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: minmax(min-content, 1fr);
  grid-auto-flow: column;
  gap: 1.25rem;
}
.filterbar > ul > li {
  position: relative;
  padding-top: 0.625rem;
}
@media only screen and (min-width:80em) {
  .filterbar > ul > li {
    padding-right: 0.625rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .filterbar > ul, .layout-main-plus-sidebar.has-no-sidebar .filterbar > ul, .has-no-sidebar.layout-single .filterbar > ul {
    grid-auto-flow: row;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .filterbar > ul > li, .layout-main-plus-sidebar.has-no-sidebar .filterbar > ul > li, .has-no-sidebar.layout-single .filterbar > ul > li {
    padding-left: 0.625rem;
    padding-right: 0;
  }
}
.filterbar label,
.filterbar button {
  position: relative;
  color: var(--color-text);
  display: block;
  font-size: 1rem;
}
.filterbar label {
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 0.5em;
}
.filterbar button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.filterbar button svg {
  display: none;
  position: absolute;
  left: -1em;
  top: 0.375rem;
  height: 0.75rem;
  width: 0.75rem;
}
.filterbar button svg path {
  fill: var(--color-primary);
}
.filterbar button:hover {
  text-decoration: underline;
}
.filterbar button.selected {
  text-decoration: underline;
}
.filterbar button.selected svg {
  display: block;
}

.filtered-list.is-filtered > li:not(.match) {
  display: none;
}
.filtered-list .no-results-msg {
  display: none;
}
@media only screen and (min-width:33.75em) {
  .filtered-list .no-results-msg {
    padding: 1.25rem;
  }
}
.filtered-list.has-no-results .no-results-msg {
  display: block !important;
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.cta, .password-protected button {
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.875rem auto;
}
.cta.align--left, .password-protected button.align--left {
  margin-left: 0;
}
.cta.align--right, .password-protected button.align--right {
  margin-right: 0;
}
.cta > button, .password-protected button > button,
.cta > a,
.password-protected button > a {
  text-decoration: none !important;
  transition: transform 0.25s ease-out 0s;
  will-change: transform;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
  display: block;
  position: relative;
  font-weight: 500;
  color: var(--color-text-invert);
  background: var(--color-interaction);
  padding: 0.75rem 1.25rem;
  transition: opacity 0.2s ease-out 0s;
  will-change: opacity;
  min-width: 12.5rem;
  text-align: center;
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:33.75em) {
  .cta > button > span, .password-protected button > button > span,
.cta > a > span,
.password-protected button > a > span {
    padding: 1.125rem 1.5625rem;
  }
}
.cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
  font-size: 0.875rem;
  padding: 0.4375rem 0.625rem;
}
@media only screen and (min-width:33.75em) {
  .cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
    font-size: 1rem;
  }
}
@media only screen and (min-width:33.75em) {
  .cta.small > button > span, .password-protected button.small > button > span,
.cta.small > a > span,
.password-protected button.small > a > span, body:not(.layout-fullwidth) .cta > button > span, body:not(.layout-fullwidth) .password-protected button > button > span, .password-protected body:not(.layout-fullwidth) button > button > span,
body:not(.layout-fullwidth) .cta > a > span,
body:not(.layout-fullwidth) .password-protected button > a > span,
.password-protected body:not(.layout-fullwidth) button > a > span {
    padding: 0.625rem 0.9375rem;
  }
}
.cta > button:before, .password-protected button > button:before,
.cta > a:before,
.password-protected button > a:before {
  position: absolute;
  content: "";
  transform: rotate(-4deg);
  top: 0;
  bottom: 0;
  left: 0.9375rem;
  right: 0.9375rem;
  transition: transform 0.15s ease-out 0s;
  will-change: transform;
  background-image: linear-gradient(196deg, var(--color-interaction-gradient-start) 2%, var(--color-interaction-gradient-end) 100%);
}
.cta > a:hover, .password-protected button > a:hover,
.cta > a:focus,
.password-protected button > a:focus,
.cta > button:hover,
.password-protected button > button:hover,
.cta > button:focus,
.password-protected button > button:focus {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.cta > a:hover > span, .password-protected button > a:hover > span,
.cta > a:focus > span,
.password-protected button > a:focus > span,
.cta > button:hover > span,
.password-protected button > button:hover > span,
.cta > button:focus > span,
.password-protected button > button:focus > span {
  color: var(--color-text-invert);
}
.cta > a:hover:before, .password-protected button > a:hover:before,
.cta > a:focus:before,
.password-protected button > a:focus:before,
.cta > button:hover:before,
.password-protected button > button:hover:before,
.cta > button:focus:before,
.password-protected button > button:focus:before {
  transform: rotate(0);
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
@font-face {
  font-family: "swiper-icons";
  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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

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

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

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-direction: column;
      flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

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

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

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  -ms-flex-align: start;
      align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

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

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

@media only screen and (min-width:80em) {
  body .blocks-wrapper .brand_hero,
body aside.sidebar .brand_hero {
    padding-left: 0;
    padding-right: 0;
  }
}
.blocks-wrapper .brand_hero:first-child,
aside.sidebar .brand_hero:first-child {
  margin-top: -3.75rem !important;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .brand_hero:first-child,
aside.sidebar .brand_hero:first-child {
    margin-top: -4.6875rem !important;
  }
}
.blocks-wrapper .brand_hero:before,
aside.sidebar .brand_hero:before {
  background: var(--color-decoration);
}
.blocks-wrapper .brand_hero .brand_hero__inner,
aside.sidebar .brand_hero .brand_hero__inner {
  position: relative;
  display: -ms-grid;
  display: grid;
  grid-row-gap: 1.25rem;
  -ms-grid-rows: auto auto;
      grid-template-rows: auto auto;
  will-change: transform;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__inner,
aside.sidebar .brand_hero .brand_hero__inner {
    -ms-grid-rows: auto;
        grid-template-rows: auto;
    -ms-flex-align: center;
        align-items: center;
    grid-column-gap: 1.25rem;
    -ms-grid-columns: 5fr 7fr;
        grid-template-columns: 5fr 7fr;
  }
}
.blocks-wrapper .brand_hero .brand_hero__inner:after,
aside.sidebar .brand_hero .brand_hero__inner:after {
  position: absolute;
  content: "";
  background: var(--color-body);
  bottom: 0;
  width: calc(50% + 1.25rem);
  left: -1.25rem;
  height: 3.75rem;
  transform: skewY(-9deg) translateY(50%);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__inner:after,
aside.sidebar .brand_hero .brand_hero__inner:after {
    width: 41.6666666667%;
    left: -2.5rem;
    transform: skewY(-5.7deg) translateY(51%);
  }
}
.blocks-wrapper .brand_hero .brand_hero__image,
aside.sidebar .brand_hero .brand_hero__image {
  width: 18.125rem;
  height: auto;
  display: block;
  margin: 0 auto 1.875rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__image,
aside.sidebar .brand_hero .brand_hero__image {
    width: calc(100% - 5rem);
    max-width: 25rem;
    margin: 1.25rem auto 1.25rem 0;
    grid-area: 1/1/2/2;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .brand_hero .brand_hero__image,
aside.sidebar .brand_hero .brand_hero__image {
    margin: 1.875rem auto 1.875rem 2.5rem;
  }
}
.blocks-wrapper .brand_hero .brand_hero__image svg,
aside.sidebar .brand_hero .brand_hero__image svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
  transform-style: flat !important;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__image svg.wider-s,
aside.sidebar .brand_hero .brand_hero__image svg.wider-s {
    width: 110%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__image svg.wider, .blocks-wrapper .brand_hero .brand_hero__image svg.wider-m,
aside.sidebar .brand_hero .brand_hero__image svg.wider,
aside.sidebar .brand_hero .brand_hero__image svg.wider-m {
    width: 120%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__image svg.wider-l,
aside.sidebar .brand_hero .brand_hero__image svg.wider-l {
    width: 130%;
  }
}
.blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
  color: var(--color-primary);
  font-weight: 500;
  margin: 0;
  text-align: center;
  line-height: 1.375;
  grid-area: 1/1/2/2;
  transition: opacity 0.2s ease-out 0s;
  will-change: opacity;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  font-size: 1.8125rem;
}
.blocks-wrapper .brand_hero p:not(:first-of-type),
aside.sidebar .brand_hero p:not(:first-of-type) {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.blocks-wrapper .brand_hero p.active,
aside.sidebar .brand_hero p.active {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.blocks-wrapper .brand_hero p.inactive,
aside.sidebar .brand_hero p.inactive {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    margin-top: 3.75rem;
    margin-bottom: 3.75rem;
    text-align: left;
    grid-area: 1/2/2/3;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .brand_hero p,
aside.sidebar .brand_hero p {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
.blocks-wrapper .brand_hero .brand_hero__navigation,
aside.sidebar .brand_hero .brand_hero__navigation {
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0 0 55%;
  margin: 0 -0.4375rem -3.75rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__navigation,
aside.sidebar .brand_hero .brand_hero__navigation {
    grid-area: 2/2/3/3;
    padding-left: 0;
  }
}
.blocks-wrapper .brand_hero .brand_hero__navigation li,
aside.sidebar .brand_hero .brand_hero__navigation li {
  text-indent: -1000em;
  overflow: hidden;
  cursor: pointer;
  display: block;
  height: 0.9375rem;
  width: 0.9375rem;
  margin: 0 0.25rem;
  border: 1px solid var(--color-highlight-area);
  background: var(--color-highlight-area);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .brand_hero .brand_hero__navigation li,
aside.sidebar .brand_hero .brand_hero__navigation li {
    height: 1.5625rem;
    width: 1.5625rem;
    margin: 0 0.4375rem;
  }
}
.blocks-wrapper .brand_hero .brand_hero__navigation li.active,
aside.sidebar .brand_hero .brand_hero__navigation li.active {
  border-color: var(--color-interaction);
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  background: transparent;
}
.blocks-wrapper .fullimage,
aside.sidebar .fullimage {
  margin-bottom: 0;
}
@media only screen and (min-width:80em) {
  body .blocks-wrapper .fullimage,
body aside.sidebar .fullimage {
    padding-left: 0;
    padding-right: 0;
  }
}
.blocks-wrapper .fullimage .fullimage__inner,
aside.sidebar .fullimage .fullimage__inner {
  position: relative;
  overflow: hidden;
}
.layout-fullwidth .blocks-wrapper .fullimage .fullimage__inner,
.layout-fullwidth aside.sidebar .fullimage .fullimage__inner {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper .fullimage .fullimage__inner,
.layout-fullwidth aside.sidebar .fullimage .fullimage__inner {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
}
.blocks-wrapper .fullimage.has-deco-overlay picture,
aside.sidebar .fullimage.has-deco-overlay picture {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.24" /><feFuncG type="linear" slope="1.24" /><feFuncB type="linear" slope="1.24" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.08" intercept="-0.040000000000000036" /><feFuncG type="linear" slope="1.08" intercept="-0.040000000000000036" /><feFuncB type="linear" slope="1.08" intercept="-0.040000000000000036" /></feComponentTransfer></filter></svg>#filter');
  filter: grayscale(1) brightness(1.24) contrast(1.08);
  mix-blend-mode: lighten;
  z-index: 1;
  position: relative;
}
.blocks-wrapper .fullimage svg,
aside.sidebar .fullimage svg {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
  min-height: 25rem;
}
.blocks-wrapper .fullimage svg:first-of-type,
aside.sidebar .fullimage svg:first-of-type {
  z-index: 0;
}
.blocks-wrapper .fullimage svg:last-of-type,
aside.sidebar .fullimage svg:last-of-type {
  z-index: 2;
}
.blocks-wrapper .fullimage svg:last-of-type path:nth-child(1),
aside.sidebar .fullimage svg:last-of-type path:nth-child(1) {
  fill: var(--color-overlay-1);
}
.blocks-wrapper .fullimage svg:last-of-type path:nth-child(2),
aside.sidebar .fullimage svg:last-of-type path:nth-child(2) {
  fill: var(--color-overlay-2);
}
.blocks-wrapper .fullimage svg:last-of-type path:nth-child(3),
aside.sidebar .fullimage svg:last-of-type path:nth-child(3) {
  fill: var(--color-overlay-3);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .fullimage svg,
aside.sidebar .fullimage svg {
    min-height: 50rem;
  }
}
.blocks-wrapper .fullimage.format--wide svg,
aside.sidebar .fullimage.format--wide svg {
  top: 75%;
}
.blocks-wrapper .fullimage figcaption,
aside.sidebar .fullimage figcaption {
  text-align: center;
}
.blocks-wrapper .icon,
aside.sidebar .icon {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: 8.75rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .icon,
aside.sidebar .icon {
    height: 11.25rem;
  }
}
.blocks-wrapper .icon svg,
aside.sidebar .icon svg {
  height: 100%;
  width: 100%;
}
.blocks-wrapper .icon svg circle[stroke^="#"],
.blocks-wrapper .icon svg rect[stroke^="#"],
.blocks-wrapper .icon svg polygon[stroke^="#"],
.blocks-wrapper .icon svg path[stroke^="#"],
.blocks-wrapper .icon svg g[stroke^="#"],
aside.sidebar .icon svg circle[stroke^="#"],
aside.sidebar .icon svg rect[stroke^="#"],
aside.sidebar .icon svg polygon[stroke^="#"],
aside.sidebar .icon svg path[stroke^="#"],
aside.sidebar .icon svg g[stroke^="#"] {
  stroke: var(--color-interaction);
}
.blocks-wrapper .icon svg circle[fill^="#"],
.blocks-wrapper .icon svg rect[fill^="#"],
.blocks-wrapper .icon svg polygon[fill^="#"],
.blocks-wrapper .icon svg path[fill^="#"],
.blocks-wrapper .icon svg g[fill^="#"],
aside.sidebar .icon svg circle[fill^="#"],
aside.sidebar .icon svg rect[fill^="#"],
aside.sidebar .icon svg polygon[fill^="#"],
aside.sidebar .icon svg path[fill^="#"],
aside.sidebar .icon svg g[fill^="#"] {
  fill: var(--color-interaction);
}
.blocks-wrapper .infoboxes ul,
aside.sidebar .infoboxes ul {
  list-style-type: none;
  padding: 0;
}
.blocks-wrapper .infoboxes .infoboxes__entries.only-one-box,
aside.sidebar .infoboxes .infoboxes__entries.only-one-box {
  background: var(--color-highlight-area);
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .infoboxes .infoboxes__entries.only-one-box,
aside.sidebar .infoboxes .infoboxes__entries.only-one-box {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .infoboxes .infoboxes__entries,
aside.sidebar .infoboxes .infoboxes__entries {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.25rem;
  }
}
.blocks-wrapper .infoboxes .infoboxes__entries li,
aside.sidebar .infoboxes .infoboxes__entries li {
  margin: 0;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .infoboxes .infoboxes__entries li,
aside.sidebar .infoboxes .infoboxes__entries li {
    -ms-flex-preferred-size: calc(50% - 0.625rem);
        flex-basis: calc(50% - 0.625rem);
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    max-width: 66.6666666667%;
  }
}
.blocks-wrapper .infoboxes .infoboxes__entries li > div,
aside.sidebar .infoboxes .infoboxes__entries li > div {
  height: 100%;
}
.blocks-wrapper .infobox,
aside.sidebar .infobox {
  background: var(--color-highlight-area);
  padding: 1.25rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 0fr 1fr;
      grid-template-columns: 0fr 1fr;
}
.blocks-wrapper .infobox.has-image,
aside.sidebar .infobox.has-image {
  -ms-grid-columns: auto 1fr;
      grid-template-columns: auto 1fr;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .infobox,
aside.sidebar .infobox {
    padding: 1.875rem;
  }
}
.blocks-wrapper .infobox p,
aside.sidebar .infobox p {
  font-size: 0.875rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .infobox p,
aside.sidebar .infobox p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .infobox p,
aside.sidebar .infobox p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .infobox p,
aside.sidebar .infobox p {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .infobox p,
aside.sidebar .infobox p {
    font-size: 1rem;
  }
}
.blocks-wrapper .infobox h6,
.blocks-wrapper .infobox p,
aside.sidebar .infobox h6,
aside.sidebar .infobox p {
  grid-column: 2/3;
}
.blocks-wrapper .infobox > div,
aside.sidebar .infobox > div {
  grid-column: 1/3;
  margin: 1.25rem auto 0;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .infobox > div,
aside.sidebar .infobox > div {
    margin-left: 0;
    grid-column: 2/3;
  }
}
.blocks-wrapper .infobox picture,
aside.sidebar .infobox picture {
  display: block;
  width: 5rem;
  grid-row: 1/4;
  margin-right: 0.625rem;
}
.blocks-wrapper .infobox picture img,
aside.sidebar .infobox picture img {
  width: 100%;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .infobox picture,
aside.sidebar .infobox picture {
    margin-right: 1.25rem;
    grid-column: 1/2;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .infobox picture,
aside.sidebar .infobox picture {
    width: 10rem;
  }
}
.layout-main-plus-sidebar:not(.has-no-sidebar) .blocks-wrapper .infobox picture, .layout-single:not(.has-no-sidebar) .blocks-wrapper .infobox picture,
.layout-main-plus-sidebar:not(.has-no-sidebar) aside.sidebar .infobox picture,
.layout-single:not(.has-no-sidebar) aside.sidebar .infobox picture {
  max-width: 5rem;
}
@media only screen and (min-width:80em) {
  body .blocks-wrapper .service_list,
body aside.sidebar .service_list {
    padding-left: 0;
    padding-right: 0;
  }
}
.blocks-wrapper .service_list:before,
aside.sidebar .service_list:before {
  background: var(--color-highlight-area);
}
.blocks-wrapper .service_list .headline,
.blocks-wrapper .service_list ul,
aside.sidebar .service_list .headline,
aside.sidebar .service_list ul {
  position: relative;
}
.blocks-wrapper .service_list .headline,
aside.sidebar .service_list .headline {
  text-align: center;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .service_list .headline,
aside.sidebar .service_list .headline {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
.blocks-wrapper .service_list ul,
aside.sidebar .service_list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.blocks-wrapper .service_list li,
aside.sidebar .service_list li {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 14.1875rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .service_list li,
aside.sidebar .service_list li {
    -ms-flex-preferred-size: 33%;
        flex-basis: 33%;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .service_list li,
aside.sidebar .service_list li {
    -ms-flex-preferred-size: 24%;
        flex-basis: 24%;
  }
}
.blocks-wrapper .service_list li a,
aside.sidebar .service_list li a {
  display: block;
  text-decoration: none;
  position: relative;
  margin: auto;
}
.blocks-wrapper .service_list li a > span,
aside.sidebar .service_list li a > span {
  width: 100%;
  aspect-ratio: 1/1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}
.blocks-wrapper .service_list li a > span > span:first-child,
aside.sidebar .service_list li a > span > span:first-child {
  margin-top: auto;
  margin-bottom: 0.625rem;
}
.blocks-wrapper .service_list li a > span > span.title,
aside.sidebar .service_list li a > span > span.title {
  margin-bottom: auto;
  text-align: center;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: calc(14 / 320 * 100vw);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .service_list li a > span > span.title,
aside.sidebar .service_list li a > span > span.title {
    font-size: calc(14 / 768 * 100vw);
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .service_list li a > span > span.title,
aside.sidebar .service_list li a > span > span.title {
    font-size: calc(17 / 1440px * 100vw);
  }
}
@media screen and (min-width: 90rem) {
  .blocks-wrapper .service_list li a > span > span.title,
aside.sidebar .service_list li a > span > span.title {
    font-size: 1.0625rem;
  }
}
.blocks-wrapper .service_list li a > span br,
aside.sidebar .service_list li a > span br {
  display: none;
}
.blocks-wrapper .service_list li a:hover, .blocks-wrapper .service_list li a:focus,
aside.sidebar .service_list li a:hover,
aside.sidebar .service_list li a:focus {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  background: var(--color-body);
}
.blocks-wrapper .service_list.align-entries--left .headline,
aside.sidebar .service_list.align-entries--left .headline {
  text-align: left;
}
.blocks-wrapper .service_list.align-entries--left ul,
aside.sidebar .service_list.align-entries--left ul {
  -ms-flex-pack: start;
      justify-content: flex-start;
}
.blocks-wrapper .service_list.align-entries--center .headline,
aside.sidebar .service_list.align-entries--center .headline {
  text-align: center;
}
.blocks-wrapper .service_list.align-entries--center ul,
aside.sidebar .service_list.align-entries--center ul {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.blocks-wrapper .service_list.align-entries--right .headline,
aside.sidebar .service_list.align-entries--right .headline {
  text-align: right;
}
.blocks-wrapper .service_list.align-entries--right ul,
aside.sidebar .service_list.align-entries--right ul {
  -ms-flex-pack: end;
      justify-content: flex-end;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .service_list.max-entries-per-row--three li,
aside.sidebar .service_list.max-entries-per-row--three li {
    -ms-flex-preferred-size: 33%;
        flex-basis: 33%;
  }
  .blocks-wrapper .service_list.max-entries-per-row--four li,
aside.sidebar .service_list.max-entries-per-row--four li {
    -ms-flex-preferred-size: 24.75%;
        flex-basis: 24.75%;
  }
  .blocks-wrapper .service_list.max-entries-per-row--five li,
aside.sidebar .service_list.max-entries-per-row--five li {
    -ms-flex-preferred-size: 19.8%;
        flex-basis: 19.8%;
  }
  .blocks-wrapper .service_list.max-entries-per-row--six li,
aside.sidebar .service_list.max-entries-per-row--six li {
    -ms-flex-preferred-size: 16.5%;
        flex-basis: 16.5%;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .staff_list > div,
.layout-fullwidth aside.sidebar .staff_list > div {
    width: 80%;
  }
}
.blocks-wrapper .staff_list h3,
aside.sidebar .staff_list h3 {
  margin-bottom: 1.5em;
}
.blocks-wrapper .staff_list .staff_list__list,
aside.sidebar .staff_list .staff_list__list {
  list-style: none;
  padding: 0;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .staff_list .staff_list__list,
aside.sidebar .staff_list .staff_list__list {
    margin: 0 -1.25rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .staff_list .staff_list__list,
aside.sidebar .staff_list .staff_list__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: end;
        align-items: flex-end;
  }
}
.blocks-wrapper .staff_list .staff_list__list li,
aside.sidebar .staff_list .staff_list__list li {
  margin-bottom: 1.25rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .staff_list .staff_list__list li,
aside.sidebar .staff_list .staff_list__list li {
    width: 50%;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li, .layout-single:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li,
.layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li,
.layout-single:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li {
    width: auto;
  }
}
@media only screen and (min-width:80em) {
  .layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li, .layout-single:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li,
.layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li,
.layout-single:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li {
    width: 66%;
  }
}
@media only screen and (min-width:90em) {
  .layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li, .layout-single:not(.has-no-sidebar):not(.has-small-sidebar) .blocks-wrapper .staff_list .staff_list__list li,
.layout-main-plus-sidebar:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li,
.layout-single:not(.has-no-sidebar):not(.has-small-sidebar) aside.sidebar .staff_list .staff_list__list li {
    width: 50%;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .staff_list.has-filters .staff_list__inner, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .staff_list.has-filters .staff_list__inner, .has-no-sidebar.layout-single .blocks-wrapper .staff_list.has-filters .staff_list__inner,
.layout-fullwidth aside.sidebar .staff_list.has-filters .staff_list__inner,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .staff_list.has-filters .staff_list__inner,
.has-no-sidebar.layout-single aside.sidebar .staff_list.has-filters .staff_list__inner {
    display: -ms-grid;
    display: grid;
    -ms-flex-align: start;
        align-items: start;
    -ms-grid-columns: 8fr 4fr;
        grid-template-columns: 8fr 4fr;
    column-gap: 3.75rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .staff_list.has-filters .page-title, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .staff_list.has-filters .page-title, .has-no-sidebar.layout-single .blocks-wrapper .staff_list.has-filters .page-title,
.layout-fullwidth aside.sidebar .staff_list.has-filters .page-title,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .staff_list.has-filters .page-title,
.has-no-sidebar.layout-single aside.sidebar .staff_list.has-filters .page-title {
    grid-column: 1/3;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .staff_list.has-filters .staff_list__filterbar, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .staff_list.has-filters .staff_list__filterbar, .has-no-sidebar.layout-single .blocks-wrapper .staff_list.has-filters .staff_list__filterbar,
.layout-fullwidth aside.sidebar .staff_list.has-filters .staff_list__filterbar,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .staff_list.has-filters .staff_list__filterbar,
.has-no-sidebar.layout-single aside.sidebar .staff_list.has-filters .staff_list__filterbar {
    grid-column: 2/3;
    grid-row: 1/4;
    margin-top: 3.4375rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .staff_list.has-filters .staff_list__list, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .staff_list.has-filters .staff_list__list, .has-no-sidebar.layout-single .blocks-wrapper .staff_list.has-filters .staff_list__list,
.layout-fullwidth aside.sidebar .staff_list.has-filters .staff_list__list,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .staff_list.has-filters .staff_list__list,
.has-no-sidebar.layout-single aside.sidebar .staff_list.has-filters .staff_list__list {
    grid-column: 1/2;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .testimonial,
.layout-fullwidth aside.sidebar .testimonial {
    padding-right: 16.6666666667%;
  }
}
.blocks-wrapper .testimonial .testimonial__inner,
aside.sidebar .testimonial .testimonial__inner {
  position: relative;
}
.blocks-wrapper .testimonial blockquote,
aside.sidebar .testimonial blockquote {
  padding: 0;
  margin: 0;
  position: relative;
  min-height: 12.5rem;
  padding-top: 2.5rem;
  padding-bottom: 1px;
  display: -ms-grid;
  display: grid;
  grid-template: auto auto/1fr 4fr;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote,
aside.sidebar .testimonial blockquote {
    -ms-grid-columns: 3fr 6fr;
        grid-template-columns: 3fr 6fr;
  }
}
.blocks-wrapper .testimonial blockquote p,
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote p,
aside.sidebar .testimonial blockquote cite {
  font-size: 1.03125rem;
  line-height: 1.375;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .testimonial blockquote p,
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote p,
aside.sidebar .testimonial blockquote cite {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote p,
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote p,
aside.sidebar .testimonial blockquote cite {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .testimonial blockquote p,
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote p,
aside.sidebar .testimonial blockquote cite {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .testimonial blockquote p,
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote p,
aside.sidebar .testimonial blockquote cite {
    font-size: 1.375rem;
  }
}
.blocks-wrapper .testimonial blockquote p,
aside.sidebar .testimonial blockquote p {
  font-weight: 300;
  z-index: 2;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote p,
aside.sidebar .testimonial blockquote p {
    min-height: 9.375rem;
  }
}
.blocks-wrapper .testimonial blockquote .quote,
aside.sidebar .testimonial blockquote .quote {
  position: relative;
  grid-area: 1/1/2/3;
  padding-bottom: 1.25rem;
  padding-right: 1.25rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote .quote,
aside.sidebar .testimonial blockquote .quote {
    grid-column: 2/3;
    padding-right: 2.5rem;
  }
}
.blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote cite {
  color: var(--color-primary);
  font-style: normal;
  grid-area: 2/2/3/3;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  padding-left: 4.375rem;
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote cite,
aside.sidebar .testimonial blockquote cite {
    padding-left: 0;
  }
}
.blocks-wrapper .testimonial blockquote cite:before,
aside.sidebar .testimonial blockquote cite:before {
  width: 0;
  height: 0;
  content: "";
  border-top: 6.25rem solid var(--color-decoration);
  border-left: 4.375rem solid transparent;
  position: absolute;
  right: calc(100% - 3.75rem);
  top: -3.75rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .testimonial blockquote cite:before,
aside.sidebar .testimonial blockquote cite:before {
    border-left-width: 6.25rem;
    right: calc(100% - 2.5rem);
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote cite:before,
aside.sidebar .testimonial blockquote cite:before {
    border-width: 4.375rem;
    left: auto;
    right: calc(100% + 0.9375rem);
    top: -1.875rem;
  }
}
.blocks-wrapper .testimonial blockquote picture,
aside.sidebar .testimonial blockquote picture {
  position: relative;
  grid-area: 2/1/3/2;
  margin-top: -1.25rem;
  z-index: 3;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote picture,
aside.sidebar .testimonial blockquote picture {
    padding-right: 1.25rem;
    grid-row: 1/3;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
@media only screen and (max-width: 33.6875em) {
  .blocks-wrapper .testimonial blockquote picture img,
aside.sidebar .testimonial blockquote picture img {
    max-width: none;
    width: 170%;
    margin-top: -1.25rem;
  }
}
.blocks-wrapper .testimonial blockquote svg,
aside.sidebar .testimonial blockquote svg {
  width: calc(100% + 2.5rem);
  position: absolute;
  left: -1.25rem;
  top: -2.5rem;
  height: calc(100% + 2.5rem);
}
.blocks-wrapper .testimonial blockquote svg path,
aside.sidebar .testimonial blockquote svg path {
  fill: var(--color-decoration);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .testimonial blockquote svg,
aside.sidebar .testimonial blockquote svg {
    left: calc(-50% + 1.25rem);
    width: calc(150% + 1.25rem);
    top: -3.75rem;
    height: calc(100% + 3.125rem);
  }
}
.blocks-wrapper .slideshow,
aside.sidebar .slideshow {
  position: relative;
  z-index: 3;
}
.blocks-wrapper .slideshow > svg,
aside.sidebar .slideshow > svg {
  position: absolute;
  width: 200vw;
  min-height: 100%;
  max-height: 120%;
  left: 50%;
  top: 10%;
  margin-left: -50vw;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow > svg,
aside.sidebar .slideshow > svg {
    width: 100vw;
  }
}
.blocks-wrapper .slideshow > svg path,
aside.sidebar .slideshow > svg path {
  fill: var(--color-decoration);
}
.blocks-wrapper .slideshow .slideshow__inner,
aside.sidebar .slideshow .slideshow__inner {
  position: relative;
  z-index: 2;
}
.blocks-wrapper .slideshow ul,
aside.sidebar .slideshow ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  overflow: visible;
}
.blocks-wrapper .slideshow li,
aside.sidebar .slideshow li {
  margin: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90%;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow li,
aside.sidebar .slideshow li {
    width: 80%;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow li,
aside.sidebar .slideshow li {
    width: 79.1666666667%;
  }
}
.blocks-wrapper .slideshow li:last-child,
aside.sidebar .slideshow li:last-child {
  margin-right: 10%;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow li:last-child,
aside.sidebar .slideshow li:last-child {
    margin-right: 20%;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow li:last-child,
aside.sidebar .slideshow li:last-child {
    margin-right: 20.8333333333%;
  }
}
.blocks-wrapper .slideshow .slideshow__entry,
aside.sidebar .slideshow .slideshow__entry {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: opacity 0.5s ease-out 0s;
  will-change: transition;
}
.blocks-wrapper .slideshow .slideshow__entry.swiper-slide-active, .blocks-wrapper .slideshow .slideshow__entry.swiper-slide-active + .slideshow__entry,
aside.sidebar .slideshow .slideshow__entry.swiper-slide-active,
aside.sidebar .slideshow .slideshow__entry.swiper-slide-active + .slideshow__entry {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.blocks-wrapper .slideshow .slideshow__entry-inner,
aside.sidebar .slideshow .slideshow__entry-inner {
  background: var(--color-highlight-area);
  padding: 1.25rem 1.25rem 1.25rem 0.625rem;
  position: relative;
  height: 100%;
  display: -ms-grid;
  display: grid;
  grid-column-gap: 0.625rem;
  -ms-grid-columns: 2fr 5fr;
      grid-template-columns: 2fr 5fr;
  transform-origin: 0% 50%;
  will-change: transform;
  transition: transform 0.6s ease-out 0s;
  margin-right: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner,
aside.sidebar .slideshow .slideshow__entry-inner {
    padding: 2.5rem 1.25rem 2.5rem 0.9375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner,
aside.sidebar .slideshow .slideshow__entry-inner {
    padding-left: 0;
    grid-column-gap: 1.25rem;
    -ms-grid-columns: 8fr 9fr;
        grid-template-columns: 8fr 9fr;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner,
aside.sidebar .slideshow .slideshow__entry-inner {
    padding: 3.75rem calc(5%) 3.75rem calc(5%);
  }
}
.blocks-wrapper .slideshow .slideshow__entry-inner:before,
aside.sidebar .slideshow .slideshow__entry-inner:before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  right: 100%;
  top: 0;
  background: var(--color-highlight-area);
  width: 1.25rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner:before,
aside.sidebar .slideshow .slideshow__entry-inner:before {
    width: 2.5rem;
  }
}
.blocks-wrapper .slideshow .slideshow__entry-inner picture,
aside.sidebar .slideshow .slideshow__entry-inner picture {
  grid-column: 1/2;
  grid-row: 3/6;
  margin-top: 0.3125rem;
  will-change: opacity;
  transition: opacity 0.2s ease-out 0s;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner picture,
aside.sidebar .slideshow .slideshow__entry-inner picture {
    grid-row: 1/6;
    margin-top: 0;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    margin-left: 0.625rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner picture img,
aside.sidebar .slideshow .slideshow__entry-inner picture img {
    width: 87.5%;
  }
}
.blocks-wrapper .slideshow .slideshow__entry-inner h4,
.blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner > a,
aside.sidebar .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner > a {
  grid-column: 2/3;
  display: block;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  will-change: opacity;
  transition: opacity 0.2s ease-out 0s;
}
.blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
  text-transform: uppercase;
  margin-top: auto;
  -ms-grid-row: 2;
      grid-row-start: 2;
  grid-column: 1/3;
  font-size: 1.5rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
    font-size: 2rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner h4,
aside.sidebar .slideshow .slideshow__entry-inner h4 {
    grid-column: 2/2;
  }
}
.blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner a {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner a {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .slideshow .slideshow__entry-inner p,
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner a {
    font-size: 1.375rem;
  }
}
.blocks-wrapper .slideshow .slideshow__entry-inner p,
aside.sidebar .slideshow .slideshow__entry-inner p {
  -ms-grid-row: 3;
      grid-row-start: 3;
}
.blocks-wrapper .slideshow .slideshow__entry-inner a,
aside.sidebar .slideshow .slideshow__entry-inner a {
  -ms-grid-row: 4;
      grid-row-start: 4;
}
@media only screen and (min-width:80em) {
  body .blocks-wrapper .slideshow:not(.variant--minimal),
body aside.sidebar .slideshow:not(.variant--minimal) {
    padding-left: 0;
    padding-right: 0;
  }
}
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-prev .slideshow__entry-inner,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-prev .slideshow__entry-inner {
  transform: translateX(-7%);
}
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner {
  transform: translateX(5%) perspective(1000px) rotateY(35deg);
}
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner picture,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner picture {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner h4,
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner p,
.blocks-wrapper .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner a,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner h4,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner p,
aside.sidebar .slideshow:not(.variant--minimal) .swiper-slide-active ~ .slideshow__entry .slideshow__entry-inner a {
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__inner,
aside.sidebar .slideshow.variant--minimal .slideshow__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
}
.blocks-wrapper .slideshow.variant--minimal li,
aside.sidebar .slideshow.variant--minimal li {
  width: 90%;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow.variant--minimal li,
aside.sidebar .slideshow.variant--minimal li {
    width: 80%;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal li,
aside.sidebar .slideshow.variant--minimal li {
    width: 50%;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal li:last-child,
aside.sidebar .slideshow.variant--minimal li:last-child {
    margin-right: 50%;
  }
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner {
  padding: 1.25rem;
  display: block;
  height: auto;
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner picture,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner picture {
  display: none;
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner h4,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner h4 {
  text-transform: none;
  font-size: 1.3125rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner h4,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner h4 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner h4,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner h4 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner h4,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner h4 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner h4,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner h4 {
    font-size: 1.75rem;
  }
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner a,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner a {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner a,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner a {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner a,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner a {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner a,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner a {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner a,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner a {
    font-size: 1.125rem;
  }
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner p,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner p {
  margin-bottom: 0.85em;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner {
    padding: 1.875rem;
    margin-right: 2.5rem;
  }
}
.blocks-wrapper .slideshow.variant--minimal .slideshow__entry-inner:before,
aside.sidebar .slideshow.variant--minimal .slideshow__entry-inner:before {
  display: none;
}
.blocks-wrapper .slideshow .slideshow__pagination,
aside.sidebar .slideshow .slideshow__pagination {
  margin: 1.25rem 0;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .slideshow .slideshow__pagination,
aside.sidebar .slideshow .slideshow__pagination {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__pagination,
aside.sidebar .slideshow .slideshow__pagination {
    width: 79.1666666667%;
  }
}
.blocks-wrapper .slideshow .slideshow__pagination > div,
aside.sidebar .slideshow .slideshow__pagination > div {
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__pagination > div,
aside.sidebar .slideshow .slideshow__pagination > div {
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding-right: 1.25rem;
  }
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet {
  height: 1rem;
  margin-top: -0.75rem;
  position: relative;
  -ms-flex-preferred-size: 6.25rem;
      flex-basis: 6.25rem;
  cursor: pointer;
  margin-right: 0.625rem;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet {
    margin-right: 0;
    margin-left: 0.625rem;
  }
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet:after, .blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet:before,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet:after,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet:before {
  content: "";
  position: absolute;
  background: var(--color-interaction);
  height: 25%;
  width: 100%;
  top: 0.375rem;
  left: 0;
  transform-origin: 0 0;
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet:before,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet:before {
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet:after,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet:after {
  transform: rotateY(-90deg);
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet.past:after,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet.past:after {
  transform: none;
}
.blocks-wrapper .slideshow .slideshow__pagination > div .swiper-pagination-bullet-active:after,
aside.sidebar .slideshow .slideshow__pagination > div .swiper-pagination-bullet-active:after {
  animation: 7s linear 0s 1 normal both running progressslide;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__pagination > div,
aside.sidebar .slideshow.variant--minimal .slideshow__pagination > div {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .slideshow.variant--minimal .slideshow__pagination > div .swiper-pagination-bullet,
aside.sidebar .slideshow.variant--minimal .slideshow__pagination > div .swiper-pagination-bullet {
    margin-right: 0.625rem;
    margin-left: 0;
  }
}
.blocks-wrapper .slideshow .no-autoplay .slideshow__pagination .swiper-pagination-bullet-active:after,
aside.sidebar .slideshow .no-autoplay .slideshow__pagination .swiper-pagination-bullet-active:after {
  animation: none;
  transform: none;
}
@keyframes progressslide {
  0% {
    transform: rotateY(-90deg);
  }
  100% {
    transform: rotateY(0);
  }
}
.blocks-wrapper .facts ul,
aside.sidebar .facts ul {
  list-style: none;
  padding: 1.25rem 0;
  margin: -0.625rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.blocks-wrapper .facts ul li,
aside.sidebar .facts ul li {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 0 1.25rem;
  padding: 0.625rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .facts ul li,
aside.sidebar .facts ul li {
    -ms-flex-preferred-size: 33.3333333333%;
        flex-basis: 33.3333333333%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .facts ul li,
aside.sidebar .facts ul li {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
}
.blocks-wrapper .facts .facts__entry,
aside.sidebar .facts .facts__entry {
  margin: 0;
  padding: 0 0 3% 6%;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  height: 100%;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.blocks-wrapper .facts .facts__entry > span,
aside.sidebar .facts .facts__entry > span {
  position: relative;
  z-index: 1;
}
.blocks-wrapper .facts .facts__entry br,
aside.sidebar .facts .facts__entry br {
  display: none;
}
.blocks-wrapper .facts .facts__entry .number,
aside.sidebar .facts .facts__entry .number {
  font-size: 1.375rem;
  white-space: nowrap;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .facts .facts__entry .number,
aside.sidebar .facts .facts__entry .number {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .facts .facts__entry .number,
aside.sidebar .facts .facts__entry .number {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .facts .facts__entry .number,
aside.sidebar .facts .facts__entry .number {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .facts .facts__entry .number,
aside.sidebar .facts .facts__entry .number {
    font-size: 2.75rem;
  }
}
.blocks-wrapper .facts .facts__entry .number i,
aside.sidebar .facts .facts__entry .number i {
  font-style: normal;
  display: inline-block;
  padding-left: 0.15em;
}
.js .blocks-wrapper .facts .facts__entry .number .original,
.js aside.sidebar .facts .facts__entry .number .original {
  visibility: hidden;
}
.js .blocks-wrapper .facts .facts__entry .number .clone,
.js aside.sidebar .facts .facts__entry .number .clone {
  position: absolute;
  left: 0;
  top: 0;
}
.blocks-wrapper .facts .facts__entry .title,
aside.sidebar .facts .facts__entry .title {
  font-size: 0.75rem;
  line-height: 1;
  max-width: 85%;
  font-weight: 500;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .facts .facts__entry .title,
aside.sidebar .facts .facts__entry .title {
    font-size: 1rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .facts .facts__entry .title,
aside.sidebar .facts .facts__entry .title {
    font-size: 1rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .facts .facts__entry .title,
aside.sidebar .facts .facts__entry .title {
    font-size: 1rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .facts .facts__entry .title,
aside.sidebar .facts .facts__entry .title {
    font-size: 1rem;
  }
}
.blocks-wrapper .facts .facts__entry svg,
aside.sidebar .facts .facts__entry svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.25rem;
  height: auto;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .facts .facts__entry svg,
aside.sidebar .facts .facts__entry svg {
    width: 9.375rem;
  }
}
.blocks-wrapper .facts .facts__entry svg path,
aside.sidebar .facts .facts__entry svg path {
  fill: var(--color-decoration);
}
.blocks-wrapper .table table,
aside.sidebar .table table {
  width: 100%;
  margin: -0.625rem;
  display: block;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table,
aside.sidebar .table table {
    display: table;
  }
}
.blocks-wrapper .table table tbody,
aside.sidebar .table table tbody {
  display: block;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table tbody,
aside.sidebar .table table tbody {
    display: table-row-group;
  }
}
.blocks-wrapper .table table th,
aside.sidebar .table table th {
  text-align: left;
  display: none;
  font-weight: 500;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table th,
aside.sidebar .table table th {
    display: table-cell;
  }
}
.blocks-wrapper .table table th,
.blocks-wrapper .table table td,
aside.sidebar .table table th,
aside.sidebar .table table td {
  padding: 0.3125rem 0.625rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table th,
.blocks-wrapper .table table td,
aside.sidebar .table table th,
aside.sidebar .table table td {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table th[data-alignment=right],
.blocks-wrapper .table table td[data-alignment=right],
aside.sidebar .table table th[data-alignment=right],
aside.sidebar .table table td[data-alignment=right] {
    text-align: right;
  }
}
.blocks-wrapper .table table tr,
aside.sidebar .table table tr {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-bottom: 0.9375rem;
  width: 100%;
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table tr,
aside.sidebar .table table tr {
    display: table-row;
    padding-bottom: 0;
  }
}
.blocks-wrapper .table table tr:not(:last-child),
aside.sidebar .table table tr:not(:last-child) {
  padding-bottom: 0.9375rem;
}
.blocks-wrapper .table table tr:not(:last-child):after,
aside.sidebar .table table tr:not(:last-child):after {
  content: "";
  bottom: 0;
  left: 0.625rem;
  right: 0.625rem;
  position: absolute;
  opacity: 0.15;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  border-bottom: 1px solid var(--color-text);
}
.blocks-wrapper .table table tr:first-child,
aside.sidebar .table table tr:first-child {
  display: none;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table tr:first-child,
aside.sidebar .table table tr:first-child {
    display: table-row;
  }
}
.blocks-wrapper .table table td,
aside.sidebar .table table td {
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table td,
aside.sidebar .table table td {
    display: table-cell;
  }
}
.blocks-wrapper .table table td label,
aside.sidebar .table table td label {
  display: block;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  margin-right: 0.5em;
  width: 33%;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .table table td label,
aside.sidebar .table table td label {
    display: none;
  }
}
.blocks-wrapper .logoslider,
aside.sidebar .logoslider {
  position: relative;
  z-index: 3;
}
.layout-fullwidth .blocks-wrapper .logoslider,
.layout-fullwidth aside.sidebar .logoslider {
  padding-left: 0;
  padding-right: 0;
}
.blocks-wrapper .logoslider h3,
aside.sidebar .logoslider h3 {
  text-align: center;
  margin-bottom: 1.5em;
}
.blocks-wrapper .logoslider .logoslider__entries-wrapper,
aside.sidebar .logoslider .logoslider__entries-wrapper {
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.blocks-wrapper .logoslider .logoslider__entries,
aside.sidebar .logoslider .logoslider__entries {
  list-style: none;
  padding: 0;
  margin: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  animation: 15s linear 1s infinite both paused marquee;
}
.blocks-wrapper .logoslider .logoslider__entries li,
aside.sidebar .logoslider .logoslider__entries li {
  display: inline-block;
  vertical-align: middle;
  width: 6.875rem;
  height: 3.125rem;
  margin: 0;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .logoslider .logoslider__entries li,
aside.sidebar .logoslider .logoslider__entries li {
    width: 12.5rem;
    height: 5rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .logoslider .logoslider__entries li,
aside.sidebar .logoslider .logoslider__entries li {
    width: 20rem;
  }
}
.blocks-wrapper .logoslider .logoslider__entries li img,
aside.sidebar .logoslider .logoslider__entries li img {
  display: block;
  margin: 0 auto;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: grayscale(1);
  will-change: filter;
  transition: filter 0.2s ease-out 0s;
  height: 80%;
  width: 80%;
  -o-object-fit: contain;
     object-fit: contain;
}
.blocks-wrapper .logoslider .logoslider__entries li img:hover,
aside.sidebar .logoslider .logoslider__entries li img:hover {
  filter: none;
}
@keyframes marquee {
  0% {
    transform: 0;
  }
  100% {
    transform: translateX(-20%);
  }
}
.blocks-wrapper .details summary,
aside.sidebar .details summary {
  cursor: pointer;
}
.blocks-wrapper .details summary::marker,
aside.sidebar .details summary::marker {
  content: "";
}
.blocks-wrapper .details summary::-webkit-details-marker,
aside.sidebar .details summary::-webkit-details-marker {
  display: none;
}
.blocks-wrapper .details summary:after,
aside.sidebar .details summary:after {
  content: "+";
  color: var(--color-interaction);
  overflow: hidden;
  line-height: 1;
  font-size: 2.5em;
  width: -moz-min-content;
  width: min-content;
  display: block;
  font-weight: 500;
  margin-top: -0.625rem;
  transition: transform 0.2s ease-out 0s;
}
.blocks-wrapper .details summary:hover:after,
aside.sidebar .details summary:hover:after {
  transform: scale(1.1);
}
.blocks-wrapper .details > div,
aside.sidebar .details > div {
  margin-left: 3.125rem;
  padding-right: 1.25rem;
  position: relative;
  margin-top: -2.0625rem;
}
.blocks-wrapper .details > div:before,
aside.sidebar .details > div:before {
  content: "";
  width: 0.125rem;
  background: var(--color-interaction);
  opacity: 0.25;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
  bottom: 0;
  position: absolute;
  left: -1.4375rem;
  top: 2.6875rem;
  transform-origin: 50% 0;
}
.blocks-wrapper .details[open] summary:after,
aside.sidebar .details[open] summary:after {
  transform: rotate(45deg);
}
.blocks-wrapper .details[open] > div,
aside.sidebar .details[open] > div {
  animation: fade-in 0.4s ease-out 0s 1 normal both;
}
.blocks-wrapper .details[open] > div:before,
aside.sidebar .details[open] > div:before {
  animation: roll-out 0.6s ease-out 0s 1 normal both;
}
@keyframes fade-in {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}
@keyframes roll-out {
  0% {
    transform: rotateX(-90deg);
  }
  100% {
    transform: none;
  }
}
.blocks-wrapper .timeline ol,
aside.sidebar .timeline ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline ol,
aside.sidebar .timeline ol {
    padding-bottom: 5rem;
  }
}
.blocks-wrapper .timeline ol:before, .blocks-wrapper .timeline ol:after,
aside.sidebar .timeline ol:before,
aside.sidebar .timeline ol:after {
  position: absolute;
  bottom: 0;
  background: var(--color-decoration);
  left: 50%;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline ol:before, .blocks-wrapper .timeline ol:after,
aside.sidebar .timeline ol:before,
aside.sidebar .timeline ol:after {
    content: "";
  }
}
.blocks-wrapper .timeline ol:before,
aside.sidebar .timeline ol:before {
  top: 0;
  width: 1.25rem;
  margin-left: -0.625rem;
}
.blocks-wrapper .timeline ol:after,
aside.sidebar .timeline ol:after {
  width: 25rem;
  height: 1.25rem;
  margin-left: -12.5rem;
}
.blocks-wrapper .timeline .timeline__entry_inner,
aside.sidebar .timeline .timeline__entry_inner {
  max-width: 27.5rem;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry_inner,
aside.sidebar .timeline .timeline__entry_inner {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 2.5rem;
    padding-left: 0;
  }
}
.blocks-wrapper .timeline .timeline__entry,
aside.sidebar .timeline .timeline__entry {
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry,
aside.sidebar .timeline .timeline__entry {
    width: 50%;
    -ms-flex-pack: end;
        justify-content: end;
  }
}
.blocks-wrapper .timeline .timeline__entry h3,
aside.sidebar .timeline .timeline__entry h3 {
  color: var(--color-text);
  font-size: 1.25rem;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .timeline .timeline__entry h3,
aside.sidebar .timeline .timeline__entry h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry h3,
aside.sidebar .timeline .timeline__entry h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .timeline .timeline__entry h3,
aside.sidebar .timeline .timeline__entry h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width:90em) {
  .blocks-wrapper .timeline .timeline__entry h3,
aside.sidebar .timeline .timeline__entry h3 {
    font-size: 1.5rem;
  }
}
.blocks-wrapper .timeline .timeline__entry .link,
aside.sidebar .timeline .timeline__entry .link {
  display: block;
  text-decoration: none;
  color: var(--color-interaction);
}
.blocks-wrapper .timeline .timeline__entry .link:hover, .blocks-wrapper .timeline .timeline__entry .link:focus,
aside.sidebar .timeline .timeline__entry .link:hover,
aside.sidebar .timeline .timeline__entry .link:focus {
  text-decoration: underline;
}
.blocks-wrapper .timeline .timeline__entry .deco,
aside.sidebar .timeline .timeline__entry .deco {
  position: absolute;
  left: -1.25rem;
  right: -1.25rem;
  top: 0;
  height: 100%;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry .deco,
aside.sidebar .timeline .timeline__entry .deco {
    width: 50%;
    left: auto;
    right: 0;
  }
}
.blocks-wrapper .timeline .timeline__entry .deco svg,
aside.sidebar .timeline .timeline__entry .deco svg {
  height: 100%;
  width: 100%;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry .deco svg,
aside.sidebar .timeline .timeline__entry .deco svg {
    height: auto;
  }
}
.blocks-wrapper .timeline .timeline__entry .deco svg path,
aside.sidebar .timeline .timeline__entry .deco svg path {
  fill: var(--color-decoration);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry .deco--mobile,
aside.sidebar .timeline .timeline__entry .deco--mobile {
    display: none;
  }
}
.blocks-wrapper .timeline .timeline__entry .deco--desktop,
aside.sidebar .timeline .timeline__entry .deco--desktop {
  display: none;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry .deco--desktop,
aside.sidebar .timeline .timeline__entry .deco--desktop {
    display: block;
  }
}
.blocks-wrapper .timeline .timeline__entry:nth-child(even),
aside.sidebar .timeline .timeline__entry:nth-child(even) {
  margin-left: 1.25rem;
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(even),
aside.sidebar .timeline .timeline__entry:nth-child(even) {
    margin-left: 50%;
    -ms-flex-pack: start;
        justify-content: start;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(even) .timeline__entry_inner,
aside.sidebar .timeline .timeline__entry:nth-child(even) .timeline__entry_inner {
    padding-left: 2.5rem;
    padding-right: 0;
  }
}
.blocks-wrapper .timeline .timeline__entry:nth-child(even) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(even) .deco {
  transform: rotateY(180deg);
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(even) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(even) .deco {
    right: auto;
    left: 0;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(1) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(1) .deco {
    width: 25%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(2) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(2) .deco {
    width: 30%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(3) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(3) .deco {
    width: 35%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(4) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(4) .deco {
    width: 40%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .timeline .timeline__entry:nth-child(5) .deco,
aside.sidebar .timeline .timeline__entry:nth-child(5) .deco {
    width: 45%;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .product_list > div,
.layout-fullwidth aside.sidebar .product_list > div {
    width: 80%;
  }
}
.blocks-wrapper .product_list ul,
aside.sidebar .product_list ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.blocks-wrapper .product_list .product_list__list,
aside.sidebar .product_list .product_list__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -0.625rem;
}
.blocks-wrapper .product_list .product_list__list > li,
aside.sidebar .product_list .product_list__list > li {
  padding: 0.625rem;
  margin: 0;
  width: 100%;
}
@media only screen and (min-width:33.75em) {
  .blocks-wrapper .product_list .product_list__list > li,
aside.sidebar .product_list .product_list__list > li {
    width: 50%;
  }
}
@media only screen and (min-width:46.25em) {
  .blocks-wrapper .product_list .product_list__list > li,
aside.sidebar .product_list .product_list__list > li {
    max-width: 25rem;
  }
}
.blocks-wrapper .product_list .product_list__list .product,
aside.sidebar .product_list .product_list__list .product {
  background: var(--color-decoration);
  padding: 1.25rem;
  height: 100%;
}
.blocks-wrapper .product_list .product_list__list .product ul > li,
aside.sidebar .product_list .product_list__list .product ul > li {
  padding: 0rem 0 0.3125rem;
}
.blocks-wrapper .product_list .product_list__list .product ul > li:not(:last-child),
aside.sidebar .product_list .product_list__list .product ul > li:not(:last-child) {
  border-bottom: 0.125rem solid var(--color-body);
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .product_list.has-filters .product_list__inner, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .product_list.has-filters .product_list__inner, .has-no-sidebar.layout-single .blocks-wrapper .product_list.has-filters .product_list__inner,
.layout-fullwidth aside.sidebar .product_list.has-filters .product_list__inner,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .product_list.has-filters .product_list__inner,
.has-no-sidebar.layout-single aside.sidebar .product_list.has-filters .product_list__inner {
    display: -ms-grid;
    display: grid;
    -ms-flex-align: start;
        align-items: start;
    -ms-grid-columns: 8fr 4fr;
        grid-template-columns: 8fr 4fr;
    column-gap: 3.75rem;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .product_list.has-filters .product_list__filterbar, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .product_list.has-filters .product_list__filterbar, .has-no-sidebar.layout-single .blocks-wrapper .product_list.has-filters .product_list__filterbar,
.layout-fullwidth aside.sidebar .product_list.has-filters .product_list__filterbar,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .product_list.has-filters .product_list__filterbar,
.has-no-sidebar.layout-single aside.sidebar .product_list.has-filters .product_list__filterbar {
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .product_list.has-filters .product_list__list, .layout-main-plus-sidebar.has-no-sidebar .blocks-wrapper .product_list.has-filters .product_list__list, .has-no-sidebar.layout-single .blocks-wrapper .product_list.has-filters .product_list__list,
.layout-fullwidth aside.sidebar .product_list.has-filters .product_list__list,
.layout-main-plus-sidebar.has-no-sidebar aside.sidebar .product_list.has-filters .product_list__list,
.has-no-sidebar.layout-single aside.sidebar .product_list.has-filters .product_list__list {
    grid-column: 1/2;
  }
}
.blocks-wrapper .cmp_inline,
aside.sidebar .cmp_inline {
  display: block;
  margin-bottom: 2.5em;
}
.blocks-wrapper .wp-block-column,
aside.sidebar .wp-block-column {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.layout-fullwidth .blocks-wrapper .wp-block-column .fullimage,
.layout-fullwidth aside.sidebar .wp-block-column .fullimage {
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width:46.25em) {
  .layout-fullwidth .blocks-wrapper .wp-block-column .fullimage,
.layout-fullwidth aside.sidebar .wp-block-column .fullimage {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .wp-block-column .infoboxes,
.layout-fullwidth aside.sidebar .wp-block-column .infoboxes {
    padding-left: 0;
    padding-right: 0;
  }
}
.blocks-wrapper .wp-block-column .infoboxes .infoboxes__entries.only-one-box,
aside.sidebar .wp-block-column .infoboxes .infoboxes__entries.only-one-box {
  background: none;
}
@media only screen and (min-width:80em) {
  .blocks-wrapper .wp-block-column .infoboxes .infoboxes__entries li,
aside.sidebar .wp-block-column .infoboxes .infoboxes__entries li {
    width: 100%;
    max-width: none;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .wp-block-column .staff_list,
.layout-fullwidth aside.sidebar .wp-block-column .staff_list {
    width: 100%;
  }
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper .wp-block-column .testimonial,
.layout-fullwidth aside.sidebar .wp-block-column .testimonial {
    width: 100%;
    margin-left: auto;
  }
}
@media only screen and (min-width:33.75em) {
  .layout-main-plus-sidebar:not(.has-no-sidebar) .blocks-wrapper .wp-block-column .facts ul li, .layout-single:not(.has-no-sidebar) .blocks-wrapper .wp-block-column .facts ul li,
.layout-main-plus-sidebar:not(.has-no-sidebar) aside.sidebar .wp-block-column .facts ul li,
.layout-single:not(.has-no-sidebar) aside.sidebar .wp-block-column .facts ul li {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
@media only screen and (min-width:46.25em) {
  .layout-main-plus-sidebar:not(.has-no-sidebar) .blocks-wrapper .wp-block-column .facts ul li, .layout-single:not(.has-no-sidebar) .blocks-wrapper .wp-block-column .facts ul li,
.layout-main-plus-sidebar:not(.has-no-sidebar) aside.sidebar .wp-block-column .facts ul li,
.layout-single:not(.has-no-sidebar) aside.sidebar .wp-block-column .facts ul li {
    -ms-flex-preferred-size: 33.3333333333%;
        flex-basis: 33.3333333333%;
  }
}

.layout-main-plus-sidebar .blocks-wrapper__inner > div, .layout-single .blocks-wrapper__inner > div {
  position: relative;
}
.layout-fullwidth .blocks-wrapper__inner > :is(h1, h2, h3, h4, h5, h6) + :is(div, figure.fullimage, span.icon):not(.cta) {
  margin-top: 0;
  padding-top: 0.625rem;
}
.layout-fullwidth .blocks-wrapper__inner > * {
  position: relative;
}
@media only screen and (min-width:80em) {
  .layout-fullwidth .blocks-wrapper__inner > * {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
.layout-fullwidth .blocks-wrapper__inner > *:last-child {
  margin-bottom: 0;
}
.blocks-wrapper__inner .has-text-align-right {
  text-align: right;
}
.blocks-wrapper__inner .has-text-align-center {
  text-align: center;
}
.blocks-wrapper__inner figure {
  width: -moz-fit-content;
  width: fit-content;
}
.blocks-wrapper__inner figure.alignleft, .blocks-wrapper__inner figure.aligncenter, .blocks-wrapper__inner figure.alignright {
  float: none;
}
.blocks-wrapper__inner figure.alignleft {
  margin-left: 0;
  margin-right: auto;
}
.blocks-wrapper__inner figure.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.blocks-wrapper__inner figure.aligncenter figcaption {
  text-align: center;
}
.blocks-wrapper__inner figure.alignright {
  margin-right: 0;
  margin-left: auto;
}
.blocks-wrapper__inner figure.alignright figcaption {
  text-align: right;
}
.blocks-wrapper__inner figure.wp-block-video {
  width: auto;
}
.blocks-wrapper__inner figure.wp-block-video video {
  display: block;
  width: 100%;
}

.wp-block-columns {
  -ms-flex-align: start;
      align-items: flex-start;
}
@media only screen and (min-width:46.25em) {
  .wp-block-columns {
    margin-left: -0.625rem;
    margin-right: -0.625rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.wp-block-columns.are-vertically-aligned-center {
  -ms-flex-align: center;
      align-items: center;
}
.wp-block-columns.are-vertically-aligned-bottom {
  -ms-flex-align: end;
      align-items: flex-end;
}
.page-template-default .wp-block-columns.has-background.has-background:last-child {
  margin-bottom: -1.875rem;
}
@media only screen and (min-width:33.75em) {
  .page-template-default .wp-block-columns.has-background.has-background:last-child {
    margin-bottom: -2.5rem;
  }
}
@media only screen and (min-width:46.25em) {
  .page-template-default .wp-block-columns.has-background.has-background:last-child {
    margin-bottom: -3.75rem;
  }
}
.page-template-default .wp-block-columns.has-background:before {
  background: var(--color-highlight-area);
}

.wp-block-column {
  position: relative;
}
@media only screen and (min-width:46.25em) {
  .wp-block-column h1:only-child,
.wp-block-column h2:only-child,
.wp-block-column h3:only-child,
.wp-block-column h4:only-child,
.wp-block-column h5:only-child,
.wp-block-column h6:only-child {
    margin-bottom: 0;
  }
}
.wp-block-column.is-vertically-aligned-center {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.wp-block-column.is-vertically-aligned-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media only screen and (min-width:46.25em) {
  .wp-block-column {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    -ms-flex-positive: 1;
        flex-grow: 1;
    padding: 0 0.625rem;
  }
}

/* =====================
   Typography
   ===================== */
/*
  reducing font-sizes based on mq-ranges
  purpose is readability
  @used by @mixin responsive-font-size()
*/
/* =====================
   Layout and Grid
   ===================== */
/* =====================
   Media Queries
   ===================== */
.module__quicklink_index {
  display: none;
  padding: 1.25rem;
  background: var(--color-highlight-area);
}
.module__quicklink_index h4 {
  font-size: 1rem;
}
@media only screen and (min-width:33.75em) {
  .module__quicklink_index h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:46.25em) {
  .module__quicklink_index h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:80em) {
  .module__quicklink_index h4 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width:90em) {
  .module__quicklink_index h4 {
    font-size: 1.375rem;
  }
}
.module__quicklink_index ol {
  margin: 0;
  list-style: none;
  padding: 0;
}
.module__quicklink_index ol li:last-child {
  margin-bottom: 0;
}
.module__quicklink_index a {
  font-weight: 300;
}
@media only screen and (min-width:46.25em) {
  .module__quicklink_index {
    display: block;
    padding: 1.875rem;
  }
}