@font-face {
    font-family: 'Section';
    src: url('fonts/section/Section-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Section';
    src: url('fonts/section/Section-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Section';
    src: url('fonts/section/Section-ExtraBlack.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

html {
    overflow-y: scroll
}

body {
    overflow: hidden;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
    font-weight: 900;
}

p:last-child {
    margin-bottom: 0;
}

.mv-site-header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
}

.admin-bar .mv-site-header,
.admin-bar .mv-overlay-header {
    top: var(--wp-admin--admin-bar--height, 32px);
}

body {
    padding-top: 100px;
}

body.overlay-is-open {
    overflow: hidden;
}

.mv-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem clamp(1rem, 4vw, 20vw);
}

.mv-logo .custom-logo {
    height: 30px;
    width: auto;
    display: block;
}

.mv-logo a:not(.custom-logo-link) {
    font-weight: bold;
    text-decoration: none;
    color: #333;
}

#mv-overlay-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.98);
    z-index: 99997;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    color: #333;
    overflow-y: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 120px 2rem 4rem;
}

#mv-overlay-menu:not([hidden]) {
    opacity: 1;
    visibility: visible;
}

.mv-overlay-header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99998;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 1rem clamp(1rem, 4vw, 20vw);
}

.overlay-grid {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 4rem;
    width: 100%;
    max-width: 1400px;
}

.overlay-headline {
    margin-bottom: 1.5rem;
    color: #afafaf !important;
}

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

.overlay-menu-list li a {
    text-decoration: none;
    color: #333;
    display: block;
    padding: 0.5rem 0;
    transition: color 0.2s ease;
}

.overlay-menu-list li a:hover,
.overlay-contact a:hover,
.contactpage a:hover {
    color: #e50000;
}

.overlay-contact a,
.contactpage a {
    display: block;
    color: #333;
    text-decoration: none;
}

.contactpage a {
    padding-top: 0.5rem;
    padding-right: 0px;
    padding-bottom: 1rem;
    padding-left: 0px;
}

.overlay-contact .social-links {
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.overlay-contact .social-links a {
    display: inline-block;
    margin-right: 0;
}

.social-links svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.mv-header-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.mv-header-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    line-height: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mv-header-icon svg {
    width: 24px;
    height: auto;
    fill: currentColor;
}

.mv-header-icon,
.header-farbe-rot .mv-header-icon {
    background-color: #ffffff;
    color: #e50000;
}

.header-farbe-grau .mv-header-icon {
    background-color: #ffffff;
    color: #808080;
}

.header-farbe-weiss .mv-header-icon {
    background-color: #808080;
    color: #ffffff;
}

.mv-header-icon:hover,
.header-farbe-rot .mv-header-icon:hover,
.header-farbe-grau .mv-header-icon:hover {
    background-color: #f1f1f1;
    color: #333;
}

.header-farbe-weiss .mv-header-icon:hover {
    background-color: #666666;
}

.mv-header-icon:focus {
    outline: none;
}

.mv-header-icon:focus-visible {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #007cba;
}

@media (max-width: 768px) {
    body {
        padding-top: 80px;
    }

    #mv-overlay-menu {
        padding: 90px 2rem 3rem;
    }

    .overlay-grid {
        grid-template-columns: 1fr;
        align-content: start;
        gap: 2.5rem;
    }
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.overlay-menu-list .current-menu-item>a,
.overlay-menu-list .current-menu-ancestor>a,
.overlay-menu-list .current_page_item>a {
    color: #e50000;
    font-weight: bold;
}

.site-content {
    padding-top: 0px !important;
}

.ref-logo {
    filter: invert(1);
}

:root {
    --ColorPrimary: #e50000;
    --ColorOnPrimary: #fff;
    --ColorSecondary: #ccc;
    --ColorLight: #fff;
    --ColorDark: #333;
    --ColorTypo: #494949;
    --GridPadding: 0 clamp(1rem, 4vw, 20vw);
    --GridGap: 4vw;
    --SectionMaxWith: 1024px;
    --BasicMargin: 0.4em;
    --LineHeightHL: 1.2em;
    --LineHeightCopy: 1.4em;
    --ParagraphWidth: 100%;
    --BorderRadius: 0.6vh;
    --checkSolid: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>');
    --checkRegular: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z"/></svg>');
    --checkLight: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M443.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-272 272c-6.2 6.2-16.4 6.2-22.6 0l-144-144c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L160 361.4 420.7 100.7c6.2-6.2 16.4-6.2 22.6 0z"/></svg>');
    --checkThin: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23007acc" viewBox="0 0 448 512"><path d="M437.7 106.3c3.1 3.1 3.1 8.2 0 11.3l-272 272c-3.1 3.1-8.2 3.1-11.3 0l-144-144c-3.1-3.1-3.1-8.2 0-11.3s8.2-3.1 11.3 0L160 372.7 426.3 106.3c3.1-3.1 8.2-3.1 11.3 0z"/></svg>');
}

.testme {
    background-color: cyan;
}

ol,
ul {
    margin-left: 0 !important;
}

.mvbullets li {
    list-style: none;
    position: relative;
    padding-left: 1.5em;
}

.mvbullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 1em;
    height: 1em;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23b10623" viewBox="0 0 448 512"><path d="M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

.jaja {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23007acc" viewBox="0 0 448 512"><path d="M437.7 106.3c3.1 3.1 3.1 8.2 0 11.3l-272 272c-3.1 3.1-8.2 3.1-11.3 0l-144-144c-3.1-3.1-3.1-8.2 0-11.3s8.2-3.1 11.3 0L160 372.7 426.3 106.3c3.1-3.1 8.2-3.1 11.3 0z"/></svg>');
}

.video-teaser video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

.black-icons {
    filter: invert(1);
}

.has-dynamic-color {
    color: var(--dynamic-text-color, #000);
}

.has-dynamic-accent-color {
    color: var(--dynamic-accent-color, #000);
}

.has-page-dynamic-color .entry-content ul li::before {
    background-color: var(--dynamic-accent-color);
}

.main-navigation .menu-bar-item .gp-icon.pro-menu-bars svg {
    fill: #e50000;
}

.header-farbe-grau .main-navigation .menu-bar-item .gp-icon.pro-menu-bars svg {
    fill: #333333;
}

.header-farbe-weiss .main-navigation .menu-bar-item .gp-icon.pro-menu-bars svg {
    fill: #ffffff;
}

.entry-content ul {
    list-style: none;
    padding-left: 0;
}

.entry-content ul li {
    position: relative;
    padding-left: 1.8em;
    margin-bottom: 0.5em;
}

.entry-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 1.2em;
    height: 1.2em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.entry-content ul.arrow li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 1.2em;
    height: 1.2em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l441.4 0-148.7 148.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l441.4 0-148.7 148.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.footer-title {
    color: var(--base-2);
    list-style-type: none;
    margin-bottom: 32px;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .footer-title {
        margin-bottom: 16px;
    }
}

.footer a {
    color: white;
}

.footer a:hover {
    color: white;
    text-decoration: underline 1px;
    text-underline-offset: 2px;
}

.footer .footer-title a:hover {
    text-decoration: underline 2px;
    text-underline-offset: 2px;
}

.footer-loop-item {
    color: var(--base-2);
    list-style-type: none;
    margin-bottom: 8px;
}

.perspectives-teaser-grid>.gb-loop-item {
    grid-column: span 1;
}

@media (min-width: 768px) {
    .perspectives-teaser-grid>.gb-loop-item {
        grid-column: span 1;
    }
}

@media (min-width: 1024px) {
    .perspectives-teaser-grid>.gb-loop-item {
        grid-column: span 2;
    }

    .perspectives-teaser-grid>.gb-loop-item:first-child {
        grid-column: span 4;
    }

    .perspectives-teaser-grid>.gb-loop-item:nth-child(5n + 6),
    .perspectives-teaser-grid>.gb-loop-item:nth-child(5n + 7) {
        grid-column: span 3;
    }
}

.spacerSmall {
    margin-bottom: clamp(1.5rem, 3.5vw, 4.5rem);
}

.spacerMedium {
    margin-bottom: clamp(3rem, 7vw, 8rem);
}

.spacerLarge {
    margin-bottom: clamp(4.5rem, 10.5vw, 12rem);
}

blockquote {
    font-style: normal !important;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    text-decoration: none;
    font-weight: 300;
    padding: 0.5rem 0.5rem;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.button.buttonPrimary {
    background-color: var(--contrast-2);
    color: var(--base-2);
    border-color: var(--contrast-2);
}

.button.buttonPrimary:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
}

.button.buttonSecondary {
    background-color: transparent;
    color: var(--contrast-2);
    border-color: var(--contrast-2);
}

.button.buttonSecondary:hover {
    background-color: var(--contrast-2);
    color: var(--base-2);
}

.wpcf7 {
    max-width: 600px;
    margin: auto;
}

.wpcf7 .wpcf7-form-control-wrap {
    display: block;
}

.wpcf7 label {
    display: block;
    margin-bottom: 8px;
}

.wpcf7 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
    width: 100%;
    background-color: transparent;
    border-bottom: 2px solid gray;
}

.wpcf71 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):focus {
    border-bottom: 2px solid red;
}

.wpcf7 .wpcf7-list-item {
    display: contents;
}

.wpcf7 label+br {
    display: none;
}

.wpcf7 input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-bottom: 5px;
    vertical-align: middle;
    margin-right: 10px;
}

.wpcf7 .wpcf7-not-valid-tip {
    font-weight: normal;
}

.wpcf7 textarea[name="your-message"] {
    min-height: 120px;
    resize: vertical;
}