/* Fonts */

@font-face {
    font-family: 'BerlinType';
    font-style: normal;
    font-weight: 400;
    src: url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Regular.eot');
    /* IE9 Compat Modes */
    src: url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Regular.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Regular.woff') format('woff');
    /* Modern Browsers */
    font-display: swap;
}

@font-face {
    font-family: 'BerlinType';
    font-style: normal;
    font-weight: 700;
    src: url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Bold.eot');
    /* IE9 Compat Modes */
    src: url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Bold.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Bold.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('/typo3conf/ext/talent_sitepackage/Resources/Public/Fonts/BerlinTypeWeb-Bold.woff') format('woff');
    /* Modern Browsers */
    font-display: swap;
}

body {
    font-family: 'BerlinType', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h5,
.h5,
h6,
.h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bs-heading-color);
}




h1,
.h1,
h2,
.h2 {
    font-size: calc(1.625rem + 0.9vw);
}

@media (min-width: 1200px) {

    h1,
    .h1 {
        font-size: 2.5rem;
    }

    h2,
    .h2 {
        font-size: 30px;
    }
}

.frame-background-light .element-header,
h1.h1 {
    color: var(--nav-highlight);
}

:root {
    --cardgroup-gap: 2rem;
    --swiper-theme-color: #E40422 !important;
    --swiper-pagination-bottom: 0px;
    --nav-highlight: #E40422;
    /* rot – aktives Element */
    --nav-hover: #d9d9d9;
    /* hellgrau – Hover anderer Elemente */
    --nav-highlight-text: #fff;
    --nav-divider: rgba(0, 0, 0, .2);
}


/* Navigation*/

#page-header.navbar-mainnavigation.navbar-default {
    color: #000;
    text-align: center;
    font-family: "BerlinType";
    font-size: 1rem font-style: normal;
    font-weight: 700;
    line-height: 24px;
    /* 150% */
    text-transform: uppercase;
    padding: 22px;
    border-bottom: 1px solid #C4C4C4;
    background-color: #F2F2F2 !important;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 10;
}

.c-jobsearchbar__dropdown>* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.navbar-mainnavigation .navbar-brand-image img {
    margin-top: 10px;
}

#mainnavigation {
    border-radius: 20px;
    border: 1px solid #C4C4C4;
    background: #FFF;
    height: 60px;
    padding: 0.5rem;
}

.subnav-item-header {
    display: flex;
    align-items: center;
}

.subnav-item-header .subnav-link {
    flex: 0 1 auto;
    /* nur so breit wie der Text, kein Wachsen mehr */
    min-width: 0;
}

.subnav-nav {
    padding-left: 7px;
}

.subnav-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    color: rgba(0, 0, 0, 0.9);
    border: 0;
    transition: all 0.15s ease-in-out;
    text-decoration: none;
    gap: 0.25em;
    font-size: 15px;
}

.subnav-link:hover {
    background-color: unset;
}

.subnav-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -.5rem;
    /* Abstand zwischen Text und Plus */
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.subnav-toggle-icon {
    position: relative;
    display: inline-block;
    width: .5rem;
    height: .5rem;
    color: var(--nav-highlight);
}

/* waagerechter Balken – immer sichtbar (= Minus) */
.subnav-toggle-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: .125rem;
    background: currentColor;
    transform: translateY(-50%);
}

/* senkrechter Balken – nur im zugeklappten Zustand (ergibt zusammen ein Plus) */
.subnav-toggle-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: .125rem;
    height: 100%;
    background: currentColor;
    transform: translateX(-50%);
    transition: opacity .15s ease;
}

/* aufgeklappt: senkrechten Balken ausblenden → Minus */
.subnav-toggle[aria-expanded="true"] .subnav-toggle-icon::after {
    opacity: 0;
}


.subnav-item.active>.subnav-item-header>a {
    color: var(--nav-highlight);
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.subnav-item.has-children ul .subnav-link-text:before {
    content: "• ";
}

.subnav-nav .subnav-nav {
    margin-top: -1px;
    border-left: 0;
}

.subnav-nav .subnav-nav:before {
    position: absolute;
    content: "";
    width: 0;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #e6e6e6;
}

.frame-type-subnavigation>.frame-container>.frame-inner>.subnav-nav>.subnav-item>.subnav-item-header>.subnav-link:before,
.footer-section-content-column-right a:before {
    content: "";
    position: absolute;
    left: -5px;
    top: 0;
    width: 14px;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.subnav-link[title="Berlin industries"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/building.svg);
}

.subnav-link[title="#berlinJobs"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/bag.svg);
}

.subnav-link[title="Berliner job market"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/graph.svg);
}

.subnav-link[title="Find a job"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/search.svg);
}

.subnav-link[title="Salary & Contracts"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/file.svg);
}

.subnav-link[title="Further education"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/college.svg);
}

.subnav-link[title="Professional recognition"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/crown.svg);
}

.subnav-link[title="Inside Berlin"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/album.svg);
}

.subnav-link[title="Housing in Berlin"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/house.svg);
}

.subnav-link[title="Districts & neighborhoods"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/circle.svg);
}

.subnav-link[title="Family in Berlin"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/family.svg);
}

.subnav-link[title="After work time & Leisure"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/color.svg);
}

.subnav-link[title="Traffic in Berlin"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/car.svg);
}

.subnav-link[title="Visa & residence permit"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/file.svg);
}

.subnav-link[title="Everyday life"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/umbrella.svg);
}

.subnav-link[title="Relocation"]:before {
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/info.svg);
}



.subnav-title {
    font-weight: 700;
    margin-bottom: .5rem;
    padding-bottom: .25rem;
    font-size: 1.25rem;
}



@media (min-width: 992px) {
    .navbar-nav {
        position: relative;
        width: 100%;
    }

    .navbar-nav>.nav-item {
        flex: 1 1 0;
        text-align: center;
        position: relative;
    }

    .navbar-nav>.nav-item+.nav-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        height: 2rem;
        border-left: 1px solid var(--nav-divider);
        transform: translateY(-50%);
        z-index: 0;
    }

    .navbar-nav>.nav-item>.nav-link {
        position: relative;
        z-index: 2;
        text-transform: uppercase;
        transition: color .25s ease;
        justify-content: center;
    }

    .navbar-slider {
        position: absolute;
        top: 0.5rem;
        left: 0;
        height: calc(100% - 1rem);
        height: calc(60px - 1rem);
        width: 0;
        background: var(--nav-hover);
        z-index: 1;
        opacity: 0;
        pointer-events: none;
        transition: transform .3s ease, width .3s ease, opacity .3s ease, background-color .3s ease;
        border-radius: 14px;
        outline: white 5px solid;
    }

    .navbar-slider.is-active {
        background: var(--nav-highlight);
    }

    .navbar-slider.no-transition {
        transition: none !important;
    }

    .navbar-nav>.nav-item.active {
        background: var(--nav-highlight);
    }

    .navbar-nav>.nav-item.active>.nav-link {
        color: var(--nav-highlight-text);
    }

    /* weißer Text nur, solange die rote Fläche gerade hinter dem aktiven Link liegt */
    .navbar-nav>.nav-item.slider-red>.nav-link {
        color: var(--nav-highlight-text) !important;
    }

    .navbar-mainnavigation .navbar-nav {
        gap: 0;

    }

    /*  .navbar-nav > .nav-item:has(> .nav-link.active) { background: var(--nav-highlight); }*/

    .navbar-mainnavigation .nav-link.nav-link-main:before {
        border: none;
        transform: unset;
        inset: auto var(--mainnavigation-link-padding-x) calc(var(--mainnavigation-link-padding-y) / 2) var(--mainnavigation-link-padding-x);
        background: var(--mainnavigation-hightlight);
        height: 0;
        width: auto;
    }

}


/* Menü ausklappen */

:root {
    --subnav-width: 350px;
    --subnav-strip: 2.75rem;
    --subnav-divider: rgba(0, 0, 0, .15);
}

.subnav-inner {
    position: fixed;
}

.section-row {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    flex-wrap: nowrap;
}

.maincontent-wrap {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;

}

.subnav-wrap {
    order: 0;
    /* Subnavigation nach links */
    flex: 0 0 var(--subnav-width);
    max-width: var(--subnav-width);
    position: relative;
    overflow: hidden;
    transition: flex-basis .5s ease, max-width .5s ease;
    background: #F2F2F2;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 5px 0 5px -2px rgba(0, 0, 0, 0.15);
    margin-left: -20px;
    padding-left: 2rem;

    height: -webkit-fill-available;
    min-height: 825px;
}



.section-default:has(.container>.section-row>.subnav-wrap) {
    background: linear-gradient(90deg, rgba(242, 242, 242, 1) calc((100vw - 1398px) / 2), rgba(255, 255, 255, 1) 0%);

    .section-row.subnav-collapsed .subnav-wrap {
        flex-basis: var(--subnav-strip);
        max-width: var(--subnav-strip);
        /*   border-left: 1px solid var(--subnav-divider);*/
    }

    .subnav-wrap .subnav-inner {
        width: var(--subnav-width);
        /* feste Breite, damit der Inhalt beim Schieben nicht umbricht */
        transition: transform .5s ease, opacity .5s ease;
    }

    .section-row.subnav-collapsed .subnav-inner {
        transform: translateX(-100%);


    }

    .section-row.subnav-collapsed .subnav-inner>nav {

        opacity: 0;
        pointer-events: none;
    }

    .subnav-collapse-toggle {
        margin-top: 1rem;
        margin-right: 3rem;
        position: absolute;
        top: 0;
        right: 0;
        width: 2.5rem;
        height: 2.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 2rem;
        background: #E0E0E0;
        color: #333;
        cursor: pointer;
        z-index: 3;
        line-height: 1;
    }

    .section-row.subnav-collapsed .subnav-collapse-toggle {
        margin-right: 0.25rem;
        transition: all .5s ease;
    }



    .subnav-collapse-icon::before {
        content: "";
        display: inline-block;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='16' viewBox='0 0 11 16' fill='none'%3E%3Cpath d='M4.87695 7.66992L10.1621 12.9551L7.60547 15.4043L0 7.79883L7.77734 0L10.2051 2.40625L4.87695 7.66992Z' fill='black'/%3E%3C/svg%3E");
        width: 11px;
        height: 16px;
        margin-top: 3px;
        background-position: center;
        background-repeat: no-repeat;
        transition: transform .5s ease;
    }

    /* « = einklappen */
    .subnav-collapse-toggle[aria-expanded="false"] .subnav-collapse-icon::before {
        content: "";
        transform: rotate(180deg);
    }

    .subnav-collapse-toggle:hover {
        background: var(--nav-highlight);
    }

    .subnav-collapse-toggle:hover .subnav-collapse-icon::before {
        filter: invert(1);
    }

    /* » = ausklappen */
}

/* auf Mobile kein Einklappen – Button ausblenden, Sidebar stapelt normal */
.subnav-collapse-toggle {
    display: none;
}

@media (min-width: 992px) {
    .subnav-collapse-toggle {
        display: inline-flex;
    }
}

@media (min-width: 992px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg {
        max-width: 100%;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
        max-width: 1400px;
    }

    .section-column.maincontent-wrap {
        max-width: 1180px;
    }

    .section.section-default .frame-container-default {
        max-width: 1180px;
    }
}


/* Buttons */

.btn-default {
    --bs-btn-color: #000000;
    --bs-btn-bg: #E0E0E0;
    --bs-btn-border-color: #E0E0E0;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #E40422;
    --bs-btn-hover-border-color: #E40422;
    --bs-btn-focus-shadow-rgb: 199, 200, 201;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #eeeff0;
    --bs-btn-active-border-color: #ecedee;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #eaebec;
    --bs-btn-disabled-border-color: #eaebec;
    height: 45px;
    border-radius: 30px;
    line-height: 45px;
    display: inline-flex;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 0.5rem;
}

/* footer */
footer {
    z-index: 12;
    position: relative
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    column-count: 2;
    /* Teilt die Liste in zwei vertikale Spalten */
    column-gap: 20px;
    /* Abstand zwischen den Spalten */
}

.footer-section-content {

    --frame-color: #ffffff;
    --frame-background: #313131;
    --bs-link-color-rgb: #000;
    --frame-link-hover-color: #eb737c;

    border-top: 1px solid #C4C4C4;
    background: #F2F2F2;
    box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.15);
    min-height: 200px;
    display: flex;
    align-items: center;
}


footer .section-row {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.footer-section-content a {
    text-decoration: none;
}

@media (min-width: 768px) {
    .footer-section-content-column-left {
        --section-gaps: 0;
        --section-colspan: 2;
    }

    .footer-section-content-column-middle {
        --section-gaps: 2;
        --section-colspan: 6;
    }

    .footer-section-content-column-right {
        --section-gaps: 2;
        --section-colspan: 4;
    }


}

footer img {
    max-width: 220px
}

footer figure picture,
footer figure img {
    display: block;
    height: auto;
    margin: 0;
}

.sociallinks-list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
    gap: 1rem;
    flex-wrap: unset;
    flex-direction: row;
    margin-top: 2rem;
}

.sociallinks-link-label {
    display: none;
}

.sociallinks-item {
    width: auto;
}

.sociallinks-link {
    position: relative;
    display: inline-flex;
    border-radius: 3px;
    gap: 0.25rem;
    overflow: hidden;
    text-decoration: none !important;
    width: 45px;
    height: 45px;
    border-radius: 30px;
    background: #E0E0E0;
    justify-content: center;
    align-items: center;
}

footer p strong {
    color: var(--nav-highlight);
    font-weight: 700
}

.footer-section-content-column-right a {
    position: relative
}

.footer-section-content-column-right a[title="Events"]:before {
    left: -20px;
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/dailycalendar.svg);
}

.footer-section-content-column-right a[title="Employer Services"]:before {
    left: -20px;
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Icons/building.svg);
}


/* Header Suche */




#subnavigation {
    display: flex;
    gap: 1rem;
    align-items: center;
}



.navbar-nav.navbar-search {
    z-index: 5;
}

.search-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    color: rgba(0, 0, 0, 0.9);
    border: 0;
    transition: all 0.15s ease-in-out;
    text-decoration: none;
    gap: 0.25em;
    font-size: 0;
    border-radius: 30px;
    height: 45px;
    width: 45px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Cpath d='M11.623 11.1074L15.4043 14.8887L13.8574 16.457L9.9043 12.4824C8.9375 13.0195 7.82031 13.3203 6.66016 13.3203C2.98633 13.3203 0 10.334 0 6.66016C0 2.98633 2.98633 0 6.66016 0C10.334 0 13.3418 2.98633 13.3418 6.66016C13.3418 8.37891 12.6758 9.94727 11.623 11.1074ZM2.21289 6.66016C2.21289 9.13086 4.18945 11.1074 6.66016 11.1074C9.13086 11.1074 11.1074 9.13086 11.1074 6.66016C11.1074 4.18945 9.13086 2.21289 6.66016 2.21289C4.18945 2.21289 2.21289 4.18945 2.21289 6.66016Z' fill='black'/%3E%3C/svg%3E");
    background-color: #E0E0E0;
    z-index: 10;

}

.search-link:hover {

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Cpath d='M11.623 11.1074L15.4043 14.8887L13.8574 16.457L9.9043 12.4824C8.9375 13.0195 7.82031 13.3203 6.66016 13.3203C2.98633 13.3203 0 10.334 0 6.66016C0 2.98633 2.98633 0 6.66016 0C10.334 0 13.3418 2.98633 13.3418 6.66016C13.3418 8.37891 12.6758 9.94727 11.623 11.1074ZM2.21289 6.66016C2.21289 9.13086 4.18945 11.1074 6.66016 11.1074C9.13086 11.1074 11.1074 9.13086 11.1074 6.66016C11.1074 4.18945 9.13086 2.21289 6.66016 2.21289C4.18945 2.21289 2.21289 4.18945 2.21289 6.66016Z' fill='white'/%3E%3C/svg%3E");
    background-color: var(--nav-highlight);
}

#subnavigation .headersuche {
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
    position: absolute;
}

#subnavigation .navbar-search:hover .headersuche {
    visibility: visible;
    opacity: 1;
    transition: all 0.3s;
}

#subnavigation .navbar-search input.senden {
    display: none;
    height: 48px;
    width: 48px;
    background-image: url(/typo3conf/ext/talent_sitepackage/Resources/Public/Images/buttonarrow.svg);
    background-size: contain;
    border: 0;
    float: left
}

#subnavigation .navbar-search input.senden:hover {
    opacity: 1;
}

#subnavigation .navbar-search input.suchfeld {
    height: 60px;
    line-height: 60px;
    width: 0;
    float: left;
    border: 1px solid #ddd;
    padding-left: 55px;
    transition: width 0.4s;
    font-size: 0.95em;
    margin-top: -8px;
    margin-left: -8px;
    border-radius: 20px;
    border: 1px solid #C4C4C4;
    background: #FFF;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
    z-index: 5;
}

#subnavigation .navbar-search:hover input.suchfeld {
    width: 230px !important;
}



@media (max-width: 991px) {
    #subnavigation .navbar-search:hover input.suchfeld {
        width: 120px !important;
    }
}

#subnavigation .navbar-search form {
    display: inline-flex;
}


/* Sprache */

#language_menu .nav-item {
    height: 45px;
    width: 45px;
    border-radius: 30px;
    text-align: center;
    background-color: #E0E0E0;
}

#language_menu .nav-item.active,
#language_menu .nav-item:hover {
    background-color: var(--nav-highlight);
    color: white
}

#language_menu .nav-item:hover a {
    color: white
}

#language_menu .nav-item .nav-link {
    height: 100%;
}


.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

figure.video:has(div>video[title="Startvideo"]) {
    position: relative;
    z-index: 1;
}

figure.video:has(div>video[title="Startvideo"]) :after {
    content: "Berlin works";
    font-size: 3rem;
    color: white;
    position: absolute;
    display: inline-flex;
    border: 1px solid white;
    left: 3rem;
    right: 3rem;
    top: 2rem;
    bottom: 2rem;
    z-index: 2;
    align-items: flex-end;
    justify-content: center;
    /* Aktiviert den Farbverlauf für den Text */
    background: linear-gradient(to right, white 50%, red 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    /* Wichtig: Verhindert Zeilenumbruch, damit der Farbverlauf exakt passt */
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 8vw;
    font-style: normal;
    font-weight: 400;
    padding-bottom: 2rem;
    max-height: calc(100dvh - 105px - 4rem);
}

.pagelevel-0 video {
    width: 100%;
    max-height: calc(100dvh - 105px);

    /* Verhindert Verzerrungen und behält das Seitenverhältnis bei */
    object-fit: cover;
}

.pagelevel-0 .embed-responsive-16by9:before {
    padding-top: calc(% * 9 / 16);
    max-height: calc(100dvh - 105px);
    display:none;
}

.card {
    color: var(--frame-color);
    background: var(--frame-background);
    border: 0;
    border-radius: 30px;
}

.card img {
    border-radius: 30px;
    width: 100%
}

.card.frame-background-default {
    color: black;
    background: #ACCAE5
}

.card.frame-background-primary {
    color: black;
    background: #9BCFAE
}

.card-group-element-item>a {
    text-decoration: none !important
}

.card-group-element-item>a>.card:after {
    background-repeat: no-repeat;
    content: "";
    width: 45px;
    height: 45px;
    display: inline-block;
    position: absolute;
    right: 1rem;

    top: calc(50% - 22px);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='45' viewBox='0 0 45 45' fill='none'%3E%3Cg clip-path='url(%23clip0_1366_7906)'%3E%3Ccircle cx='22.5' cy='22.5' r='22.5' transform='rotate(-180 22.5 22.5)' fill='white'/%3E%3Cpath d='M22.7256 22.6387L17.4404 17.3535L19.9971 14.9043L27.6025 22.5098L19.8252 30.3086L17.3975 27.9023L22.7256 22.6387Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1366_7906'%3E%3Crect width='45' height='45' fill='white' transform='translate(45 45) rotate(-180)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

.card-group-element-item>a>.card:has(>.card-img-top):after {
    top: 1rem;
}

.card-group-element-columns-2 .card-body {
    padding: 2.25rem 1.875rem 2.5rem;
    display: flex;
    align-items: center;
}

/* Swiper */

.swiper-pagination {
    position: relative !important;
    text-align: start !important
}

.swiper-navigation {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.swiper-navigation .swiper-button-prev,
.swiper-navigation .swiper-button-next {
    position: relative;
    padding: .25rem .5rem;
    border: 0;
    background: none;
    color: var(--bs-primary, #e40422);
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    top: unset;
    margin-top: unset;
}

.swiper-navigation .swiper-button-prev svg,
.swiper-navigation .swiper-button-next svg {
    display: none;
}

.swiper-navigation .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: auto;
}


.swiper-slide .caption-text {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    background: #E40422D9;
    max-width: 40%;
    border-radius: 30px;
    padding: 2rem;
    padding-bottom: 1rem;
    color: #FFF;
}


.swiper-slide .caption-text .caption-title {
    color: #FFF;

    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 120% */
    text-transform: uppercase;
}

/*
.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto !important;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}
    */

.frame-type-card_group .card-group-element-columns-2 .card-title {

    margin-bottom: 0;
    padding-right: 2rem;
    font-size: 1.25rem;
    font-weight: bold;
}

/* Bilder */

main .gallery-item img,
main .gallery-item picture,
.swiper-slide>img.img-fluid {
    border-radius: 30px;
}


figure .caption {
    padding-top: 1rem;
    font-size: 0.85rem;
    word-wrap: break-word;
    opacity: 0.5;
    text-align: end;
}


/* Eventlist */
a:has(>.eventlist) {
    text-decoration: none !important;
    color: inherit !important;
}

.eventlist .inner {
    display: flex;
    background: #F2F2F2;
    border-radius: 30px;
}

.eventlist .thedate {
    background: #9BCFAE;
    padding: 2rem;
    width: 20%;
    border-radius: 30px;
    align-content: center;
    text-align: center;
    position: relative;
    padding-bottom: 4rem;
}

.eventlist .eventinfos {
    ;
    padding: 2rem;
}

.news .article.eventlist {
    margin-bottom: 2rem !important
}

.nowrap {
    white-space: nowrap;
}


.eventlist .thedate:after {
    background-repeat: no-repeat;
    content: "";
    width: 45px;
    height: 45px;
    display: inline-block;
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='45' viewBox='0 0 45 45' fill='none'%3E%3Cg clip-path='url(%23clip0_1366_7906)'%3E%3Ccircle cx='22.5' cy='22.5' r='22.5' transform='rotate(-180 22.5 22.5)' fill='white'/%3E%3Cpath d='M22.7256 22.6387L17.4404 17.3535L19.9971 14.9043L27.6025 22.5098L19.8252 30.3086L17.3975 27.9023L22.7256 22.6387Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1366_7906'%3E%3Crect width='45' height='45' fill='white' transform='translate(45 45) rotate(-180)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

/* Panel */
.card-panel {
    background: #F2F2F2;
    border-radius: 0;
    position: relative;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.15));
}

.card-panel .card-header {
    background: unset;
    color: inherit;
    font-size: 1rem !important;
    padding: 2rem 3.5rem 1rem 3.5rem;
    border: 0;
}

.card-panel .card-body {
    flex: 1 1 auto;
    padding: 0 3.5rem 2rem 3.5rem;
    color: var(--bs-card-color);
}

blockquote:before, .card-panel:before {
    content: "";
    background-color: #E40422;
    height: 100%;
    width: 2rem;
    display: flex;
    z-index: 2;
    top: 0;
    left: 0;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.4883 0C16.2891 0 21.0059 4.7168 21.0059 10.5176C21.0059 16.3184 16.2891 21.0059 10.4883 21.0059C4.6875 21.0059 0 16.3184 0 10.5176C0 4.7168 4.6875 0 10.4883 0ZM10.3711 3.86719C10.0781 4.21875 9.93164 4.62891 9.93164 5.06836C9.93164 5.41992 10.0488 5.71289 10.2246 5.91797C10.4297 6.12305 10.7227 6.24023 11.0156 6.24023C11.4258 6.24023 11.8066 6.06445 12.0996 5.71289C12.3633 5.39062 12.5098 4.92188 12.5098 4.42383C12.5098 4.13086 12.4219 3.86719 12.2168 3.66211C12.0117 3.45703 11.7188 3.33984 11.4258 3.33984C11.0449 3.33984 10.6641 3.51562 10.3711 3.86719ZM7.70508 9.93164L8.05664 10.3125C8.32031 10.0195 8.58398 9.78516 8.75977 9.63867C8.93555 9.52148 9.08203 9.46289 9.19922 9.46289C9.28711 9.46289 9.375 9.49219 9.43359 9.55078C9.46289 9.63867 9.49219 9.72656 9.49219 9.87305C9.49219 10.6055 9.4043 11.0742 9.02344 12.832C8.64258 14.5898 8.4375 15.8789 8.4375 16.7285C8.4375 17.0508 8.49609 17.2852 8.61328 17.4316C8.70117 17.5781 8.87695 17.6953 9.11133 17.6953C9.49219 17.6953 10.0488 17.4023 10.6934 16.9043C11.3379 16.377 11.9824 15.6445 12.6855 14.707L12.3047 14.3848C12.0703 14.6777 11.8359 14.8828 11.6602 15.0293C11.4844 15.1465 11.3379 15.2637 11.2207 15.2637C11.1328 15.2637 11.0449 15.1758 10.9863 15.1172C10.957 15.0293 10.9277 14.9121 10.9277 14.7363C10.9277 14.6191 10.957 14.2383 11.0742 13.5645C11.1621 12.8906 11.1328 12.8906 11.3086 11.8945C11.3379 11.6016 11.4258 11.1914 11.5137 10.6934C11.748 9.19922 11.8945 8.29102 11.8945 7.99805C11.8945 7.73438 11.8066 7.5 11.7188 7.35352C11.6016 7.20703 11.4258 7.14844 11.2207 7.14844C10.8691 7.14844 10.4004 7.41211 9.75586 7.88086C9.11133 8.37891 8.4668 9.05273 7.70508 9.93164Z' fill='white'/%3E%3C/svg%3E%0A");
}

.card-title {
    font-size: 1.35rem;
    padding-right: 4rem;
    margin-bottom: 0.5rem;
}

.card-group-element-item>a>.card:not(>.card-img-top) .card-title {
    font-size: 1.35rem;
    padding-right: 4rem;
    margin-bottom: 0.5rem;
    padding: 2rem 4rem 2rem 2rem;
}

blockquote {
    background: #F2F2F2;
    border: 0;
    border-radius: 0;
    position: relative;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.15));
    flex: 1 1 auto;
    padding: 2rem 3.5rem 2rem 3.5rem;
    color: var(--bs-card-color);
    font-size: 1rem !important;
    margin-top:2rem;
}

.accordion-content-item blockquote { background: #ffffff;
     margin-top:1rem;
   }

.sectortopimage {
    max-width: 820px;
    margin: 0 auto;
    padding-top: 0;
}

/* JObs */

.c-joblist__layout {
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    column-gap: 3rem;
    row-gap: 3rem;
    position: relative;
    z-index: 5;
}

.c-joblist__item {
    border-radius: 30px;
    background-color: #ACCAE5;
    background-image: url("data:image/svg+xml,%3Csvg width='45' height='45' viewBox='0 0 45 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_547_14596)'%3E%3Ccircle cx='22.5' cy='22.5' r='22.5' transform='rotate(-180 22.5 22.5)' fill='white'/%3E%3Cpath d='M22.7256 22.6387L17.4404 17.3535L19.9971 14.9043L27.6025 22.5098L19.8252 30.3086L17.3975 27.9023L22.7256 22.6387Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_547_14596'%3E%3Crect width='45' height='45' fill='white' transform='translate(45 45) rotate(-180)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: right 1rem bottom 1rem;
    filter: drop-shadow(0 -2px 10px rgba(0, 0, 0, 0.15));

}

.c-joblist__head h3 {
    /* Erzwingt den Umbruch bei langen Wörtern am Ende der Zeile */
    overflow-wrap: break-word;
    word-break: break-word;
    /* Fallback für ältere Browser */
}

.c-joblist__item a {
    text-decoration: none;
    color: black;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    /* Zwingt den Link, die vom Item vorgegebene Höhe auszufüllen */
    text-decoration: none;
    color: inherit;
    display: flex;
    /* Macht die Karte selbst bereit, die volle Höhe weiterzugeben */
    flex: 1 1 calc(33.333% - 1rem);
}

.c-joblist__image {
    height: 180px;
    border-radius: 30px;
    background: #FFF;
}

.c-joblist__head {
    margin: 1.5rem 2rem 0 2rem;
}

.c-joblist__head .h-h5 {
    font-size: 20px;
}

.c-joblist__head p {
    margin-bottom: 0;
}

.c-joblist__company {
    margin-left: 2rem;
    margin-bottom: 1.5rem;
    /* position: absolute;
    bottom: 0;*/
    margin-top: auto;
    padding-top: 1rem;
    margin-right: 4.5rem;
}


.c-joblist .c-joblist__layout {
    margin-bottom: 3rem
}

/* Der Container hat eine feste Höhe von genau 180px und zentriert das Bild */
.c-joblist__image:has(>img),
.c-jobdetail__companyimage {
    display: flex;
    justify-content: center;
    /* Horizontale Zentrierung */
    align-items: center;
    /* Vertikale Zentrierung */
    width: 100%;
    /* Nutzt die volle Breite des übergeordneten Elements */
    height: 180px;
    /* Erzwingt eine feste Höhe von genau 180px */
    padding: 2rem;
    /* 2rem Innenabstand zu allen vier Seiten */
    box-sizing: border-box;
    /* Bezieht das Padding in die 180px Gesamthöhe mit ein */
    overflow: hidden;
    /* Verhindert jegliches Herausragen */
}

/* kein Bild ladbar ist von JObvector */
.c-joblist__image:not(:has(> img)) {
    display: none;
}


/* Das Bild innerhalb des Containers */
.c-joblist__image img,
.c-jobdetail__companyimage img {
    width: 100%;
    /* Überschreibt das HTML-Attribut width="108" */
    height: 100%;
    /* Nutzt exakt den verbleibenden Platz innerhalb des Paddings */
    object-fit: contain;
    /* Bild wird maximal groß skaliert, ohne sich zu verzerren */
    max-width: 100%;
    max-height: 100%;
}


.frame:has(.frame-group-container>.frame-group-inner>.frame-container>.frame-inner>.c-jobdetail) {
    background: #E5E5E5;
    padding-bottom: 4rem;
}

.c-jobdetail {
    max-width: 780px;
    border-radius: 0 0 30px 30px;
    background: #FFF;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
    margin: 0 auto;
    padding: 3rem 4rem;
}

.frame-type-pbjobportal_jobsingle {
    padding-top: 0 !important
}

.h-h2.c-jobdetail__title {
    font-size: 20px;
    ;
    font-weight: 700;
    margin-bottom: 1rem;

}

.jobdetail_head {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

.jobdetail_head>div {
    width: 50%;
}

.c-jobdetail__companyimage {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: flex-end;
}

.c-jobdetail__companyname,
.c-jobdetail__cta .h-h2,
.c-jobdetail__body h2 {
    font-size: 20px;
}

.c-jobdetail__head {
    display: none;
}

.c-jobdetail__cta a.c-button,
.c-button--more {
    background: #E0E0E0;
    color: black;
    border-radius: 30px;
    text-transform: uppercase;
    font-weight: 700;
    height: 45px;
    line-height: 45px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    display: inline-block;
    text-decoration: none;
    margin-bottom: 1rem;
}

.c-jobdetail__cta a.c-button:after {
    content: "→";
    margin-left: 0.5em
}

.c-buttongroup:has(.c-button--more) {
    text-align: center;
}

.c-button--more:after {
    content: "+";
    margin-left: 0.5em
}

.c-jobdetail__meta>span {
    display: none;
}

.c-jobdetail__partner {
    display: flex;
    gap: 4rem;
    align-items: center;
    margin-bottom: 1rem;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.c-jobdetail__partnerbody {
    max-width: 66%;
}


.c-jobdetail__companyimage img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: 200px;
    max-height: 100%;
}

.c-jobdetail__companyimage {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 180px;
    padding: 1rem 0 1rem;
    box-sizing: border-box;
    overflow: hidden;
}



.maincontent-wrap:has(.hatrahmen) {
    margin: 2rem;
    border: 1px solid #C4C4C4;
    border-radius: 30px;
    padding: 2rem;
    background: #FFF
}

.hatrahmen h2.element-header {
    color: #E40422;
    margin-bottom: 2rem;
}

.hatrahmen .card-group-element .card-group-element-item:nth-child(2) .card.frame-background-default {
    color: black;
    background: #9BCFAE;
}