/*########################### Greenwind ######################*/
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 100;
    src: url(fonts/Poppins-Thin.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 200;
    src: url(fonts/Poppins-ExtraLight.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/Poppins-Light.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    src: url(fonts/Poppins-Regular.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    src: url(fonts/Poppins-Medium.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    src: url(fonts/Poppins-SemiBold.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    src: url(fonts/Poppins-Bold.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 800;
    src: url(fonts/Poppins-ExtraBold.ttf) format("truetype");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 900;
    src: url(fonts/Poppins-Black.ttf) format("truetype");
}

:root {
    --white:  #fff;
    --black: #000;
    --text-color: #000;
    --font: "Poppins", sans-serif;
    --primary: #59133B;
    --secondary: #A6AE65;
    --secondary-gradient: transparent linear-gradient(-88deg, var(--secondary) 0%, #9da96d 40%, #79967d 85%, var(--tertiary) 100%) 0% 0% no-repeat padding-box;
    --tertiary: #286AA6;
    --gray: #666;
    --gray-light: #F3F1E1;
    --header-space: 0px;
    --header-height: 100px;
    --header-top: 44px;
}

.toolbar-fixed.toolbar-tray-open {
  --header-space: 29px;
}
.toolbar-fixed {
  --header-space: 40px;
}
.toolbar-fixed.toolbar-horizontal.toolbar-tray-open {
  --header-space: 79px;
}
html,
body,
p,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
textarea {
    margin: 0px;
    padding: 0px;
}
body,
html {
    font-size: 16px;
    line-height: 1.22;
    font-family: var(--font);
    color: var(--text-color);
}
body {
    background-color: var(--white);
    word-break: break-word;
    -webkit-text-size-adjust: 100%;
    hyphens: auto;
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-wrap: break-word;
}
body #page {
    background-color: var(--white);
    /* padding-top: calc(var(--header-top) + var(--header-height)); */
}
body a {
    color: var(--primary);
    text-decoration: none;
}
body .page a,
body header a,
#request-password a {
    color: var(--primary);
    transition: all 0.2s ease-in-out;
}
#login_links .do_register a {
    color: var(--white);
}
body #main .page a:hover {
    color: var(--primary);
    transition: all 0.2s ease-in-out;
}
.page {
    background: var(--white);
}
#content .region-content ul {
    padding-left: 20px;
}
.block-page-title-block {
    padding: 2em 0;
}

/* Header Regions
-------------------------------------------------------------- */
/* Header Top region to the bottom of Header region */
#page > header {
    display: flex;
    clear: both;
    background-color: var(--secondary);
    z-index: 5;
    top: var(--header-space);
    color: var(--white);
    padding: 50px 30px;
}
.header-inner {
    height: 100%;
    transition: height 0.4s ease-in-out;
}
#header_wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: end;
    gap: 5%;
}
#logo_wrapper {
    display: flex;
    align-items: baseline;
    height: 103px;
    gap: 50px;
}
#eueco_logo img,
header #logo img {
    display: block;
    height: 100%;
    width: auto;
}
#eueco_logo {
    height: 100%;
    display: block;
}

/* Login Logout */
#login {
    height: 100%;
    padding: 6px 0;
}
.region-login {
    height: 100%;
    display: flex;
}
.login_out_block {
    height: 100%;
    display: block;
    line-height: 19px;
}
.anmelden_toggle,
.abmelden_toggle {
    font-family: var(--font);
    text-decoration: none;
    padding: 0 1em;
    font-size: 16px;
    line-height: 19px;
    font-weight: normal;
    color: var(--white) !important;
}
.anmelden_toggle:hover,
.abmelden_toggle:hover {
    color: var(--white) !important;
}

/* target_navigation */
.target_navigation {
    color: var(--white);
    margin: -6px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    min-width: 250px;
}
.target_navigation .content a {
    color: var(--white) !important;
    font-weight: 700;
}

/*** HeaderBild ***/
.headerbild_block .views-field-field-headerimage * {
    height: 100%;
    display: block;
}
.headerbild_image {
    width: 100%;
    min-height: 900px;
    background-position: right center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Headerbild Block */
.view-headerbilder {
    position: relative;
}
.headerbild_block .views-row {
    display: flex;
}
.headerbild_block .views-field-field-headerimage {
    width: 50%;
}
.headerbild_block .views-row > div:not(.views-field-field-headerimage) {
    width: 50%;
}
.headertext {
    padding: 50px;
    color: var(--white);
    background: var(--secondary);
    text-align: center;
    height: 100%;
}
.slideshow_content_inner_wrapper > div {
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.headertext h1 {
    color: var(--white);
    font-weight: 700;
    line-height: 1.22;
    font-size: 50px;
    hyphens: none;
}
.headertext p {
    font-size: 28px;
    width: 100%;
    max-width: 700px;
    hyphens: none;
    line-height: 1.22;
}
.headertext p.small {
    font-size: 16px;
    max-width: 655px;
}

/*** Mobile Menu ***/
#menu_toggle {
    align-self: center;
    display: flex;
    line-height: 1.6rem;
    cursor: pointer;
    display: none;
}
#mm_navibutton_wrapper {
    background-color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
}
.mm-panel.mm-opened {
    padding: 2.5rem 1.5rem 1.5rem;
}
#mm-blocker {
    background: rgba(3, 2, 1, 0.2);
}
#menu_toggle #login {
    display: flex;
    align-items: center;
}
#menu_toggle #login .region-login > div {
    float: left;
}
#menu_toggle #login .region-login .menu_add a {
    font-size: 0.9rem;
    line-height: 1.5rem;
    padding: 0.75rem;
}
#menu_toggle #login .region-login .menu_add a:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 38px;
    background-color: var(--black);
    float: left;
}
.mm_navibutton {
    position: relative;
    width: 24px;
    height: 24px;
}
#closenavi {
    position: absolute;
}
.mm_navibutton > div:first-child {
    height: 24px;
}
.hamburger_line {
    margin-top: 4px;
    background-color: var(--black);
    width: 24px;
    height: 2px;
}
.hamburger_line:after,
.hamburger_line:before {
    display: block;
    width: 24px;
    height: 2px;
    top: 11.5px;
    background-color: var(--black);
    left: 0;
    transition: all 0.1s ease;
}
.hamburger_line:after,
.hamburger_line:before {
    position: absolute;
}
.hamburger_line:after {
    top: 19px;
}
.hamburger_line::after,
.hamburger_line::before {
    content: " ";
}
.mm_navibutton:hover .hamburger_line,
.mm_navibutton:hover .hamburger_line:before,
.mm_navibutton:hover .hamburger_line:after {
    background-color: var(--black);
    transition: all 0.2s ease-in-out;
}

/*** Primary Menu ***/
#hauptnavigation {
    flex-grow: 1;
    display: flex;
    align-items: end;
}
#hauptnavigation ul.sf-menu a {
    padding: 0 1em;
    font-size: 16px;
    line-height: 19px;
    font-weight: normal;
    color: var(--white);
}
#hauptnavigation ul.sf-menu li:hover > a {
    color: var(--white);
}
#hauptnavigation .content > ul.menu > li > ul {
    top: 30px;
}
#hauptnavigation .content > ul.menu > li ul {
    background-color: var(--secondary);
    z-index: 10;
    margin-top: 5px;
    margin-left: -10px;
    padding: 10px 0px;
    -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.37);
    -moz-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.37);
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.37);
}
#hauptnavigation .content > ul > li > ul > li a {
    font-size: 16px;
    padding: 7px 10px;
}

/*** Scroll Top ***/
.block-scrolltop img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    -webkit-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    z-index: 10000;
}
#scrolltop {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--primary);
    line-height: 53px;
    font-size: 46px;
    -webkit-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    z-index: 10000;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    padding: 5px;
}

/*** General Style ***/
h1,
h1.title {
    background: none;
    font-size: 50px;
    line-height: 64px;
    font-weight: 700;
}
body .page_title h1.title {
    margin-top: 48px;
    margin-bottom: 60px;
}
h2 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 700;
    margin-bottom: 24px;
}
h3,
h3 a {
    font-size: 32px;
    line-height: 40px;
    font-weight: 500;
}
h4 {
    font-size: 21px;
    line-height: 24px;
    font-weight: 500;
}
h5 {
    font-size: 12px;
    line-height: 16.34px;
    font-weight: 500;
    text-transform: uppercase;
}
p {
    margin: 1em 0px;
}
.right {
    float: right;
}
.region-content-bottom {
    background-color: var(--white);
    margin-top: 40px;
}
#main {
    min-height: 100vh;
}
.not-front #main-content {
    margin-bottom: 75px;
}
.page-blog #main-inner h2.title a {
    text-decoration: none;
}
#main-inner p,
.platform li {
    margin-top: 0px;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.22;
}
.text-center {
    text-align: center;
}
.bg-primary {
    background-color: var(--primary);
}
.bg-secondary {
    background-color: var(--secondary);
}
.bg-secondary-gradient {
    background: var(--secondary-gradient);
}
.bg-gray-light {
    background-color: var(--gray-light);
}
.bg-rotate {
    padding-top: 5em;
    padding-bottom: 10em;
    background: transparent;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.content_block_1 .bg-rotate {
    margin-top: -30px;
}
.bg-rotate:after {
    content: '';
    background-color: var(--gray-light);
    position: absolute;
    width: 140%;
    height: 130%;
    top: -37%;
    left: -20%;
    z-index: -1;
    transform: rotate(-4deg);
}
.bg-gray-light.bg-rotate:after {
    background-color: var(--gray-light);
}
.bg-secondary-gradient.bg-rotate:after {
    background: var(--secondary-gradient);
}
.border-after {
    position: relative;
    overflow: hidden;
}
.border-after:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--black);
    bottom: 10px;
    margin-left: 20px;
}
.border-bottom {
    position: relative;
    margin-bottom: 28px;
}
.border-bottom:after {
    position: absolute;
    content: '';
    height: 1px;
    width: 100%;
    background-color: var(--black);
    left: 0;
    bottom: -18px;
}

/* Container */
.container {
    display: flex;
    gap: 47px;
}
.container.c50 > * {
    width: 50%;
}
.container.c60-40 > *:first-child {
    width: 60%;
}
.container.c60-40 > *:last-child {
    width: 40%;
}
.container.c40-60 > *:first-child {
    width: 40%;
}
.container.c40-60 > *:last-child {
    width: 60%;
}
.container.c66-33 > *:first-child {
    width: 66%;
}
.container.c66-33 > *:last-child {
    width: 33%;
}
.container.c33-66 > *:first-child {
    width: 33%;
}
.container.c33-66 > *:last-child {
    width: 66%;
}
.container.c75-25 > *:first-child {
    width: 75%;
}
.container.c75-25 > *:last-child {
    width: 25%;
}
.container.c25-75 > *:first-child {
    width: 25%;
}
.container.c25-75 > *:last-child {
    width: 75%;
}
.container.c33 > * {
    width: 33%;
}
.container.c25 > * {
    width: 25%;
}
.container.c20 > * {
    width: 20%;
}

.container .text {
    display: flex;
    flex-direction: column;
    gap: 19px;
}
.container .text p {
    margin: 0 !important;
}
.container .text.center {
    justify-content: center;
}

/* Teaser */
.teaser {
    display: flex;
    flex-direction: column;
    position: relative;
}
.teaser figure {
    width: 100%;
    margin: 0;
}
.teaser figure img {
    height: auto;
    width: 100%;
    object-fit: cover;
}
.teaser .text {
    padding: 1em 0;
    display: flex;
    flex-direction: column;
    gap: 1em;
    flex-grow: 1;
}

/* Card */
.card {
    box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    padding: 40px;
}
.card .header {
    display: flex;
    gap: 5px;
    font-size: 22px;
    font-weight: 700;
    min-height: 55px;
    margin-bottom: 15px;
}
.card .header .number {
    min-width: 19px;
}

/* Slider */
.referenzen.slider {
    margin-bottom: 60px !important;
}
.referenzen.slider .slick-list {
    overflow: visible;
}
.referenzen.slider .slick-slide > div,
.slider .card_wrapper {
    height: 100%;
}
.slider .card {
    margin: 15px;
    padding: 0;
    height: calc(100% - 30px);
}
.slider .card figure {
    margin: 0;
}
.slider .card figure img {
    aspect-ratio: 377/248;
    width: 100%;
    object-fit: cover;
}
.slider .card .year {
    font-size: 14px;
    margin-bottom: 5px;
}
.slider .card .header {
    min-height: 110px;
}
.slider .card .content {
    padding: 20px;
}
.referenzen.slider .slick-dots {
    width: 50%;
    display: flex;
}
.referenzen.slider .slick-dots li {
    flex-grow: 1;
    height: 10px;
    width: auto;
    margin: 0;
    border-bottom: 1px solid #E2E2E2;
}
.referenzen.slider .slick-dots li button {
    display: none;
}
.referenzen.slider .slick-dots li.slick-active {
    border-bottom: 2px solid var(--secondary);
}
.referenzen.slider .slick-prev,
.referenzen.slider .slick-next {
    top: unset;
    bottom: -65px;
    height: 40px;
    width: 40px;
    border: 1px solid #E2E2E2;
    border-radius: 50%;
}
.referenzen.slider .slick-prev {
    left: unset;
    right: 60px;
}
.referenzen.slider .slick-next {
    right: 10px;
}
.referenzen.slider .slick-prev:before,
.referenzen.slider .slick-next:before {
    color: var(--text-color);
    font-family:"Font Awesome 5 Free";
    line-height: 40px;
}

.front .field-item-content {
    overflow: hidden;
}

/* Login */
#registrieren-anker {
    margin-bottom: 80px;
}
.do_register .registrieren {
    width: 100%;
    margin-top: 33px;
}

/* Buttons */
.webform-submission-form textarea {
    border: 1px solid #cccccc;
    color: rgba(0, 0, 0, 0.75);
    font-family: var(--font);
    font-size: 15px;
    padding: 5px;
}
#pid-node-70-done #content-content,
.page-newsletter #content-content,
#pid-node-1945-done #content-content {
    padding-left: 15px;
}
#simplenews-confirm-add-form .container-inline a {
    background: #007ac0 none repeat scroll 0 0;
    color: var(--white);
    float: left;
    padding: 10px 16px;
    text-align: center;
    width: 140px;
}
#simplenews-confirm-add-form .container-inline a:hover {
    text-decoration: none;
}
body form input.form-submit:hover,
body input.form-submit:hover {
    cursor: pointer;
}
#pid-user-password .form-item label {
    font-weight: normal;
}
#progress {
    position: fixed;
    text-align: center;
    top: 300px;
    visibility: hidden;
    width: 100%;
    z-index: 10000;
}
body .ui-dialog {
    border: 0;
    border-radius: 0;
    padding: 0;
    min-width: 600px;
    max-width: 100%;
}
body .ui-dialog-content {
    height: auto !important;
}
body .ui-widget {
    font-size: inherit;
}
body .ui-dialog .ui-dialog-titlebar-close {
    background: rgba(0, 0, 0, 0) url("../images/eueco/icons/icon_close.gif")
        no-repeat scroll 0 0;
    border: medium none;
}
body .ui-dialog .ui-dialog-titlebar-close:hover {
    background: rgba(0, 0, 0, 0)
        url("../images/eueco/icons/icon_close_hover.gif") no-repeat scroll 0 0;
}
body .ui-dialog-titlebar {
    background: var(--primary) none repeat-x scroll 0 center;
    border: medium none;
    border-radius: 0;
    font-size: 14px;
}
.ui-dialog-overlay {
    background: none repeat scroll 0 0  var(--black);
    opacity: 0.8;
}
.ui-dialog-title {
    color: var(--white);
    font-weight: bold;
}
#modal-upload-wrapper {
    margin-bottom: 10px;
}

/* Buttons */
body form input.form-submit,
body input.form-submit,
body:not(#pid-fsa):not(#pid-services) div.button,
a.button,
.ui-dialog .ui-dialog-buttonpane button {
    background: none;
    border: none;
    background: var(--primary) !important;
    color: var(--white) !important;
    text-align: center;
    float: none;
    font-weight: normal;
    font-size: 18px;
    line-height: 32px;
    border-radius: 10px;
    padding: 10px 30px;
    margin-bottom: 4px;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}
a.button {
    display: block;
}
a.button:hover {
    transform: scale(1.03);
}
div.button {
    display: block;
    max-width: 100%;
    width: 100%;
}
.button.center {
    margin: 0 auto;
}

/* invested Block */
.tooltip:hover span {
    margin-top: 5px;
}
.tooltip span,
.tooltip:hover span.classic {
    background: none;
    margin-left: 20px;
    font-size: 14px !important;
    background-color: var(--white);
    border: 1px solid #79a9d6;
    border-radius: 5px;
    width: 160px;
    padding: 7px;
    margin-top: 10px !important;
    -webkit-box-shadow: 0px 2px 3px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow: 0px 2px 3px 0px rgba(50, 50, 50, 0.75);
    box-shadow: 0px 2px 3px 0px rgba(50, 50, 50, 0.75);
    display: none;
}
.region-content .ee-projectdetails-invested-block .tooltip span.classic em {
    font-size: 14px !important;
    font-weight: normal;
    line-height: normal;
    font-style: normal;
    padding: 0px;
}
#page .region-content .tooltip {
    border: none;
    height: 50px;
    box-sizing: content-box;
}
#ee-projectdetails-title {
    font-size: 1em;
    padding: 0;
    color: var(--white);
    font-weight: normal;
    text-transform: none;
}
#ee-value-wrapper {
    font-size: 1em;
    padding: 0;
    color: var(--white);
}
.region-content #ee-skala {
    background-image: none;
    height: 30px;
    border: none;
    margin: 10px 0;
    background-color: var(--white);
}
.region-content #ee-skala #ee-value {
    background: var(--secondary) repeat-x scroll right top;
    top: -32px;
    height: 30px;
}
.region-content .ee-value-wrapper:hover + div + .tooltip span.classic {
    display: block;
}
.ee-projectdetails-invested-block #ee-min-value {
    visibility: hidden;
}

/* Datenschutz */
#pid-datenschutz {
    color: var(--black);
}
#pid-datenschutz h2 {
    font-size: 35px;
    margin-bottom: 35px;
    margin-top: 15px;
    line-height: normal;
    text-transform: uppercase;
}

/* Register */
#pid-user-register #content h1:after {
    content: "";
    margin-bottom: 10px;
}
#user-register-form #ee-legal1,
#user-register-form #edit-legal legend {
    display: none;
}
#pid-user-register #registrieren a,
#pid-user-register #edit-legal a {
    color: var(--primary);
}
#pid-user-register .captcha label {
    display: none;
}
#pid-user-register .captcha img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}
.form-required,
#pid-user-register .form-required {
    color: #3c3732;
}
header .form-required {
    color: var(--primary);
}

/* Webform */
.webform-submission-form,
.webform-submission-form p {
    font-size: 21px !important;
    line-height: 24.15px !important;
}
.webform-submission-form * {
    box-sizing: border-box !important;
}
.form-text,
.form-email,
.form-select,
.webform-submission-form .form-text,
.webform-submission-form .form-email,
.webform-submission-form .form-tel,
.webform-submission-form .form-number,
.webform-submission-form select {
    box-sizing: border-box !important;
    display: block;
    font-size: 1em;
    line-height: 24.15px;
    height: auto !important;
    width: 100%;
    border: none !important;
    background: #EDF2F7;
    border-radius: 0;
    padding: 12px !important;
    box-shadow: 0px 2px 4px 0px #0000000F inset;
    font-weight: 400;
    max-width: unset !important;
}
.webform-submission-form select {
    font-size: 16px;
}
.webform-component-textarea,
.webform-component-markup {
    padding: 0.5em;
}
.webform-submission-form select {
    padding: 13px !important;
}
.webform-submission-form label {
    font-size: 16px;
    font-weight: 600;
}
.webform-submission-form textarea {
    font-size: 21px;
    line-height: 24.15px;
    border: none;
    background: #EDF2F7;
    border-radius: 0;
    padding: 18px;
    box-shadow: 0px 2px 4px 0px #0000000F inset;
    font-weight: 400;
}
.webform-submission-form .resizable-textarea .grippie {
    display: none;
}
tbody {
    border-top: none;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .region-content #ee-skala #ee-value {
        top: -28px;
    }
    .flex_block.beteiligung .image {
        padding: 195px 5px 0px 45px;
        font-weight: 700;
    }
    #pid-customer-portfolio legend,
    .page-user-edit #user-profile-form legend {
        display: inline-block;
        margin-bottom: 10px;
    }
    #pid-customer-portfolio legend {
        padding-left: 0px;
    }
}

.password-suggestions li {
    list-style-position: inside;
    margin-bottom: 0;
    font-size: 1em;
}
html.mm-blocking body {
    overflow-y: scroll;
}
#menu.mm-menu {
    width: 16rem;
}
.mm-panels {
    height: 100%;
}
.mm-panels a:hover {
    color: #36a9e1;
}
#primary-menu_inner_wrapper {
    padding: 2.5rem 1.5rem 1.5rem;
}
.mm-panels > .mm-panel > .mm-listview {
    margin: 0px -20px;
}
.toolbar_item_content {
    display: none;
    position: absolute;
    background-color: #efefef;
    right: 49px;
    width: 410px;
    min-height: 255px;
    padding: 23px 29px;
    z-index: 1;
    box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.35);
}
body.smallmenu #mm-blocker {
    top: 0px;
}
#user-pass-reset {
    margin-top: 55px;
}
#main-inner #user-pass-reset p {
    margin-bottom: 0px;
}
#block-views-faqs-faq-block .view-faqs > h2 {
    display: none;
}
#pid-faq-uebersicht #block-views-faqs-faq-block .view-faqs > h2 {
    display: block;
    margin-top: 30px;
    font-weight: 700;
    text-align: center;
}
#pid-contact .page,
#pid-newsletter .page {
    background: var(--white);
}
.webform-submission-form > div,
.webform-submission-form > fieldset {
    width: 1000px;
    margin: 0 auto;
    padding: 15px 15px 15px 15px;
}
.front .webform-submission-form > div {
    width: auto;
    padding: 0;
}
.webform-submission-form .fieldset-wrapper {
}
.webform-submission-form .webform-component--email-daten .fieldset-wrapper {
    display: block;
}
.webform-submission-form .webform-component--projektdaten .fieldset-wrapper {
    justify-content: flex-start;
}
.webform-submission-form .webform-component--projektdaten .fieldset-wrapper > div {
    margin-right: 50px;
}
.webform-submission-form fieldset {
    border: none;
}
.webform-submission-form .ee-submit {
    width: 100%;
    display: inline-block;
}
.webform-submission-form label {
    margin-bottom: 5px;
}

/******* div table ************/
.divtable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0px 10px;
}
.divrow {
    display: table-row;
    font-size: 14px;
}
.divrow > div {
    display: table-cell;
    line-height: normal;
    min-height: 30px;
    padding-top: 5px;
    padding-bottom: 5px;
}
.divrow > div:first-child {
    font-weight: 600;
    padding-left: 10px;
    width: 50%;
}
.divrow:nth-child(2n + 1) > div {
    background-color: rgba(165, 177, 183, 0.5);
}
#content .region-content ul.checks {
    list-style: none;
    margin-left: 30px;
    padding: 0px;
}
ul.checks li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    color: #0066aa;
    font-weight: normal;
    font-size: 20px;
    vertical-align: top;
    position: absolute;
    padding-right: 6px;
    margin-left: -30px;
}
ul.checks.info li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f05a";
    color: #0066aa;
    font-size: 20px;
    margin-top: 2px;
}
ul.checks.coop li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f067";
    color: #0066aa;
    font-size: 20px;
    margin-top: 2px;
}

/*Modal Login*/
.modal_login,
.modal_logout {
    color: var(--primary);
    font-size: 23px;
}
#pid-fast-registry-step1 #login_links {
    display: none;
}
#sliding-popup.sliding-popup-bottom {
    color: var(--text-color) !important;
    background-color: var(--white);
    font-size: 22px;
    padding: 1rem 1.5vw;
}
#sliding-popup .popup-content #popup-text {
    color: var(--text-color) !important;
    background-color: var(--white);
    font-size: 18px;
    margin: 5px 0;
    text-align: center;
    max-width: 100%;
}
#sliding-popup .popup-content #popup-text h2,
#sliding-popup .popup-content #popup-text p,
.eu-cookie-compliance-message button {
    font-size: 18px;
    color: var(--text-color);
}
#sliding-popup .popup-content #popup-text h2 {
    font-size: 22px;
    font-weight: 700;
}
#sliding-popup .popup-content #popup-buttons {
    float: none;
    max-width: 100%;
}
#sliding-popup .popup-content #popup-buttons button {
    text-decoration: none;
    line-height: 1rem;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    max-width: 100%;
    color: var(--white);
    background: none !important;
    background-color: var(--primary) !important;
    font-size: 18px;
    text-shadow: 0px 0px 0px  var(--white) !important;
    transition: background-color 0.2s ease-in-out;
    box-shadow: none;
}
#pid-datenschutz .page .page_title_wrapper {
    display: block;
}
#pid-datenschutz .region-content a {
    text-decoration: underline;
}

#log_overlay {
    position: absolute;
    display: none;
    width: 100%;
    height: 10000px;
    top: 0px;
    left: 0px;
    overflow: hidden;
    background-color: transparent;
    z-index: 1000;
}

/*Registerform*/
#pid-user-register #user-register-form {
    border: 2px solid #d8d8d8;
    padding: 15px 15px 15px 15px;
    border-radius: 8px;
}
/*#pid-fast-registry-step1 #user-register-form input,
#pid-user-register #user-register-form input {
    line-height: 40px;
    font-size: 13px;
    padding-left: 10px;
    height: 40px;
    box-sizing: border-box;
    border: 1px solid var(--primary);
    background: var(--white);
    border-radius: 8px;
    padding: 0 1.5rem;
}
#pid-fast-registry-step1 #user-register-form input.form-submit,
#pid-user-register #user-register-form input.form-submit {
    background-color: var(--primary);
    display: inline-block;
    line-height: 45px;
    height: 45px;
    border: none;
    text-align: center;
    color: var(--white);
    font-size: 18px;
    border-radius: 7px;
}
#pid-fast-registry-step1 #user-register-form input.form-submit:hover,
#pid-user-register #user-register-form input.form-submit:hover {
    background-color: #84c7eb;
}*/
#user-register-form #edit-legal input {
    background: transparent;
    position: absolute;
    visibility: hidden;
    margin: 0;
    padding: 0;
}
#user-register-form #edit-legal,
#user-register-form #edit-legal legend {
    border: none;
    margin: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px;
}
#user-register-form #edit-legal input[type="checkbox"] + label {
    cursor: pointer;
    line-height: normal;
    padding-left: 33px;
    padding-top: 20px;
    display: table-cell;
}
#user-register-form #edit-legal input[type="checkbox"]:checked + label::before,
#user-register-form #edit-legal input[type="checkbox"]:not(:checked) + label::before {
    content: " ";
    display: inline-block;
    width: 18px;
    height: 18px;
    position: absolute;
    margin-top: 5px;
    background: white;
    background-color: white;
    margin-left: -34px;
    font-size: 18px;
    line-height: 18px;
}
#user-register-form #edit-legal input[type="checkbox"]:checked + label::before,
#user-register-form #edit-legal input[type="checkbox"]:not(:checked) + label::before {
    border: 1px solid #d8d8d8;
    background-color: #e4e0e0;
}
#user-register-form #edit-legal input[type="checkbox"]:checked + label::before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    border-radius: 0px;
}
#pid-user-register #tabs_wrapper {
    display: none;
}
#pid-user-register #content #registrieren {
    text-align: left;
    margin-top: 170px;
}
#pid-user-register #content h1 {
    text-align: left;
    margin-top: 0px;
}
#pid-user-register #content #registrieren .flex_block > div {
    margin-top: 15px;
}

/*################ Cookie Hinweis #####################*/
.popup-content {
    position: relative;
}
#sliding-popup .eu-cookie-compliance-more-button:hover {
    background: none !important;
    background-color: #9ad372 !important;
    transition: background-color 0.2s ease-in-out;
}

#main .ee_content_block {
    padding: 30px 0px;
}
.front #main-content .content_block_1 {
    padding-top: 0 !important;
}
.blue_content_block {
    background-color: #ebf6fc;
    margin-bottom: 100px;
}

.block-scrolltop {
    position: fixed;
    bottom: 80px;
    right: 80px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    z-index: 10000;
}
div.ui-dialog {
    font-size: 14px;
    -webkit-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
    box-shadow: 0px 1px 4px 0px rgba(50, 50, 50, 0.75);
}
.ui-widget-overlay {
    display: none !important;
}
.heightnull {
    position: relative;
    top: -100px;
    z-index: -1;
    height: 0;
}

#projekt_wrapper table {
    font-family: var(--font);
}
#projekt_wrapper table tr {
    background: none;
}
#projekt_wrapper table tr,
#projekt_wrapper table td {
    border: none;
}

.zeichnung_wrapper {
    padding: 40px 0;
    align-items: center;
}

.flex_block.center {
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
.flex_block.center .button {
    margin: 0;
}

/* Störer */
.stoerer {
    background-color: var(--primary);
    color: var(--white);
    position: absolute;
    bottom: 27%;
    left: 5%;
    border-radius: 140px;
    padding: 10%;
    height: 100%;
    width: 90%;
    transform: rotate(-16deg);
    word-break: auto-phrase;
}
.stoerer .inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: rotate(16deg);
}
.stoerer strong {
    font-size: 30px;
}
.stoerer p {
    font-size: 24px !important;
}

/*** Kontakt ***/
.kontakt {
    padding: 38px;
}
.kontakt .mail {
    font-size: 48px;
    line-height: 64px;
    color: var(--primary);
    font-weight: 700;
}
.kontakt .mail:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    margin-right: 25px;
    font-weight: 400;
}

/*** Details ***/
.details_wrapper {
    padding: 40px;
}
.details_wrapper h3 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 600;
}
.details_list {
    list-style: none;
    padding-left: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.details_list li {
    display: flex;
    align-items: center;
    gap: 15px;
}
.details_list li:before {
    content: '✓';
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    color: var(--secondary);
}

/*** Hinweis ***/
.hinweis {
    background: #D9D9D9;
    padding: 15px;
    margin: 3em 0;
}

/*** Downloads ***/
.downloads {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.downloads a {
    text-decoration: underline;
}

/*** FAQ ***/
#ueber_uns_wrapper,
#faq_wrapper {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}
#faq_wrapper h2.border-after {
    margin-bottom: 80px;
}
#faq_nav {
    display: flex;
    justify-content: space-between;
    display: none;
}
#faq_nav .linkbutton {
    color: #ffffff;
    background: var(--secondary);
    width: 30%;
    display: inline-block;
    text-align: center;
    padding: 15px 20px;
    border-radius: 8px;
}
#faq_nav .linkbutton.open {
    background: var(--primary);
}
#faq_nav .linkbutton:hover {
    background: var(--primary);
}
.faq_block {
    max-width: 960px;
}
.faq_headline {
    font-size: 30px;
    font-weight: 500;
    position: relative;
}
.faq_headline:after {
    position: absolute;
    content: '';
    height: 1px;
    width: 100%;
    background-color: var(--black);
    left: 0;
    bottom: -18px;
}
.faq_block .accordion {
    margin: 60px 0;
}

/* Accordion */
/*.faq_headline,
.block-ee-faq {
    display: none;
}
#block-euecofaq-online-portal {
    display: block;
}*/
.ui-accordion {
    width: auto;
}
.ui-accordion .ui-accordion-header-active {
    border-bottom: 0 !important;
}
.accordion {
    margin-top: 0px;
    padding-bottom: 0px;
    border: none;
}
.accordion h3.ui-accordion-header {
    width: calc(100% - 60px);
    font-size: 20px;
    margin: 0px 0px -2px 60px;
    cursor: pointer;
    line-height: normal;
    border-radius: 0px;
    display: flex;
    border: none;
    background: none;
    margin-bottom: 10px;
    font-weight: 400;
    text-decoration: underline;
    padding: 15px 0;
    align-items: center;
    position: relative;
    color: var(--primary);
}
.ui-accordion .ui-accordion-header .ui-icon {
    display: none;
}
.accordion .ui-accordion-content {
    display: none;
    border: none;
    margin-bottom: 10px;
    height: auto !important;
    border-radius: 0px;
    padding: 25px 0;
    padding-left: 60px;
    background: none;
}
#main-inner .ui-accordion-content :only-child,
#main-inner .accordion .ui-accordion-content p:last-child {
    margin-bottom: 0px;
}
.accordion h3.ui-accordion-header-active {
    border-radius: 0px;
    color: var(--primary);
    border: none !important;
}
.accordion h3.ui-accordion-header-active:hover {
    color: var(--primary);
}
.accordion h3.ui-state-default::before {
    display: table-cell;
    font-family: "Font Awesome 5 Free";
    content: "\f061";
    display: inline-block;
    speak: none;
    line-height: 1.22;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    text-decoration: none !important;
    height: 100%;
    color: var(--primary);
    transition: transform 0.4s ease-in-out, padding 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    text-align: right;
    padding: 0;
    font-size: 18px;
    position: absolute;
    left: -60px;
    top: 17px;
}
.accordion h3.ui-accordion-header-active::before {
    font-family: "Font Awesome 5 Free";
    content: "\f063";
    color: var(--primary);
}
.region-sidebar-second .block {
    margin-bottom: 20px;
}
.region-sidebar-second .content p {
    margin: 0px;
}

/*** footer ***/
footer {
    background-color: var(--white);
    font-size: 13px;
}
#footer,
#footer_top {
    display: block;
    margin: 0 auto;
    width: 100%;
    padding: 0 1em;
    padding-top: 32px;
    color: var(--text-color);
    position: relative;
    z-index: 2;
}
.region-footer-top {
    display: flex;
    gap: 5%;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--white);
}
.region-footer {
    flex-wrap: wrap;
    padding-bottom: 32px;
}
.footer-hinweis {
    width: 100%;
    max-width: 630px;
}
.footer-hinweis h4 {
    font-weight: bold;
    padding-bottom: 1em;
    font-size: 13px;
}
.footer-hinweis p,
.footer-adress p {
    color: var(--text-color);
}
.footer-adress .flex_block {
    gap: 1.5em;
}

.footer-logo img {
    height: 103px;
    width: auto;
}

#footer_bottom {
    background-color: var(--white);
}
.region-footer-bottom {
    color: var(--text-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer p {
    margin: 0px;
}
footer a {
    text-decoration: none;
    color: var(--text-color) !important;
}
footer ul.menu {
    display: flex;
    flex-direction: column;
}
#footer_bottom ul.menu {
    flex-direction: row;
}
#footer_bottom ul.menu li {
    padding: 0.5em 1em;
}
footer ul.menu li a {
    color: var(--text-color) !important;
}
#footer_bottom ul.menu li a {
    color: var(--text-color) !important;
}