/* CSS für heading */

        .heading {
            text-align: center;
            margin-left: auto;
            margin-right: auto;
            hyphens: none;
            margin-top: 0;
        }

        .heading:first-child {
            margin-top: 0rem; /* 4rem */
        }

        .section-style-gray .heading, .section-style-blue .heading, .section-style-red .heading {
            color: #fff !important;
        }
            
        @media (max-width: 768px) {
            .heading {
                hyphens: auto;
            }
        }
        
/* CSS für text */

        .content-type-text {
            margin-bottom: 2rem;
        }

        .text-module {
            margin-bottom: 1rem;
            margin-block-end: 1rem;
            margin-left: auto;
            margin-right: auto;
            max-width: 100vw;
            font-size: 1.25rem;
            text-align: left;
            font-weight: 400; /* Normalgewicht explizit setzen */
        }
        .text-module b, .text-module strong {
            font-weight: 700 !important; /* Fett explizit und mit Priorität setzen */
        }

        .text-module ul {
            list-style: disc;
        }

        .text-module ul li {
            list-style: disc;
            margin-left: 1em;
            padding: .3em 1em .3em .5em;
            position: relative;
        }

        .text-module p {
            margin-block-end: 1em;
        }
/* CSS für image */

        .image-module {
            overflow: hidden;
            position: relative;
        }
        
        .image-module.image-small .image-wrapper {
            max-width: 25%;
        }
        
        .image-module.image-medium .image-wrapper {
            max-width: 50%;
        }
        
        .image-module.image-large .image-wrapper {
            max-width: 100%;
        }
        
        .image-module.image-left .image-wrapper {
            margin-left: 0;
            margin-right: auto;
        }
        
        .image-module.image-center .image-wrapper {
            margin-left: auto;
            margin-right: auto;
        }
        
        .image-module.image-right .image-wrapper {
            margin-left: auto;
            margin-right: 0;
        }

        .image-module .image-wrapper {
            position: relative;
        }

        .image-module .image-wrapper img {
            margin-inline: 0;
            width: 100%;
            border-radius: 0.375rem;
        }
        
/* CSS für accordion */

        .content-type-accordion {
            color: #000;
        }

        .accordion-container details {
            background: #fff;
            border: 1px solid #000;
            box-shadow: 0 0.5rem 1rem 0 rgba(0,0,0,0.3);
            position: relative;
        }

        .accordion-container summary {
            font-weight: bold;
            padding-left: 0;
            position: relative;
            z-index: 2;
        }

        .accordion-container details {
            background-color: #fff;
            background-position: top 1.3rem right 1.3em;
            background-repeat: no-repeat;
            background-size: .75em auto;
            border: 1px solid #000;
            border-radius: .75em;
            margin-bottom: 1rem;
            padding-left: 1.3rem;
            padding-right: 1.3rem;
        }

        .accordion-container details summary {
            cursor: pointer;
            list-style: none;
            padding-top: 1rem;
            padding-bottom: 1rem;
            position: relative;
            font-size: 1.25rem;
        }

        .accordion-container details::after {
            content: "+";
            display: block;
            font-size: 2em;
            position: absolute;
            right: 1rem;
            top: 0.1rem;
            transition: all 0.2s;
            z-index: 1;
        }
        /* Dreht das Pluszeichen beim Öffnen um 45 Grad nach links */
        .accordion-container details[open]::after {
            transform: rotate(-135deg);
            right: 1.2rem;
            top: 0.5rem;
        }
        .accordion-container .accordion-content {
            font-size: 1.25rem;
            margin-block-end: 1em;
        }
        
/* CSS für slider */

        .content-type-slider {
            display: flex;
            height: calc(33vw);
            max-width: 100%;
            margin-block-end: 4rem;
        }
        
        .slider-module {
            position: absolute;
            left: 0;
            margin-left: 0;
            margin-right: 0;
            max-width: 100vw;
            width: 100vw;
            margin-block-start: 0;
            overflow: hidden;
            height: calc(33vw);
        }
        
        .slider-module .slider-title {
            font-size: 1.5rem;
            font-weight: 600;
            color: #333;
        }
        
        .slider-module .carousel {
            border-radius: 8px;
            overflow: hidden;
        }

        .slider-module .carousel-item {
            width: calc(20%);
            display: inline-block;
            vertical-align: top;
            white-space: normal;
            height: 100%;
        }
        
        .slider-module .carousel-item img {
            object-fit: cover;
            width: 100vw;
            height: 100%;
            object-position: center;
            position: absolute;
        }
        
        .slider-module .carousel-inner {
            overflow: hidden;
            width: calc(500%);
            transition-duration: 0.3s;
            transform: translate3d(0%, 0px, 0px);
            height: 100%;
        }    

        .carousel-control-prev, .carousel-control-next {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

        .carousel-control-prev {    
            left: 0;
            appearance: none;
            border: none;
            background: no-repeat;
            font-size: 4rem;
            opacity: 0.5;
            height: 100%;
            padding-left: 1rem;
            padding-right: 7rem;
            cursor: pointer;
        }
        .carousel-control-prev:hover {
            opacity: 1;
        }

        .carousel-control-prev:after {  
            content: "\f053";
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
        }

        .carousel-control-next {
            right: 0;
            appearance: none;
            border: none;
            background: no-repeat;
            font-size: 4rem;
            opacity: 0.5;
            height: 100%;
            padding-left: 7rem;
            padding-right: 1rem;
            cursor: pointer;
        }
        .carousel-control-next:hover {
            opacity: 1;
        }

        .carousel-control-next:after {   
            content: "\f054";
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
        }

        .image-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
        }
        
/* CSS für form */

        .form-module {
            font-size: 1.25rem;
            text-align: left;
            font-weight: 400;
            max-width: 40rem;
            margin-left: auto;
            margin-right: auto;
        }
        
        .form-field {
            margin-bottom: 1rem;
            position: relative;
        }
            
        .form-field label {
            font-size: .7em;
            font-weight: 700;
            left: 1.3em;
            position: absolute;
            top: .5em;
        }

        .form-field select:not([multiple]), .form-field select[size="1"] {
            background-position: center right 1.35em;
        }

        .form-field select:not([multiple]), .form-field select[size="1"] {
            background-position: center right 1.35em;
            background-repeat: no-repeat;
            background-size: .75em auto;
            color: var(--drk-volltonblau);
            cursor: pointer;
            min-height: 3.5em;
            padding-bottom: .25em; 
            padding-right: 2.5em;
            padding-top: 1.25em;
        }

        .form-field input, .form-field select, .form-field textarea, .form-group-checkbox, .form-group-multicheckbox {
            background-color: var(--drk-weiss);
            border: .1rem solid var(--drk-mittelgrau);
            border-radius: .75em;
            color: var(--drk-volltonblau);
            display: block;
            font-size: 1.25rem;
            font-weight: 700;
            transition: border .4s ease-in-out,box-shadow .4s ease-in-out;
            width: 100%;
            outline: none;
        }

        .form-field textarea {
            resize: vertical;
        }

        .form-field .filled {
            border-color: var(--drk-volltonblau);
        }

        .form-field input:focus, .form-field select:focus, .form-field textarea:focus {
            border-color: var(--drk-volltonblau);
            box-shadow: 0 0 0 .175rem var(--drk-volltonblau);
        }

        .form-field input::before, .form-field input, .form-field select, .form-field textarea, .form-group-checkbox, .form-group-multicheckbox {
            border-radius: .75em;
            font-family: Helvetica Neue,OpenSans,Arial,sans-serif;
            font-size: inherit;
            line-height: 1.4em;
            padding: 1.35em .5em .65em .8em;
        }

        .form-check {
            padding-top: 1em;
            position: relative;
        }

        .form-check:first-of-type {
            padding-top: 0.2em;
        }

        .form-check:last-of-type label {
            margin-bottom: 0;
        }

        .form-check label {
            color: var(--drk-textgrau);
            font-size: 1rem;
            margin-bottom: .5rem;
            font-weight: 400;
            cursor: pointer;
            display: flex;
            flex-direction: row-reverse;
            justify-content: space-between;
            position: unset;
        }

        .form-check::after {
            border-bottom: .1rem solid var(--drk-mittelgrau);
            content: "";
            display: block;
            left: -.8em;
            position: absolute;
            width: calc(100% + 1.3em);
        }

        .form-check:last-of-type:after {
            display:none;
        }

        input[type="checkbox"], input[type="radio"] {
            background-color: var(--drk-weiss);
            border: .1rem solid var(--drk-mittelgrau);
            border-radius: .3rem;
            box-shadow: none;
            cursor: pointer;
            display: inline-block;
            height: 1.75rem;
            margin-right: .75em;
            min-width: 1.75rem;
            padding: 0;
            position: relative;
            top: -.25em;
            transition: background-color .2s ease-in-out;
            vertical-align: middle;
            width: 1.75rem;
        }

        input[type="checkbox"]:checked, input[type="radio"]:checked {
            background-color: var(--drk-volltonblau);
            border: .1rem solid var(--drk-mittelgrau);
            box-shadow: inset 0 0 0 .2rem var(--drk-weiss);
        }

        input[type="checkbox"]::before, input[type="radio"]::before {
            background: no-repeat 50%;
            background-image: none;
            background-size: auto;
            background-size: 50% 50%;
            content: "";
            display: block;
            height: 100%;
            left: 0;
            opacity: 0;
            position: absolute;
            top: 0;
            transition: opacity .2s ease;
            width: 100%;
        }

        .form-module .type-checkbox .form-check-label {
            display: inline;
            position: unset;
            vertical-align: text-bottom;
        }

        .form-module .type-checkbox label {
            display: none;
        }

        .form-module .type-checkbox .form-group-checkbox {
            padding-top: 1.2em;
        }

        .form-module select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
        }

        .form-module .type-select::after {
            content: "\f078";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            color: var(--drk-mittelgrau);
            font-size: 1rem;
        }
        
        .form-message {
            margin-top: 1rem;
            padding: 1rem;
            border-radius: 0.5rem;
            font-weight: 500;
        }
        
        .form-message.alert-success {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
        }
        
        .form-message.alert-danger {
            background-color: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
        }
        
        .form-module button[type="submit"]:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        
/* CSS für card */

        .card-module {
            margin-bottom: 1rem;
        }
        
        .card-module.card-bordered {
            border: 2px solid #dee2e6;
        }
        
        .card-module.card-shadow {
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        
        .card-module.card-minimal {
            border: none;
            background: none;
        }
        
        .card-module.card-minimal .card-body {
            padding: 0;
        }
        
        .card-module .card-title {
            font-weight: 600;
            margin-bottom: 0.5rem;
        }
        
        .card-module .card-subtitle {
            font-size: 0.875rem;
        }
        
        .card-module .card-text {
            margin-bottom: 1rem;
        }
/* CSS für table */

        .table-module {
            margin-bottom: 2rem;
            overflow-x: scroll;
        }
        
        .table-module .table {
            width: 100%;
            margin-bottom: 1rem;
            min-width: 60rem;
            border-collapse: collapse;
            border-spacing: 0;
            display: table;
            margin: 0 0 1em;
            table-layout: fixed;
            text-align: left;
            font-size: 1.25rem;
            font-weight: 400;
        }

        .table-module .table tr:nth-child(2n+1) {
            background-color: #f2f2f2;
        }
        
        .table-module .table th {
            background-color: #f8f9fa;
            font-weight: 600;
        }
        
        .table-module .table td,
        .table-module .table th {
            padding: 0.75rem;
            vertical-align: top;
            border-top: 1px solid #dee2e6;
        }
        
        .table-module .table-bordered td,
        .table-module .table-bordered th {
            border: 1px solid #dee2e6;
        }
        

        

        
        /* Responsive Design */
        @media (max-width: 768px) {
            .table-module .table-responsive {
                font-size: 0.9rem;
            }
            
            .table-module .table td,
            .table-module .table th {
                padding: 0.5rem;
            }
        }
/* CSS für button */

        .button-module {
            margin-bottom: 1.5rem;
        }
        
        .button-module .btn {
            padding: .7em 1.2em .9em;
            margin: 0 !important;
            transition: transform .4s ease-in-out;
            border-radius: 1.5rem;
            cursor: pointer;
            display: inline-block;
            text-align: start;
            text-decoration: none;
            color: #fff;
            font-size: 1rem !important;
            font-weight: 700 !important;
            overflow: visible;
            text-transform: none;
            width: fit-content;
            border: none;
            outline: none;
        }

        .button-module .btn.btn-red {
            background: var(--red-gradient);
            color: #fff;
        }

        .button-module .btn.btn-blue {
            background: var(--blue-gradient);
            color: #fff;
        }

        .button-module .btn.btn-white {
            background: var(--drk-weiss);
            color: var(--drk-volltonblau);
            border-radius: 1.5rem;
            gap: 1em;
            line-height: 1.2;
            padding: .5em 1em;
        }
        
        .button-module .btn:hover {
            transform: scale(1.05);
        }
        
        .button-module .btn.btn-red:focus {
            box-shadow: 0 0 0 .125rem #fff,0 0 0 .25rem var(--drk-red) !important;
        }

        .button-module .btn.btn-blue:focus {
            box-shadow: 0 0 0 .125rem #fff,0 0 0 .25rem var(--drk-volltonblau) !important;
        }

        .button-module .btn.btn-white:focus {
            box-shadow: 0 0 0 .125rem var(--drk-volltonblau),0 0 0 .25rem var(--drk-weiss) !important;
        }
        
        /* Responsive Design */
        @media (max-width: 768px) {
            
        }
/* CSS für contact_card */
.content-type-contact_card {
            border-radius: 1.5rem;
            border: 1px solid var(--drk-mittelblau);
            position: static;
            overflow: hidden;
            background: var(--blue-gradient);
            margin-left: auto;
            margin-right: auto;
            max-width: 40rem;
        }

        .section-style-red .content-type-contact_card {
            border-color: var(--drk-weiss);
            background: var(--red-gradient);
        }

        .contact-card-module {
            display: grid;
            grid-template-columns: 1fr 2fr;
            grid-template-rows: 1fr;
            grid-column-gap: 0px;
            grid-row-gap: 0px;
            color: var(--drk-weiss);
            font-size: 0.94rem;
            position: relative;
        }
        
        .contact-card-module .contact-card-media {
            padding: 1em 0 1em 1em;
        }

        .contact-card-module .contact-card-media img {
            border-radius: 1em;
            border: none;
            display: block;
            height: auto;
            max-width: 100%;
        }

        .contact-card-module .contact-card-content {
            padding-left: 1rem;
            text-align: left;
            padding: 1rem;
        }

        .contact-card-module .contact-card-headline {
            margin: 0;
            margin-bottom: 1em;
        }

        .contact-card-module .contact-card-text {
            margin-bottom: 1em;
        }

        .contact-card-module .contact-card-phone {
            margin-bottom: 1em;
        }

        .contact-card-module .contact-card-email {
            margin-bottom: 1em;
        }

        .contact-card-module .contact-card-address {
            margin-bottom: 1em;
        }

        .contact-card-module .contact-card-content a {
            color: var(--drk-weiss);
            text-decoration: underline;
        }

        .contact-card-module .btn.btn-white {
            border: none;
        }

        
/* CSS für page_link */

        .content-type-page_link {
            margin-block-start: 0;
        }

        .page-links-module {
            margin: 0;
        }
        
        .page-links-container {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
        }
        
        .page-link-item {
            flex: 1;
            min-width: 250px;
        }

        .page-link-item-media {
            will-change: transform;
            transform: perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
            border-radius: 1.5rem;
            box-shadow: 0 .5rem 1rem 0 rgba(0,0,0,.3);
            margin-block-end: 1rem;
            overflow: hidden;
        }

        .page-link-item-media:focus-within {
            box-shadow: 0 0 0 3px var(--drk-volltonblau);
        }

        .page-link-item-media img {
            aspect-ratio: 3/2;
            -o-object-fit: cover;
            object-fit: cover;
            -o-object-position: center;
            object-position: center;
            width: 100%;
        }
        
        .page-link-card {
            display: block;
            text-decoration: none;
            color: inherit;
            height: 100%;
        }

        .page-link-card:hover {
            text-decoration: none;
            color: inherit;
        }

        .page-link-card:focus {
            border-radius: 1.5rem;
            outline: 3px solid var(--drk-volltonblau);
        }

        .section-style-red .page-link-card:focus {
            border-radius: 1.5rem;
            outline: 3px solid var(--drk-weiss);
        }

        .section-style-blue .page-link-card:focus {
            border-radius: 1.5rem;
            outline: 3px solid var(--drk-weiss);
        }
        
        .page-link-content {
            text-align: left;
        }
        
        .page-link-title {
            font-size: 1.3125rem;
            font-weight: 700;
            margin-bottom: .5rem;
        }

        .section-style-default .page-link-title {
            color: var(--drk-volltonblau);
        }

        .page-link-description {
            font-size: 1rem;
        }
        
        /* Spezielle Anpassungen für 1 Element */
        .page-links-one .page-link-item {
            min-width: 200px;
        }

        /* Spezielle Anpassungen für 2 Elemente */
        .page-links-two .page-link-item {
            flex: 0 0 calc(50% - 1rem);
            min-width: 200px;
        }

        /* Spezielle Anpassungen für 3 Elemente */
        .page-links-three .page-link-item {
            flex: 0 0 calc(33.333% - 1rem);
            min-width: 200px;
        }
        
        /* Responsive Design */
        @media (max-width: 768px) {
            .page-links-container {
                flex-direction: column;
            }
            
            .page-link-item {
                min-width: auto;
            }
            
            .page-links-three .page-link-item {
                flex: 0 0 100%;
            }

            .page-links-one .page-links-container {
                display: block;
            }
        }
        @media (min-width: 769px) {
            .page-links-one .page-links-container {
                max-width: 30rem;
                margin-left: auto;
                margin-right: auto;
            }
        }
        
/* CSS für news */

        .news-item a:hover {
            text-decoration: none;
        }

        .news-item-card:hover .news-item-title,
        .news-item-card:focus .news-item-title {
            text-decoration: underline;
            color: var(--drk-dunkelblau);
        }

        .content-type-news {
            margin-block-start: 4rem;
        }

        .news-module {
            margin: 2rem 0;
        }
        
        .news-container {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            justify-items: stretch;
            align-items: stretch;
        }
        
        .news-item {
            flex: 1;
            min-width: 250px;
            border-radius: 1.5rem;
        }

        .news-item-media {
            overflow: hidden;
            border-radius: 1.5rem 1.5rem 0 0;
        }

        .news-item-media:focus-within {
            box-shadow: 0 0 0 3px var(--drk-volltonblau);
        }

        .news-item-media img {
            aspect-ratio: 3/2;
            -o-object-fit: cover;
            object-fit: cover;
            -o-object-position: center;
            object-position: center;
            width: 100%;
        }

        .news-item-placeholder {
            aspect-ratio: 3/2;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            color: #6c757d;
            font-size: 3rem;
        }
        
        .news-item-card {
            display: block;
            text-decoration: none;
            color: var(--drk-dunkelblau);
            height: 100%;
            background-color: var(--drk-weiss);
            border-radius: 1.5rem;
        }

        .news-item-card:hover {
            color: var(--drk-dunkelblau);
        }

        .news-item--placeholder .news-item-card {
            pointer-events: none;
        }

        .news-item--placeholder .news-item-content {
            opacity: 0.7;
        }

        .news-item-content {
            text-align: left;
            padding: 2rem 2rem 3rem;
        }
        
        .news-item-title {
            font-size: 1.3125rem;
            font-weight: 700;
            margin-bottom: .5rem;
            color: var(--drk-dunkelblau);
        }

        .news-item-title:hover {
            text-decoration: underline;
            color: var(--drk-dunkelblau);
        }

        .section-style-default .news-item-title {
            color: var(--drk-dunkelblau);
        }

        .section-style-default .news-item-content {
            padding: 2rem 0;
        }

        .section-style-default .news-item-image {
            border-radius: 1.5rem;
        }

        .section-style-default .news-item-placeholder {
            border-radius: 1.5rem;
        }

        .news-item-description {
            font-size: 1rem;
            margin-bottom: .5rem;
        }

        .news-item-description:hover {
            text-decoration: underline;
            color: var(--drk-dunkelblau);
        }

        .news-item-meta {
            margin-bottom: 0.5rem;
            font-size: 1.25rem;
            color: #6c757d;
            text-decoration: none !important;
        }

        .news-item-date {
            color: var(--drk-red);
            font-weight: 700;
            text-decoration: none !important;
        }

        .news-item-separator {
            margin: 0 0.25rem;
            color: var(--drk-textgrau);
            text-decoration: none !important;
        }

        .news-item-category {
            color: var(--drk-textgrau);
            font-size: 1rem;
            text-decoration: none !important;
        }

        .section-style-gray, .section-style-blue, .section-style-red, .news-item-date, .news-item-separator, .news-item-category {
            
        }
        
        /* Responsive Design */
        @media (max-width: 992px) {
            .news-container {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 600px) {
            .news-container {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }
        }
        
/* CSS für calendar */

        .news-item a:hover {
            text-decoration: none;
        }

        .news-item-card:hover .news-item-title,
        .news-item-card:focus .news-item-title {
            text-decoration: underline;
            color: var(--drk-dunkelblau);
        }

        .content-type-news {
            margin-block-start: 4rem;
        }

        .news-module {
            margin: 2rem 0;
        }
        
        .news-container {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            justify-items: stretch;
            align-items: stretch;
        }
        
        .news-item {
            flex: 1;
            min-width: 250px;
            border-radius: 1.5rem;
        }

        .news-item-media {
            overflow: hidden;
            border-radius: 1.5rem 1.5rem 0 0;
        }

        .news-item-media:focus-within {
            box-shadow: 0 0 0 3px var(--drk-volltonblau);
        }

        .news-item-placeholder {
            aspect-ratio: 3/2;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            color: #6c757d;
            font-size: 3rem;
        }
        
        .news-item-card {
            display: block;
            text-decoration: none;
            color: var(--drk-dunkelblau);
            height: 100%;
            background-color: var(--drk-weiss);
            border-radius: 1.5rem;
        }

        .news-item-card:hover {
            color: var(--drk-dunkelblau);
        }

        .news-item--placeholder .news-item-card {
            pointer-events: none;
        }

        .news-item--placeholder .news-item-content {
            opacity: 0.7;
        }

        .news-item-content {
            text-align: left;
            padding: 2rem 2rem 3rem;
        }
        
        .news-item-title {
            font-size: 1.3125rem;
            font-weight: 700;
            margin-bottom: .5rem;
            color: var(--drk-dunkelblau);
        }

        .news-item-title:hover {
            text-decoration: underline;
            color: var(--drk-dunkelblau);
        }

        .news-item-description {
            font-size: 1rem;
            margin-bottom: .5rem;
        }

        .news-item-meta {
            margin-bottom: 0.5rem;
            font-size: 1.1rem;
            color: #6c757d;
            text-decoration: none !important;
        }

        .news-item-date {
            color: var(--drk-red);
            font-weight: 700;
            text-decoration: none !important;
        }

        .news-item-separator {
            margin: 0 0.25rem;
            color: var(--drk-textgrau);
            text-decoration: none !important;
        }

        .news-item-category {
            color: var(--drk-textgrau);
            font-size: 1rem;
            text-decoration: none !important;
        }
        
        @media (max-width: 992px) {
            .news-container {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 600px) {
            .news-container {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }
        }
        
/* CSS für multimedia_header */

        .content-type-multimedia_header {
            max-width: 100%;
        }
        
        .multimedia-header-module {
            margin-left: 0;
            margin-right: 0;
            max-width: 100vw;
            width: 100vw;
            margin-block-start: 0;
            overflow: visible;
            aspect-ratio: 24/9;
        }

        .has-background {
            
        }

        .multimedia-background {
            position: absolute;
            top: 80px;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            aspect-ratio: 8/3;
            align-items: stretch;
            display: grid;
            height: auto;
        }

        .multimedia-background img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        .multimedia-content {
            position: relative;
            z-index: 2;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 2rem;
            color: white;
            text-align: center;
            text-shadow: 0 0 1rem #000;
            padding-block-end: 0;
        }

        .has-background .multimedia-content {
            background: linear-gradient(0deg,rgba(0,0,0,.8),transparent);
        }

        .multimedia-content h1 {
            color: white;
        }

        .multimedia-title {
            font-size: 3.05rem;
            font-weight: 700;
            margin-bottom: 1rem;
            margin-block-end: 1rem;
            line-height: 1.1;
        }

        .multimedia-subtitle {
            font-size: 1.56rem;
            margin-bottom: 2rem;
        }

        .multimedia-content .btn {
            border-radius: 1.5rem;
            cursor: pointer;
            display: inline-block;
            font-size: 1.2rem;
            font-weight: 700;
            gap: 1em;
            line-height: 1.2;
            padding: .5em 1em;
            text-align: start;
            text-decoration: none;
            transition-duration: .4s;
            transition-property: all;
            transition-timing-function: ease-in-out;
            text-shadow: none;
            margin: 0 0.5rem !important;
            outline: none;
            text-decoration: none;
        }

        .multimedia-content .btn:focus {
            outline: none;
            text-decoration: none;
            box-shadow: 0 0 0 .125rem #333,0 0 0 .25rem #fff;
        }

        .multimedia-btn-primary {
            background-color: #fff;
            border-color: #fff;
            color: var(--drk-textgrau);
        }

        .multimedia-btn-primary:hover {
            transform: scale(1.05);
            color: var(--drk-textgrau);
            background-color: #fff;
            border-color: #fff;
        }

        .multimedia-btn-secondary {
            background-color: transparent;
            color: white;
            border: solid 2px white;
            border-radius: 1.5rem;
        }

        .multimedia-btn-secondary:hover {
            background-color: transparent;
            border-color: white;
            color: white;
            transform: scale(1.05);
        }

        .multimedia-teaser {
            -webkit-padding-after: 2rem;
            align-items: stretch;
            display: flex;
            gap: 1rem;
            margin-top: -14rem;
            margin-inline: auto;
            max-width: 100%;
            overflow-x: auto;
            padding-block-end: 2rem;
            padding-inline: 2rem;
            position: relative;
            z-index: 20;
        }

        .teaser-media {
            display: block;
            position: relative;
        }

        .teaser-item {
            border-radius: 1.5rem;
            box-shadow: 0 .5rem 2rem rgba(0,0,0,.1);
            overflow: hidden;
            position: relative;
            text-align: center;
            min-width: 350px;
            width: 350px;
        }

        .teaser-item:hover {
            
        }

        .teaser-link {
            display: block;
            text-decoration: none;
            color: inherit;
        }

        .teaser-link:hover {
            text-decoration: none;
            color: inherit;
        }

        .teaser-item img {
            height: 224px;
            width: 100%;
            object-fit: cover;
            object-position: center;
        }

        .teaser-content {
            padding-block: 1rem 1.5rem;
            padding-inline: 1.5rem;
            height: 210px;
        }

        .teaser-title {
            color: var(--drk-red);
            line-height: 1.2;
            font-size: 1.65rem;
            font-weight: 700;
            margin-block-end: 0;
            margin: 0;
        }

        .teaser-description {
            line-height: 1.1;
            margin-block-start: .5rem;
        }

        .teaser-style {
            padding-block-end: 16.60188rem;
        }

        /* Responsive Design */
        @media (max-width: 993px) {
            .multimedia-header-module {
                aspect-ratio: 7/4;
            }
        }

        @media (max-width: 1000px) {
            .multimedia-background {
                aspect-ratio: 5.25/3;
            }
        }

        @media (max-width: 768px) {
            .multimedia-header-module {
                height: auto;
                aspect-ratio: 2/3;
            }

            .multimedia-background {
                aspect-ratio: 2/3;
            }

            .multimedia-content {
                height: auto;
                aspect-ratio: 2/3;
            }

            .teaser-item {
                min-width: 290px;
                width: 290px;
            }
        }
        
/* CSS für drk_module */
.drk-course-list {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100vw - 4rem);
  width: 40rem;
}
.drk-course-list__intro {
    font-weight: 600;
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
}
.drk-course-item {
    margin-bottom: 1.47rem;
    padding-bottom: 1.47rem;
    border-bottom: 1px solid var(--drk-landergrau);
}
.drk-course-item__daterange {
    font-weight: 600;
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    margin-block-end: 1em;
}
.drk-course-item__cta {
    float: right;
}
.drk-course-item__title {
    font-size: 1.25rem;
    margin-block-end: 1em;
}
.drk-course-item__meta {
    font-size: 1.2rem;
    margin-block-end: 1em;
}
.drk-course-item__map-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.drk-course-item__map-note {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #c0001a;
    background: rgba(192, 0, 26, 0.08);
    border: 1px solid rgba(192, 0, 26, 0.2);
}