/* Font Faces */
@font-face {
    font-family: "Frutiger";
    src: url("./fonts/frutiger-bold.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "OpenSans";
    src: url("./fonts/opensans-regular.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "OpenSans";
    src: url("./fonts/opensans-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "OpenSans";
    src: url("./fonts/opensans-700.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "OpenSans";
    src: url("./fonts/opensans-700.woff2") format("woff2");
    font-weight: bold;
    font-style: normal;
}

/* Variables */
:root {
    /* Colors */
    --primary: #a8112e;
    --secondary: #fff;
    --text-color: #000;
    --color-sand: #c1b5a2;
    --color-sand-light: #f3f0ec;
    --color-petrol: #006471;
    --color-black: #000;
    --color-black-30: rgba(0, 0, 0, 0.3);
    --color-black-15: rgba(0, 0, 0, 0.15);

    /* Font */
    --fs-h12: 55px;
    --lh-h12: 65px;
    --fs-h3: 36px;
    --lh-h3: 46px;
    --fs-h4: 24px;
    --ls-h4: 32px;
    --fs-h5: 20px;
    --lh-h5: 26px;
    --fs-text-big: 24px;
    --lh-text-big: 38px;
    --fs-text: 18px;
    --lh-text: 32px;
    --fs-text-small: 16px;
    --lh-text-small: 26px;

    /* etc */
    --header-height: 110px;
    --spacing: 3rem;
    --spacing-large: 5rem;
    --max-width: 1390px;
}

/* Typografie */
h1,
h2 {
    font-size: var(--fs-h12);
    line-height: var(--lh-h12);
}

h1.title {
    margin-top: 4rem;
    color: var(--primary);
}

h3 {
    font-size: var(--fs-h3);
    line-height: var(--lh-h) 3;
}

h4 {
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
}

h5 {
    font-size: var(--fs-h5);
    line-height: var(--lh-h5);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Frutiger, Arial, sans-serif;
    -webkit-hyphens: none;
    hyphens: none;
    margin-top: 0;
}

.menu.sf-menu li,
b,
optgroup,
strong {
    font-family: OpenSans, Arial, sans-serif;
}

#page .ui-widget {
    font-family: OpenSans, Arial, sans-serif;
}

/* General Styles */
:target:before {
    content: "";
    display: block;
    height: var(--header-height);
    /* fixed header height*/
    margin: -var(--header-height) 0 0;
    /* negative fixed header height */
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

html,
body {
    scroll-behavior: smooth;
    box-sizing: border-box;
    font-family: OpenSans, Arial, sans-serif;
    font-size: var(--fs-text);
    color: var(--text-color);
    background-color: #fff;
}

body p {
    line-height: var(--lh-text);
}

input[type="button"],
input[type="submit"],
.button {
    cursor: pointer;
    position: relative;
    background-color: var(--primary);
    color: #fff;
    border-radius: 0;
    border: 1px solid;
    margin: 0;
    font-size: 1rem;
    line-height: 20px;
    padding: 0.5em 1em;
    transition: box-shadow 0.2s ease-in-out;
}

.button.plus {
    height: 70px;
    padding: 24px 70px 24px 30px;
}

input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.button:hover,
.button:focus {
    background-color: var(--primary);
    color: #fff;
    box-shadow: 5px 5px 50px 0 #00000040;
    background-position: 0 1.4em;
}

.button.plus::before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c1b5a2' width='37' height='37'%3E%3Cpath d='M0 15h37v7H0z'/%3E%3Cpath d='M22 0v37h-7V0z'/%3E%3C/svg%3E");
    height: 27px;
    left: -11px;
    top: -11px;
    width: 27px;
    height: 37px;
    left: -15px;
    top: -15px;
    width: 37px;
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
}

.button:hover::after,
.button:focus::after {
    animation-duration: 0.75s;
    animation-fill-mode: forwards;
    animation-name: arrow;
}

.button.plus::after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='19' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M0 8h25.028v3H0z'/%3E%3Cpath d='m18.656.163 9.345 9.344-2.122 2.121-9.344-9.344z'/%3E%3Cpath d='m16.488 16.762 9.391-9.39 2.122 2.12-9.391 9.392z'/%3E%3C/svg%3E");
    height: 20px;
    right: 25px;
    width: 30px;
    top: 50%;
    transform: translateY(-50%);
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
}

.toolbar button.toolbar-icon {
    background: transparent;
}

.modal_login .item-list {
    display: none;
}

.modal_login input.button {
    border: 2px solid var(--primary);
    border-radius: 5px;
}

.modul_login input.button:focus,
.modal_login input.button:hover {
    background: #fff;
}

.modal_login .button {
    width: 100%;
    margin: 0;
}

#log_overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 10000px;
    top: -30px;
    left: 0px;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.system_messages_wrapper {
    max-width: 80vw;
    max-height: 50vh;
    overflow: scroll;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    margin-bottom: 0;
    background-color: var(--primary) !important;
    box-shadow: none;
    color: var(--text_color) !important;
    border-radius: 0;
    padding: 0;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.system_messages_wrapper::-webkit-scrollbar {
    display: none;
}

.system_messages_wrapper .messages {
    display: block;
    clear: both;
    margin-bottom: 0;
    border: none !important;
    background-color: #fff !important;
    box-shadow: none;
    color: var(--text_color) !important;
    border-radius: 0;
}

.messages__wrapper.layout-container {
    padding: 0;
}

.system_messages_wrapper .closer {
    float: right;
    cursor: pointer;
    font-size: 18px;
    padding: 5px;
    margin-right: 0;
    color: #000000;
}

.ui-dialog-titlebar {
    background-color: var(--primary) !important;
}

/* Datenschutz */
.divtable {
    display: table;
    width: 100%;
}

.divrow {
    display: table-row;
}

.divrow > div {
    display: table-cell;
    padding: 0.5rem 0;
}

.divrow:first-child > div {
    border-top: none;
}

.divtable .divrow > div:first-child {
    width: 38%;
}

.divtable .divrow > div:last-child {
    text-align: right;
    width: 60%;
}

.divtable .divrow:last-child > div {
    border-bottom: none;
}

.datenschutz .divrow > div {
    display: table-cell;
    border-bottom: 1px solid var(--primary);
    padding: 10px;
}

.datenschutz .divrow > div:nth-child(3) {
    width: 150px;
}

.datenschutz .divrow > div:first-child {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--primary);
}

.datenschutz .divrow > div:first-child {
    font-weight: 600;
    font-size: inherit;
    color: var(--primary);
    width: auto;
}

.datenschutz .divrow.th {
    font-weight: 600;
    color: var(--primary);
}

.datenschutz .divrow > div:last-child {
    text-align: left;
    width: auto;
}

.datenschutz .divrow {
    width: 100%;
    float: none;
    display: table-row;
    padding-right: 5%;
    border-left: none;
    margin-bottom: 2rem;
    padding-left: 1rem;
    border-bottom: 1px solid var(--primary);
}

.datenschutz.divtable .divrow:last-child > div {
    border-bottom: 1px solid var(--primary) !important;
}

/* Header */
#page > header {
    width: 100%;
    height: var(--header-height);
    background: var(--primary);
    z-index: 2;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.scrolled #header_top_inner .header-nav {
    position: fixed;
    top: 0;
    z-index: 2;
    width: 100%;
}

.toolbar-fixed.toolbar-tray-open .scrolled #header_top_inner .header-nav {
    top: 29px;
}

.toolbar-fixed .scrolled #header_top_inner .header-nav {
    top: 40px;
}

.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .scrolled #header_top_inner .header-nav {
    top: 79px;
}

#preface {
    margin-top: 60px;
}

#primary_menu_wrapper,
#header_top_inner .header-bar_logo img,
#header_top_inner .header-nav a.site-logo img,
#header_top_inner .header-bar_logo a,
#headertop_menu_wrapper,
#header_top_wrapper,
#header_top_inner {
    height: 100%;
}
#header_top_inner .header-bar_logo img,
#header_top_inner .header-nav a.site-logo img {
    max-width: unset;
}

#header_top_inner .header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

#header_top_inner .header-bar_logo {
    display: flex;
    gap: 2rem;
    height: 55px;
}

#header_top_inner .header-nav a.site-logo {
    height: 37px;
}

.header-bar__service__link img,
.header-bar__service__link svg {
    display: block;
    height: 48px;
    width: 48px;
    padding: 10px 0 10px 10px;
    fill: #fff;
}

.header-bar__service__link {
    display: block;
}

.header-bar__service__link-info {
    color: #fff;
    display: flex;
    font-size: 12px;
    line-height: 1;
}

.header-bar_service .header-inner {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

.header-bar_service .header-inner p {
    margin: 0;
}

/* Header Image */
.view-headerbilder {
    position: relative;
}

.headerimage .headerimage_content_inner_wrapper {
    height: calc(20vw + 30vh);
    max-height: 750px;
    overflow: hidden;
}

.headertext {
    background-color: var(--color-sand-light);
}

.headertext .headerimage_content_inner {
    hyphens: none;
    background-color: #fff;
    color: var(--primary);
    padding: calc(2vw + 2vh) 5vw;
    transform: translateY(-50%);
}

.headertext .headerimage_content_inner h1 {
    color: var(--primary);
}

/* Primary Menu */
.header-nav {
    background: #fff;
    height: 60px;
    display: flex;
    align-items: center;
    box-shadow: 0 0 50px 0 #0000001a;
    transition: box-shadow 0.25s ease-in-out;
}

#primary_menu_wrapper {
    display: flex;
    gap: 2rem;
    align-items: center;
}

#primary_menu_wrapper .site-logo {
    display: none;
}

.scrolled #header_top_inner .header-nav #primary_menu_wrapper .site-logo {
    display: block;
}

#primary-menu {
    height: 100%;
    display: flex;
}

#primary-menu .block .content,
#primary-menu .block .content .menu {
    height: 100%;
}

#primary-menu ul li {
    margin-right: 2rem;
    height: 100%;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li {
    float: unset;
    width: auto;
}

#primary-menu ul li a {
    align-items: center;
    display: flex;
    color: var(--primary);
    height: 100%;
    font-weight: 600;
    padding: 0;
    background-image: linear-gradient(
        90deg,
        var(--primary) 0,
        var(--primary) 50%,
        #0000 50%,
        #0000 100%
    );
    background-position: 100% bottom;
    background-repeat: no-repeat;
    background-size: 200% 2px;
    transition: background-position 0.4s ease-in-out;
}

#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    position: fixed;
    left: 0;
    top: calc(var(--header-height) + 60px);
    width: 100vw;
    background-color: #fff;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.toolbar-fixed.toolbar-tray-open
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.toolbar-fixed.toolbar-tray-open
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: calc(79px var(--header-height) + 60px);
}

.toolbar-fixed
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.toolbar-fixed
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: calc(40px var(--header-height) + 60px);
}

.toolbar-fixed.toolbar-tray-open
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.toolbar-fixed.toolbar-tray-open
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: calc(29px + 60px);
}

.toolbar-fixed
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.toolbar-fixed
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: calc(40px + 60px);
}

.toolbar-fixed.toolbar-horizontal.toolbar-tray-open
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.toolbar-fixed.toolbar-horizontal.toolbar-tray-open
    .scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: calc(79px + 60px);
}

.scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner,
.scrolled
    #primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner {
    top: 60px;
}

#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1
    > .sf-multicolumn-wrapper-inner
    > ul,
#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1
    > .sf-multicolumn-wrapper-inner
    > ul {
    display: none;
}

#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1:hover
    > .sf-multicolumn-wrapper-inner
    > ul,
#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-1.sfHover
    > .sf-multicolumn-wrapper-inner
    > ul {
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
    padding-bottom: 1em;
    position: relative;
    top: 0;
    padding-bottom: 100px;
    padding-top: 75px;
}

#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-2
    > .sf-multicolumn-wrapper-inner
    > ul,
#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-2
    > .sf-multicolumn-wrapper-inner
    > ul {
    display: none;
}

#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-2:hover
    > .sf-multicolumn-wrapper-inner
    > ul,
#primary-menu
    ul#superfish-main.sf-menu
    li.sf-depth-2.sfHover
    > .sf-multicolumn-wrapper-inner
    > ul {
    display: block;
    position: initial;
}

#primary-menu ul#superfish-main.sf-menu li.sf-depth-2:hover > ul,
#primary-menu ul#superfish-main.sf-menu li.sf-depth-2.sfHover > ul {
    top: 0;
}

#primary-menu ul#superfish-main.sf-menu li:hover > ul li,
#primary-menu ul#superfish-main.sf-menu li.sfHover > ul li {
    padding-left: 1em;
}

#primary-menu ul.sf-menu li > a.is-active,
#primary-menu ul.sf-menu li:hover > a {
    background-position: 0 bottom;
}

ul.sf-menu.sf-horizontal.sf-shadow ul,
ul.sf-menu.sf-vertical.sf-shadow ul,
ul.sf-menu.sf-navbar.sf-shadow ul ul {
    box-shadow: none;
}

/* Mobile Menu */
.a-hamburger-icon::before {
    font-family: var(--ee_awesome);
    content: "\f0c9";
    font-weight: 600;
    font-size: 2rem;
}

.mm_navibutton.activ .a-hamburger-icon::before {
    content: "\f00d";
}

#mm_navibutton {
    color: var(--primary);
}

#mm_navibutton_wrapper {
    display: none;
}

.login-logout-mobile {
    display: none;
    float: left;
    padding: 0 20px;
}

.login-logout-mobile .anmelden_toggle,
.login-logout-mobile .abmelden_toggle {
    color: var(--primary);
    font-weight: 600;
    position: relative;
    background: none;
    line-height: 40px;
    padding: 0;
    border: none;
}

/* Flex Styles */
.flex {
    display: flex;
    justify-content: space-between;
}

.flex.wrap {
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: space-around;
}

.flex.wrap.start {
    justify-content: flex-start;
}

.flex.reverse {
    flex-direction: row-reverse;
}

.flex.two-cols > * {
    width: 50%;
}

.flex.wrap.two-cols > * {
    min-width: 35ch;
    flex: 1;
    max-width: 100%;
}

.flex.three-cols > * {
    width: 33%;
}

.flex.wrap.three-cols > * {
    min-width: 35ch;
    flex: 1;
    max-width: 100%;
}

/* Div Table */
.divTable {
    display: table;
    width: 100%;
}

.divTableRow {
    display: table-row;
}

.divTableHeading {
    background-color: #eee;
    display: table-header-group;
}

.divTableCell,
.divTableHead {
    display: table-cell;
    padding-top: 1rem;
    padding-right: 0.5rem;
}

.divTableHeading {
    background-color: #eee;
    display: table-header-group;
    font-weight: bold;
}

.divTableFoot {
    background-color: #eee;
    display: table-footer-group;
    font-weight: bold;
}

.divTableBody {
    display: table-row-group;
}

/* Allgemeine Trianel Styles */
.title-image {
    width: 100%;
}

.front .node__content {
    margin-top: 0;
}

a {
    color: var(--text-color);
}

#main #content .link {
    align-self: baseline;
    background-image: linear-gradient(
        90deg,
        var(--primary) 0,
        var(--primary) 33%,
        #0000 33%,
        #0000 66%,
        var(--primary) 66%,
        var(--primary) 100%
    );
    background-position: 100% 1.2em;
    background-repeat: no-repeat;
    background-size: 300% 1px;
    color: var(--primary);
    padding-bottom: 0.2em;
    text-decoration: none;
    transition: background-position 0.4s ease-in-out;
}

a:hover,
a:focus {
    color: var(--primary);
}

#main #content .link:hover,
#main #content .link:focus {
    color: var(--primary);
    background-position: 0 1.2em;
}

.bg-primary {
    background: var(--primary);
}

.bg-sand-light {
    background: var(--color-sand-light);
}

.bg-white {
    background: #fff;
}

.ee-ptb2 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.ee-pb2 {
    padding-bottom: 2rem;
}

.ee-pt2 {
    padding-top: 2rem;
}

.ee-ptb4 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.ee-pb4 {
    padding-bottom: 4rem;
}

.ee-pt4 {
    padding-top: 4rem;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a,
.link-arrow {
    display: inline-block;
    color: #000;
    background: none;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 20px;
    padding: 0 36px 0 0;
    position: relative;
    transition: background-position 0.4s ease-in-out;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a {
    padding-left: 36px;
    margin-bottom: 40px;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a:hover,
#primary-menu .sf-multicolumn-wrapper-inner ul li a:focus,
.link-arrow:focus,
.link-arrow:hover {
    color: #000;
    background-position: 0 1.4em;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a::after,
.link-arrow:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 8h25.028v3H0z'/%3E%3Cpath d='m18.656.163 9.345 9.344-2.122 2.121-9.344-9.344z'/%3E%3Cpath d='m16.488 16.762 9.391-9.39 2.122 2.12-9.391 9.392z'/%3E%3C/svg%3E");
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) scale(1);
    height: 16px;
    margin-left: 15px;
    width: 21px;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a::after {
    left: 0;
    right: auto;
    margin-left: 0;
}

#primary-menu .sf-multicolumn-wrapper-inner ul li a:hover::after,
.link-arrow:hover::after {
    animation-duration: 0.75s;
    animation-fill-mode: forwards;
    animation-name: arrow;
}

@keyframes arrow {
    0% {
        opacity: 1;
        transform: translateY(-50%) translateX(0) scale(1);
    }

    50% {
        opacity: 0;
        transform: translateY(-50%) translateX(100%) scale(0);
    }

    51% {
        opacity: 0;
        transform: translateY(-50%) translateX(-100%) scale(0);
    }

    to {
        opacity: 1;
        transform: translateY(-50%) translateX(0) scale(1);
    }
}

.card {
    flex: 1;
}

.card.half {
    flex: 0.5;
}

.card .image {
    aspect-ratio: 16/9;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}

.card .card_content {
    background-color: var(--color-sand-light);
    word-break: break-word;
    padding: calc(3.07692vh + 1.31579vw);
}

/* Emissionsdetails */
.emission-details .value {
    color: var(--primary);
    font-weight: 700;
    font-size: 55px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

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

/* Contacts Container */
.contacts-container i {
    margin-right: 15px;
}

.contacts-container .contacts-item-content-contact {
    padding: 4.2105263158vh 0 0;
}

.contacts-container .contacts-item-content-contact-headline {
    font-weight: 600;
}

.contacts-container .contacts-item-content-contact-link {
    display: block;
    margin-bottom: 0.5rem;
}

.contacts-container .contacts-item-content-headline {
    margin-bottom: 0;
}

.contacts-container .contacts-item {
    display: flex;
}

.contacts-container .contacts-item-image,
.contacts-container .contacts-item-content {
    flex: 1;
}

.contacts-container .contacts-item-image {
    background-position: center;
    background-size: cover;
}

.contacts-container .contacts-item-content {
    padding: 5.2631578947vh;
    background-color: var(--color-sand-light);
}

/* Zum Kontaktformular */
.trianel-kontakt .flex {
    justify-content: flex-start;
    gap: 2rem;
}

.trianel-kontakt .icon {
    padding-top: 1rem;
    width: 100px;
    max-width: 100%;
}

.trianel-kontakt .button {
    margin-top: 1rem;
}

.trianel-kontakt svg {
    fill: var(--primary);
    width: 100%;
}

/* Halfsize */
.muster-image,
.halfsize {
    position: relative;
}

.halfsize-background-image,
.halfsize-background-placeholder {
    position: absolute;
    width: 50%;
    height: 100%;
}

.halfsize-background-image {
    background-position: center;
    background-size: cover;
}

.muster-image .muster,
.halfsize-background-image .muster {
    color: #fff;
    position: absolute;
    bottom: 0.5em;
    right: 1em;
}

.halfsize.reverse > div:nth-child(2),
.halfsize > div:nth-child(1) {
    right: auto;
    left: 0;
}

.halfsize.reverse > div:nth-child(1),
.halfsize > div:nth-child(2) {
    right: 0;
    left: auto;
}

.halfsize.reverse .flex {
    flex-direction: row-reverse;
}

.halfsize.reverse .flex > div:nth-child(2),
.halfsize:not(.reverse) .flex > div:nth-child(1) {
    padding-right: 4rem;
}

.halfsize.reverse .flex > div:nth-child(1),
.halfsize:not(.reverse) .flex > div:nth-child(2) {
    padding-left: 4rem;
}

.halfsize-placeholder {
    flex: 1;
}

.halfsize-text {
    position: relative;
    flex: 1;
    padding: 10vh 0;
}

.halfsize li {
    padding-left: 20px;
}

/* Ihre Vorteile */
.vorteile .vorteil {
    width: 260px;
    max-width: 100%;
    text-align: center;
}

.vorteile .vorteil h4 {
    margin-top: 1.5rem;
}

.vorteile .vorteil img {
    width: 80%;
}

/* Webform */
.webform-submission-form input.form-text,
.webform-submission-form input.form-tel,
.webform-submission-form input.form-email,
.webform-submission-form input.form-url,
.webform-submission-form input.form-search,
.webform-submission-form input.form-file,
.webform-submission-form input.form-number,
.webform-submission-form input.form-color,
.webform-submission-form textarea.form-textarea {
    background: var(--color-sand-light);
    border: 0;
    border-radius: 0;
    box-sizing: border-box !important;
    color: var(--input-foreground);
    font-family: OpenSans, Arial, sans-serif;
    font-size: 14px;
    font-size: 0.7777777778rem;
    letter-spacing: 0.5px;
    line-height: 24px;
    min-height: 50px;
    padding: 13px 50px 15px 20px;
}

.webform-submission-form .form--inline .form-item {
    width: 100%;
    margin-right: 0;
}

.webform-address {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.webform-address__row-1,
.webform-address__row-2 {
    width: 50%;
    flex: 3;
}

.webform-address__row-1 .webform-flex--container > .form-item,
.webform-address__row-2 .webform-flex--container > .form-item {
    margin: 0 0.5em;
}

.form-item-adresse-address-2 {
    margin-right: 0 !important;
}

.webform-address__row-3 {
    width: 100%;
}

.webform-address__row-3 .webform-flex--container {
    margin: 0;
}

.form-item-adresse-address {
    margin-left: 0 !important;
}

.webform-address .webform-address__city {
    margin: 0 0.5em;
}

.webform-address__postal-code {
    margin-left: 0.5em;
    margin-right: -0.5em;
}

/* FAQ Tabs */
.faq-front .tab {
    margin-top: 4rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2em;
    font-size: 1.2rem;
    font-weight: 600;
}

.faq-front .tablinks {
    flex: 1;
    cursor: pointer;
    color: var(--text-color);
    text-align: center;
    padding: 1rem 2rem;
    background-color: var(--secondary);
    border-bottom: 1px solid lightgray;
}

.faq-front .tablinks:hover {
    color: var(--primary);
}

.faq-front .tablinks.active {
    color: var(--primary);
    border-bottom: 4px solid var(--primary);
}

.faq-front .faq_block {
    display: none;
    padding-top: 1rem;
}

.faq-front .faq_block.active {
    display: block;
}

/* FAQ */
#block-faqtitle .content {
    text-align: center;
}

.block-ee-faq {
    margin: 2em 0;
}

.block-ee-faq .ui-accordion-header.ui-accordion-header-active {
    padding: 30px 0;
    border: none !important;
    border-top: 1px solid lightgray !important;
    border-radius: 0;
    color: var(--primary);
}

.block-ee-faq .ui-accordion-header.ui-accordion-header-active::after {
    border-color: var(--primary);
    transform: rotate(225deg);
}

.block-ee-faq .ui-accordion-content {
    border: none;
    color: var(--text-color);
    border-radius: 0;
    background: var(--secondary);
    padding: 0 0 30px;
}

.block-ee-faq .ui-accordion-header-icon {
    display: none;
}

.block-ee-faq .ui-accordion-header {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 600;
    padding: 30px 0;
    border-radius: 0;
    border: none;
    background: var(--secondary);
    border-top: 1px solid lightgray;
}

.block-ee-faq .ui-accordion-header:not(.ui-accordion-header-active):hover {
    box-shadow: 5px 5px 50px 0 #00000026;
}

.block-ee-faq .ui-accordion-header::after {
    content: "";
    border-bottom: 1px solid #000;
    border-radius: 0.5px;
    border-right: 1px solid #000;
    height: 14px;
    position: absolute;
    right: 20px;
    top: 30px;
    transform: rotate(45deg);
    transform-origin: 75% 75%;
    transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    width: 14px;
}

.block-ee-faq .faq_headline {
    display: none;
}

/* Footer */
footer {
    background-color: var(--primary);
}
.region.region-footer {
    max-width: unset;
    background-color: var(--color-sand-light);
}

#footer {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

#region-footer-middle,
#region-footer-bottom {
    color: #fff;
    background-color: var(--primary);
}

#region-footer-middle {
    padding-top: 4rem;
}

#region-footer-bottom {
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.region-footer .vermittler_hinweis {
    margin: 5em 0;
}

footer ul.menu {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

footer ul.menu a.is-active,
footer ul.menu a {
    color: #fff;
}

footer .block-menu {
    padding-bottom: 1rem;
}
#block-fusszeile li.menu-item,
#block-footermenu-2 li.menu-item {
    list-style-type: none;
}

.region-footer-middle {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 5em;
    color: white;
}

td.ee-contract-id a.allocation:hover::after {
    color: var(--secondary);
}

td.ee-contract-id a.allocation {
    border-bottom: none;
}
