:root {
    --header-scroll-max: 450;
}

html {
}

body {
    background-color: #FFF;
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body.page-header {
    padding-top: 135px;
}

body.teaser-header {
    padding-top: 585px;
}

section {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 3.5rem 0;
}

section > *:first-child {
    margin-top: 0;
}

section > *:last-child {
    margin-bottom: 0;
}

.width-x-large {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 20px;
    margin-right: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.width-large {
    padding-left: calc((100% - 830px) / 2);
    padding-right: calc((100% - 830px) / 2);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 20px;
    margin-right: 20px;
}

.width-medium {
    padding-left: calc((100% - 700px) / 2);
    padding-right: calc((100% - 700px) / 2);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 20px;
    margin-right: 20px;
}

.width-small {
    padding-left: calc((100% - 600px) / 2);
    padding-right: calc((100% - 600px) / 2);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 20px;
    margin-right: 20px;
}

.two-columns {
    -webkit-columns: 320px 2;
    -moz-columns: 320px 2;
    columns: 320px 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.small-large-column-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 30% 40px 64%;
    grid-template-columns: 30% 64%;
    grid-column-gap: 40px;
    grid-row-gap: 1.5rem;
}

.two-column-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 40px;
    grid-row-gap: 1.5rem;
}

.two-column-grid > *:nth-child(2n-1) {
    -ms-grid-column: 1;
}

.two-column-grid > *:nth-child(2n) {
    -ms-grid-column: 3;
}

.two-column-grid > *:nth-child(n+3) {
    -ms-grid-row: 2;
}

.two-column-grid > *:nth-child(n+5) {
    -ms-grid-row: 3;
}

.two-column-grid > *:nth-child(n+7) {
    -ms-grid-row: 4;
}

.two-column-grid > *:nth-child(n+9) {
    -ms-grid-row: 5;
}

.two-column-grid > *:nth-child(n+11) {
    -ms-grid-row: 6;
}

.two-column-grid > *:nth-child(n+13) {
    -ms-grid-row: 7;
}

.two-column-grid > *:nth-child(n+15) {
    -ms-grid-row: 8;
}

.two-column-grid > *:nth-child(n+17) {
    -ms-grid-row: 9;
}

.two-column-grid > *:nth-child(n+19) {
    -ms-grid-row: 10;
}

.width-small.two-column-grid img {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover; /* Fix in MSIE 11 */
}

.small-large-column-grid img {
    position: relative;
    object-fit: cover;
    width: 237px;
    height: 237px;
}

.three-column-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 15px 1fr 15px 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 40px;
}

.three-column-grid > *:nth-child(3n-2) {
    -ms-grid-column: 1;
}

.three-column-grid > *:nth-child(3n-1) {
    -ms-grid-column: 3;
}

.three-column-grid > *:nth-child(3n) {
    -ms-grid-column: 5;
}

.three-column-grid > *:nth-child(n+4) {
    -ms-grid-row: 2;
}

.three-column-grid > *:nth-child(n+7) {
    -ms-grid-row: 3;
}

.three-column-grid > *:nth-child(n+10) {
    -ms-grid-row: 4;
}

.three-column-grid > *:nth-child(n+13) {
    -ms-grid-row: 5;
}

.three-column-grid > *:nth-child(n+16) {
    -ms-grid-row: 6
}

.width-small.two-column-grid {
    font-size: 16px;
    line-height: 1.5em;
    grid-column-gap: 40px;
}

.width-small.three-column-grid {
    font-size: 12px;
    line-height: 1.5em;
}

.width-small.two-column-grid h1,
.width-small.two-column-grid h2,
.width-small.two-column-grid h3,
.width-small.two-column-grid h4,
.width-small.two-column-grid h5,
.width-small.two-column-grid h6 {
    font-size: 16px;
    line-height: 1.5em;
}

.width-small.three-column-grid h1,
.width-small.three-column-grid h2,
.width-small.three-column-grid h3,
.width-small.three-column-grid h4,
.width-small.three-column-grid h5,
.width-small.three-column-grid h6 {
    font-size: 12px;
    line-height: 1.5em;
}

.grid-image {
    position: relative;
    padding-top: 100%;
    margin-bottom: 13px;
}

.grid-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;  /* Fix in MSIE 11 */
}

.grid-image + * {
    margin-top: 13px;
}

.width-medium > *:first-child,
.width-x-large > *:first-child,
.width-small > *:first-child,
.two-columns > *:first-child,
.small-large-columns-grid > *:first-child,
.two-columns-grid > *:first-child,
.three-columns-grid > *:first-child {
    margin-top: 0;
}

.width-medium > *:last-child,
.width-x-large > *:last-child,
.width-small > *:last-child,
.two-columns > *:last-child,
.small-large-columns-grid > *:last-child,
.two-columns-grid > *:last-child,
.three-columns-grid > *:last-child {
    margin-bottom: 0;
}

.width-medium,
.width-x-large,
.width-small,
.two-columns,
.small-large-columns-grid,
.two-columns-grid,
.three-columns-grid {
    overflow: hidden;
}

.align-default {
}

.align-center {
    text-align: center;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

figure .image-container {
    line-height: 0;
}

figure img {
    width: 100%;
    height: 100%;
    max-height: 500px;
    max-width: 700px;
    line-height: 0;
    -o-object-fit: contain;
    object-fit: contain;
}

figure .video-container  {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

figure .image-container a,
figure .video-container a {
    outline: none;
}

figure .video-container a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: block;
}

figure .video-container img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

figure figcaption {
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 10px;
}

header {
    height: 100px;
    padding: 15px 20px;
    background-color: var(--color-header);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body.page-header > header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 5000;
    height: 100px;
    padding: 15px 20px;
    background-color: var(--color-header);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

header .brand,
header .brand a,
header .brand a:hover {
    width: 120px;
    height: 43px;
    display: block;
}

header .brand a,
header .brand a:hover {
    color: inherit;
}

body.page-header header .brand,
body.page-header header .brand a,
body.page-header header .brand a:hover {
    color: var(--color-brand);
}

header p {
    padding: 0;
    margin: 0;
    /*-ms-hyphens: none;*/
    /*-webkit-hyphens: none;*/
    /*hyphens: none;*/
}

header .breadcrump {
    position: relative;
    top: -4px;
    padding: 0 10px;
    height: calc(100% + 6px);
    width: calc(100% - 120px);
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

header .breadcrump strong {
    font-size: 54px;
    font-weight: 300;
    font-style: normal;
    line-height: 1em;
    text-transform: uppercase;
    vertical-align: middle;
    color: #FFF;
    display: block;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

header .breadcrump em {
    position: absolute;
    left: 55px;
    bottom: 0;
    font-size: 24px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2em;
    color: #000;
    padding: 0 5px;
    display: block;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

body.page-header > header .teaser,
body.page-header > header .media,
body.page-header > header .animated-text {
    display: none;
}

body.teaser-header > header {
    position: absolute;
    width: 100%;
    height: 550px;
    top: 0;
    z-index: 5000;
    background-color: var(--color-header);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body.teaser-header > header .brand {
    position: fixed;
    color: var(--color-brand-second);
    top: 15px;
    left: 20px;
    z-index: 5500;
    width: 120px;
    height: 43px;
}

body.teaser-header > header p {
    padding: 0;
    margin: 0;
    /*-ms-hyphens: none;*/
    /*-webkit-hyphens: none;*/
    /*hyphens: none;*/
}

body.teaser-header > header .breadcrump {
    display: none;
}

body.teaser-header > header .media {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 5000;
}

body.teaser-header > header .media video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 5060;
}

body.teaser-header > header .media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 5050;
}

@-webkit-keyframes animatedText {
    0% {
        color: rgba(39, 39, 39, 0);
    }
    100% {
        color: rgba(39, 39, 39, 1);
    }
}

@keyframes animatedText {
    0% {
        color: rgba(39, 39, 39, 0);
    }
    100% {
        color: rgba(39, 39, 39, 1);
    }
}

body.teaser-header > header .teaser {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

body.teaser-header > header .raster {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 5090;
    background-image: url('../images/raster.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}

body.teaser-header > header .animated-text {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 5100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: rgb(39, 39, 39, 0);
    background-color: rgba(255, 255, 255, 0.6);
    font-size: 40px;
    line-height: 1.5em;
    white-space: pre-line;
    text-align: center;
    overflow: hidden;
    -webkit-animation: 2s ease-out 0.5s 1 animatedText forwards;
    animation: 2s ease-out 0.5s 1 animatedText forwards;
}

body.teaser-header > header .teaser {
    -webkit-animation: headerContentScroll 1s linear infinite;
    animation: headerContentScroll 1s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--header-scroll) * -1s);
    animation-delay: calc(var(--header-scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes headerContentScroll {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes headerContentScroll {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

body.teaser-header > header .brand {
    -webkit-animation: headerBrandScroll 1s linear infinite;
    animation: headerBrandScroll 1s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--header-scroll) * -1s);
    animation-delay: calc(var(--header-scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes headerBrandScroll {
    0% {
        color: var(--color-brand-second);
    }

    75% {
        color: var(--color-brand);
    }

    100% {
        color: var(--color-brand);
    }
}

@keyframes headerBrandScroll {
    0% {
        color: var(--color-brand-second);
    }

    75% {
        color: var(--color-brand);
    }

    100% {
        color: var(--color-brand);
    }
}

body.teaser-header.header-scrolled > header {
    position: fixed;
    height: 100px;
}

nav.main {
    position: fixed;
    z-index: 5000;
    width: 100%;
    color: var(--fg-color-nav-main);
    background-color: var(--color-nav-main);
    border-top: 5px #FFF solid;
    text-align: center;
}

body.page-header nav.main {
    top: 100px;
}

body.teaser-header nav.main {
    position: absolute;
    top: 550px;
}

body.teaser-header.header-scrolled nav.main {
    position: fixed;
    top: 100px;
}

nav.main a {
    color: var(--fg-color-nav-main);
    padding: 0 7px;
    display: block;
    -webkit-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    transition: background-color 0.3s;
}

nav.main li:hover a {
    color: var(--fg-color-nav-main-second);
}

nav.main ul {
    text-align: left;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    /*-ms-hyphens: none;*/
    /*-webkit-hyphens: none;*/
    /*hyphens: none;*/
}

nav.main > ul > li {
    position: relative;
    margin: 0 15px;
}

nav.main > ul > li > a {
    font-weight: bold;
    line-height: 1.8em;
    padding-bottom: 2px;
}

nav.main ul li ul {
    position: absolute;
    display: block;
    padding-top: 5px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    min-width: 200px;
    white-space: normal;
}

nav.main > ul > li > ul > li > a {
    color: var(--fg-color-nav-main-second);
    padding: 6px 10px 8px 10px;
    line-height: 1.3em;
}

nav.main > ul > li > ul > li > a:hover {
    color: var(--fg-color-nav-main);
}

nav.main ul li:hover a {
    background-color: var(--color-nav-main-second);
}

nav.main ul > li.current-menu-item > a,
nav.main ul > li.current-menu-ancestor > a,
nav.main ul > li.current-page-ancestor > a,
nav.main ul > li.active > a {
    color: var(--fg-color-nav-main-second);
    background-color: var(--color-nav-main-second);
}

nav.main ul li:hover ul {
    opacity: 1;
    pointer-events: all;
}

nav.main > ul > li > ul > li:hover > a {
    background-color: var(--color-nav-main);
}

.main-nav-trigger {
    display: none;
}

nav.service {
    position: fixed;
    z-index: 5000;
    top: 0;
    right: 0;
    font-size: 14px;
    padding-right: 12px;
    display: flex;
    align-items: center;
}

body.page-header nav.service {
    background-color: var(--color-nav-service);
}

body.teaser-header nav.service {
    background-color: var(--color-nav-service);
}

nav.service li {
    padding: 0 12px;
}

nav.service a {
    color: #FFF;
    font-weight: bold;
    line-height: 1.8em;
    display: block;
}

nav.service ul {
    text-align: left;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    /*-ms-hyphens: none;*/
    /*-webkit-hyphens: none;*/
    /*hyphens: none;*/
}

nav.service .search {
    position: absolute;
    top: calc(1.5rem + 5px);
    right: 0;
    width: 100%;
    min-width: 250px;
    padding: 10px 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

nav.service .search.active {
    opacity: 1;
    pointer-events: all;
}

nav.service .search input {
    line-height: 1.5em;
    width: 100%;
    border: 1px #FFF solid;
    outline: none;
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
}
nav.service .search button {
    color: #FFF;
    line-height: 1.5em;
    margin-left: 0.5rem;
    border: 1px #FFF solid;
    background-color: transparent;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

body.page-header nav.service .search {
    background-color: var(--color-nav-service);
}

body.teaser-header nav.service .search {
    background-color: var(--color-nav-service-second);
}

body.teaser-header nav.service {
    -webkit-animation: navBackgroundColor 1s linear infinite;
    animation: navBackgroundColor 1s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--header-scroll) * -1s);
    animation-delay: calc(var(--header-scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

body.teaser-header nav.service .search {
    -webkit-animation: navBackgroundColor 1s linear infinite;
    animation: navBackgroundColor 1s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--header-scroll) * -1s);
    animation-delay: calc(var(--header-scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes navBackgroundColor {
    0% {
        background-color: var(--color-nav-service-second);
    }

    100% {
        background-color: var(--color-nav-service);
    }
}

@keyframes navBackgroundColor {
    0% {
        background-color: var(--color-nav-service-second);
    }

    100% {
        background-color: var(--color-nav-service);
    }
}

nav.main ul.mobile-service {
    display: none;
}

header.magazine {
    margin-bottom: 40px;
}

header.magazine .brand {
    color: #FFF;
}

nav.magazine {
    position: fixed;
    font-size: 12px;
    line-height: 1.2em;
    top: 250px;
    left: 0;
}

.teaser-header nav.magazine  {
    top: 700px;
}

nav.magazine ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

nav.magazine li {
    display: block;
    font-weight: bold;
    text-align: center;
    width: 100px;
    height: 95px;
    margin-bottom: 10px;
}

nav.magazine li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
}

nav.magazine li span {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    white-space: pre-line;
    z-index: 0;
    -webkit-transition: bottom 0.3s, left 0.3s, height 0.3s;
    -o-transition: bottom 0.3s, left 0.3s, height 0.3s;
    transition: bottom 0.3s, left 0.3s, height 0.3s;
}

nav.magazine li span:before {
    position: absolute;
    content: ' ';
    height: 100%;
    width: 100%;
    background: inherit;
    opacity: 0.8;
    z-index: -1;
    -webkit-transition: opacity 0.3s, background-color 0.5s ease-out;
    -o-transition: opacity 0.3s, background-color 0.5s ease-out;
    transition: opacity 0.3s, background-color 0.5s ease-out;
}

nav.magazine li img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -o-object-fit: cover;
    object-fit: cover;
    mix-blend-mode: multiply;
}

nav.magazine li.active span,
nav.magazine li:hover span {
    bottom: 5px;
    height: 85px;
    left: 30px;
}

nav.magazine li.active span:before,
nav.magazine li:hover span:before {
    opacity: 0.9;
}

nav.magazine-teaser {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
}

nav.magazine-teaser ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 280px 10px 280px 10px 280px;
    grid-template-columns: 280px 280px 280px;
    grid-auto-rows: 270px;
    grid-gap: 10px;
    list-style: none;
    padding: 0;
}

nav.magazine-teaser li {
    font-size: 20px;
    line-height: 1.3em;
    font-weight: bold;
    text-align: center;
}

nav.magazine-teaser li:nth-child(3n-2) {
    -ms-grid-column: 1;
}

nav.magazine-teaser li:nth-child(3n-1) {
    -ms-grid-column: 3;
}

nav.magazine-teaser li:nth-child(3n) {
    -ms-grid-column: 5;
}

nav.magazine-teaser li:nth-child(n+4) {
    -ms-grid-row: 2;
}

nav.magazine-teaser li:nth-child(n+7) {
    -ms-grid-row: 3;
}

nav.magazine-teaser li:nth-child(n+10) {
    -ms-grid-row: 4;
}

nav.magazine-teaser li:nth-child(n+13) {
    -ms-grid-row: 5;
}

nav.magazine-teaser li:nth-child(n+16) {
    -ms-grid-row: 6
}

nav.magazine-teaser li:nth-child(4n):last-child {
    grid-column-start: 2;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    nav.magazine-teaser li {
        margin-top: 10px;
        height: 270px;
        width: 280px;
    }
}

nav.magazine-teaser li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
}

nav.magazine-teaser li span {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    white-space: pre-line;
    z-index: 0;
}

nav.magazine-teaser li span:before {
    position: absolute;
    content: ' ';
    height: 100%;
    width: 100%;
    display: block;
    background: inherit;
    opacity: 0.8;
    z-index: -1;
    -webkit-transition: opacity 0.3s, background-color 0.5s ease-out;
    -o-transition: opacity 0.3s, background-color 0.5s ease-out;
    transition: opacity 0.3s, background-color 0.5s ease-out;
}

nav.magazine-teaser li img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -o-object-fit: cover;
    object-fit: cover;
    mix-blend-mode: multiply;
}

nav.keywords {
    padding: 3.5rem 20px;
}

nav.keywords > *:first-child {
    margin-top: 0;
}

nav.keywords > *:last-child {
    margin-bottom: 0;
}

nav.keywords ul {
    list-style: none;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

nav.keywords li {
    margin: 5px;
}

nav.keywords a {
    display: block;
    white-space: nowrap;
    padding: 6px 10px 8px 10px;
    font-weight: bold;
    line-height: 1;
    color: #FFF;
    background-color: rgb(142, 145, 146);
}

nav.keywords a:hover {
    color: #000;
}

nav.keywords em {
    font-style: normal;
}

body > footer {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1.4em;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    padding-left: calc((100% - 830px) / 2);
    padding-right: calc((100% - 830px) / 2);
    background-color: rgb(239, 239, 239);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}

body > footer nav,
nav.footer {
}

body > footer ul.menu,
nav.footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body > footer ul.menu a,
nav.footer a {
    color: #000;
}

body > footer ul.menu a:hover,
nav.footer a:hover {
    color: #000;
}

img {
    max-width: 100%;
}

.video-link,
.article-link,
.post-link-image {
    position: relative;
    display: block;
    line-height: 0;
}

.more-link {
    font-weight: bold;
    display: block;
}

.post-link-image + * {
    margin-top: 20px;
}

.video-link:before,
.article-link:before {
    position: absolute;
    content: ' ';
    top: 50%;
    left: 50%;
    width: 50px;
    height: 35px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: var(--color-button);
    border-radius: 13px;
    -webkit-box-shadow: -5px 5px 7px rgba(0, 0, 0, 0.7);
    box-shadow: -5px 5px 7px rgba(0, 0, 0, 0.7);
    background-repeat: no-repeat;
    background-position: center;
}

.video-link:after,
.article-link:after,
.post-link-image:after {
    position: absolute;
    content: ' ';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    display: block;
    line-height: 0;
    background: var(--element-link-background);
}

.video-link:before {
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 50 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M18.777,9.752l-0.027,15.496l12.5,-7.769l-12.473,-7.727Z" style="fill:white;fill-rule:nonzero;"/></svg>');
}

.article-link:before {
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 50 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M11.55,9.17l13.449,0l0,-2l-13.449,0l0,2Z" style="fill:white;"/><path d="M11.55,15.39l26.9,0l0,-2l-26.9,0l0,2Z" style="fill:white;"/><path d="M11.55,21.61l26.9,-0l-0,-2l-26.9,-0l-0,2Z" style="fill:white;"/><path d="M11.55,27.83l26.9,-0l0,-2l-26.9,-0l0,2Z" style="fill:white;"/></svg>');
}

.pdf-link {
    min-height: 35px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.2em;
}

.pdf-link:before {
    width: 35px;
    height: 35px;
    margin-right: 0.8rem;
    content: ' ';
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 70 70" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M45.494,0l-27.418,0c-2.561,0 -4.645,2.071 -4.645,4.616l0,30.874l-2.708,-0c-2.087,-0 -3.778,1.681 -3.778,3.756l0,16.927c0,2.075 1.691,3.756 3.778,3.756l2.708,0l0,5.455c0,2.545 2.084,4.616 4.645,4.616l40.337,0c2.559,0 4.642,-2.071 4.642,-4.616l-0,-45.832l-17.561,-19.552Zm15.832,65.384c0,1.597 -1.308,2.897 -2.913,2.897l-40.337,0c-1.608,0 -2.916,-1.3 -2.916,-2.897l0,-5.455l35.972,0c2.087,0 3.778,-1.681 3.778,-3.756l-0,-16.927c-0,-2.075 -1.691,-3.756 -3.778,-3.756l-35.972,-0l0,-30.874c0,-1.597 1.308,-2.897 2.916,-2.897l26.643,-0l0.389,0.432l-0,14.446c-0,2.073 1.69,3.756 3.777,3.756l12.441,-0l0,45.031Zm-45.626,-11.415l-0,-12.521l3.969,0c2.792,0 4.869,0.956 4.869,3.868c-0,2.776 -2.077,4.058 -4.794,4.058l-1.81,0l0,4.595l-2.234,-0Zm11.011,-0l-0,-12.521l3.369,0c3.852,0 6.124,2.068 6.124,6.202c-0,4.156 -2.272,6.319 -6.008,6.319l-3.485,-0Zm18.654,-7.102l-0,1.876l-4.585,0l0,5.226l-2.232,-0l-0,-12.521l7.605,0l0,1.876l-5.373,0l0,3.543l4.585,0Z" style="fill:var(--color-button);fill-rule:nonzero;"/><path d="M29.926,43.248l-0.982,0l0,8.922l0.982,0c2.543,0 3.987,-1.436 3.987,-4.521c-0,-3.062 -1.444,-4.401 -3.987,-4.401" style="fill:var(--color-button);fill-rule:nonzero;"/><path d="M22.344,45.316c-0,-1.57 -0.982,-2.087 -2.85,-2.087l-1.559,-0l-0,4.365l1.637,-0c1.868,-0 2.772,-0.747 2.772,-2.278" style="fill:var(--color-button);fill-rule:nonzero;"/></svg>');
}

.pdf-link:hover:before {
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 70 70" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M45.494,0l-27.418,0c-2.561,0 -4.645,2.071 -4.645,4.616l0,30.874l-2.708,-0c-2.087,-0 -3.778,1.681 -3.778,3.756l0,16.927c0,2.075 1.691,3.756 3.778,3.756l2.708,0l0,5.455c0,2.545 2.084,4.616 4.645,4.616l40.337,0c2.559,0 4.642,-2.071 4.642,-4.616l-0,-45.832l-17.561,-19.552Zm15.832,65.384c0,1.597 -1.308,2.897 -2.913,2.897l-40.337,0c-1.608,0 -2.916,-1.3 -2.916,-2.897l0,-5.455l35.972,0c2.087,0 3.778,-1.681 3.778,-3.756l-0,-16.927c-0,-2.075 -1.691,-3.756 -3.778,-3.756l-35.972,-0l0,-30.874c0,-1.597 1.308,-2.897 2.916,-2.897l26.643,-0l0.389,0.432l-0,14.446c-0,2.073 1.69,3.756 3.777,3.756l12.441,-0l0,45.031Zm-45.626,-11.415l-0,-12.521l3.969,0c2.792,0 4.869,0.956 4.869,3.868c-0,2.776 -2.077,4.058 -4.794,4.058l-1.81,0l0,4.595l-2.234,-0Zm11.011,-0l-0,-12.521l3.369,0c3.852,0 6.124,2.068 6.124,6.202c-0,4.156 -2.272,6.319 -6.008,6.319l-3.485,-0Zm18.654,-7.102l-0,1.876l-4.585,0l0,5.226l-2.232,-0l-0,-12.521l7.605,0l0,1.876l-5.373,0l0,3.543l4.585,0Z" style="fill:rgb(0, 0, 0);fill-rule:nonzero;"/><path d="M29.926,43.248l-0.982,0l0,8.922l0.982,0c2.543,0 3.987,-1.436 3.987,-4.521c-0,-3.062 -1.444,-4.401 -3.987,-4.401" style="fill:rgb(0, 0, 0);fill-rule:nonzero;"/><path d="M22.344,45.316c-0,-1.57 -0.982,-2.087 -2.85,-2.087l-1.559,-0l-0,4.365l1.637,-0c1.868,-0 2.772,-0.747 2.772,-2.278" style="fill:rgb(0, 0, 0);fill-rule:nonzero;"/></svg>');
}

.button-link, .button {
    color: var(--fg-color-button);
    font-weight: bold;
    padding: 8px 20px;
    display: inline-block;
    border-radius: 12px;
    background-color: var(--color-button);
}

.button-link:hover, .button:hover {
    color: var(--fg-color-button-second);
    background-color: var(--color-button-second);
}

nav.invest {
    position: fixed;
    top: 66%;
    right: 0;
    z-index: 6000;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

nav.invest ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

nav.invest li + li {
    padding-top: 40px;
}

nav.invest a {
    color: var(--fg-color-nav-invest);
    font-weight: bold;
    padding: 8px 20px;
    display: inline-block;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    background-color: var(--color-nav-invest);
}

nav.invest a:hover {
    color: var(--fg-color-nav-invest-second);
    background-color: var(--color-nav-invest-second);
}

#search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#search input {
    line-height: 1.5em;
    border: 1px #FFF solid;
    outline: none;
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
    padding: 4px 10px;
    margin-right: 1rem;
    width: 100%;
    border: 1px solid var(--color-main);
}

#search button {
    color: var(--fg-color-button);
    font-weight: bold;
    padding: 8px 20px;
    display: inline-block;
    border-radius: 12px;
    background-color: var(--color-button);
    border: 0;
    cursor: pointer;
}

#search button:hover {
    color: var(--fg-color-button-second);
    background-color: var(--color-button-second);
}

.callout-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
}

.callout-buttons ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 280px 10px 280px 10px 280px;
    grid-template-columns: 280px 280px 280px;
    grid-auto-rows: 270px;
    grid-gap: 10px;
    list-style: none;
    padding: 0;
}

.callout-buttons li {
    position: relative;
    overflow: hidden;
}

.callout-buttons li:nth-child(3n-2) {
    -ms-grid-column: 1;
}

.callout-buttons li:nth-child(3n-1) {
    -ms-grid-column: 3;
}

.callout-buttons li:nth-child(3n) {
    -ms-grid-column: 5;
}

.callout-buttons li:nth-child(n+4) {
    -ms-grid-row: 2;
}

.callout-buttons li:nth-child(n+7) {
    -ms-grid-row: 3;
}

.callout-buttons li:nth-child(n+10) {
    -ms-grid-row: 4;
}

.callout-buttons li:nth-child(n+13) {
    -ms-grid-row: 5;
}

.callout-buttons li:nth-child(n+16) {
    -ms-grid-row: 6
}

.callout-buttons li:nth-child(4n):last-child {
    grid-column-start: 2;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .callout-buttons li {
        margin-top: 10px;
        height: 270px;
        width: 280px;
    }
}

.callout-buttons li:hover {
    overflow: inherit;
}

.callout-buttons a {
    color: #000;
}

.callout-buttons li .callout-button-front,
.callout-buttons li .callout-button-back {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-transition: opacity 0.5s ease-out;
    -o-transition: opacity 0.5s ease-out;
    transition: opacity 0.5s ease-out;
}

.callout-buttons li .callout-button-back {
    z-index: 1000;
}

.callout-buttons li .callout-button-front img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
}

.callout-buttons li .callout-button-back img {
    width: 100%;
    min-height: 150px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
}

.callout-buttons li .callout-button-front span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    font-size: 20px;
    line-height: 1.3em;
    text-align: center;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
}

.callout-buttons li .callout-button-back-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    display: block;
    font-size: 20px;
    line-height: 1.3em;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1000;
}

.callout-buttons li .callout-button-back span {
    width: 100%;
    min-height: 100%;
    display: block;
    font-size: 20px;
    line-height: 1.3em;
    text-align: center;
    padding: 0 20px 30px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1000;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .callout-buttons li .callout-button-back span {
        margin-top: 150px;
    }

    .callout-buttons li .callout-button-back img {
        top: 0 !important;
        margin-top: 0 !important;
    }
}

.callout-buttons .callout-button-extra {
    position: absolute;
    right: -51px;
    top: -56px;
    z-index: 1000;
    text-indent: -200vw;
    width: 0;
    height: 0;
    border-top: 60px solid transparent;
    border-bottom: 60px solid transparent;
    border-left: 60px solid white;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: bottom;
    -ms-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: border-left-color 0.3s ease-out;
    -o-transition: border-left-color 0.3s ease-out;
    transition: border-left-color 0.3s ease-out;
}

.callout-buttons .callout-button-extra:before {
    position: absolute;
    content: ' ';
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 150 150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;"><g><path d="M75.002,137.912c34.745,0 62.911,-28.166 62.911,-62.911c-0,-34.745 -28.166,-62.92 -62.911,-62.92c-34.745,0 -62.912,28.175 -62.912,62.92c0,34.745 28.167,62.911 62.912,62.911" style="fill-rule:nonzero;"/><path d="M75.002,137.912c34.745,0 62.911,-28.166 62.911,-62.911c-0,-34.745 -28.166,-62.92 -62.911,-62.92c-34.745,0 -62.912,28.175 -62.912,62.92c0,34.745 28.167,62.911 62.912,62.911Z" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M75.002,107.945c17.902,-0 32.41,-14.75 32.41,-32.944c0,-18.194 -14.508,-32.944 -32.41,-32.944c-17.902,-0 -32.411,14.75 -32.411,32.944c0,18.194 14.509,32.944 32.411,32.944" style="fill-rule:nonzero;"/><path d="M75.002,107.945c17.902,-0 32.41,-14.75 32.41,-32.944c0,-18.194 -14.508,-32.944 -32.41,-32.944c-17.902,-0 -32.411,14.75 -32.411,32.944c0,18.194 14.509,32.944 32.411,32.944Z" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M75.002,10l-0,130" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M140,74.999l-130,0" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/></g></svg>');
    background-position: center;
    width: 20px;
    height: 20px;
    top: -10px;
    left: -48px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.callout-buttons li .callout-button-front {
    font-weight: bold;
    opacity: 1;
}

.callout-buttons li .callout-button-back {
    font-weight: normal;
    opacity: 0;
}

.callout-buttons li:hover .callout-button-front {
    opacity: 1;
}

.callout-buttons li:hover .callout-button-back {
    opacity: .95;
}

.bgcolor-yellow .callout-buttons li .callout-button-front {
    background-color: rgb(255, 214, 24);
}

.bgcolor-yellow .callout-buttons li .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0);
}

.bgcolor-yellow .callout-buttons .callout-button-extra {
    border-left-color: rgb(238, 161, 0);
}

.bgcolor-yellow .callout-buttons li:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24);
}

.bgcolor-green .callout-buttons li .callout-button-front {
    background-color: rgb(149, 193, 31);
}

.bgcolor-green .callout-buttons li .callout-button-back-wrapper {
    color: #FFF;
    background-color: rgb(51, 61, 40);
}

.bgcolor-green .callout-buttons .callout-button-extra {
    border-left-color: rgb(51, 61, 40);
}

.bgcolor-green .callout-buttons li:hover .callout-button-extra {
    border-left-color: rgb(149, 193, 31);
}

.bgcolor-grey .callout-buttons li .callout-button-front {
    background-color: rgb(255, 214, 24);
}

.bgcolor-grey .callout-buttons li .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0);
}

.bgcolor-grey .callout-buttons .callout-button-extra {
    border-left-color: rgb(238, 161, 0);
}

.bgcolor-grey .callout-buttons li:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24);
}

.bgcolor-white .callout-buttons li .callout-button-front {
    background-color: rgb(255, 214, 24);
}

.bgcolor-white .callout-buttons li .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0);
}

.bgcolor-white .callout-buttons .callout-button-extra {
    border-left-color: rgb(238, 161, 0);
}

.bgcolor-white .callout-buttons li:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24);
}

.callout-buttons li.callout-buttons-color-yellow .callout-button-front {
    background-color: rgb(255, 214, 24) !important;
}

.callout-buttons li.callout-buttons-color-yellow .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-yellow .callout-button-extra {
    border-left-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-yellow:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24) !important;
}

.callout-buttons li.callout-buttons-color-green .callout-button-front {
    background-color: rgb(149, 193, 31) !important;
}

.callout-buttons li.callout-buttons-color-green .callout-button-back-wrapper {
    color: #FFF !important;
    background-color: rgb(51, 61, 40) !important;
}

.callout-buttons li.callout-buttons-color-green .callout-button-extra {
    border-left-color: rgb(51, 61, 40) !important;
}

.callout-buttons li.callout-buttons-color-green:hover .callout-button-extra {
    border-left-color: rgb(149, 193, 31) !important;
}

.callout-buttons li.callout-buttons-color-grey .callout-button-front {
    background-color: rgb(255, 214, 24) !important;
}

.callout-buttons li.callout-buttons-color-grey .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-grey .callout-button-extra {
    border-left-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-grey:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24) !important;
}

.callout-buttons li.callout-buttons-color-white .callout-button-front {
    background-color: rgb(255, 214, 24) !important;
}

.callout-buttons li.callout-buttons-color-white .callout-button-back-wrapper {
    background-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-white .callout-button-extra {
    border-left-color: rgb(238, 161, 0) !important;
}

.callout-buttons li.callout-buttons-color-white:hover .callout-button-extra {
    border-left-color: rgb(255, 214, 24) !important;
}



.solution-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
}

.solution-buttons > ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 280px 10px 280px 10px 280px;
    grid-template-columns: 280px 280px 280px;
    grid-auto-rows: 630px;
    grid-gap: 10px;
    list-style: none;
    padding: 0;
}

.solution-buttons > ul > li {
    position: relative;
    overflow: hidden;
}

.solution-buttons > ul > li > ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 280px 10px 280px 10px 280px;
    grid-auto-rows: 270px 270px;
    grid-gap: 90px;
    list-style: none;
    padding: 0;
}

.solution-buttons > ul > li > ul > li {
    position: relative;
}

.solution-buttons > ul > li:nth-child(3n-2) {
    -ms-grid-column: 1;
}

.solution-buttons > ul > li:nth-child(3n-1) {
    -ms-grid-column: 3;
}

.solution-buttons > ul > li:nth-child(3n) {
    -ms-grid-column: 5;
}

.solution-buttons > ul > li:nth-child(n+4) {
    -ms-grid-row: 2;
}

.solution-buttons > ul > li:nth-child(n+7) {
    -ms-grid-row: 3;
}

.solution-buttons > ul > li:nth-child(n+10) {
    -ms-grid-row: 4;
}

.solution-buttons > ul > li:nth-child(n+13) {
    -ms-grid-row: 5;
}

.solution-buttons > ul > li:nth-child(n+16) {
    -ms-grid-row: 6
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .solution-buttons > ul > li {
        margin-top: 10px;
        height: 270px;
        width: 280px;
    }
}

.solution-buttons > ul > li:hover {
    overflow: inherit;
}

.solution-buttons > ul > li > ul > li:hover {
    overflow: inherit;
}

.solution-buttons a {
    color: #000;
}

.solution-buttons > ul > li > ul > li:last-child:before {
    position: absolute;
    content: ' ';
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%) translateY(25px);
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 190 220" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;"><g><path d="M146.009,131.678l0,-125.042l-102.018,0l0,124.872l-38.674,-0.066l89.93,81.922l89.436,-81.622l-38.674,-0.064Z" style="fill:rgb(140,193,31);fill-rule:nonzero;stroke:rgb(221,222,222);stroke-width:2px;"/><path d="M84.907,147.137c-0.046,-6.51 -0.254,-13.492 -0.83,-19.188l-0.04,0l-6.442,19.188l-6.818,0l-6.274,-19.188l-0.044,0c-0.498,5.662 -0.826,12.718 -0.868,19.188l-6.57,0c0.046,-7.976 0.706,-17.388 1.7,-25.658l10.528,0l5.328,16.286l0.04,0l5.494,-16.286l10.534,0c0.992,8.308 1.528,17.57 1.568,25.658l-7.306,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M104.715,133.46c1.362,-0 2.73,-0.442 3.804,-1.064c0,-4.812 -1.156,-6.802 -3.426,-6.802c-2.234,-0 -3.266,1.584 -3.266,4.08c0,2.758 0.786,3.786 2.888,3.786m-2.02,14.19c-2.19,-0 -4.464,-0.22 -6.86,-0.66l0.54,-4.486c2.146,0.406 4.336,0.59 6.194,0.59c4.296,-0 5.95,-2.722 6.114,-6.14l-0.038,-0.22c-1.446,0.844 -3.388,1.47 -5.496,1.47c-5.992,-0 -8.222,-2.868 -8.222,-8.198c0,-5.438 3.926,-9.08 10.12,-9.08c7.356,-0 10.242,3.752 10.242,12.134c0,8.268 -2.886,14.59 -12.594,14.59" style="fill:white;fill-rule:nonzero;"/><path d="M124.483,133.46c1.364,-0 2.726,-0.442 3.802,-1.064c0,-4.812 -1.158,-6.802 -3.428,-6.802c-2.232,-0 -3.264,1.584 -3.264,4.08c0,2.758 0.782,3.786 2.89,3.786m-2.022,14.19c-2.188,-0 -4.462,-0.22 -6.856,-0.66l0.538,-4.486c2.142,0.406 4.334,0.59 6.194,0.59c4.296,-0 5.948,-2.722 6.112,-6.14l-0.04,-0.22c-1.446,0.844 -3.388,1.47 -5.5,1.47c-5.98,-0 -8.214,-2.868 -8.214,-8.198c0,-5.438 3.926,-9.08 10.12,-9.08c7.352,-0 10.244,3.752 10.244,12.134c0,8.268 -2.892,14.59 -12.598,14.59" style="fill:white;fill-rule:nonzero;"/><path d="M66.542,159.931c-0.058,-2.608 -0.204,-5.148 -0.564,-7.552l-0.014,-0l-2.872,7.552l-1.326,-0l-2.842,-7.552l-0.028,-0c-0.276,2.374 -0.462,4.958 -0.506,7.552l-1.342,-0c0.044,-2.904 0.302,-5.998 0.778,-8.962l2.05,-0l2.64,7.048l0.03,-0l2.654,-7.048l2.036,-0c0.46,3.016 0.692,5.956 0.748,8.962l-1.442,-0Z" style="fill:white;fill-rule:nonzero;"/><path d="M71.061,150.968l-0,8.962l5.596,0l-0,-1.04l-4.182,0l-0,-3.094l3.592,0l-0,-1.04l-3.592,0l-0,-2.748l4.126,0l-0,-1.04l-5.54,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M78.219,150.968l-0,1.04l3.016,0l-0,7.92l1.414,0l-0,-7.92l3,0l-0,-1.04l-7.43,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M93.514,150.968l0,3.746l-4.53,0l0,-3.746l-1.414,0l0,8.962l1.414,0l0,-4.122l4.53,0l0,4.122l1.414,0l0,-8.962l-1.414,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M103.364,156.604c-0.434,-1.116 -0.908,-2.3 -1.428,-3.468c-0.116,-0.306 -0.244,-0.63 -0.362,-0.922l-0.014,0c-0.116,0.292 -0.26,0.64 -0.376,0.922c-0.488,1.144 -0.952,2.326 -1.384,3.468l3.564,0Zm1.11,3.326c-0.246,-0.744 -0.504,-1.554 -0.78,-2.322l-4.238,0c-0.29,0.768 -0.564,1.578 -0.796,2.322l-1.458,0c1.11,-3.172 2.308,-6.138 3.636,-8.962l1.558,0c1.428,2.99 2.64,6.022 3.666,8.962l-1.588,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M114.668,150.968l-0,7.126l-0.028,0l-4.372,-7.126l-1.936,0l-0,8.962l1.298,0l-0,-7.32l0.032,0l4.488,7.32l1.818,0l-0,-8.962l-1.3,0Z" style="fill:white;fill-rule:nonzero;"/><path d="M123.168,151.892c-2.322,0 -3.16,1.606 -3.16,3.468c0,2.118 0.838,3.644 3.348,3.644c2.368,0 3.16,-1.616 3.16,-3.48c0,-2.068 -0.85,-3.632 -3.348,-3.632m0.046,8.192c-3.162,0 -4.706,-1.748 -4.706,-4.56c0,-2.798 1.69,-4.712 4.808,-4.712c3.084,0 4.716,1.81 4.716,4.548c0,2.848 -1.644,4.724 -4.818,4.724" style="fill:white;fill-rule:nonzero;"/><path d="M130.573,150.968l-0,8.962l5.194,0l-0,-1.052l-3.778,0l-0,-7.91l-1.416,0Z" style="fill:white;fill-rule:nonzero;"/></g></svg>');
    background-repeat: no-repeat;
    background-position: center;
    height: 110px;
    width: 95px;
    z-index: 500;
}

.solution-buttons li .solution-button-front,
.solution-buttons li .solution-button-back {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-transition: opacity 0.5s ease-out;
    -o-transition: opacity 0.5s ease-out;
    transition: opacity 0.5s ease-out;
}

.solution-buttons li .solution-button-back {
    z-index: 1000;
}

.solution-buttons li .solution-button-front img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
}

.solution-buttons li .solution-button-back img {
    width: 100%;
    min-height: 150px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
}

.solution-buttons li .solution-button-front span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    font-size: 20px;
    line-height: 1.3em;
    text-align: center;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
}

.solution-buttons li .solution-button-back-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    display: block;
    font-size: 20px;
    line-height: 1.3em;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1000;
}

.solution-buttons li .solution-button-back span {
    width: 100%;
    min-height: 100%;
    display: block;
    font-size: 1rem;
    line-height: 1.3em;
    text-align: left;
    padding: 0 20px 30px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1000;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    -moz-hyphenate-limit-chars: 8 4 4;
    -webkit-hyphenate-limit-chars: 8 4 4;
    -ms-hyphenate-limit-chars: 8 4 4;
    hyphenate-limit-chars: 8 4 4;
}

.solution-buttons li .solution-button-back span:first-child {
    padding: 30px 20px;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .solution-buttons li .solution-button-back span {
        margin-top: 150px;
    }

    .solution-buttons li .solution-button-back img {
        top: 0 !important;
        margin-top: 0 !important;
    }
}

.solution-buttons .solution-button-extra {
    position: absolute;
    right: -51px;
    top: -56px;
    z-index: 1000;
    text-indent: -200vw;
    width: 0;
    height: 0;
    border-top: 60px solid transparent;
    border-bottom: 60px solid transparent;
    border-left: 60px solid white;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: bottom;
    -ms-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: border-left-color 0.3s ease-out;
    -o-transition: border-left-color 0.3s ease-out;
    transition: border-left-color 0.3s ease-out;
}

.solution-buttons .solution-button-extra {
    z-index: 500;
}

.solution-buttons > ul > li > ul > li:hover .solution-button-extra {
    z-index: 1000;
}

.solution-buttons .solution-button-extra:before {
    position: absolute;
    content: ' ';
    background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 150 150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;"><g><path d="M75.002,137.912c34.745,0 62.911,-28.166 62.911,-62.911c-0,-34.745 -28.166,-62.92 -62.911,-62.92c-34.745,0 -62.912,28.175 -62.912,62.92c0,34.745 28.167,62.911 62.912,62.911" style="fill-rule:nonzero;"/><path d="M75.002,137.912c34.745,0 62.911,-28.166 62.911,-62.911c-0,-34.745 -28.166,-62.92 -62.911,-62.92c-34.745,0 -62.912,28.175 -62.912,62.92c0,34.745 28.167,62.911 62.912,62.911Z" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M75.002,107.945c17.902,-0 32.41,-14.75 32.41,-32.944c0,-18.194 -14.508,-32.944 -32.41,-32.944c-17.902,-0 -32.411,14.75 -32.411,32.944c0,18.194 14.509,32.944 32.411,32.944" style="fill-rule:nonzero;"/><path d="M75.002,107.945c17.902,-0 32.41,-14.75 32.41,-32.944c0,-18.194 -14.508,-32.944 -32.41,-32.944c-17.902,-0 -32.411,14.75 -32.411,32.944c0,18.194 14.509,32.944 32.411,32.944Z" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M75.002,10l-0,130" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/><path d="M140,74.999l-130,0" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:4.17px;"/></g></svg>');
    background-position: center;
    width: 20px;
    height: 20px;
    top: -10px;
    left: -48px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.solution-buttons li .solution-button-front {
    font-weight: bold;
    opacity: 1;
}

.solution-buttons li .solution-button-back {
    font-weight: normal;
    opacity: 0;
}

.solution-buttons > ul > li > ul > li:hover .solution-button-front {
    opacity: 1;
}

.solution-buttons > ul > li > ul > li:hover .solution-button-back {
    opacity: .95;
}

.solution-buttons li .solution-button-front {
    background-color: rgb(149, 193, 31);
}

.solution-buttons ul > li > ul > li:first-child .solution-button-front {
    color: #FFF;
    background-color: rgb(79, 82, 83);
}

.solution-buttons li .solution-button-back-wrapper {
    color: #FFF;
    background-color: rgb(51, 61, 40);
}

.solution-buttons ul > li > ul > li:first-child .solution-button-back-wrapper {
    color: #FFF;
    background-color: rgb(40, 41, 42);
}

.solution-buttons .solution-button-extra {
    border-left-color: rgb(51, 61, 40);
}

.solution-buttons > ul > li > ul > li:hover .solution-button-extra {
    border-left-color: rgb(149, 193, 31);
}

.solution-buttons > ul > li > ul > li:first-child .solution-button-extra {
    border-left-color: rgb(0, 0, 0);
}

.solution-buttons > ul > li > ul > li:first-child:hover .solution-button-extra {
    border-left-color: rgb(0, 0, 0);
}

.two-box-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 10px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}

.three-box-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 10px 1fr 10px 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}

.two-box-grid > div,
.three-box-grid > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 12px 20px;
}

.two-box-grid > div:before,
.three-box-grid > div:before{
    content: "";
    display: block;
    height: 0;
    width: 0;
    padding-bottom: calc(90%);
}

.bgcolor-yellow .two-box-grid > div,
.bgcolor-yellow .three-box-grid > div {
    background-color: rgb(255, 214, 24);
}

.bgcolor-green .two-box-grid > div,
.bgcolor-green .three-box-grid > div {
    background-color: rgb(149, 193, 31);
}

.bgcolor-grey .two-box-grid > div,
.bgcolor-grey .three-box-grid > div {
    background-color: rgb(255, 214, 24);
}

.bgcolor-white .two-box-grid > div,
.bgcolor-white .three-box-grid > div {
    background-color: rgb(255, 214, 24);
}

.rotate-minus-15 {
    -webkit-transform: rotate(-15deg);
    -ms-transform: rotate(-15deg);
    transform: rotate(-15deg);
}

input[type=search] {
    -webkit-appearance: none;
    border-radius: 0;
}

@media only screen and (max-width: 812px) {

    :root {
        --header-scroll-max: 80;
    }

    body.page-header {
        padding-top: 60px;
    }

    body.teaser-header {
        padding-top: 140px;
    }

    .width-x-large,
    .width-large,
    .width-medium,
    .width-small {
        padding-left: calc(40px + env(safe-area-inset-right));
        padding-right:  calc(40px + env(safe-area-inset-right));
    }

    nav.magazine {
        display: none;
    }

    nav.magazine-teaser {
        padding-left: calc(40px + env(safe-area-inset-right));
        padding-right:  calc(40px + env(safe-area-inset-right));
    }

    nav.keywords {
        padding-left: calc(40px + env(safe-area-inset-right));
        padding-right:  calc(40px + env(safe-area-inset-right));
    }

    body.page-header > header,
    header.magazine {
        height: 60px;
        padding: 10px 20px;
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right:  calc(20px + env(safe-area-inset-right));
        overflow: hidden;
    }

    body.page-header > header .brand,
    body.page-header > header .brand a,
    body.page-header > header .brand a:hover,
    body.teaser-header > header .brand,
    body.teaser-header > header .brand a,
    body.teaser-header > header .brand a:hover,
    header.magazine .brand,
    header.magazine .brand a,
    header.magazine .brand a:hover {
        width: 78px;
        height: 43px;
    }

    body.page-header > header p,
    header.magazine p {
        padding: 0;
        margin: 0;
        /*-ms-hyphens: none;*/
        /*-webkit-hyphens: none;*/
        /*hyphens: none;*/
    }

    body.page-header > header .breadcrump,
    header.magazine .breadcrump {
        position: relative;
        top: 0;
        padding: 0 10px 1px 10px;
        height: auto;
        width: calc(100% - 78px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    body.page-header > header .breadcrump strong {
        font-size: 20px;
        line-height: 1em;
    }

    header.magazine .breadcrump strong {
        font-size: 40px;
        line-height: 1em;
    }

    body.page-header > header .breadcrump-word-wrap strong,
    header.magazine .breadcrump-word-wrap strong {
        font-size: 20px;
        line-height: 0.7em;
        white-space: nowrap;
    }

    body.page-header > header .breadcrump em,
    header.magazine .breadcrump em {
        position: relative;
        left: auto;
        bottom: auto;
        font-size: 12px;
        line-height: 1.2em;
        padding: 0;
        display: block;
    }

    body.teaser-header > header {
        position: absolute;
        width: 100%;
        height: 140px;
    }

    body.teaser-header > header .brand {
        top: 10px;
        left: 20px;
        width: 78px;
        height: 43px;
    }

    body.teaser-header > header .media {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: 5000;
    }

    body.teaser-header > header .media video {
        display: none;
    }

    body.teaser-header > header .animated-text * {
        display: none;
    }

    figure img {
        max-height: 700px;
        max-width: 700px;
    }

    body.main-nav-open {
        height: 100%;
        overflow: hidden;
    }

    @-webkit-keyframes animatedMainMobileIn {
        0% {
            height: 0;
            background-color: transparent;
            border-top-color: transparent;
        }
        1% {
            height: 0;
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        99% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        100% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
    }

    @keyframes animatedMainMobileIn {
        0% {
            height: 0;
            background-color: transparent;
            border-top-color: transparent;
        }
        1% {
            height: 0;
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        99% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        100% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
    }

    @-webkit-keyframes animatedMainMobileOut {
        0% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        1% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        99% {
            height: 0;
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        100% {
            height: 0;
            background-color: transparent;
            border-top-color: transparent;
        }
    }

    @keyframes animatedMainMobileOut {
        0% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        1% {
            height: calc(100% - 60px);
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        99% {
            height: 0;
            background-color: var(--color-mobile-nav-main);
            border-top-color: #FFF;
        }
        100% {
            height: 0;
            background-color: transparent;
            border-top-color: transparent;
        }
    }

    nav.main {
        position: fixed;
        z-index: 5000;
        top: 0;
        left: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100vw;
        height: 0;
        margin-top: 60px;
        padding: 0 30px 0 30px;
        padding-left: calc(30px + env(safe-area-inset-right));
        padding-right:  calc(30px + env(safe-area-inset-right));
        background-color: transparent;
        text-align: left;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        border-top-color: transparent;
    }

    body.page-header nav.main {
        top: 0;
    }

    body.teaser-header nav.main {
        top: 140px;
        margin-top: 0;
    }

    .main-nav-open nav.main {
        -webkit-animation: animatedMainMobileIn 0.3s linear;
        animation: animatedMainMobileIn 0.3s linear;
        -webkit-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
    }

    .main-nav-closed nav.main {
        -webkit-animation: animatedMainMobileOut 0.3s linear;
        animation: animatedMainMobileOut 0.3s linear;
        -webkit-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
    }

    body.teaser-header.main-nav-open nav.main {
        height: calc((100% - 60px) - (80px - (80px * var(--header-scroll, 0))));
        max-height: calc((100% - 60px) - (80px - (80px * var(--header-scroll, 0))));
    }

    nav.main ul.mobile-service {
        display: block;
    }

    nav.main ul.mobile-service .search {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        white-space: nowrap;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
        -ms-flex-line-pack: stretch;
        align-content: stretch;
    }

    nav.main ul.mobile-service .search input {
        line-height: 1.7em;
        border: 1px #FFF solid;
        outline: none;
        -webkit-box-flex: 2;
        -ms-flex-positive: 2;
        flex-grow: 2;
    }
    nav.main ul.mobile-service .search button {
        color: #FFF;
        line-height: 1.7em;
        margin-left: 0.5rem;
        border: 1px #FFF solid;
        background-color: transparent;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    nav.service {
        display: none;
    }

    .main-nav-trigger {
        z-index: 5000;
        position: fixed;
        right: 0;
        top: 0;
        display: block;
        width: 50px;
        height: 60px;
        padding: 15px 15px;
        background-color: transparent;
        border: none;
        outline: none;
        -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    }

    body.teaser-header .main-nav-trigger {
        position: absolute;
        right: 0;
        top: 110px;
        left: 50%;
        width: 40px;
        height: 30px;
        padding: 5px 7px;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        background-color: var(--color-nav-main);
    }

    body.teaser-header.header-half-scrolled .main-nav-trigger {
        position: fixed;
    }

    @-webkit-keyframes navTriggerScroll {
        0% {
            position: absolute;
            opacity: 1;
            top: 110px;
            left: 50%;
            width: 40px;
            height: 30px;
            padding: 5px 7px;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            background-color: var(--color-nav-main);
        }

        50% {
            position: absolute;
            opacity: 0;
            top: 110px;
            left: 50%;
            width: 40px;
            height: 30px;
            padding: 5px 7px;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            background-color: var(--color-nav-main);
        }

        51% {
            position: fixed;
            opacity: 0;
            right: 0;
            top: 0;
            left: auto;
            width: 50px;
            height: 60px;
            padding: 15px 15px;
            -webkit-transform: none;
            transform: none;
            background-color: transparent;
        }

        100% {
            position: fixed;
            opacity: 1;
            right: 0;
            top: 0;
            left: auto;
            width: 50px;
            height: 60px;
            padding: 15px 15px;
            -webkit-transform: none;
            transform: none;
            background-color: transparent;
        }
    }

    @keyframes navTriggerScroll {
        0% {
            position: absolute;
            opacity: 1;
            top: 110px;
            left: 50%;
            width: 40px;
            height: 30px;
            padding: 5px 7px;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            background-color: var(--color-nav-main);
        }

        50% {
            position: absolute;
            opacity: 0;
            top: 110px;
            left: 50%;
            width: 40px;
            height: 30px;
            padding: 5px 7px;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            background-color: var(--color-nav-main);
        }

        51% {
            position: fixed;
            opacity: 0;
            right: 0;
            top: 0;
            left: auto;
            width: 50px;
            height: 60px;
            padding: 15px 15px;
            -webkit-transform: none;
            transform: none;
            background-color: transparent;
        }

        100% {
            position: fixed;
            opacity: 1;
            right: 0;
            top: 0;
            left: auto;
            width: 50px;
            height: 60px;
            padding: 15px 15px;
            -webkit-transform: none;
            transform: none;
            background-color: transparent;
        }
    }

    body.teaser-header .main-nav-trigger {
        -webkit-animation: navTriggerScroll 1s linear infinite;
        animation: navTriggerScroll 1s linear infinite;
        -webkit-animation-play-state: paused;
        animation-play-state: paused;
        -webkit-animation-delay: calc(var(--header-scroll) * -1s);
        animation-delay: calc(var(--header-scroll) * -1s);
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both;
    }

    body.teaser-header.header-scrolled > header {
        height: 60px;
    }

    body.teaser-header.header-scrolled nav.main {
        top: 60px;
    }

    .main-nav-trigger .open {
        display: block;
    }

    .main-nav-trigger .close {
        display: none;
    }

    body.main-nav-open .main-nav-trigger .open {
        display: none;
    }

    body.main-nav-open .main-nav-trigger .close {
        display: block;
    }

    nav.main a {
        color: #FFF !important;
        background-color: transparent !important;
        padding: 0;
        display: inline-block;
    }

    nav.main ul {
        display: block;
    }

    nav.main > ul {
        margin-top: 50px;
    }

    nav.main > ul:last-child {
        margin-bottom: 60px;
    }

    nav.main > ul > li {
        position: relative;
        margin: 0 0 30px 0;
    }

    nav.main > ul > li > a {
        font-weight: bold;
        font-size: 1.3rem;
        line-height: 1.2em;
    }

    nav.main ul li ul {
        position: relative;
        display: block;
        opacity: 1;
        pointer-events: all;
        margin-left: 20px;
    }

    nav.main > ul > li > ul > li {
        margin: 0 0 8px 0;
    }

    nav.main > ul > li > ul > li > a {
        font-size: 1.2rem;
        padding: 0;
        line-height: 1.2em;
    }

    nav.main ul li:hover a {
        background-color: transparent;
    }

    nav.main ul li:hover ul {
        background-color: transparent;
    }

    nav.main > ul > li > ul > li:hover > a {
        background-color: transparent;
    }

    nav.magazine-teaser ul {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 280px;
        grid-template-columns: 280px;
        grid-auto-rows: 270px;
        grid-gap: 10px;
        list-style: none;
        padding: 0;
        width: 280px;
    }

    nav.magazine-teaser li:nth-child(4n):last-child {
        grid-column-start: 1;
    }

    .width-large {
        padding-left: 0;
        padding-right: 0;
    }

    .width-medium {
        padding-left: 0;
        padding-right: 0;
    }

    .width-small {
        padding-left: 0;
        padding-right: 0;
    }

    .two-columns {
        -webkit-columns: 320px 2;
        -moz-columns: 320px 2;
        columns: 320px 2;
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .small-large-column-grid {
        display: block;
        -ms-grid-columns: 100%;
        grid-template-columns: 100%;
        grid-column-gap: 0;
        grid-row-gap: 1.5rem;
    }

    .two-column-grid,
    .two-box-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        grid-column-gap: 0;
        grid-row-gap: 1.5rem;
    }

    .three-column-grid,
    .three-box-grid {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    }

    .three-column-grid,
    .three-box-grid {
        font-size: 12px;
        line-height: 1.5em;
    }

    .three-column-grid h1,
    .three-column-grid h2,
    .three-column-grid h3,
    .three-column-grid h4,
    .three-column-grid h5,
    .three-column-grid h6,
    .three-box-grid h1,
    .three-box-grid h2,
    .three-box-grid h3,
    .three-box-grid h4,
    .three-box-grid h5,
    .three-box-grid h6 {
        font-size: 12px;
        line-height: 1.5em;
    }

    body > footer {
        padding-left: 40px;
        padding-right: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    footer > div {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    footer > div:first-child {
        margin-top: 0;
    }

    footer > div:last-child {
        margin-bottom: 0;
    }

    nav.invest {
        display: none;
    }

    .callout-buttons ul {
        width: 280px;
        -ms-grid-columns: 280px;
        grid-template-columns: 280px;
    }

    .callout-buttons li:nth-child(4n):last-child {
        grid-column-start: 1;
    }

    .solution-buttons > ul {
        width: 280px;
        display: block;
    }

    .solution-buttons > ul > li {
        margin-bottom: 60px;
    }
}

@media only screen
and (min-device-width: 320px)
and (max-device-width: 568px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation: portrait) {

    .width-large,
    .width-medium,
    .width-small {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right:  calc(20px + env(safe-area-inset-right));
    }

    .width-x-large {
        padding-left: calc(0px + env(safe-area-inset-right));
        padding-right:  calc(0px + env(safe-area-inset-right));
    }

    nav.magazine-teaser {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right: calc(20px + env(safe-area-inset-right));
    }

    nav.keywords {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right: calc(20px + env(safe-area-inset-right));
    }

    footer {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media only screen
and (max-device-width: 812px)
and (-webkit-min-device-pixel-ratio: 3)
and (orientation: portrait) {

    .width-x-large,
    .width-large,
    .width-medium,
    .width-small {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right:  calc(20px + env(safe-area-inset-right));
    }

    .width-x-large {
        padding-left: calc(0px + env(safe-area-inset-right));
        padding-right:  calc(0px + env(safe-area-inset-right));
    }

    nav.magazine-teaser {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right:  calc(20px + env(safe-area-inset-right));
    }

    nav.keywords {
        padding-left: calc(20px + env(safe-area-inset-right));
        padding-right:  calc(20px + env(safe-area-inset-right));
    }

    footer {
        padding-left: 40px;
        padding-right: 40px;
    }
}

figure {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.width-medium:last-child > figure:last-child,
.width-x-large:last-child > figure:last-child,
.width-small:last-child > figure:last-child,
.two-columns:last-child > figure:last-child,
.small-large-columns-grid:last-child > figure:last-child,
.two-columns-grid:last-child > figure:last-child,
.three-columns-grid:last-child > figure:last-child {
    padding-bottom: 0 !important;
}

.bgcolor-white + .bgcolor-white,
.bgcolor-green + .bgcolor-green,
.bgcolor-yellow + .bgcolor-yellow,
.bgcolor-grey + .bgcolor-grey {
    padding-top: 0;
}


.shared-counts-modal-header {
    color: var(--fg-color-nav-main) !important;
    background-color: var(--color-nav-main) !important;
}

.shared-counts-modal-icon {
    fill: var(--fg-color-nav-main) !important;
}

.shared-counts-modal-content input {
    width: calc(100% - 16px) !important;
}

.shared-counts-modal-content .shared-counts-modal-submit button {
    color: var(--fg-color-nav-main) !important;
    font-weight: bold !important;
    padding: 8px 20px !important;
    display: inline-block !important;
    border-radius: 12px !important;
    background-color: var(--color-nav-main) !important;
}

.shared-counts-modal-content .shared-counts-modal-submit button:hover {
    color: var(--fg-color-nav-main) !important;
    background-color: var(--fg-color-nav-main-second) !important;
}

#cookie-law-info-bar {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1.4em !important;
    padding: 20px 20px !important;
}

#cookie-law-info-bar [role=button] {
    font-size: inherit;
    margin-top: 20px !important;
}

.social-icons {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.social-icons > li {
    padding: 0 !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.social-icons ul.cnss-social-icon li.cn-fa-icon a,
.social-icons ul.cnss-social-icon li.cn-fa-icon a:hover {
    background-color: transparent !important;
}

.social-icons ul.cnss-social-icon li {
    padding: 0 10px !important;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
}

.social-icons ul.cnss-social-icon li a {
    height: auto !important;
    width: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.mobile-service.social-icons i {
    font-size: 40px !important;
}

.mobile-service.social-icons li {
    margin: 0 !important;
}

.mobile-service.social-icons li ul {
    margin: 0 !important;
    text-align: left !important;
}

.mobile-service.social-icons li > ul > li:first-child {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.mobile-service.social-icons ul.cnss-social-icon li a {
    width: 40px !important;
}
