@font-face {
    font-family: 'Avenir-Next';
    src: url('fonts/AvenirNextLTPro-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir-Next';
    src: url('fonts/AvenirNextLTPro-Bold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
}
body {
    font-family: 'Avenir-Next', sans-serif;
    font-size: 0.75rem;
    line-height: 1.4;
    background-color: #fafafa;
}
header {
    box-shadow: none;
}
.ee_headerimge .headertext_wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

h1 {
    font-size: 1.813rem;
    line-height: 1em;
    font-weight: bold;
    text-transform: uppercase;
}
h2 {
    font-weight: 500;
    font-size: 21.75px;
    line-height: 27px;
    margin-left: 0;
}
.headertext h1, .headertext h2 {
    color: #fff;
    font-weight: bold;
    font-size: 46px;
    text-transform: uppercase;
    padding-bottom: 0;
    text-shadow: 0 1px 3px rgba(0,0,0,.3);
    text-align: left;
    margin: 0;
}
.headertext h2 {
    font-size: 36px;
    text-transform: none;
    margin-bottom: 50px;
}
ul,
p {
    line-height: 1.48;
    font-size: 1rem;
    font-weight: 400;
}
.layout_section .ee_block_wrapper p{
    /*margin:0;*/
}
.layout_section .ee_block_wrapper p .ee_button{
    margin-top: 15px;
}
.layout_section.content_has_bg.no_gap > .layout .block-layout-builder,
.layout_section.content_has_bg.no_gap > .layout .block-layout-builder:last-child {
    padding: 0;
}
.content_has_bg .block-inline-blockee-text .block__content {
    padding: 48px;
    padding-bottom: 50px;
}
#hero h1 {
    font-size: 4.125rem;
    line-height: 1em;
    margin: 0;
}
#hero h1:after {
    content: '';
    display: block;
    background-color: var(--text_color);
    height: 9px;
    width: 62px;
    position: relative;
    margin-top: 13px;
    margin-bottom: 17px;
}
#hero h2 {
    font-size: 2.375rem;
    line-height: 1.263em;
    font-weight: 500;
    margin: 0;
}
#hero {
    padding-top: 0;
    padding-bottom: calc(3.125rem + 21px);
}
#hero .layout__region--first .block-inline-blockee-text {
    height: 100%;
}
#hero .layout__region--first .block-inline-blockee-text .block__content {
    padding: 77px 110px 77px 77px;
}
#hero .layout__region--first .ee_block_wrapper {
    position: relative;
    height: calc(100% + 21px);
    width: calc(100% + 40px);
    padding: 0;
}
#hero .layout__region--second {
    padding-top: 21px;
}
.backend #main,
.layout_section .layout.add_padding,
.layout_section:not(.full_width) {
    padding: 3.125rem 1.5rem;
}
.layout_section h2 {
    font-size: 2.5rem;
    line-height: 1.1;
    letter-spacing: 0.88px;
    font-weight: 600;
    text-transform: uppercase;
    hyphens: auto;
    margin: 0;
    margin-bottom: 15px;
}
.layout_section .block-inline-blockee-text h4 {
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 500;
    text-transform: uppercase;
    hyphens: auto;
    margin: 0;
    margin-bottom: 15px;
}
.layout_section h2:after {
    content: '';
    display: block;
    background-color: #000000;
    height: 6px;
    width: 42px;
    position: relative;
    margin: 16px 0 16px;
}
.layout_section .has_bg h2:after {
    background-color: #ffffff;
}
.raster .block-inline-blockee-card .ee_block_wrapper {
    height: 100%;
}
.raster .block-inline-blockee-card .ee_block_wrapper .block__content .field--name-field-ee-card-link {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    flex-grow: 1;
}
.layout_section .primary h4:after {
    background-color: var(--text_on_primary_color);
}
.layout_section .secondary h4:after {
    background-color: var(--text_on_secondary_color);
}
#referenzprojekte .raster {
    align-items: stretch;
}
.block-layout-builder:not(:last-child) .field--name-field-ee-card-link,
.field--name-field-ee-card-link {
    margin-block-end: unset;
    position: relative;
    margin-top: 50px;
}
.field--name-field-ee-card-link .field__item {
    margin-block-end: unset;
    position: absolute;
    bottom: 0;
}

.layout_section .ee_block_wrapper.none .field--name-field-ee-card-link a {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.2;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.44px;
    padding: 12px 12px calc(12px - 2px);
    text-transform: uppercase;
    background-color: var(--text_color);
    border: none;
    text-decoration: none;
}
.layout_section .ee_block_wrapper.none .field--name-field-ee-card-text p {
    letter-spacing: 0.4px;
    font-size: 1rem;
    margin:0;
}
#referenzprojekte .field:not(:last-child) {
    margin-block-end: unset;
}
#aktuelle_projekte h3,
#referenzprojekte h3 {
    font-size: 1.563rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    margin-block-end: unset;
    margin-bottom: 15px;
}
#aktuelle_projekte h4,
#referenzprojekte h4 {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 1.4px;
    margin-block-end: unset;
    margin: 30px 0;
}
#aktuelle_projekte h3 {
    margin-top: 15px;
}
#aktuelle_projekte .field--name-field-ee-card-image,
#aktuelle_projekte .field--name-field-ee-card-text,
#referenzprojekte .field--name-field-ee-card-image {
    margin-block-end: unset;
}
.raster .block-inline-blockee-card .block__content {
    text-align: left;
    hyphens: none;
    align-items: unset;
    height: 100%;
}
#ee-faq_block h3.ui-accordion-header {
    font-family: 'Avenir-Next', sans-serif;
    font-size: 1, 063rem;
    text-transform: uppercase;
    background-color: #f7f7f7;
    font-weight: 600;
    color: var(--text_color);
    padding: 25px 40px;
    border-bottom: none;
}
.faq_block .ui-accordion-header::after {
    font: var(--fa-font-solid);
    content: '\f054';
}
.faq_block .ui-accordion-header.ui-accordion-header-active::after {
    content: '\f078';
}
#ee-faq_block .ui-accordion-content-active {
    font-family: 'Avenir-Next', sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    border-bottom: none;
    padding: 40px 40px 60px 40px;
    background-color: #fff;
    letter-spacing: 0.4px;
    line-height: 1.6;
}
.secondary .style_standard .faq_cat_switch.active,
.style_standard .faq_cat_switch.active {
    background-color: var(--secondary, darkgray);
    color: var(--text_on_secondary_color, black);
}
.region--footer-bottom {
    background-color: #fff;
    padding-bottom: 98px;
    padding-top: 98px;
}
footer {
    background-color: #fff;
}
#block-ee-theme-regiocapfooteraddress .text-content {
    color: var(--text_color);
}
ul.menu > li.sf-no-children > span a[href="/user/login"],
ul.menu > li.sf-no-children > span > a,
.region--footer-bottom ul.menu li a,
.ee_button.ee_solo,
.layout_section .ee_block_wrapper a.ee_button,
.layout_section .ee_block_wrapper .field--name-field-ee-card-link a {
    font-size: 1rem;
    line-height: 1.2;
    position: relative;
    display: inline-block;
    font-weight: 500;
    letter-spacing: 0.44px;
    padding: 12px 12px calc(12px - 2px);
    text-transform: uppercase;
}
#page ul.menu > li.sf-no-children > span a[href="/user/login"]:hover {
    color: var(--text_color);
    background-color: var(--primary);
}
.region--footer-bottom ul.menu li a {
    font-size: 1.25rem;
    color: var(--text_color);
    text-transform: none;
}
ul.menu > li.sf-no-children > span a[href="/user/login"]:after,
ul.menu > li.sf-no-children > span > a:after,
.region--footer-bottom ul.menu li a:after,
.layout_section .ee_block_wrapper a.ee_button:after,
.field--name-field-ee-card-link a:after {
    position: absolute;
    content: "";
    width: 0px;
    height: 2px;
    background: white;
    top: 31px;
    left: 12px;
    transition: all 0.3s;
}
ul.menu > li.sf-no-children > span a[href="/user/login"]:after,
.layout_section .ee_block_wrapper a.ee_button:after {
    background-color: var(--text_color);
}

ul.menu > li.sf-no-children > span > a:after,
.region--footer-bottom ul.menu li a:after {
    background-color: var(--primary);
    top: 34px;
}
ul.menu > li.sf-no-children > span a[href="/user/login"]:hover:after,
ul.menu > li.sf-no-children > span > a:hover:after,
.region--footer-bottom ul.menu li a:hover:after,
.layout_section .ee_block_wrapper a.ee_button:hover:after,
.field--name-field-ee-card-link a:hover:after {
    position: absolute;
    width: calc(100% - 12px * 2);
}
#ee_theme_invested_block tr {
    color: #fff;
    border-bottom: none
}
#ee_theme_invested_block td {
    padding: 6px 0 0 0;
    font-size: 2.3rem;
}
#ee_theme_invested_block tr:last-child td {
    font-size: 1.8rem;
}
#ee_theme_invested_block tr:first-child td:after {
    content: '';
    display: block;
    width: 42px;
    height: 6px;
    margin: 6px auto 0 auto;
    background-color: var(--primary);
}
#ee_theme_invested_block table tr:first-child td:last-child {
    display: none;
}
.ee_openstreet_map svg, .ee_openstreet_map path {
    fill: var(--secondary);
}

#block-ee-theme-regiocapfooteraddress img {
    margin: 0 auto;
}
#page ul.menu {
     gap: 1.125rem;
}
.block-inline-blockee-bild.img_to_bg{
    height:100%;
}
.ee_block_wrapper.view_mode_img_to_bg{
    width:100%;
    height:100%;
    background-position: center center;
    background-size: cover;
    min-height: unset;
}
.layout_section .ee_block_wrapper .ee_button.download-button::before {
    font: var(--fa-font-sharp-light);
    color: var(--text_on_primary_color, black);
    font-size: 20px;
    margin-right: 10px;
    font-weight: 300;
    content: "\f019";
    width:unset;
    height: unset;
    background-color: transparent;
}
a.registrieren.button.ee_track_login_form_register, .area_triggers > div,
body form input.form-submit,
body input.form-submit,
body #user-login-form input.form-submit.button,
body input.small-submit, #project_info a.button {
text-transform: uppercase;
}
