/**
 * theme-styles.css
*/


html {
    font-size: var(--root-font-size);
}

body {
    background: var(--background-white);
    color: var(--body-text-color);
    font-family: var(--primary-font);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--primary-font);
    color: var(--heading-text-color);
    font-weight: 500;
    line-height: 1.4;
}

h1 {
    font-size: 2rem;
    padding-bottom: 1rem;
}

h2 {
    font-size: 1.8rem;
    padding-bottom: 1rem;
}

h3 {
    font-size: 1.6rem;
    padding-bottom: .5rem;
}

h4 {
    font-size: 1.4rem;
    padding-bottom: .5rem;
}

h5 {
    font-size: 1.25rem;
    padding-bottom: .5rem;
    line-height: 1.15;
}

h6 {
    font-size: 1.2rem;
    padding-bottom: .5rem;
}


a,
a:active,
a:visited,
a:focus,
a:focus-visible {
    color: var(--color-gzo);
    text-decoration: none;
}

main {
    padding-top: 140px;
    min-height: 50vh;
}

.header-transparent main {
    padding-top: 0;
}

.row,
.news-post,
.course-event-post {
    width: 86%;
    max-width: 1400px;
    margin: 0 auto;
}

.row:not(.page-title-img-row) {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.button,
a.wp-block-button__link.wp-element-button,
.wp-block-button__link.form-trigger {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    color: var(--color-white) !important;
    background: var(--background-gzo);
    padding: .85rem 1.5rem .85rem 1.5rem;
    font-size: .8rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    border-radius: 50px;
    border: none;
    min-height: 0;
    transition: all 400ms ease;
    cursor: pointer;
    z-index: 1;
}

.button:not(.menu-trigger, .moodle-button)::before,
.wp-block-button__link.form-trigger::before,
a.wp-block-button__link.wp-element-button::before  {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    border: 1px dashed var(--color-gzo);
    border-radius: 60px;
    transition: all 400ms ease;
}

.button:not(.menu-trigger, .moodle-button):hover::before,
.wp-block-button__link.form-trigger:hover::before,
a.wp-block-button__link.wp-element-button:hover::before {
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    left: -4px;
    top: -4px;
}

.button span {
    position: relative;
    display: flex;
    align-items: center;
    gap: .5rem;
}

#pdf.button span::before {
    content: '';
    width: .85rem;
    height: .85rem;
    display: block;
    background-image: url(/wp-content/uploads/2026/01/ICON_PDF_weiss.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.moodle-button {
    background: #F98012 !important;
    margin-right: 1.5rem;
    padding-left: 3rem;
}

.moodle-button span::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: -2rem;
    top: 50%;
    transform: translate(0, -50%);
    display: block;
    background-image: url(/wp-content/uploads/2026/01/Group-198.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.cta-button-wrapper {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem 1.5rem;
}

.section-padding-top {
    padding: var(--section-padding-top) !important;
}

.section-padding-bottom {
    padding: var(--section-padding-bottom) !important;
}

.section-padding-none {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.section-padding-bottom-small {
    padding: var(--section-padding-bottom-small) !important;
}

.section-bg-grey {
    background: var(--background-grey-light);
}




/* Header */

.site-header {
    display: flex;
    align-items: center;
    height: 140px;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background: var(--background-white);
    transition: transform 400ms ease;
    z-index: 1000;
}

.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

.header-row {
    display: flex;
    justify-content: space-between;
}

.header-row .col {
    display: flex;
    align-items: center;
}

.logo img {
    width: clamp(200px, 14vw, 250px);
}


/* Menu Icons */

.menu-icon-suche {
    display: block;
    cursor: pointer;
    margin-right: 1.5rem;
}

.menu-icon-suche img {
    display: block;
    width: auto;
    height: 1.75rem;
}


/* Menü Trigger und Icon */

.button.menu-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 400ms ease;
}

.menu-trigger-label {
    line-height: 1;
    color: var(--color-dark);
    font-weight: 600;
}

.button.menu-trigger::before {
    content: '';
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    position: absolute;
    left: -4px;
    top: -4px;
    display: block;
    border: 1px dashed var(--color-gzo);
    border-radius: 60px;
}



/* Floating Menü Trigger */

.menu-trigger--fixed {
    position: fixed !important;
    z-index: 2000;
    background: var(--background-dark);
    opacity: 0;
    transition: opacity 400ms ease;
    pointer-events: none;
}

.menu-trigger--fixed .menu-trigger-label {
    color: var(--color-white);
}

.menu-trigger--fixed.menu-trigger--visible {
    opacity: 1;
    pointer-events: auto;
}

.menu-trigger--fixed::before {
    content: '';
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    position: absolute;
    left: -4px;
    top: -4px;
    display: block;
    border: 1px dashed var(--color-dark) !important;
    border-radius: 60px;
}


/* Overlay Menü */

.no-scroll {
    overflow: hidden;
}

.admin-bar.no-scroll .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar.no-scroll .site-header {
        top: 46px;
    }
}

body.no-scroll .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2001;
    background: var(--background-gzo);
    padding-right: var(--scrollbar-width);
}

body.no-scroll .menu-trigger--fixed {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
}

body.no-scroll .menu-trigger--fixed .menu-trigger-label {
    color: var(--color-dark);
}

body.no-scroll .menu-trigger--fixed::before {
    display: none;
}

body.no-scroll #overlay-menu {
    padding-right: var(--scrollbar-width);
}

body.no-scroll .button.menu-trigger {
    background: var(--background-white);
}

body.no-scroll .logo img {
    filter: brightness(0) invert(1);
}

body.no-scroll .menu-icon-suche img {
    filter: brightness(0) invert(1);
}

#overlay-menu {
    display: none;
    position: fixed;
    padding-top: 250px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--background-gzo);
    z-index: 999;
}

ul#primary-menu {
    list-style-type: none;
    padding: 0;
}

ul#primary-menu li {
    line-height: 1;
}

ul#primary-menu li:not(:last-child) {
    margin-bottom: 2.2rem;
}

ul#primary-menu li a {
    color: var(--color-dark) !important;
    font-size: 2rem;
    font-weight: 500;
    transition: all 400ms ease;
}

#overlay-menu ul.sub-menu {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 5px;
    left: 35%;
}

#overlay-menu ul.sub-menu li:not(:last-child) {
    margin-bottom: 1.6rem;
}

#overlay-menu ul.sub-menu li a {
    font-size: 1.6rem !important;
    font-weight: 500 !important;
}

#overlay-menu .current-menu-item>a {
    color: var(--color-white) !important;
}

#overlay-menu .current-menu-ancestor>a {
    color: var(--color-white) !important;
}

#overlay-menu .current-menu-item.menu-item-has-children>a {
    padding-left: 0;
}

#overlay-menu ul.sub-menu>li {
    position: relative;
}

#overlay-menu ul.sub-menu ul.sub-menu {
    position: static;
    margin-top: 1.2rem;
    padding-left: 2rem;
}

#overlay-menu ul.sub-menu ul.sub-menu ul.sub-menu {
    padding-left: 2.5rem;
    margin-top: 1rem;
}

#overlay-menu ul.sub-menu ul.sub-menu li:not(:last-child) {
    margin-bottom: 1.4rem;
}

#overlay-menu ul.sub-menu ul.sub-menu li a {
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    margin-left: -1rem;
}

#overlay-menu ul.sub-menu ul.sub-menu li a::before {
    content: '+';
    position: relative;
    margin-right: 1rem;
}

#overlay-menu ul.sub-menu ul.sub-menu ul.sub-menu li a {
    font-size: 1.25rem !important;
    font-style: italic;
    font-weight: 400;
    margin-left: 0;
}

#overlay-menu ul.sub-menu ul.sub-menu ul.sub-menu li a::before {
    display: none;
}

#overlay-menu ul.sub-menu {
    z-index: 10;
}



/* News Beiträge */

.news-post-container {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 10%;
    padding: var(--section-padding-bottom);
}

.news-post .news-post-main {
    width: 62.5%;
}

.news-post .news-posts-sidebar {
    width: 27.5%;
}

.news-post .news-post-main b,
.news-post .news-post-main strong {
    font-weight: 600;
}

h1.news-post-title {
    font-size: 1.9rem;
    padding-bottom: 2rem;
}

.news-post .news-post-image {
    display: block;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-half);
    margin: 0 0 2rem;
}

.news-post .news-post-image::before {
    content: '';
    display: block;
    padding-top: 60%;
}

.news-post .news-post-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: var(--border-radius-half);
}

.news-post-meta {
    font-size: 1rem;
    font-weight: 500;
    padding-bottom: 2rem;
}

.news-post-content .wp-element-button {
    margin-top: 1rem;
}

.news-post-content h2.wp-block-heading {
    font-size: 1.5rem;
}

.news-post-content h3.wp-block-heading {
    font-size: 1.2rem;
}

.news-post-content h4.wp-block-heading {
    font-size: 1.1rem;
}

.news-post-content h5.wp-block-heading {
    font-size: 1.1rem;
}

.news-post-content h6.wp-block-heading {
    font-size: 1.05rem;
}

.news-post-content figure.wp-block-image.size-full {
    width: 100%;
    border-radius: var(--border-radius-half);
}

.news-post-content figure.wp-block-image.size-full img {
    width: 100%;
    border-radius: var(--border-radius-half);
}

.news-post-content figure.wp-block-image img {
    border-radius: var(--border-radius-half);
}

.news-post-content ul.wp-block-list {
    list-style-type: square;
    padding-left: 1.25rem;
    padding-bottom: 0;
}

.news-post-content ul.wp-block-list:not(:last-child) {
    padding-bottom: 2em;
}

.news-post-content p:not(:last-child) {
    margin-bottom: 1.5em;
    margin-top: 0;
}

.news-post-content p a,
.news-post-content ul li a {
    text-decoration: underline;
}

.wp-video {
  max-width: 80% !important;
  width: 100% !important;
  height: auto;
  margin: 0 auto;
}

.news-post-content .wp-video {
  max-width: 100% !important;
}



/* News Übersicht Seite */

.archive-container {
    padding: var(--section-padding-bottom);
    padding-top: 2rem;
}

.archive-container,
#news-home .shortcode-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 1rem;
}

.news-item {
    width: calc(33.33% - .67rem);
}

h4.news-title a {
    display: block;
    padding-bottom: 0;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--color-dark);
    max-width: 90%;
}

.news-date {
    display: block;
    color: var(--color-dark);
    font-size: .85rem;
    margin-bottom: .5rem;
}

.news-thumbnail a {
    display: block;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-half);
    margin: 0 0 1rem;
}

.news-placeholder {
    background: var(--background-gzo);
}

.news-thumbnail a::before {
    content: '';
    display: block;
    padding-top: 64%;
}

.news-thumbnail a > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: var(--border-radius-half);
}

.news-placeholder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--border-radius-half);
}

.news-placeholder img {
    width: 40%;
}

/* Navigation Seiten */

nav.pagination {
    font-weight: 600;
    text-align: center;
    width: 100%;
}

nav.pagination .page-numbers {
    margin-right: .3rem;
    font-size: 1.1rem;
}


/* News Startseite */

#news-home .cta-button-wrapper {
    margin-top: 4rem;
    justify-content: center;
}

/* News Sidebar */

.news-posts-sidebar h3 {
    font-size: 1.2rem;
    padding-bottom: 1.5rem;
    padding-top: .75rem;
}

.news-sidebar-list .news-item {
    width: 100% !important;
}

.news-sidebar-list .news-item:not(:last-child) {
    margin-bottom: 2rem;
}

ul.news-archive-list {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
}

.news-archive {
    padding-top: 2rem;
}

.news-archive h3 {
    padding-bottom: 1rem;
}

.news-archive a {
    color: var(--color-dark);
    text-decoration: underline;
}


/* Dekoration Blöcke */

.block-001::before,
.block-001::after,
#news-home::before,
#events-home::before {
    content: "";
    position: absolute;
    border-radius: 100%;
    border: 2px solid var(--color-gzo);
    pointer-events: none;
    opacity: .8;
}

.block-001::before {
    width: 12rem;
    height: 12rem;
    right: -7rem;
    top: 0;
}

.block-001::after {
    width: 24rem;
    height: 24rem;
    left: -5rem;
    bottom: 0;
}

#news-home::before {
    width: 20rem;
    height: 20rem;
    left: -12rem;
    bottom: -5rem;
}

#events-home::before {
    width: 18rem;
    height: 18rem;
    right: -6rem;
    top: 14rem;
}


/* Fachkurse und Events Beiträge */

.course-event-post {
    padding: var(--section-padding-bottom);
}

.course-event-post-main b,
.course-event-post-main strong {
    font-weight: 600;
}

.course-event-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 3rem 10%;
    padding-left: 2rem;
    padding-right: 2rem;
}

.course-event-post .course-event-post-main {
    width: 62.5%;
}

.course-event-post .course-event-post-sidebar {
    width: 27.5%;
    padding: 1.5rem 1.5rem 2.5rem;
    background: var(--background-grey-light);
    border-radius: var(--border-radius-half);
    box-shadow: 0px 22px 40px 3px rgba(12, 21, 24, 0.1);

}

h1.course-event-post-title {
    font-size: 1.9rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}

.course-event-post-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 18rem;
    margin-bottom: 2rem;
}

.course-event-post-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: var(--border-radius-half);
}

.course-event-post-meta {
    font-size: 1rem;
    font-weight: 500;
    padding-bottom: 2rem;
}

.course-event-post-content h4 {
    font-size: 1.1rem;
    padding-bottom: .5rem;
    color: var(--color-gzo);
    text-transform: uppercase;
    font-weight: 600;
}

.course-event-post-content p:not(:last-child) {
    margin-bottom: 1.5em;
    margin-top: 0;
}

.course-event-post-content p a:not(.button) {
    text-decoration: underline;
}

.course-event-post-content ul {
    list-style-type: square;
    padding-left: 1.25rem;
    padding-bottom: 0;
}

.course-event-post-content ul:not(:last-child) {
    padding-bottom: 2em;
}

.course-event-registration {
    margin-top: 2rem;
}



/* Fachkurse und Events Sidebar */

.ce-badge {
    display: inline-block;
    color: var(--color-white);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    background: var(--background-gzo);
    padding: .5rem .75rem .5rem;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.ce-label,
.ce-title {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 600;
}

.ce-wrapper a {
    color: var(--color-dark);
}

.ce-row:not(:last-child) {
    padding-bottom: 1rem;
}

.ce-wrapper:not(:last-child) {
    padding-bottom: 2rem;
}

.ce-address {
    padding-bottom: 1rem;
}

.ce-logo,
.ce-title {
    padding-top: .5rem;
    padding-bottom: 1rem;
}

.ce-logo img {
    max-height: 1.75rem;
}

.ce-map {
    color: var(--color-gzo) !important;
    text-decoration: underline !important;
}

/* Events Liste */

.events-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.event-item {
    max-width: 900px;
    display: flex;
    align-items: stretch;
    text-decoration: none;
    border: 2px solid var(--color-gzo);
    border-radius: var(--border-radius-half);
    box-shadow: 0px 22px 40px 3px rgba(12, 21, 24, 0.1);
    background: #fff;
    overflow: hidden;
    padding-right: 2rem;
}

.event-datebox {
    width: 110px;
    background: var(--background-gzo);
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem 1rem;
}

.event-day {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
}

.event-month {
    font-size: .95rem;
    font-weight: 600;
    margin-top: .5rem;
    line-height: 1;
}

.event-content {
    flex: 1;
    padding: .75rem 3rem .75rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .5rem;
}

.event-title {
    padding-bottom: 0;
    font-size: .95rem;
    line-height: 1.25;
    color: var(--color-dark);
}

.event-meta {
    color: var(--color-dark);
    font-size: .85rem;
}

.event-arrow {
    width: 2rem;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

#events-home .event-item {
    margin: 0 auto;
}

#events-home .cta-button-wrapper {
    margin-top: 4rem;
    justify-content: center;
}



/* Fachkurse Liste */

.courses-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.courses-grid>.course-item {
    flex: 0 0 calc(33.333% - 0.67rem);
}

@media (max-width: 992px) {
    .courses-grid>.course-item {
        flex: 0 0 calc(50% - 0.5rem);
    }
}

@media (max-width: 600px) {
    .courses-grid>.course-item {
        flex: 0 0 100%;
    }
}

.course-item {
    background: var(--background-gzo);
    border-radius: var(--border-radius-half);
    padding: 2rem 1.5rem;
    box-shadow: 0px 22px 40px 3px rgba(12, 21, 24, 0.1);
}

#courses-home .course-item {
    background: var(--background-white);
}

.course-title {
    padding-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.25;
}

.course-title-link  {
    color: var(--color-dark-green) !important;
}

#courses-home .course-title-link  {
    color: var(--color-dark) !important;
}

.course-meta-row {
    display: flex;
    gap: 2rem;
    margin: 1rem 0;
    align-items: center;
    color: var(--color-white);
    font-size: .9rem;
}

#courses-home .course-meta-row {
    color: var(--color-dark);
}

.course-icon {
    display: flex;
    align-items: center;
}

.course-icon img {
    width: 1.25rem;
    height: auto;
}

.course-link {
    display: inline-block;
    margin-top: 1rem;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .85rem;
    color: var(--color-dark-green) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

#courses-home {
    background: var(--background-grey-light);
}

#courses-home .cta-button-wrapper {
    margin-top: 4rem;
    justify-content: center;
}


/* Breadcrumbs */

.breadcrumbs-wrapper {
    font-size: .8rem;
    color: var(--color-dark);
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.breadcrumbs-wrapper a {
    color: var(--color-dark);
}

.breadcrumb-current {
    font-weight: 600;
}

.course-event-post-head .breadcrumbs-wrapper {
    padding-left: 2rem;
    padding-right: 2rem;
}



/* Overlay Formulare */

#overlay-forms {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--background-white);
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    padding: 3.5rem 0 7rem;
}

#overlay-forms.active {
    display: flex;
}

#overlay-forms .overlay-forms-close-wrapper {
    text-align: right;
    padding-bottom: 5rem;
}

.overlay-close {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    color: var(--color-white) !important;
    background: var(--background-gzo) !important;
    padding: .5rem 2.5rem .75rem 2.5rem !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    border: none !important;
    min-height: 0 !important;
    transition: all 400ms ease !important;
    cursor: pointer !important;
    z-index: 1 !important;
    outline: none !important;
    margin: auto 0 auto auto;
    width: 6rem
}



/* Gravity Forms */

.gform-theme--framework ::placeholder,
.gform-theme--framework .gf_placeholder {
    color: var(--color-grey) !important;
    opacity: 1;
}

.gform-theme--framework ::-ms-input-placeholder {
    color: var(--color-grey) !important;
}

.gform_wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.gform-theme--framework .gform_validation_errors,
.gform-theme--framework .gfield_validation_message {
    display: none !important;
}

.gform_heading {
    display: none !important;
}

.gfield--type-html h2 {
    font-size: 2.2rem;
    text-align: center;
    font-weight: 500;
}

.gfield--type-html .lead {
    text-align: center;
    padding-bottom: 3rem;
}

.gform-theme--foundation .gform_fields {
    -moz-column-gap: 2rem !important;
    column-gap: 2rem !important;
    grid-row-gap: 2rem !important;
    row-gap: 2rem !important;
}

h3.gsection_title {
    font-size: 1.3rem;
    font-weight: 500;
    padding-top: 0;
    padding-bottom: 0 !important;
    text-align: center !important;
}

.gform-theme--framework:where(:not(.gform_editor)) .gfield--type-section {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}


.gform-theme--foundation #field_submit,
.gform-theme--foundation .gform_footer,
.gform-theme--foundation .gform_page_footer {
    justify-content: center !important;
    margin-top: 2rem !important;
}

.gform-theme--foundation .gform_page_footer {
    gap: 2rem !important;
}

.gfield_label.gform-field-label {
    font-size: .9rem !important;
    font-weight: 400;
}

span.gfield_required {
    font-size: .9rem;
    font-weight: 400;
}

.gform-theme--foundation .gfield .ginput_password,
.gform-theme--foundation .gfield input:not(.gfield-choice-input),
.gform-theme--framework textarea {
    border-radius: 9px !important;
    border: 1px solid var(--color-border) !important;
    padding: .25rem 1rem .25rem 1rem !important;
    background: var(--background-grey-light) !important;
    font-size: 1rem !important;
    color: var(--body-text-color) !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform-theme--foundation .gfield .ginput_password,
.gform-theme--foundation .gfield input:not(.gfield-choice-input) {
    height: auto !important;
}

.gform-theme--framework textarea {
    padding: .65rem 1rem .65rem 1rem !important;
}

.gform-theme--framework select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border-radius: 9px !important;
    border: 1px solid var(--color-border) !important;
    padding: .25rem 1rem .25rem 1rem !important;
    background: var(--background-white) !important;
    font-size: 1rem !important;
    color: var(--body-text-color) !important;
    cursor: pointer !important;
    background-image: url(/wp-content/uploads/2026/01/ICON_Pfeil1_gruen_unten.svg) !important;
    background-repeat: no-repeat !important;
    background-position: right 0.7rem center !important;
    background-size: .75em !important;
    padding-right: 2.5rem !important;
    height: auto !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform-theme--framework .gfield_error.gfield .ginput_password,
.gform-theme--foundation .gfield_error.gfield input:not(.gfield-choice-input),
.gform-theme--framework .gfield_error select,
.gform-theme--framework .gfield_error textarea {
    border: 1px solid #c02b0a !important;
}

.gform-theme--foundation .ginput_complex .ginput_container_date {
    inline-size: 33.33% !important;
}

.gform-theme--foundation .gform-grid-row {
    margin-inline: calc(1rem * -1 / 2) !important;
}


.gform_wrapper.gform-theme--framework .gform_button.button,
.gform_wrapper.gform-theme--framework .gform_button_select_files,
.gform_wrapper.gform-theme--framework .gform_next_button.button {
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    color: var(--color-white) !important;
    background: var(--background-gzo) !important;
    padding: .85rem 1.5rem .85rem 1.5rem !important;
    font-size: .8rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    border: none !important;
    min-height: 0 !important;
    transition: all 400ms ease !important;
    cursor: pointer !important;
    z-index: 1 !important;
    outline: none !important;
}

.gform_wrapper.gform-theme--framework .gform_previous_button.button {
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    color: var(--color-white) !important;
    background: var(--background-grey) !important;
    padding: .85rem 1.5rem .85rem 1.5rem !important;
    font-size: .8rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    border: none !important;
    min-height: 0 !important;
    transition: all 400ms ease !important;
    cursor: pointer !important;
    z-index: 1 !important;
    outline: none !important;
}



body .gform_wrapper input[type="checkbox"] {
    border-radius: 6px !important;
    border-color: var(--color-border) !important;
    cursor: pointer;
}

body .gform_wrapper input[type="radio"] {
    border-color: var(--color-border) !important;
    cursor: pointer;
    width: 1.5rem !important;
    height: 1.5rem !important;
}

body .gform_wrapper input[type="checkbox"]:focus,
body .gform_wrapper input[type="radio"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

body .gform_wrapper input[type="checkbox"]:checked,
body .gform_wrapper input[type="radio"]:checked {
    background: var(--background-gzo) !important;
}

body .gform_wrapper input[type="checkbox"]::before {
    color: #fff !important;
}

body .gform_wrapper input[type="radio"]::before {
    background-color: #fff !important;
}

.gform-theme--framework .gfield--type-choice .gchoice,
.gform-theme--framework .gfield--type-choice .ginput_container_consent {
    display: flex !important;
    align-items: center !important;
}

.gform_wrapper.gform-theme--framework .gform-field-label--type-inline {
    font-size: 1rem;
    cursor: pointer;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload, .gfield--input-type-fileupload) .gform_drop_area::before {
    display: none !important;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload, .gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progressbar_progress {
    background-color: var(--background-gzo) !important;
}

.gform_confirmation_message p,
.gform_confirmation_message {
    font-size: 1rem !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.gform_confirmation_message p strong,
.gform_confirmation_message strong {
    font-weight: 500 !important;
}

.gravity-confirmtion-icon {
    width: 5rem !important;
    height: auto !important;
    margin-bottom: 0;
}

.gform-theme--framework .gf_page_steps {
    gap: 4rem !important;
    margin-bottom: 3rem !important;
    justify-content: center !important;
}

.gform-theme--framework .gf_step {
    gap: 0 !important;
}

.gf_step:not(:last-child)::before {
    content: '';
    position: absolute;
    height: 3px;
    width: 3rem;
    background: var(--color-border);
    left: calc(100% + .5rem);
}

.gform-theme--framework .gf_step_number {
    --gf-local-bg-color: var(--background-grey) !important;
    --gf-local-border-color: var(--color-border) !important;
    --gf-local-color: var(--color-white) !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
}

.gform-theme--framework .gf_step_active .gf_step_number {
    --gf-local-bg-color: var(--background-gzo) !important;
    --gf-local-border-color: var(--color-gzo) !important;
    --gf-local-color: var(--color-white) !important;
}

.gform-theme--framework .gf_step_completed .gf_step_number::after {
    background-color: var(--background-gzo) !important;
    border-color: var(--color-gzo) !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
}


/* Overlay Suche */

#overlay-search {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--background-white);
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    padding: 3.5rem 0 7rem;
}

#overlay-search.show-search {
    display: flex;
}

#overlay-search .overlay-search-close-wrapper {
    text-align: right;
    padding-bottom: 5rem;
}

.overlay-search-close {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    color: var(--color-white) !important;
    background: var(--background-gzo) !important;
    padding: .5rem 2.5rem .75rem 2.5rem !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    border: none !important;
    min-height: 0 !important;
    transition: all 400ms ease !important;
    cursor: pointer !important;
    z-index: 1 !important;
    outline: none !important;
    margin: auto 0 auto auto;
    width: 6rem
}

#overlay-search-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#overlay-search-container h2 {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 500;
}

#overlay-search-container .lead {
    text-align: center;
    padding-bottom: 2rem;
    max-width: 800px;
}

#overlay-search-container .search-field,
.no-results-content .search-field {
    display: flex;
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 9px;
    border: 1px solid var(--color-border);
    padding: .65rem 1rem .65rem 1rem;
    background: var(--background-white);
    font-family: inherit;
    font-size: 1rem;
    color: inherit;
    cursor: pointer;
    margin-right: 1rem;
    min-width: 300px;
}

#overlay-search-container form.search-form,
.no-results-content form.search-form {
    display: flex;
}

h2.no-results-title {
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1;
    padding-bottom: 1.5rem;
}

.no-results-content p {
    margin-bottom: 3rem;
}



/* Organigramm */

.orgchart-wrap {
    --gap: .75rem;
    --radius: 10px;
    --green-1: #E1EFD9;
    --green-2: #A9D18E;
    --green-3: #A9D18E;
    --green-4: #538235;
    --gray: var(--background-grey);
}

.orgchart-wrap h5 {
    font-size: .95rem;
    font-weight: 600;
    padding-bottom: 0;
}

.orgchart-wrap ul {
    font-size: .85rem;
    line-height: 1.3;
    padding-left: 0 !important;
    list-style-type: none !important;
    padding-bottom: 0 !important;
    padding-top: 1.25rem;
}

.orgchart-wrap ul li:not(:last-child) {
    padding-bottom: .65rem;
}

.orgchart-note {
    font-size: .7rem;
}

.orgchart-grid {
    display: grid;
    gap: var(--gap);
}

.orgchart-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--gap);
}

.orgchart-pill {
    background: #fff;
    border-radius: var(--radius);
    padding: 1rem;
    text-align: center;
    font-weight: 500;
}

.orgchart-bar {
    background: var(--green-1);
    border-radius: var(--radius);
    padding: 1rem;
    text-align: center;
}

.orgchart-bar.mid {
    background: var(--green-2);
}

.orgchart-bar.ceo {
    background: var(--green-3);
}

.orgchart-block.instr {
    background: var(--green-3);
}

.orgchart-block.kurs {
    color: #fff;
}

.orgchart-block.kurs h5 {
    color: #fff;
}

.orgchart-main {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: var(--gap);
    align-items: stretch;
}

@media (max-width:900px) {
    .orgchart-main {
        grid-template-columns: 1fr;
    }
}

.orgchart-admin {
    background: var(--gray);
    border-radius: var(--radius);
    padding: 1rem;
    height: calc(100% - 1.5rem);
}


.orgchart-commissions {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  grid-template-rows: auto auto; 
  gap: var(--gap);
  align-items: stretch;
}

.orgchart-column {
  display: contents;
}

.orgchart-block {
    background: var(--green-4);
    padding: 1rem;
    border-radius: var(--radius);
    height: 100%;
}


/* Place blocks into the correct grid cells */
.orgchart-column.col-1 .kurs  { grid-column: 1; grid-row: 1; }
.orgchart-column.col-1 .instr { grid-column: 1; grid-row: 2; }

.orgchart-column.col-2 .kurs  { grid-column: 2; grid-row: 1; }
.orgchart-column.col-2 .instr { grid-column: 2; grid-row: 2; }

.orgchart-column.col-3 .kurs  { grid-column: 3; grid-row: 1; }
.orgchart-column.col-3 .instr { grid-column: 3; grid-row: 2; }

.orgchart-column.col-4 .kurs  { grid-column: 4; grid-row: 1; }
.orgchart-column.col-4 .instr { grid-column: 4; grid-row: 2; }


@media (max-width:1100px){
  .orgchart-commissions{
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto auto auto;
  }

  .orgchart-column.col-1 .kurs  { grid-column: 1; grid-row: 1; }
  .orgchart-column.col-1 .instr { grid-column: 1; grid-row: 2; }

  .orgchart-column.col-2 .kurs  { grid-column: 2; grid-row: 1; }
  .orgchart-column.col-2 .instr { grid-column: 2; grid-row: 2; }

  .orgchart-column.col-3 .kurs  { grid-column: 1; grid-row: 3; }
  .orgchart-column.col-3 .instr { grid-column: 1; grid-row: 4; }

  .orgchart-column.col-4 .kurs  { grid-column: 2; grid-row: 3; }
  .orgchart-column.col-4 .instr { grid-column: 2; grid-row: 4; }
}


@media (max-width:600px){
  .orgchart-commissions{
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .orgchart-column{ display: block; }
  .orgchart-column .orgchart-block{ height: auto; }
}







/* Team */

.team-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 1.5rem;
    margin-top: 2rem;
}

.team-item {
    width: calc(25% - 1.125rem);
    text-align: center;
}

.team-photo {
    position: relative;
    overflow: hidden;
    height: auto;
    width: 100%;
    margin-bottom: .75rem;
}

.team-photo::before {
    content: '';
    display: block;
    padding-top: 115%;
}

.team-photo img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: var(--border-radius-one-half);
}

.team-name {
    display: block;
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: .5rem;
}

.team-position {
    display: block;
    margin-bottom: 1rem;
}

.team-email,
.team-phone {
    display: block;
    line-height: 1;
}

.team-phone {
    margin-bottom: .25rem;
}

.team-email a {
    font-weight: 500;
    font-size: .9rem;
    text-decoration: underline;
}

.team-phone a {
    font-weight: 500;
    font-size: .9rem;
    line-height: 1;
}

.team-item-full .team-position {
    color: var(--color-gzo);
    line-height: 1.3;
}

.team-item-full .team-email a {
    color: var(--color-dark);
}

.team-item-full .team-phone a {
    color: var(--color-dark);
}

.team-item-simple .team-position {
    color: var(--color-white);
}

.team-item-simple .team-email a {
    color: var(--color-white);
}

.team-item-simple .team-phone a {
    color: var(--color-white);
}

.team-item.team-item-simple {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem 1rem .5rem;
    background: var(--background-gzo);
    border-radius: var(--border-radius-half);
}





/* Footer */

#footer {
    padding: 4rem 0 1rem;
    background: var(--background-dark);
    font-size: .85rem;
    color: var(--color-grey);
}

.row.footer-row {
    display: flex;
    flex-wrap: wrap;
}

.row.footer-row .col {
    width: 50%;
}

#footer a:not(.button) {
    color: var(--color-grey);
}

#footer h5 {
    color: var(--color-white);
    font-weight: 500;
    font-size: .9rem;
    padding-bottom: .5rem;
}

.footer-logo {
    width: auto;
    height: 3rem;
}

.footer-contact-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2.5rem;
}

.footer-contact-wrapper div {
    width: 33%;
}

.footer-newsletter {
    margin-top: 2rem;
}

.footer-col-two {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
    gap: 4rem 2rem;
}

.footer-links p {
    display: flex;
    gap: .5rem 1rem;
}

.footer-partner:not(:last-child) {
    margin-bottom: 1.5rem;
}

.footer-partner img {
    height: auto;
    width: 8rem;
}

.credits-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.credits-row .col {
    width: 33.33%;
    font-size: .8rem;
}

.footer-socials {
    display: flex;
    gap: .5rem 1rem;
}

.col.credits-col-two {
    text-align: center;
}

.credits-col-three {
    display: flex;
    justify-content: flex-end;
    gap: .5rem 1rem;
}


/* Responsive */

@media screen and (max-width: 1700px) {



}


@media screen and (max-width: 1600px) {




}


@media screen and (max-width: 1500px) {



}


@media screen and (max-width: 1100px) {



}



@media screen and (max-width: 600px) {



}