@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 100;
    src: url("../../fonts/poppins-v24-latin-100.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-100.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 200;
    src: url("../../fonts/poppins-v24-latin-200.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-200.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    src: url("../../fonts/poppins-v24-latin-300.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-300.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    src: url("../../fonts/poppins-v24-latin-regular.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-regular.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    src: url("../../fonts/poppins-v24-latin-500.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-500.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    src: url("../../fonts/poppins-v24-latin-600.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-600.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    src: url("../../fonts/poppins-v24-latin-700.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-700.ttf") format("truetype")
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 800;
    src: url("../../fonts/poppins-v24-latin-800.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-800.ttf") format("truetype")
}

@font-face {
    font-style: normal;
    font-weight: 900;
    src: url("../../fonts/poppins-v24-latin-900.woff2") format("woff2"), url("../../fonts/poppins-v24-latin-900.ttf") format("truetype")
}

:root {
    --color-white: #fff;
    --color-light-grey: #F2F2F2;
    --color-black: #000;
    --color-primary: #604FCC;
    --color-secondary: #FC6EC1;
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(69%) sepia(35%) saturate(3021%) hue-rotate(288deg) brightness(96%) contrast(105%)
}

.theme-aerztinnen,.card-aerztinnen,.frame-background-aerztinnen,.text-color-aerztinnen,.btn:has(.text-color-aerztinnen),.cat-1 {
    --color-primary: #FC6EC1;
    --color-secondary: #604FCC;
    --color-accent: #FB92DC;
    --color-primary-rgb: 252 110 193;
    --color-svg-filter: brightness(0) saturate(100%) invert(69%) sepia(35%) saturate(3021%) hue-rotate(288deg) brightness(96%) contrast(105%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(31%) sepia(48%) saturate(2426%) hue-rotate(231deg) brightness(87%) contrast(86%)
}

.theme-med-fachangestellte,.card-med-fachangestellte,.frame-background-med-fachangestellte,.text-color-med-fachangestellte,.btn:has(.text-color-med-fachangestellte),.cat-2 {
    --color-primary: #604FCC;
    --color-secondary: #2FA0D1;
    --color-accent: #7369CD;
    --color-primary-rgb: 96 79 204;
    --color-svg-filter: brightness(0) saturate(100%) invert(31%) sepia(48%) saturate(2426%) hue-rotate(231deg) brightness(87%) contrast(86%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(64%) sepia(78%) saturate(2223%) hue-rotate(165deg) brightness(88%) contrast(84%)
}

.theme-pflegekraefte,.card-pflegekraefte,.frame-background-pflegekraefte,.text-color-pflegekraefte,.btn:has(.text-color-pflegekraefte),.cat-3 {
    --color-primary: #EF9226;
    --color-secondary: #FC6EC1;
    --color-accent: #FAAF4B;
    --color-primary-rgb: 239 146 38;
    --color-svg-filter: brightness(0) saturate(100%) invert(83%) sepia(28%) saturate(7214%) hue-rotate(341deg) brightness(96%) contrast(95%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(55%) sepia(48%) saturate(1196%) hue-rotate(295deg) brightness(109%) contrast(98%)
}

.theme-ausbildung-und-studium,.card-ausbildung-und-studium,.frame-background-ausbildung-und-studium,.text-color-ausbildung-und-studium,.btn:has(.text-color-ausbildung-und-studium),.cat-4 {
    --color-primary: #5EB7AB;
    --color-secondary: #604FCC;
    --color-accent: #87D2C3;
    --color-primary-rgb: 94 183 171;
    --color-svg-filter: brightness(0) saturate(100%) invert(65%) sepia(39%) saturate(412%) hue-rotate(122deg) brightness(93%) contrast(91%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(31%) sepia(48%) saturate(2426%) hue-rotate(231deg) brightness(87%) contrast(86%)
}

.theme-hebammen,.card-hebammen,.frame-background-hebammen,.text-color-hebammen,.btn:has(.text-color-hebammen),.cat-5 {
    --color-primary: #A98D79;
    --color-secondary: #EF9226;
    --color-accent: #B9A08C;
    --color-primary-rgb: 169 141 121;
    --color-svg-filter: brightness(0) saturate(100%) invert(63%) sepia(20%) saturate(458%) hue-rotate(342deg) brightness(89%) contrast(84%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(83%) sepia(28%) saturate(7214%) hue-rotate(341deg) brightness(96%) contrast(95%)
}

.theme-dienstleister,.card-dienstleisterinnen,.frame-background-dienstleisterinnen,.text-color-dienstleisterinnen,.btn:has(.text-color-dienstleisterinnen),.cat-6 {
    --color-primary: #2FA0D1;
    --color-secondary: #5EB7AB;
    --color-accent: #55B9D2;
    --color-primary-rgb: 47 160 209;
    --color-svg-filter: brightness(0) saturate(100%) invert(64%) sepia(78%) saturate(2223%) hue-rotate(165deg) brightness(88%) contrast(84%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(65%) sepia(39%) saturate(412%) hue-rotate(122deg) brightness(93%) contrast(91%)
}

.theme-therapeuten-co,.card-therapeuten-co,.frame-background-therapeuten-co,.text-color-therapeuten-co,.btn:has(.text-color-therapeuten-co),.cat-7 {
    --color-primary: #FA8789;
    --color-secondary: #A98D79;
    --color-accent: #FFACAD;
    --color-primary-rgb: 250 135 137;
    --color-svg-filter: brightness(0) saturate(100%) invert(81%) sepia(28%) saturate(6352%) hue-rotate(304deg) brightness(96%) contrast(104%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(63%) sepia(20%) saturate(458%) hue-rotate(342deg) brightness(89%) contrast(84%)
}

.theme-zielgruppenuebergreifend-1,.card-zielgruppenuebergreifend-1,.frame-background-zielgruppenuebergreifend-1,.text-color-zielgruppenuebergreifend-1,.btn:has(.text-color-zielgruppenuebergreifend-1) {
    --color-primary: #FC6EC1;
    --color-secondary: #EF9226;
    --color-primary-rgb: 252 110 193;
    --color-svg-filter: brightness(0) saturate(100%) invert(55%) sepia(48%) saturate(1196%) hue-rotate(295deg) brightness(109%) contrast(98%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(83%) sepia(28%) saturate(7214%) hue-rotate(341deg) brightness(96%) contrast(95%)
}

.theme-zielgruppenuebergreifend-2,.card-zielgruppenuebergreifend-2,.frame-background-zielgruppenuebergreifend-2,.text-color-zielgruppenuebergreifend-2,.btn:has(.text-color-zielgruppenuebergreifend-2) {
    --color-primary: #FA8789;
    --color-secondary: #604FCC;
    --color-primary-rgb: 250 135 137;
    --color-svg-filter: brightness(0) saturate(100%) invert(61%) sepia(75%) saturate(1416%) hue-rotate(309deg) brightness(105%) contrast(97%);
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(31%) sepia(48%) saturate(2426%) hue-rotate(231deg) brightness(87%) contrast(86%)
}

.card-grey {
    --color-primary: #F2F2F2
}

[class^="text-color-"] {
    color: var(--color-primary)
}

h1,.h1 {
    font-family: Poppins, sans-serif;
    font-weight: 600;
    font-size: clamp(44px, 5vw, 105px);
    line-height: clamp(51px, 6vw, 114px);
    hyphens: auto
}

h2,.h2 {
    font-family: Poppins, sans-serif;
    font-weight: 600;
    font-size: clamp(34px, 5vw, 75px);
    line-height: clamp(41px, 6vw, 85px);
    margin-bottom: clamp(25px, 6vw, 45px)
}

h3,.h3 {
    font-family: Poppins, sans-serif;
    font-weight: 600;
    font-size: clamp(24px, 5vw, 40px);
    line-height: clamp(30px, 6vw, 40px)
}

h4,.h4 {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(20px, 5vw, 35px);
    line-height: clamp(28px, 6vw, 45px)
}

h5,.h5 {
    font-size: 20px;
    line-height: 28px;
    font-weight: 600
}

p,a,li,.btn {
    font-family: Poppins, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px
}

strong {
    font-weight: 600
}

@media screen and (min-width: 768px) {
    span.width-90 {
        max-width:90%;
        display: flex
    }

    span.width-80 {
        max-width: 80%;
        display: flex
    }

    span.width-70 {
        max-width: 70%;
        display: flex
    }

    span.width-60 {
        max-width: 60%;
        display: flex
    }

    span.width-50 {
        max-width: 50%;
        display: flex
    }

    span.width-90 {
        max-width: 90%;
        display: flex
    }

    span.width-40 {
        max-width: 40%;
        display: flex
    }
}

blockquote {
    border: unset;
    padding: unset
}

blockquote p {
    font-weight: 600;
    font-size: 24px;
    line-height: 28px
}

span.font-weight-light {
    font-weight: 300
}

.frame-header+p {
    margin-top: clamp(25px, 6vw, 45px)
}

:root {
    --border-radius: 15px;
    --response-border-radius: 10px
}

.btn-check:checked+.btn,.frame-type-felogin_login .btn-check:checked+input[type="submit"],.btn-check:checked+.cc-btn,:not(.btn-check)+.btn:active,.frame-type-felogin_login :not(.btn-check)+input[type="submit"]:active,:not(.btn-check)+.cc-btn:active,.btn:first-child:active,.frame-type-felogin_login input[type="submit"]:first-child:active,.cc-btn:first-child:active,.btn.active,.frame-type-felogin_login input.active[type="submit"],.active.cc-btn,.btn.show,.frame-type-felogin_login input.show[type="submit"],.show.cc-btn {
    color: inherit;
    background-color: inherit;
    border-color: inherit;
    box-shadow: unset
}

div#page-content {
    overflow: hidden
}

@media screen and (max-width: 767px) {
    body .frame-container {
        --bs-gutter-x: 30px
    }
}

@media (max-width: 767px) {
    .swap-mobile-columns [data-container-identifier="container_2_columns"] .contentcontainer-column[data-container-column="left"] {
        order:2
    }

    .swap-mobile-columns [data-container-identifier="container_2_columns"] .contentcontainer-column[data-container-column="right"] {
        order: 1
    }
}

.sociallinks-link-icon:before {
    content: "";
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center;
    filter: var(--color-svg-filter-secondary)
}

.sociallinks-link-icon.bootstrappackageicon-facebook:before {
    background-image: url("../../vendor/img/icon-facebook.svg")
}

.sociallinks-link-icon.bootstrappackageicon-instagram:before {
    background-image: url("../../vendor/img/icon-instagram.svg")
}

.sociallinks-link-icon.bootstrappackageicon-youtube:before {
    background-image: url("../../vendor/img/icon-youtube.svg")
}

.sociallinks-link-icon.bootstrappackageicon-linkedin:before {
    background-image: url("../../vendor/img/icon-linkedin.svg")
}

.sociallinks-link-icon.bootstrappackageicon-xing:before {
    background-image: url("../../vendor/img/icon-xing.svg")
}

.sociallinks-link-icon.bootstrappackageicon-kununu:before {
    background-image: url("../../vendor/img/icon-kununu.svg")
}

.sociallinks-link-icon.bootstrappackageicon-tiktok:before {
    background-image: url("../../vendor/img/icon-tiktok.svg")
}

.menu-sociallinks .sociallinks-link .sociallinks-link-icon:before {
    --color-svg-filter-secondary: brightness(0) saturate(100%) invert(31%) sepia(48%) saturate(2426%) hue-rotate(231deg) brightness(87%) contrast(86%)
}

.bg-solid,.frame-background-solid {
    background: var(--color-primary);
    color: var(--color-white)
}

.bg-solid .icongroup-item-icon svg,.bg-solid .texticon-icon svg,.frame-background-solid .icongroup-item-icon svg,.frame-background-solid .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-solid.frame-bg-only-img,.bg-solid.frame-job-intro,.frame-background-solid.frame-bg-only-img,.frame-background-solid.frame-job-intro {
    background: unset
}

.bg-solid.frame-bg-only-img .gallery-row,.bg-solid.frame-job-intro .gallery-row,.frame-background-solid.frame-bg-only-img .gallery-row,.frame-background-solid.frame-job-intro .gallery-row {
    background: var(--color-primary)
}

.bg-linear-gradient,.frame-background-linear-gradient {
    background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    color: var(--color-white)
}

.bg-linear-gradient .icongroup-item-icon svg,.bg-linear-gradient .texticon-icon svg,.frame-background-linear-gradient .icongroup-item-icon svg,.frame-background-linear-gradient .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-linear-gradient.frame-bg-only-img,.bg-linear-gradient.frame-job-intro,.frame-background-linear-gradient.frame-bg-only-img,.frame-background-linear-gradient.frame-job-intro {
    background: unset
}

.bg-linear-gradient.frame-bg-only-img .gallery-row,.bg-linear-gradient.frame-job-intro .gallery-row,.frame-background-linear-gradient.frame-bg-only-img .gallery-row,.frame-background-linear-gradient.frame-job-intro .gallery-row {
    background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%)
}

.bg-solid-opacity-10 {
    background-color: rgb(var(--color-primary-rgb) / 0.1);
    --frame-color: var(--color-black)
}

.bg-solid-opacity-10 .icongroup-item-icon svg,.bg-solid-opacity-10 .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-solid-opacity-10.frame-bg-only-img,.bg-solid-opacity-10.frame-job-intro {
    background: unset
}

.bg-solid-opacity-10.frame-bg-only-img .gallery-row,.bg-solid-opacity-10.frame-job-intro .gallery-row {
    background-color: rgb(var(--color-primary-rgb) / 0.1)
}

.bg-solid-opacity-10+.bg-solid-opacity-10.frame-space-before-none {
    --frame-spacing: 0;
    padding-bottom: var(--frame-spacing-xs)
}

@media (min-width: 576px) {
    .bg-solid-opacity-10+.bg-solid-opacity-10.frame-space-before-none {
        padding-bottom:var(--frame-spacing-sm)
    }
}

@media (min-width: 768px) {
    .bg-solid-opacity-10+.bg-solid-opacity-10.frame-space-before-none {
        padding-bottom:var(--frame-spacing-md)
    }
}

@media (min-width: 992px) {
    .bg-solid-opacity-10+.bg-solid-opacity-10.frame-space-before-none {
        padding-bottom:var(--frame-spacing-lg)
    }
}

@media (min-width: 1200px) {
    .bg-solid-opacity-10+.bg-solid-opacity-10.frame-space-before-none {
        padding-bottom:var(--frame-spacing-xl)
    }
}

.bg-stripes-large,.frame-background-stripes-large {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 65px, var(--color-secondary) 65px, var(--color-secondary) 130px);
    color: var(--color-white)
}

.bg-stripes-large .icongroup-item-icon svg,.bg-stripes-large .texticon-icon svg,.frame-background-stripes-large .icongroup-item-icon svg,.frame-background-stripes-large .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-stripes-large.frame-bg-only-img,.bg-stripes-large.frame-job-intro,.frame-background-stripes-large.frame-bg-only-img,.frame-background-stripes-large.frame-job-intro {
    background: unset
}

.bg-stripes-large.frame-bg-only-img .gallery-row,.bg-stripes-large.frame-job-intro .gallery-row,.frame-background-stripes-large.frame-bg-only-img .gallery-row,.frame-background-stripes-large.frame-job-intro .gallery-row {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 65px, var(--color-secondary) 65px, var(--color-secondary) 130px)
}

.bg-stripes-small,.frame-background-stripes-small {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 35px, var(--color-secondary) 35px, var(--color-secondary) 70px);
    color: var(--color-white)
}

.bg-stripes-small .icongroup-item-icon svg,.bg-stripes-small .texticon-icon svg,.frame-background-stripes-small .icongroup-item-icon svg,.frame-background-stripes-small .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-stripes-small.frame-bg-only-img,.bg-stripes-small.frame-job-intro,.frame-background-stripes-small.frame-bg-only-img,.frame-background-stripes-small.frame-job-intro {
    background: unset
}

.bg-stripes-small.frame-bg-only-img .gallery-row,.bg-stripes-small.frame-job-intro .gallery-row,.frame-background-stripes-small.frame-bg-only-img .gallery-row,.frame-background-stripes-small.frame-job-intro .gallery-row {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 35px, var(--color-secondary) 35px, var(--color-secondary) 70px)
}

.bg-teaser-target,.frame-background-teaser-target {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 35px, var(--color-accent) 35px, var(--color-accent) 70px);
    color: var(--color-white)
}

.bg-teaser-target .icongroup-item-icon svg,.bg-teaser-target .texticon-icon svg,.frame-background-teaser-target .icongroup-item-icon svg,.frame-background-teaser-target .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.bg-teaser-target.frame-bg-only-img,.bg-teaser-target.frame-job-intro,.frame-background-teaser-target.frame-bg-only-img,.frame-background-teaser-target.frame-job-intro {
    background: unset
}

.bg-teaser-target.frame-bg-only-img .gallery-row,.bg-teaser-target.frame-job-intro .gallery-row,.frame-background-teaser-target.frame-bg-only-img .gallery-row,.frame-background-teaser-target.frame-job-intro .gallery-row {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 35px, var(--color-accent) 35px, var(--color-accent) 70px)
}

.frame-background-primary {
    --frame-background: var(--color-primary)
}

.frame-background-primary .icongroup-item-icon svg,.frame-background-primary .texticon-icon svg {
    color: var(--color-white);
    filter: unset
}

.frame-bg-only-img,.frame-job-intro {
    color: var(--color-black);
    background: unset
}

.frame-bg-only-img .gallery-row,.frame-job-intro .gallery-row {
    border-radius: var(--border-radius);
    overflow: hidden;
    aspect-ratio: 1.4890510949
}

@media screen and (max-width: 767px) {
    .frame-bg-only-img .gallery-row,.frame-job-intro .gallery-row {
        aspect-ratio:0.7666666667;
        border-radius: var(--response-border-radius)
    }
}

.frame-bg-only-img .gallery-row .gallery-item,.frame-job-intro .gallery-row .gallery-item {
    margin-top: auto
}

.contentcontainer-column .frame-bg-only-img {
    padding: unset
}

.contentcontainer-column .frame-bg-only-img.frame-layout-default .frame-container-default {
    padding: unset
}

.btn {
    border: 2px solid;
    border-radius: 25px;
    box-shadow: none;
    padding: 10px var(--padding-btn);
    --padding-btn: 25px;
    font-weight: 600;
    font-size: 18px;
    line-height: 26px
}

.btn-primary {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.btn-primary [class^="text-color-"] {
    color: var(--color-white)
}

.btn-primary:hover,.btn-primary:active {
    color: var(--color-primary);
    background-color: var(--color-white) !important;
    border-color: var(--color-white) !important
}

.btn-primary:hover [class^="text-color-"],.btn-primary:active [class^="text-color-"] {
    color: var(--color-primary)
}

.btn-outline-primary {
    color: var(--color-primary);
    background-color: transparent;
    border-color: var(--color-primary)
}

.btn-outline-primary:hover,.btn-outline-primary:active {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.btn-outline-primary:hover [class^="text-color-"],.btn-outline-primary:active [class^="text-color-"] {
    color: var(--color-white)
}

.link-arrow {
    padding-right: calc(var(--padding-btn) + 1em);
    position: relative
}

.link-arrow:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: none;
    background-color: currentColor;
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    transition: all 0.2s ease-in
}

.link-arrow:hover:after {
    right: 0.5em
}

.link-arrow.btn:after {
    position: absolute;
    right: 1em
}

.link-arrow:not(.btn) {
    color: var(--color-black);
    text-decoration: none
}

.link-arrow:not(.btn):hover {
    text-decoration: underline
}

.link-arrow-left {
    padding-left: calc(var(--padding-btn) + 1em);
    position: relative
}

.link-arrow-left:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: none;
    background-color: currentColor;
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    transform: scaleX(-1);
    transition: all 0.2s ease-in
}

.link-arrow-left:hover:before {
    left: 0.5em
}

.link-arrow-left.btn:before {
    position: absolute;
    left: 1em
}

.link-arrow-left:not(.btn) {
    color: var(--color-black);
    text-decoration: none
}

.link-arrow-left:not(.btn):hover {
    text-decoration: underline
}

.btn-cta {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    padding: 31.5px var(--padding-btn) 31.5px 18px;
    padding-right: calc(var(--padding-btn) + 2em);
    width: 100%;
    max-width: 585px;
    font-weight: 600;
    font-size: 26px;
    line-height: 39px;
    transition: ease-in 0.3s
}

.btn-cta [class^="text-color-"] {
    color: var(--color-white)
}

.btn-cta.link-arrow:hover,.btn-cta:active {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    border-radius: 0
}

.btn-cta.link-arrow:hover [class^="text-color-"],.btn-cta:active [class^="text-color-"] {
    color: var(--color-white)
}

.btn-cta.link-arrow:hover:after,.btn-cta:active:after {
    right: 0.5em
}

@media screen and (min-width: 768px) {
    .btn-cta {
        padding:55px var(--padding-btn) 50px 45px;
        padding-right: calc(var(--padding-btn) + 2em);
        font-weight: 600;
        font-size: 39px;
        line-height: 56px
    }
}

.btn-default {
    color: var(--color-primary);
    background-color: var(--color-white);
    border-color: var(--color-white)
}

.btn-default:hover,.btn-default:active {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.btn-outline-default {
    color: var(--color-white);
    background-color: transparent;
    border-color: var(--color-white)
}

.btn-outline-default:hover,.btn-outline-default:active {
    color: var(--color-black);
    background-color: var(--color-white);
    border-color: var(--color-white)
}

.link-arrow-down {
    padding-right: calc(var(--padding-btn) + 1em);
    position: relative
}

.link-arrow-down:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: none;
    background-color: var(--color-primary);
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    position: absolute;
    right: 1em;
    transition: all 0.2s ease-in;
    transform: rotate(90deg);
    align-self: center
}

.link-arrow-down:hover:after {
    margin-top: 0.5em
}

.contact-btn {
    position: fixed;
    bottom: 6rem;
    right: 1.5rem;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--color-secondary);
    border-radius: 50%;
    border: none;
    padding: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 2000 !important
}

.contact-btn:hover {
    transform: translateY(-2px);
    transition: 0.2s ease
}

.contact-btn:active {
    transform: scale(0.96)
}

@media screen and (max-width: 767px) {
    .contact-btn {
        bottom:1rem
    }
}

@media screen and (max-width: 767px) {
    *:has(> .btn) {
        display:flex;
        justify-content: center;
        flex-direction: column;
        width: 100%
    }

    *:has(> .btn) .btn {
        margin-inline:auto}
}

@media screen and (max-width: 767px) {
    .contact-modal__actions a .btn .btn-default {
        margin-inline:unset
    }
}

.frame-card-teaser-talent-network .card-group-element {
    --cardgroup-gap: 1.5rem
}

.frame-card-teaser-talent-network .card {
    background: repeating-linear-gradient(to bottom, var(--color-primary) 0px, var(--color-primary) 35px, var(--color-accent) 35px, var(--color-accent) 70px);
    border: none;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .frame-card-teaser-talent-network .card {
        border-radius:var(--response-border-radius);
        min-width: 200px
    }
}

.frame-card-teaser-talent-network .card .card-img-top {
    height: 100%
}

.frame-card-teaser-talent-network .card .card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 1.5rem;
    color: #fff;
    z-index: 2
}

.frame-card-teaser-talent-network .card .card-title {
    color: #fff;
    font-size: 25px;
    font-weight: 600;
    margin: 0;
    line-height: 40px
}

.frame-card-teaser-talent-network .card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--border-radius);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    z-index: 1;
    height: 50%;
    bottom: 0;
    margin-top: auto
}

@media screen and (max-width: 767px) {
    .frame-card-teaser-talent-network .card::after {
        border-radius:var(--response-border-radius)
    }
}

.frame-card-teaser-talent-network .card .card-img-top picture,.frame-card-teaser-talent-network .card .card-img-top img {
    width: auto;
    height: 100%;
    display: flex;
    justify-content: center;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .frame-card-teaser-talent-network .card .card-img-top picture,.frame-card-teaser-talent-network .card .card-img-top img {
        border-top-left-radius:var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

@media screen and (max-width: 767px) {
    .frame-card-teaser-talent-network .card-group-element-item {
        min-height:200px
    }
}

.frame-card-teaser-talent-network .card-group-element-item .card-footer {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-top: 10px
}

.frame-card-teaser-talent-network .card-group-element-item .card-header {
    position: absolute;
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    height: 100%;
    width: 100%
}

.btn.card-btn-empty {
    background-color: transparent;
    box-shadow: unset;
    color: #000;
    width: 100%;
    height: 100%
}

.btn.card-btn-empty:hover:after {
    background-color: unset;
    transform: translateX(10px)
}

.btn.card-btn-empty .btn-text {
    display: none
}

.card {
    border: unset
}

.card .btn-default {
    position: relative;
    background-color: var(--primary-color);
    color: #000;
    border: none;
    border-radius: 5%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 3px 10px #00000029
}

.card .btn-default::after {
    content: "";
    background-image: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil-weiss.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 2.5rem;
    height: 2.25rem;
    position: absolute;
    right: 40px;
    top: 30px;
    transition: transform 0.5s ease
}

@media screen and (max-width: 767px) {
    .card-teaser-talent-network .card-group-element {
        --cardgroup-gap: 0.85rem
    }

    .card .btn-default:after {
        right: 15px;
        top: 15px
    }
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element {
    gap: 25px;
    flex-direction: column
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item {
    max-width: 670px
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item:nth-child(2n) {
    margin-left: auto
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card {
    padding: 30px 20px
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card .card-overlay {
    display: flex;
    flex-direction: column;
    gap: 45px
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card .card-overlay h3 {
    font-size: 20px;
    line-height: 27px
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card .card-overlay strong {
    font-weight: 900
}

.frame-type-card_group.frame-background-linear-gradient .card-group-element * {
    border-radius: var(--border-radius);
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .frame-type-card_group.frame-background-linear-gradient .card-group-element * {
        border-radius:var(--response-border-radius)
    }
}

.frame-type-card_group[class*="frame-background-"]:not(.frame-background-none) {
    padding-top: 65px;
    padding-bottom: 80px
}

.frame-type-card_group[class*="frame-background-"]:not(.frame-background-none) .frame-header {
    max-width: 750px
}

.frame-type-card_group[class*="frame-background-"]:not(.frame-background-none) .frame-header .element-header {
    margin-bottom: 35px
}

.frame-type-card_group[class*="frame-background-"]:not(.frame-background-none) .frame-header .element-subheader {
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 66px
}

@media screen and (min-width: 768px) {
    .frame-type-card_group.frame-background-linear-gradient .card-group-element {
        gap:45px
    }

    .frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card {
        padding: 40px 20px 45px
    }

    .frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card .card-overlay {
        gap: 40px
    }

    .frame-type-card_group.frame-background-linear-gradient .card-group-element .card-group-element-item .card .card-overlay h3 {
        font-size: 35px;
        line-height: 45px
    }

    .frame-type-card_group[class*="frame-background-"] .frame-header .element-header {
        margin-bottom: 23px
    }

    .frame-type-card_group[class*="frame-background-"] .frame-header .element-subheader {
        margin-bottom: 45px
    }
}

.frame-teaser-card .card-group-element-item {
    height: 424px
}

.frame-teaser-card .card-group-element-item .card {
    height: 100%;
    display: flex;
    overflow: hidden;
    border: unset;
    border-radius: var(--border-radius);
    padding: 2rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    gap: 5px
}

@media screen and (max-width: 767px) {
    .frame-teaser-card .card-group-element-item .card {
        border-radius:var(--response-border-radius)
    }
}

.frame-teaser-card .card-group-element-item .card .card-img-top {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
    max-height: 70%
}

.frame-teaser-card .card-group-element-item .card .card-img-top picture,.frame-teaser-card .card-group-element-item .card .card-img-top img {
    width: 100%;
    height: 100%;
    align-content: flex-end;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .frame-teaser-card .card-group-element-item .card .card-img-top picture,.frame-teaser-card .card-group-element-item .card .card-img-top img {
        border-top-left-radius:var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

.frame-teaser-card .card-group-element-item .card .card-img-top img {
    width: 100%;
    height: auto;
    background-position: top
}

.frame-teaser-card .card-group-element-item .card .card-img-top+span.card-icon {
    height: 54px;
    width: 54px;
    right: 0;
    top: 10px;
    position: absolute
}

.frame-teaser-card .card-group-element-item .card .card-img-top+span.card-icon svg {
    width: 100%;
    height: 100%
}

.frame-teaser-card .card-group-element-item .card .card-overlay:has(.margin-top)~.card-img-top {
    max-height: unset
}

.frame-teaser-card .card-group-element-item .card span.card-icon {
    height: 100%;
    width: auto;
    text-align-last: center
}

.frame-teaser-card .card-group-element-item .card span.card-icon svg {
    height: 100%;
    width: auto
}

.frame-teaser-card .card-group-element-item .card .card-header {
    z-index: 2;
    padding: unset;
    border: unset;
    background: unset
}

.frame-teaser-card .card-group-element-item .card .card-overlay {
    z-index: 2;
    hyphens: auto
}

.frame-teaser-card .card-group-element-item .card .card-overlay:has(.margin-top) {
    margin-top: auto
}

.frame-teaser-card .card-group-element-item .card .card-overlay:has(.margin-top)+.card-icon {
    order: -1
}

.frame-teaser-card .card-group-element-item .card h3 {
    font-size: 34px;
    line-height: 38px
}

.frame-teaser-card .card-group-element-item .card p {
    font-size: 21px;
    font-weight: 700;
    line-height: 42px
}

.frame-teaser-card .card-group-element-item .card strong {
    font-weight: 900
}

.frame-teaser-card .card-group-element-item .card:not([class*="bg-"]) .card-img-top {
    max-height: unset
}

.frame-teaser-card .card-group-element-item .card:not([class*="bg-"]) .card-overlay {
    color: #fff
}

.frame-teaser-card .card-group-element-item:has(.card-img-top) .card:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    z-index: 1;
    height: 70%;
    bottom: 0;
    margin-top: auto
}

.swiper-slide .frame-teaser-card .card-group-element-item {
    width: 100%
}

.frame-img-top-card .card {
    border: unset;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .frame-img-top-card .card {
        border-radius:var(--response-border-radius)
    }
}

.frame-img-top-card .card .card-img-top {
    order: -1;
    aspect-ratio: 1.6273584906;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .frame-img-top-card .card .card-img-top {
        border-top-left-radius:var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

.frame-img-top-card .card .card-overlay {
    padding: 10px 10px 30px
}

.frame-img-top-card .card .card-overlay h3 {
    font-weight: 300;
    font-size: 34px;
    line-height: 41px;
    margin-bottom: 15px;
    margin-top: 5px
}

.frame-img-top-card .card .card-overlay p {
    margin-bottom: unset
}

.frame-img-top-card .card .card-overlay p [class^="text-color-"] {
    font-weight: 600;
    font-size: 24px;
    line-height: 28px
}

@media screen and (min-width: 768px) {
    .frame-img-top-card .card .card-img-top {
        aspect-ratio:1.4733727811
    }

    .frame-img-top-card .card .card-overlay {
        padding: 15px 20px 60px
    }

    .frame-img-top-card .card .card-overlay h3 {
        margin-bottom: 25px
    }
}

@media screen and (min-width: 768px) and (max-width:991px) {
    .card-group-element-columns-3 {
        --cardgroup-columns: 2
    }
}

.card-group-element-item .card,.card-group-element-item .card-grey {
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .card-group-element-item .card,.card-group-element-item .card-grey {
        border-radius:var(--response-border-radius)
    }
}

.accordion {
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-border-radius: 0
}

.accordion .accordion-item {
    border: none;
    border-bottom: 1px solid;
    background-color: transparent
}

.accordion .accordion-item .accordion-button {
    font-family: Poppins;
    font-weight: 600;
    font-size: 24px;
    line-height: 28px;
    padding: 20px 3rem 20px 0
}

.accordion .accordion-item .accordion-button:not(.collapsed) {
    background-color: unset;
    box-shadow: none
}

.accordion .accordion-item .accordion-button:not(.collapsed):after {
    transform: rotate(45deg)
}

.accordion .accordion-item .accordion-button:focus {
    box-shadow: unset
}

.accordion .accordion-item .accordion-button:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: none;
    background-color: currentColor;
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/plus.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/plus.svg") no-repeat center / contain;
    position: absolute;
    right: 1em;
    transition: all 0.2s ease-in;
    color: var(--color-primary)
}

.accordion .accordion-item .accordion-body {
    padding: 0 0 15px
}

.accordion .accordion-item .accordion-header-media {
    margin-bottom: unset
}

.accordion .accordion-item .accordion-header-media .accordion-button {
    gap: 1rem
}

@media screen and (min-width: 768px) {
    .accordion .accordion-item .accordion-header-media .accordion-button {
        gap:2.5rem
    }
}

.accordion .accordion-item .accordion-header-media .headerMedia-inner-icon,.accordion .accordion-item .accordion-header-media .headerMedia-inner-image {
    width: 2.5rem;
    height: 2.5rem
}

@media screen and (min-width: 768px) {
    .accordion .accordion-item .accordion-header-media .headerMedia-inner-icon,.accordion .accordion-item .accordion-header-media .headerMedia-inner-image {
        width:3.5rem;
        height: 3.5rem
    }
}

.accordion .accordion-item .accordion-header-media svg {
    width: 100%;
    height: 100%;
    color: var(--color-primary);
    filter: --color-svg-filter
}

.accordion .accordion-item .accordion-header-media .accordion-collapse {
    margin-left: 56px
}

.contact-card svg,.contact-card img,.contact-modal svg,.contact-modal img {
    width: 100%;
    height: 100%;
    max-width: 210px;
    object-fit: cover;
    aspect-ratio: 1;
    border-radius: 50%
}

.frame-type-list:has(.contact-modal) {
    background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    --color-primary: #5EBAA7;
    --color-secondary: #604BCD;
    color: var(--color-white);
    padding: 0;
    margin-top: 0
}

.frame-type-list:has(.contact-modal) .frame-container {
    position: unset
}

.contact-modal .contact-modal__image {
    display: flex;
    justify-content: center
}

.contact-modal .contact-modal__name {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 0
}

.contact-modal .contact-modal__role {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
    margin-bottom: 10px
}

.contact-modal .contact-modal__hashtag {
    font-size: 18px;
    line-height: 27px;
    text-align: center
}

.contact-modal .contact-modal__headline {
    font-weight: 600;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 1rem;
    margin-top: 45px
}

.contact-modal .contact-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 90%;
    margin: 35px auto 0
}

.contact-modal .contact-modal__actions .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px
}

.contact-modal .contact-modal__actions .btn::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    background: no-repeat center / contain
}

.contact-modal .contact-modal__actions .btn:hover::before {
    filter: brightness(0) saturate(100%) sepia(1) hue-rotate(180deg) contrast(100%)
}

.contact-modal .contact-modal__actions .btn.btn-default {
    margin-top: 40px;
    justify-content: center
}

.contact-modal .contact-modal__actions .btn.btn-default::before {
    content: none
}

.contact-modal .contact-modal__actions .btn-call::before {
    background-image: url("../../vendor/img/bueho-step-icon-telefon-weiss.svg")
}

.contact-modal .contact-modal__actions .btn-mail::before {
    background-image: url("../../vendor/img/bueho-step-icon-email-weiss.svg")
}

.contact-modal .contact-modal__actions .btn-whatsapp::before {
    background-image: url("../../vendor/img/bueho-step-icon-chat-whatsapp-weiss.svg")
}

.contact-modal .contact-modal__actions .btn-appointment::before {
    background-image: url("../../vendor/img/bueho-step-icon-kalender-termin-weiss.svg")
}

.contact-modal .contact-modal__actions .btn-call,.contact-modal .contact-modal__actions .btn-mail,.contact-modal .contact-modal__actions .btn-whatsapp {
    margin-inline:initial}

.contact-modal .contact-modal__close {
    display: flex;
    position: absolute;
    right: 20px;
    top: 20px;
    border: 0;
    background: url("../../vendor/img/icon-close.svg");
    font-size: 0;
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

@media screen and (min-width: 768px) {
    .frame-type-list:has(.contact-modal) {
        max-width:400px
    }
}

.contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 825px;
    margin: auto
}

.contact-card svg,.contact-card img {
    max-width: 240px
}

.contact-card .contact-card__name {
    font-weight: 600;
    font-size: 20px;
    line-height: 100%;
    text-align: center;
    margin-top: 10px
}

.contact-card .contact-card__role {
    font-weight: 300;
    font-size: 20px;
    line-height: 100%;
    text-align: center
}

.contact-card .contact-card__hashtag {
    font-size: 13px;
    line-height: 100%;
    text-align: center
}

.contact-card .contact-card__headline {
    font-weight: 600;
    font-size: 34px;
    line-height: 41px;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 35px
}

.contact-card .btn-outline-primary {
    background-color: transparent
}

.contact-card .btn-outline-primary:hover {
    background-color: var(--color-primary)
}

@media screen and (min-width: 768px) {
    .contact-card svg,.contact-card img {
        max-width:370px
    }

    .contact-card .contact-card__name {
        margin-top: 40px
    }

    .contact-card .contact-card__headline {
        font-size: 70px;
        line-height: 85px;
        margin-top: 25px;
        margin-bottom: 45px
    }
}

.contact-modal.is-open:not(.contact-modal--drawer) {
    display: flex;
    position: fixed;
    inset: 0;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999
}

.contact-modal__dialog {
    background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    --color-primary: #5EBAA7;
    --color-secondary: #604BCD;
    color: var(--color-white);
    margin-top: 0;
    padding: 3.5rem 1rem;
    position: relative;
    height: 100%;
    overflow-y: auto;
    width: 100%
}

.contact-modal__dialog::-webkit-scrollbar {
    width: 8px
}

.contact-modal__dialog::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px
}

.contact-modal__dialog::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px
}

.contact-modal__dialog::-webkit-scrollbar-thumb:hover {
    background: #555
}

.contact-modal__dialog .frame-container {
    position: unset
}

@media screen and (min-width: 768px) {
    .contact-modal__dialog {
        padding:3.5rem 2rem;
        max-width: 450px;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        max-height: 100vw;
        overflow-y: auto;
        border-radius: 22px;
        padding-right: 4rem
    }
}

.contact-modal--drawer {
    position: fixed;
    inset: 0;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease
}

.contact-modal--drawer.is-open {
    opacity: 1;
    pointer-events: auto
}

.contact-modal--drawer .contact-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.22s ease
}

.contact-modal--drawer.is-open .contact-modal__overlay {
    opacity: 1
}

.contact-modal--drawer .contact-modal__dialog {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    margin: 0
}

.textpic-readmore .textpic-item,.textpic-readmore .textpic-gallery,.textpic-readmore .text-media {
    order: 0 !important
}

.textpic-readmore .textpic-text.readmore-active {
    position: relative;
    overflow: hidden;
    max-height: var(--collapsed-height, 20rem);
    transition: max-height 0.5s
}

.textpic-readmore .textpic-text.readmore-active .text-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: linear-gradient(to bottom, rgba(85, 84, 84, 0), #fff);
    pointer-events: none;
    transition: opacity 0.3s ease
}

.textpic-readmore .textpic-text.readmore-active.expanded {
    max-height: none;
    transition: max-height 0.5s
}

.textpic-readmore .textpic-text.readmore-active.expanded .text-fade {
    opacity: 0;
    transition-delay: opacity 0.3s ease
}

.textpic-readmore .read-more {
    display: block;
    margin: 1rem auto 0
}

@media print {
    .textpic-readmore .textpic-text.readmore-active {
        max-height: none;
        overflow: visible
    }

    .textpic-readmore .textpic-text.readmore-active .text-fade {
        display: none
    }
}

.headline-over-image .textpic-item.textpic-text {
    margin-top: -8rem
}

@media screen and (max-width: 767px) {
    .headline-over-image .textpic-item.textpic-text {
        margin-top:-5rem
    }
}

.headline-over-image .textpic-item.textpic-text .element-header {
    white-space: unset;
    display: inline;
    -webkit-box-decoration-break: clone;
    line-height: 1.3;
    padding: 0 20px 0 0;
    background-color: var(--color-white)
}

.textpic .gallery-row img,.textmedia .gallery-row img {
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .textpic .gallery-row img,.textmedia .gallery-row img {
        border-radius:var(--response-border-radius)
    }
}

.frame-job-intro h1 {
    font-weight: 900;
    font-style: Italic;
    font-size: 55px;
    line-height: 65px
}

@media screen and (max-width: 767px) {
    .frame-job-intro h1 {
        font-size:34px;
        line-height: 41px
    }
}

.frame-job-intro+.frame-type-container_3_columns {
    --contentcontainer-gap: 5px 24px
}

.frame-job-intro+.frame-type-container_3_columns .frame-background-light {
    padding: 1rem;
    border-radius: 15px
}

.frame-job-intro+.frame-type-container_3_columns .frame-background-light .frame-container-default {
    padding: unset
}

.frame-job-intro+.frame-type-container_3_columns .frame-background-light .texticon {
    justify-content: space-between
}

.frame-job-intro+.frame-type-container_3_columns .frame-background-light p {
    font-weight: 300;
    font-size: 10px;
    line-height: 14px
}

.frame-job-intro+.frame-type-container_3_columns .frame-background-light strong {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px
}

@media screen and (max-width: 767px) {
    .frame-job-intro .textpic-gallery {
        order:2
    }
}

.application-process {
    --color-primary: #604FCC;
    --color-primary-light: #dfdcf5;
    --color-secondary: #5EB7AB;
    --color-secondary-light: #dff1ee
}

.application-process strong {
    font-weight: 700
}

.application-process .accordion {
    position: relative;
    margin-left: 30px;
    border-left: 5px solid var(--color-secondary);
    padding-left: 14px;
    gap: 20px
}

.application-process .accordion .accordion-item {
    position: relative;
    border: none;
    background: transparent;
    padding: 1rem 1rem 1rem 2rem;
    background-color: var(--color-primary-light);
    border-radius: var(--border-radius);
    margin-bottom: 3rem
}

@media screen and (max-width: 767px) {
    .application-process .accordion .accordion-item {
        border-radius:var(--response-border-radius)
    }
}

.application-process .accordion .accordion-item .accordion-header-media {
    margin: 0 1rem 0 0
}

.application-process .accordion .accordion-item .accordion-button {
    padding: 0;
    background-color: transparent
}

.application-process .accordion .accordion-item .accordion-button span {
    color: var(--color-primary)
}

.application-process .accordion .accordion-item .accordion-button:after {
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil-dreieck.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil-dreieck.svg") no-repeat center / contain;
    color: var(--color-primary);
    right: -1rem
}

.application-process .accordion .accordion-item .accordion-button .headerMedia-inner-icon {
    position: absolute;
    left: -5rem;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background-color: var(--color-secondary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2
}

.application-process .accordion .accordion-item .accordion-button .headerMedia-inner-icon svg {
    width: 2rem;
    height: 2rem
}

.application-process .accordion .accordion-item .accordion-button:not(.collapsed):after {
    transform: rotate(180deg)
}

.application-process .accordion .accordion-item .accordion-button:not(.collapsed) .headerMedia-inner-icon {
    background-color: var(--color-secondary)
}

.application-process .accordion .accordion-item .accordion-button:not(.collapsed) .headerMedia-inner-icon svg {
    filter: brightness(0) invert(1)
}

.application-process .accordion .accordion-item .accordion-body {
    padding-top: 10px
}

.application-process .accordion .accordion-item:has(.collapsed) {
    background: unset
}

.application-process .accordion .accordion-item:last-of-type {
    background-color: var(--color-secondary-light);
    margin-left: -3rem;
    padding: 0
}

.application-process .accordion .accordion-item:last-of-type .accordion-header-media {
    padding: 12px 2rem 12px 8px;
    background-color: var(--color-secondary);
    border-radius: var(--border-radius);
    margin-right: 0
}

@media screen and (max-width: 767px) {
    .application-process .accordion .accordion-item:last-of-type .accordion-header-media {
        border-radius:var(--response-border-radius)
    }
}

.application-process .accordion .accordion-item:last-of-type .accordion-button .headerMedia-inner-icon {
    position: unset;
    border-radius: unset;
    background-color: unset
}

.application-process .accordion .accordion-item:last-of-type .accordion-button .headerMedia-inner-icon svg {
    width: 3rem;
    height: 3rem
}

.application-process .accordion .accordion-item:last-of-type .accordion-button span {
    color: var(--color-white)
}

.application-process .accordion .accordion-item:last-of-type .accordion-button:after {
    content: none
}

.application-process .accordion .accordion-item:last-of-type .accordion-body {
    padding: 1rem
}

.frame-type-search_modal {
    display: none
}

.modal-open .frame-type-search_modal {
    display: block
}

.modal {
    --bs-modal-zindex: 9999;
    --bs-modal-margin: 10%
}

.frame-type-search_modal .btn-search {
    border: none;
    box-shadow: none;
    padding: 0
}

.frame-type-search_modal .modal-header {
    border-bottom: 0
}

.frame-type-search_modal .modal-dialog {
    max-width: 1120px;
    padding: 30px
}

.frame-type-search_modal span.resetbutt {
    display: none
}

.frame-type-search_modal fieldset.kesearch_searchbox {
    display: flex;
    flex-direction: row
}

.frame-type-search_modal input#ke_search_sword {
    width: 100%;
    border: unset;
    box-shadow: none;
    position: unset;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px
}

.frame-type-search_modal input#ke_search_sword:focus-visible {
    outline: none
}

.frame-type-search_modal span.submitbutt input[type="submit"] {
    font-size: 0;
    background: unset;
    border: unset;
    background-image: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/icon-suche.svg");
    filter: brightness(0) saturate(100%);
    min-width: unset;
    max-width: unset;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat
}

.frame-type-search_modal .tx-kesearch-pi1 .kesearch_searchbox {
    border-bottom: 2px solid grey
}

.frame-type-search_modal .modal-body {
    padding: 4rem
}

.frame-type-search_modal div.kesearchbox {
    width: 100%
}

.frame-type-search_modal span.submitbutt {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1rem
}

.frame-type-search_modal input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none
}

@media screen and (max-width: 767px) {
    .frame-type-search_modal .modal-body {
        padding:2rem
    }

    .frame-type-search_modal .modal-dialog {
        max-width: unset;
        height: 100%;
        margin: unset;
        padding: unset
    }

    .frame-type-search_modal .frame-container-default {
        max-width: unset
    }
}

#tms-jobfeed-list>li {
    position: relative
}

#tms-jobfeed-list>li .jobkompass-jobbadge {
    position: absolute;
    top: 1.2rem;
    left: 1.6rem;
    padding: 0.25rem 0.8rem;
    border-radius: 999px;
    background: #fff;
    color: #333;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08)
}

.jobkompass-quiz {
    max-width: 830px;
    margin: 0 auto 4rem
}

.jobkompass-result {
    max-width: 900px;
    margin: 0 auto 4rem
}

.jobkompass-result .jobkompass-progress {
    margin-bottom: 2.5rem;
    text-align: center
}

.jobkompass-result .jobkompass-progressbar-bar {
    width: 100%
}

.jobkompass-result-header {
    margin-bottom: 2rem
}

.jobkompass-result-text {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 640px
}

.jobkompass-heading {
    margin-bottom: 1rem
}

.jobkompass-intro {
    margin-bottom: 2rem
}

.jobkompass-progress {
    text-align: center;
    margin-bottom: 2rem
}

.jobkompass-progress-header {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    margin-bottom: 0.4rem
}

.jobkompass-progressbar {
    width: 100%;
    height: 4px;
    background: #eee;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 0.4rem
}

.jobkompass-progressbar-bar {
    height: 100%;
    width: 0;
    background: #604FCC;
    border-radius: 999px;
    transition: width 0.25s ease
}

.jobkompass-step-label {
    font-size: 0.8rem;
    color: #555;
    display: none
}

.jobkompass-step {
    text-align: center
}

.jobkompass-step-title {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    font-weight: 300;
    font-size: 1.25rem;
    line-height: 1.75rem;
    max-width: 540px
}

.jobkompass-step-illu {
    position: relative;
    display: inline-block;
    margin: 0rem auto 1.3rem;
    text-align: center
}

.jobkompass-step-illu img {
    display: block;
    max-height: 180px;
    height: 100%;
    width: auto
}

.jobkompass-step-number {
    position: absolute;
    right: -30px;
    bottom: 15px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #604FCC;
    color: #fff;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 2.125rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.jobkompass-question {
    font-weight: 600;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.75rem;
    max-width: 540px;
    margin-inline:auto}

.jobkompass-scale {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.9rem;
    margin: 4rem auto 4.5rem;
    line-height: 1.325rem
}

.jobkompass-scale label {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 0;
    cursor: pointer;
    position: relative;
    z-index: 1
}

.jobkompass-scale label span {
    margin-top: 0.2rem
}

.jobkompass-scale::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 8px;
    height: 2px;
    background: #e0d6ff;
    z-index: 0
}

.jobkompass-scale input[type="radio"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #604FCC;
    background: #fff;
    margin-bottom: 0.4rem;
    position: relative;
    transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease
}

.jobkompass-scale input[type="radio"]::before {
    content: "";
    display: none
}

.jobkompass-scale input[type="radio"]:checked {
    transform: scale(1.5);
    background-color: #604FCC;
    border-color: #604FCC
}

.jobkompass-nav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem
}

.jobkompass-btn {
    border-radius: 999px;
    padding: 0.6rem 1.5rem;
    font-size: 0.9rem;
    border: 2px solid #604FCC;
    background: transparent;
    cursor: pointer;
    color: #604FCC
}

.jobkompass-btn:hover {
    color: #fff;
    background: #604FCC
}

.jobkompass-score-cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 2rem 0 2.5rem
}

.jobkompass-card {
    border-radius: 16px;
    padding: 1.2rem 1.4rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.jobkompass-card-percent {
    font-weight: 700;
    font-size: 1.3rem
}

.jobkompass-card-title {
    font-size: 1rem;
    font-weight: 600
}

.jobkompass-card--pflege {
    background: #28b7b3
}

.jobkompass-card--kaufm {
    background: #f56ab5
}

.jobkompass-card--duales {
    background: #604FCC
}

.jobkompass-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3rem
}

.jobkompass-result-actions .jobkompass-btn-primary {
    background: #604FCC;
    color: #fff
}

.jobkompass-jobs h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem
}

#jobkompass-progress-text {
    color: #604FCC
}

#jobkompass-progress-percent {
    display: inline-block;
    padding: 5px 9px 7px 9px;
    border-radius: 0.5rem;
    background: #DCF2EE;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.5rem;
    color: #604FCC
}

@media (min-width: 700px) {
    .jobkompass-score-cards {
        flex-direction:row
    }
}

@media screen and (min-width: 768px) {
    .jobkompass-step-title {
        font-weight:600;
        font-size: 34px;
        line-height: 41px;
        text-align: center;
        margin-inline:auto}

    .jobkompass-step-illu {
        margin: 0rem auto 1.3rem
    }

    .jobkompass-scale {
        margin: 2.5rem auto 3rem
    }

    .jobkompass-progress-header {
        margin-bottom: 1.2rem
    }

    .jobkompass-progressbar {
        height: 8px
    }

    .jobkompass-scale input[type="radio"] {
        width: 26px;
        height: 26px
    }

    .jobkompass-scale::before {
        top: 13px
    }
}

.frame-benefits .icongroup {
    gap: unset
}

.frame-benefits .icongroup .element-subheader {
    max-width: 60%
}

.frame-benefits .icongroup .icongroup-item {
    border-bottom: 1px solid;
    padding-block:20px;--icongroup-space: 2.5rem
}

.frame-benefits .icongroup .icongroup-item .icongroup-item-icon {
    --icongroup-icon-size: 3.5rem
}

.frame-benefits .icongroup .icongroup-item .icongroup-item-text {
    max-width: 50%
}

@media screen and (max-width: 767px) {
    .frame-benefits .icongroup .icongroup-item {
        --icongroup-space: 1rem
    }

    .frame-benefits .icongroup .icongroup-item:first-of-type {
        border-top: 1px solid;
        margin-top: 20px
    }

    .frame-benefits .icongroup .icongroup-item .icongroup-item-icon {
        --icongroup-icon-size: 2.75rem
    }

    .frame-benefits .icongroup .icongroup-item .icongroup-item-text {
        max-width: unset
    }

    .frame-benefits .icongroup .element-subheader {
        max-width: unset
    }
}

.salarycalculator {
    font-family: "Poppins", Arial, sans-serif;
    color: #ffffff;
    --salary-primary: var(--color-primary, #EF9226);
    --salary-secondary: var(--color-secondary, #FC6EC1);
    --salary-accent: var(--color-accent, #FAAF4B)
}

.salarycalculator * {
    box-sizing: border-box
}

.salarycalculator.theme-pflegekraefte,.salarycalculator.cat-3 {
    --salary-primary: var(--color-primary, #EF9226);
    --salary-secondary: var(--color-secondary, #FC6EC1);
    --salary-accent: var(--color-accent, #FAAF4B)
}

.salarycalculator.theme-hebammen,.salarycalculator.cat-5 {
    --salary-primary: var(--color-primary, #A98D79);
    --salary-secondary: var(--color-secondary, #EF9226);
    --salary-accent: var(--color-accent, #B9A08C)
}

@media (min-width: 768px) {
    .salarycalculator {
        width:100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        background: linear-gradient(180deg, var(--salary-primary) 0%, var(--salary-secondary) 100%);
        overflow: hidden
    }
}

.salarycalculator__inner {
    padding: 61px 16px 71px;
    max-width: 1024px;
    margin: 0 auto;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible
}

.salarycalculator__content {
    display: flex;
    flex-direction: column
}

.salarycalculator__title {
    margin-bottom: 45px
}

.salarycalculator__title h2 {
    margin: 0 0 38px;
    font-size: 75px;
    line-height: 85px;
    font-weight: 600;
    letter-spacing: -1.7%;
    color: #ffffff
}

.salarycalculator__intro {
    max-width: 588px;
    margin: 0;
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.92)
}

.salarycalculator__section-label {
    width: 100%;
    margin: 0 0 33px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #ffffff;
    text-align: left
}

.salarycalculator__sector {
    width: 100%;
    margin: 0 0 70px
}

.salarycalculator__select-group {
    position: relative;
    width: 100%;
    max-width: 674px;
    margin: 0 auto
}

.salarycalculator__select-button {
    width: 100%;
    min-height: 60px;
    padding: 18px 16px;
    border: 0;
    border-radius: 15px;
    background: #ffffff;
    color: rgba(17, 17, 17, 0.28);
    font-family: "Poppins", Arial, sans-serif;
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    text-align: left;
    cursor: pointer;
    position: relative;
    box-shadow: none
}

.salarycalculator__select-button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 20px;
    height: 10px;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10' fill='none'%3E%3Cpath d='M1 1L10 9L19 1' stroke='%23EF9226' stroke-width='1.77' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
}

.salarycalculator__select-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.22)
}

.salarycalculator__select-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 30;
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15)
}

.salarycalculator__select-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.salarycalculator__select-list li {
    margin: 0;
    padding: 0
}

.salarycalculator__select-option {
    width: 100%;
    padding: 14px 16px;
    border: 0;
    background: #ffffff;
    color: #111111;
    font-family: "Poppins", Arial, sans-serif;
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease
}

.salarycalculator__select-option:hover,.salarycalculator__select-option:focus {
    background: rgba(239, 146, 38, 0.12);
    color: #111
}

.salarycalculator__select-option.is-active {
    background: rgba(239, 146, 38, 0.18);
    color: #111
}

.salarycalculator__options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 70px;
    width: 100%;
    margin: 0 0 70px
}

.salarycalculator__option-group {
    width: 100%
}

.salarycalculator__option-group h3 {
    margin: 0 0 33px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #ffffff;
    text-align: left
}

.salarycalculator__option-list {
    width: 100%;
    max-width: 674px;
    margin: 0 auto;
    background: rgba(247, 247, 247, 0.92);
    border-radius: 15px;
    padding: 16px 22px
}

.salarycalculator__option-item {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 8px 0;
    background: transparent;
    border: 0;
    cursor: pointer
}

.salarycalculator__option-item input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 33px;
    height: 33px;
    margin: 0;
    flex: 0 0 33px;
    border: 1.5px solid var(--salary-primary);
    border-radius: 50%;
    background: transparent;
    display: grid;
    place-items: center;
    cursor: pointer;
    outline: none;
    box-shadow: none
}

.salarycalculator__option-item input[type="radio"]::before {
    content: "";
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    transform: scale(0);
    transition: transform 0.15s ease
}

.salarycalculator__option-item input[type="radio"]:checked {
    background: var(--salary-primary);
    border-color: var(--salary-primary)
}

.salarycalculator__option-item input[type="radio"]:checked::before {
    transform: scale(1)
}

.salarycalculator__option-item input[type="radio"]:focus-visible {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25)
}

.salarycalculator__option-item span {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    color: #2f3440;
    margin-left: 20px
}

.salarycalculator__result {
    width: 100%;
    margin: 0 0 18px
}

.salarycalculator__result-label {
    margin: 0 0 33px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #ffffff;
    text-align: left
}

.salarycalculator__result-line {
    display: block
}

.salarycalculator__result h3 {
    display: block;
    width: 100%;
    max-width: 674px;
    margin: 0 auto;
    text-align: left;
    font-weight: 600;
    font-size: clamp(24px, 5vw, 75px);
    line-height: clamp(30px, 6vw, 85px)
}

.salarycalculator__allowances {
    width: 100%;
    max-width: 674px
}

.salarycalculator__allowances h3 {
    margin: 0 0 26px;
    margin-top: 28px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #ffffff
}

.salarycalculator__allowances ul {
    margin: 0;
    padding-left: 0;
    list-style: none
}

.salarycalculator__allowances li {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.92)
}

.salarycalculator__allowances li::marker {
    text-decoration: unset
}

.salarycalculator__allowances li strong {
    color: #ffffff;
    font-weight: 700
}

.salarycalculator__info {
    display: none
}

.salarycalculator .visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

@media (max-width: 767px) {
    .salarycalculator {
        width:auto;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        background: none;
        overflow: visible
    }

    .salarycalculator__inner {
        padding: 61px 16px 71px;
        background: linear-gradient(180deg, var(--salary-primary) 0%, var(--salary-secondary) 100%)
    }

    .salarycalculator__title {
        margin-bottom: 20px
    }

    .salarycalculator__title h2 {
        margin-bottom: 40px;
        font-size: 34px;
        line-height: 41px;
        font-weight: 600;
        letter-spacing: -1.7%
    }

    .salarycalculator__intro {
        max-width: none;
        font-size: 20px;
        line-height: 28px;
        font-weight: 300
    }

    .salarycalculator__section-label,.salarycalculator__option-group h3,.salarycalculator__result-label,.salarycalculator__allowances h3 {
        font-size: 20px;
        line-height: 24px;
        font-weight: 600;
        margin-bottom: 10px;
        text-align: left
    }

    .salarycalculator__sector {
        max-width: none;
        margin: 0 0 45px
    }

    .salarycalculator__select-group {
        max-width: none;
        margin: 0
    }

    .salarycalculator__select-button {
        min-height: 34px;
        padding: 9px 34px 9px 10px;
        font-size: 12px;
        border-radius: 6px
    }

    .salarycalculator__divider {
        max-width: none;
        margin: 0 0 16px
    }

    .salarycalculator__options {
        grid-template-columns: 1fr;
        gap: 0;
        max-width: none;
        margin: 0 0 0
    }

    .salarycalculator__option-group {
        margin-bottom: 45px
    }

    .salarycalculator__option-group h3 {
        text-align: left
    }

    .salarycalculator__option-list {
        padding: 8px 10px;
        border-radius: 6px
    }

    .salarycalculator__option-item {
        gap: 0;
        padding: 6px 0
    }

    .salarycalculator__option-item span {
        font-size: 20px;
        line-height: 28px;
        font-weight: 300
    }

    .salarycalculator__result {
        max-width: none;
        margin-bottom: 16px
    }

    .salarycalculator__result-label {
        margin-bottom: 30px
    }

    .salarycalculator__result h3 {
        font-size: 34px;
        line-height: 41px;
        font-weight: 600;
        letter-spacing: -1.7%
    }

    .salarycalculator__allowances {
        max-width: none
    }

    .salarycalculator__allowances h3 {
        margin-bottom: 30px
    }

    .salarycalculator__allowances li {
        font-size: 20px;
        line-height: 28px;
        font-weight: 300
    }

    span.js-salarycalculator-job-label {
        font-size: 20px;
        line-height: 28px;
        font-weight: 300
    }
}

@media (min-width: 768px) and (max-width:1070px) {
    .salarycalculator__inner {
        padding:61px 16px 71px
    }
}

.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 1.5px
}

.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    background: var(--color-primary);
    opacity: 0.5
}

.swiper-pagination-bullets .swiper-pagination-bullet-active {
    opacity: 1
}

@media screen and (min-width: 768px) {
    .swiper-pagination-bullets .swiper-pagination-bullet {
        width:22px;
        height: 22px
    }
}

.swiper-slide>.frame {
    height: 100%;
    border-radius: var(--border-radius);
    --frame-spacing: 15px
}

@media screen and (max-width: 767px) {
    .swiper-slide>.frame {
        border-radius:var(--response-border-radius)
    }
}

.swiper-horizontal:has(.swiper-pagination-bullets) {
    padding-bottom: 2rem
}

.swiper-slide {
    height: auto
}

.swiper-30 {
    overflow: hidden
}

.swiper-30 .textpic {
    gap: 0
}

.swiper-30 .bodytext {
    background: #fff;
    display: flex;
    flex-direction: column;
    position: relative
}

.swiper-30 .bodytext:before {
    content: "";
    display: flex;
    background-image: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/zitat-icon.svg");
    z-index: 1;
    width: 38px;
    height: 38px;
    background-color: var(--color-primary);
    background-size: 65%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    position: absolute;
    top: -25px;
    left: 35px
}

.swiper-30 .bodytext:after {
    content: "";
    width: 100%;
    background-color: rgb(var(--color-primary-rgb) / 0.1);
    position: absolute;
    height: 100%
}

.swiper-30 .gallery-row img {
    border-radius: 0px
}

.swiper-30 blockquote {
    border-left: unset;
    padding: 2rem 0
}

.swiper-30 blockquote p {
    font-weight: 600;
    font-size: 22px;
    line-height: 26px;
    color: var(--color-primary)
}

.swiper-30 blockquote+p {
    font-size: 10px;
    line-height: 14px
}

@media screen and (min-width: 992px) {
    .frame-inner>.swiper-30 {
        margin:8rem 0
    }

    .swiper-30 {
        --swiper-pagination-bottom: -5rem
    }

    .swiper-30 .bodytext:before {
        width: 63px;
        height: 63px;
        top: -30px;
        left: 40px
    }

    .swiper-30 .textpic-gallery {
        width: 70%
    }

    .swiper-30 .textpic-text {
        width: 40%;
        position: absolute;
        right: 0;
        bottom: -3rem;
        max-width: 500px
    }

    .swiper-30 blockquote {
        padding: 2.5rem 1.5rem 1.25rem 1.5rem
    }
}

body .news .article {
    display: flex;
    flex-direction: column;
    height: auto;
    padding-bottom: 0;
    margin-bottom: 0
}

body .news .article .news-img-wrap {
    margin: unset
}

body .news .article .news-img-wrap a {
    width: 100%;
    border: unset;
    padding: unset
}

body .news .article .news-img-wrap a img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 2;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    body .news .article .news-img-wrap a img {
        aspect-ratio:1.3333333333;
        border-top-left-radius: var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

body .news .article .slide-text-wrapper {
    background: var(--color-primary);
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    padding: 25px 17px 40px;
    gap: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%
}

@media screen and (max-width: 767px) {
    body .news .article .slide-text-wrapper {
        border-bottom-left-radius:var(--response-border-radius);
        border-bottom-right-radius: var(--response-border-radius)
    }
}

body .news .article .slide-text-wrapper h3 a {
    font-weight: 600;
    font-size: 34px;
    line-height: 41px;
    color: var(--color-white);
    text-decoration: none
}

body .news .article .slide-text-wrapper .teaser-text {
    margin-bottom: unset
}

body .news .article:last-child {
    padding-bottom: inherit;
    margin-bottom: inherit
}

.swiper-40 .frame {
    padding-bottom: 10px;
    padding-top: 20px
}

.swiper-40 .frame .element-header.h5 {
    text-align: center
}

@media screen and (max-width: 767px) {
    .swiper-40 .frame .element-header.h5 {
        font-size:14px;
        line-height: 20px
    }
}

.swiper-40 .frame p.big-headline {
    font-weight: 600;
    font-size: 80px;
    line-height: 120px;
    text-align: center
}

.swiper-50 .swiper-slide>.frame {
    border: 2px solid var(--color-primary);
    padding: 25px
}

.swiper-50 .swiper-slide>.frame .textpic {
    gap: 20px
}

.swiper-50 .swiper-slide>.frame .textpic-text .element-header.h4 {
    font-weight: 400;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 2rem;
    min-height: 56px
}

.swiper-50 .swiper-slide>.frame .textpic-text p {
    font-weight: 400;
    margin-bottom: unset
}

@media screen and (max-width: 767px) {
    .swiper-50 .swiper-slide>.frame .textpic-text p {
        font-size:16px;
        line-height: 22px
    }
}

.swiper-50 .swiper-slide>.frame figure.image {
    height: 170px;
    align-content: center
}

.swiper-50 .swiper-slide>.frame figure.image img {
    max-height: 170px;
    width: 100%;
    max-width: 230px;
    margin: unset;
    height: 100%;
    object-fit: contain
}

.swiper-10 .swiper-slide .frame {
    height: 100%;
    padding: unset
}

.swiper-10 .texticon {
    padding: 2.75rem 2.5rem 3.5rem
}

.swiper-10 .texticon .texticon-inner-icon {
    width: 80%;
    height: 100%;
    max-width: 330px
}

.swiper-10 .texticon .texticon-inner-icon svg,.swiper-10 .texticon .texticon-inner-icon img {
    width: 100%;
    height: 100%
}

@media screen and (max-width: 767px) {
    .swiper-10 .texticon {
        padding:1.5rem 0
    }
}

.swiper-20 .swiper-slide {
    transition: all 0.3s ease;
    opacity: 0.4
}

.swiper-20 .swiper-slide-active {
    opacity: 1
}

.swiper-20 .swiper-slide video,.swiper-20 .swiper-slide img {
    width: 100%;
    border-radius: var(--border-radius)
}

.swiper-20 .custom-play-btn {
    width: auto;
    max-width: 110px
}

.swiper-20 .textmedia.textmedia-above {
    gap: unset
}

.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 {
    position: relative;
    width: 100%;
    aspect-ratio: 0.5625;
    overflow: hidden;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 {
        border-radius:var(--response-border-radius)
    }
}

.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.image,.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.image picture {
    width: 100%;
    height: 100%;
    display: block
}

.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.video .embed-responsive {
    position: static;
    width: 100%;
    height: auto;
    padding: 0
}

.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.video .embed-responsive-item,.contentcontainer.swiper-20[data-container-identifier="container_slider"] .gallery-item.gallery-item-size-1 figure.video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.swiper-20 .swiper-button-prev {
    color: var(--color-white);
    opacity: 1;
    left: 1rem
}

.swiper-20 .swiper-button-prev svg {
    filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.4))
}

.swiper-20 .swiper-button-next {
    color: var(--color-white);
    opacity: 1;
    right: 1rem
}

.swiper-20 .swiper-button-next svg {
    filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.4))
}

@media screen and (min-width: 768px) {
    .swiper-20 .swiper-button-prev {
        left:27%
    }

    .swiper-20 .swiper-button-next {
        right: 27%
    }
}

.swiper-60 span.text-hidden {
    font-size: 0
}

.swiper-60 .link-arrow {
    margin-top: 20px
}

.swiper-60 .link-arrow:hover:after {
    margin-left: 20px
}

.swiper-60 .link-arrow:after {
    background: var(--color-primary);
    width: 40px;
    height: 40px
}

.swiper-60 small {
    font-weight: 300;
    font-size: 13px;
    line-height: 20px
}

.swiper-60 h3 {
    font-size: clamp(24px, 5vw, 35px);
    line-height: clamp(34px, 6vw, 45px)
}

.swiper-60 .textmedia,.swiper-60 .textpic {
    gap: 10px
}

.swiper-60 img {
    aspect-ratio: 1.0726072607;
    object-fit: cover
}

footer .footer-section {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    overflow: unset
}

footer .footer-section .section-row {
    --section-gap-x: 25px
}

footer .footer-section.footer-headline .footer-logo {
    display: block;
    margin: auto;
    padding-top: 40px;
    padding-bottom: 35px;
    max-width: 290px;
    width: 100%
}

footer .footer-section.footer-headline .footer-claim {
    display: block;
    margin: auto;
    padding-bottom: 35px;
    max-width: 159px;
    width: 100%;
    transform: translate(60px, -50px)
}

footer .footer-section.footer-headline .claim-banner {
    display: inline-block;
    background-color: var(--color-secondary);
    color: var(--color-white);
    padding: 10px 30px 10px 60px;
    transform: rotate(-5deg);
    font-weight: 600;
    font-size: 23px;
    line-height: 100%;
    margin-left: -10px;
    margin-bottom: 10px
}

footer .footer-section small,footer .footer-section .small {
    font-weight: 300;
    font-size: 12px;
    line-height: 18px
}

footer .footer-section .footer-headline-small {
    font-weight: 300;
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 10px
}

footer .footer-section hr {
    margin: 8px 0;
    opacity: 1
}

footer .footer-section .frame-inner hr:first-child {
    margin-top: 28px
}

footer .footer-section p a {
    font-weight: inherit;
    text-decoration: none
}

footer .footer-section .footer-section-content-column-left p:not(:first-child) {
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 10px
}

footer .footer-section .footer-section-content-column-middle p:not(:first-child) {
    font-weight: 400;
    font-size: 18px;
    line-height: 26px;
    margin: unset
}

footer .footer-section .footer-section-content-column-right .textpic {
    gap: 14px
}

footer .footer-section .footer-section-content-column-right .gallery-row {
    --gallery-gap: 40px;
    align-items: center
}

footer .footer-section .footer-section-content-column-right p:has(small) {
    margin-bottom: 0;
    font-weight: 300;
    font-size: 12px;
    line-height: 18px
}

footer .footer-section .footer-section-content-column-right .frame-type-text:last-child .frame-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 55px
}

footer .footer-section .frame-type-textpic+.frame-type-text {
    padding-top: 35px;
    padding-bottom: 20px
}

footer .footer-section .frame-type-social_links {
    padding-top: 18px
}

footer .footer-section .frame-type-social_links a.sociallinks-link {
    width: 28px;
    height: 28px;
    background: var(--color-white);
    border-radius: unset;
    display: flex;
    align-content: center;
    justify-content: center;
    gap: unset;
    color: var(--color-secondary)
}

footer .footer-section .frame-type-social_links .sociallinks-link-icon {
    font-size: 1rem;
    opacity: 1
}

footer .footer-section .frame-type-social_links .sociallinks-item {
    width: auto
}

footer .footer-section .frame-type-social_links ul.sociallinks-list {
    gap: 13px
}

@media screen and (max-width: 767px) {
    footer .footer-section.footer-headline .footer-logo {
        padding-top:60px;
        padding-bottom: 45px;
        max-width: 176px
    }

    footer .footer-section.footer-headline .claim-banner {
        font-size: 12px;
        padding: 10px 10px 10px 40px;
        margin-bottom: unset
    }

    footer .footer-section .footer-headline-small {
        font-size: 14px;
        line-height: 21px
    }

    footer .footer-section.footer-section-content {
        text-align: center
    }

    footer .footer-section .sociallinks-list {
        justify-content: center
    }

    footer .footer-section .frame-inner hr:first-child {
        margin-top: 0
    }

    footer .footer-section .footer-section-content-column-right .textpic {
        gap: 20px
    }

    footer .footer-section .footer-section-content-column-right .gallery-row {
        --gallery-gap: 22px
    }

    footer .footer-section .footer-section-content-column-right .frame-type-text:last-child .frame-inner {
        justify-content: center;
        gap: 85px
    }

    footer .footer-section .frame-type-textpic+.frame-type-text {
        padding-top: 30px
    }

    footer .footer-section .footer-section-content-column-left .frame {
        padding-bottom: 0
    }

    footer .footer-section .footer-section-content-column-middle .frame:first-child {
        padding-top: 0
    }

    footer .footer-section .frame-type-social_links {
        padding-top: 43px;
        padding-bottom: 15px
    }
}

footer .footer-section {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    overflow: unset
}

footer .footer-section.footer-headline {
    height: 235px
}

footer .footer-section .frame-type-social_links .sociallinks-list .sociallinks-link {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 1px solid #fff !important;
    border-radius: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    overflow: hidden !important
}

footer .footer-section .frame-type-social_links .sociallinks-list .sociallinks-link-icon::before {
    filter: brightness(0) saturate(100%) invert(100%) !important
}

#page-header {
    display: flex;
    flex-direction: column !important;
    align-items: center;
    transition: all 0.8s ease;
    overflow: hidden;
    border-bottom: 2px solid transparent;
    box-shadow: none
}

#page-header.bordered {
    border-bottom-color: #CBCBCB
}

.header-top {
    position: sticky !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 50px;
    padding-bottom: 0px;
    transition: padding-top 0.6s ease, padding-bottom 0.6s ease;
    min-height: 79px
}

.header-top.collapsed {
    padding-top: 20px;
    padding-bottom: 10px;
    min-height: 65px
}

.header-bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end !important;
    opacity: 1;
    transform: translateY(0)
}

.navbar-mainnavigation {
    --mainnavigation-link-padding-y: 0
}

.animated-header {
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    transition: all 0.6s ease
}

.header-content {
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    transition: all 0.6s ease
}

.header-logo {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.6s cubic-bezier(0.4, 0, 1, 1)
}

.logo-hidden {
    transition: opacity 0.6s ease-out;
    opacity: 0
}

.menu-btn {
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: center;
    transition: all 1s ease;
    cursor: pointer;
    z-index: 10;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent
}

.header-titles {
    display: none;
    font-size: 17px;
    gap: clamp(18px, 6vw, 100px)
}

.header-titles a {
    text-decoration: none
}

.header-title {
    color: black;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.15s ease, transform 0.15s ease
}

.navbar-toggler {
    height: 75px;
    width: 75px
}

.navbar-toggler.collapsed .navbar-toggler-icon {
    color: #ffffff;
    height: 3px;
    width: 33px
}

.navbar-toggler.collapsed .navbar-toggler-icon:before {
    top: -12px;
    width: 33px;
    height: 3px
}

.navbar-toggler.collapsed .navbar-toggler-icon:after {
    top: 12px;
    width: 33px;
    height: 3px
}

.btn-toggle-navigation {
    background: rgba(0, 0, 0, 0.15);
    padding: 25px
}

.header-titles.show .header-title--1 {
    transition-delay: 0s;
    opacity: 1;
    transform: translateY(0)
}

.header-titles.show .header-title--2 {
    transition-delay: 0.15s;
    opacity: 1;
    transform: translateY(0)
}

.header-titles.show .header-title--3 {
    transition-delay: 0.3s;
    opacity: 1;
    transform: translateY(0)
}

.header-titles.show .header-title--4 {
    transition-delay: 0.45s;
    opacity: 1;
    transform: translateY(0)
}

.header-titles.show .header-title--5 {
    transition-delay: 0.6s;
    opacity: 1;
    transform: translateY(0)
}

.header-titles.hide .header-title--1 {
    transition-delay: 0.75s;
    opacity: 0;
    transform: translateY(20px)
}

.header-titles.hide .header-title--2 {
    transition-delay: 0.6s;
    opacity: 0;
    transform: translateY(20px)
}

.header-titles.hide .header-title--3 {
    transition-delay: 0.45s;
    opacity: 0;
    transform: translateY(20px)
}

.header-titles.hide .header-title--4 {
    transition-delay: 0.3s;
    opacity: 0;
    transform: translateY(20px)
}

.header-titles.hide .header-title--5 {
    transition-delay: 0.15s;
    opacity: 0;
    transform: translateY(20px)
}

@media (max-width: 767px) {
    #page-header {
        align-items:center
    }

    #page-header .container {
        flex-wrap: unset !important
    }

    #page-header .header-top {
        padding-top: 30px;
        padding-bottom: 0px
    }

    #page-header .header-logo {
        transition: opacity 0.4s cubic-bezier(0.4, 0, 1, 1)
    }

    #page-header .logo-hidden {
        transition: opacity 0.4s ease-out;
        opacity: 0
    }

    #page-header .header-top.collapsed {
        padding-top: 30px;
        padding-bottom: 20px
    }

    #page-header .header-content {
        display: flex;
        align-items: center;
        box-sizing: border-box
    }

    #page-header .navbar-brand img,#page-header .header-logo img {
        display: block;
        height: 50px;
        width: auto
    }

    #page-header .menu-btn img {
        width: 23.75px;
        display: block
    }

    #page-header .header-title {
        font-size: 12px;
        line-height: 1;
        transition: opacity 0.4s ease, transform 0.1s ease;
        transform: translateY(20px)
    }

    #page-header .header-titles.show .header-title--1 {
        transition-delay: 0s;
        opacity: 1;
        transform: translateY(0)
    }

    #page-header .header-titles.show .header-title--2 {
        transition-delay: 0.1s;
        opacity: 1;
        transform: translateY(0)
    }

    #page-header .header-titles.show .header-title--3 {
        transition-delay: 0.2s;
        opacity: 1;
        transform: translateY(0)
    }

    #page-header .header-titles.show .header-title--4 {
        transition-delay: 0.3s;
        opacity: 1;
        transform: translateY(0)
    }

    #page-header .header-titles.show .header-title--5 {
        transition-delay: 0.4s;
        opacity: 1;
        transform: translateY(0)
    }

    #page-header .header-titles.hide .header-title--1 {
        transition-delay: 0.4s;
        opacity: 0;
        transform: translateY(20px)
    }

    #page-header .header-titles.hide .header-title--2 {
        transition-delay: 0.3s;
        opacity: 0;
        transform: translateY(20px)
    }

    #page-header .header-titles.hide .header-title--3 {
        transition-delay: 0.2s;
        opacity: 0;
        transform: translateY(20px)
    }

    #page-header .header-titles.hide .header-title--4 {
        transition-delay: 0.1s;
        opacity: 0;
        transform: translateY(20px)
    }

    #page-header .header-titles.hide .header-title--5 {
        transition-delay: 0s;
        opacity: 0;
        transform: translateY(20px)
    }
}

.menu-toggle {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 2rem;
    height: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: none;
    border: none;
    cursor: pointer
}

.menu-toggle .bar {
    display: block;
    height: 3px;
    width: 100%;
    background-color: #fff;
    border-radius: 2px;
    transition: all 0.3s ease
}

.main-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 250px;
    height: 100%;
    background-color: #222;
    color: white;
    padding: 2rem;
    transition: right 0.4s ease
}

.main-nav.active {
    right: 0
}

.navbar-mainnavigation .navbar-toggler {
    display: block;
    margin-bottom: 10px;
    box-shadow: none
}

.navbar-mainnavigation .mt-4 {
    margin-top: 0 !important
}

.navbar-mainnavigation .navbar-nav::before {
    height: 0 !important
}

.offcanvas,.dropdown-menu {
    z-index: 2000
}

.offcanvas.show {
    border-right: unset;
    background: var(--bs-offcanvas-bg) !important
}

.navbar,#page-header {
    z-index: 2100;
    position: relative
}

.dropdown-menu {
    background: none;
    border: none;
    box-shadow: none;
    padding-left: none;
    margin-top: 0.25rem
}

.dropdown-menu .dropdown-item {
    position: relative;
    display: block;
    padding: 0.3rem 0;
    margin: 0.1rem 0;
    color: var(--bs-body-color);
    text-decoration: none;
    font-size: 0.95rem
}

.dropdown-menu .dropdown-item:hover {
    content: none;
    text-decoration: underline
}

.dropdown-menu .dropdown-item.active {
    font-weight: 600
}

.offcanvas .dropdown-menu {
    padding-left: 1.5rem;
    gap: 0.2rem
}

.offcanvas {
    --bs-offcanvas-width: 410px;
    height: 100vh;
    overflow: hidden;
    --bs-offcanvas-bg: linear-gradient(to bottom, #604FCC, #5EB7AB) !important;
    background: var(--bs-offcanvas-bg) !important;
    transition: transform 0.4s ease !important
}

.offcanvas .offcanvas-body {
    height: calc(100vh - 80px);
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-right: 0;
    --bs-offcanvas-padding-y: 0;
    --bs-offcanvas-padding-x: 0
}

.offcanvas .offcanvas-body::-webkit-scrollbar {
    display: none
}

.offcanvas .navbar-nav {
    display: flex;
    flex-direction: column;
    margin-top: none !important;
    padding-top: none !important
}

.offcanvas .nav-item {
    width: 100%
}

.offcanvas .nav-link {
    color: var(--bs-body-color);
    --bs-nav-link-padding-y: 2px;
    --bs-nav-link-padding-x: 0;
    column-gap: 5px;
    font-weight: 600;
    text-decoration: none
}

.offcanvas .nav-link:before {
    content: none !important
}

.offcanvas .nav-link:hover {
    text-decoration: none
}

.offcanvas .subpage-list {
    list-style: none;
    margin: 0;
    padding-left: 0;
    display: flex;
    flex-direction: column
}

.offcanvas .subpage-link {
    color: var(--bs-secondary-color);
    font-size: 0.95rem;
    text-decoration: none
}

.offcanvas-body {
    color: white
}

.offcanvas-body .menu-body-btn {
    background: none;
    border: none;
    width: 35px;
    height: 35px;
    object-fit: contain
}

.offcanvas-body hr {
    border-width: 2px;
    border-color: white;
    margin: 10px 0
}

.offcanvas-body menu-body-title {
    font-size: 15px;
    font-weight: 400
}

.offcanvas-background {
    padding: 0 40px;
    position: relative;
    z-index: 10
}

.offcanvas-header {
    padding: 12px 20px;
    padding-bottom: 30px
}

.offcanvas-header img {
    width: 35px;
    height: 35px;
    object-fit: contain
}

.offcanvas .mt-3 {
    margin-top: 0 !important
}

.close-menu-btn {
    position: relative;
    padding: 0;
    margin: 0 0 0 auto;
    background: none;
    border: none
}

.navbar-toggler {
    width: 50px;
    height: 30px
}

.navbar-toggler .menu-btn {
    padding: 0;
    border: none;
    background: none
}

.navbar-toggler img {
    width: 42px;
    height: 24px;
    object-fit: contain
}

.navbar-toggler .menu-btn:focus {
    outline: none
}

.navbar-toggler:focus {
    outline: none
}

.menu-text {
    padding-top: 0
}

.menu-text .hr-between {
    border-width: 2px;
    margin-top: 5.5px;
    margin-bottom: 5.5px
}

.menu-text .hr-start {
    border-width: 2px;
    margin-top: 25px;
    margin-bottom: 5.5px
}

.menu-text .hr-end {
    border-width: 2px;
    margin-bottom: 25px;
    margin-top: 5.5px
}

.menu-text .submenu-label {
    font-weight: 400;
    color: white;
    text-decoration: none
}

.menu-sociallinks .sociallinks-list {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0
}

.menu-sociallinks .sociallinks-item {
    list-style: none
}

.menu-sociallinks .sociallinks-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 34px;
    height: 34px;
    background-color: #fff;
    color: #604FCC;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    padding: 1rem;
    box-sizing: border-box
}

.menu-sociallinks .sociallinks-link:hover {
    background-color: rgba(228, 224, 224, 0.15);
    opacity: 1
}

.menu-sociallinks .sociallinks-link .bootstrappackageicon {
    display: block;
    width: 1.5rem;
    height: 1.5rem
}

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

#page-header.homePage-header {
    background-color: transparent !important;
    overflow: visible
}

#page-header.homePage-header .container.header-top {
    width: 100%
}

#page-header.homePage-header .header-top {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 10px
}

#page-header.homePage-header .header-top .homePage-header-title {
    font-size: 20px;
    line-height: 28px;
    padding-left: 4rem;
    margin: 0 auto
}

#page-header.homePage-header .header-top .header-titles {
    display: none
}

#page-header.homePage-header .header-bottom {
    display: none !important;
    background: transparent;
    padding-top: 0;
    justify-content: flex-start !important
}

#page-header.homePage-header .header-bottom .header-logo {
    display: none !important;
    opacity: 1;
    margin-top: 10px
}

.header-clem-bue .textpic-item.textpic-gallery {
    flex: 0 0 190px !important;
    width: 190px !important;
    max-width: 190px !important
}

.header-clem-bue .gallery-row,.header-clem-bue .gallery-item,.header-clem-bue .gallery-item picture,.header-clem-bue .gallery-item img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important
}

.header-clem-bue h1 {
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 31.36px;
    line-height: 37.82px;
    font-weight: 600;
    margin: 0
}

@media (min-width: 1200px) {
    .header-clem-bue {
        margin-top:clamp(225px, 16vh, 230px)
    }
}

@media (max-width: 1199px) {
    .header-clem-bue {
        margin-top:0
    }
}

.header-startseite .textpic.textpic-above {
    display: flex
}

.header-startseite .textpic-item.textpic-gallery {
    margin-left: auto
}

.header-startseite .gallery-row {
    justify-content: flex-end
}

.header-startseite .gallery-item img {
    display: block;
    margin-left: auto
}

.hero-home {
    position: relative;
    overflow: hidden;
    max-height: 1000px
}

.hero-home .textpic-readmore .textpic-item {
    max-width: 416px;
    word-break: auto-phrase
}

@media screen and (max-width: 767px) {
    .hero-home {
        position:relative;
        min-height: 1140px;
        overflow: hidden
    }

    .hero-home>.frame-group-container,.hero-home>.frame-group-container>.frame-group-inner,.hero-home .frame-backgroundimage-page-container {
        min-height: inherit;
        height: auto !important;
        max-height: none !important
    }

    .hero-home .frame-backgroundimage {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat
    }
}

@media (max-width: 767.98px) {
    .header-clem-bue h1 {
        font-size:24px;
        font-weight: 600;
        line-height: 28px
    }

    .hero-home .contentcontainer {
        position: relative;
        display: block;
        min-height: 930px
    }

    .hero-home .contentcontainer-column {
        width: 100% !important;
        max-width: none !important;
        flex: none !important
    }

    .hero-home .header-clem-bue,.hero-home .header-startseite {
        position: absolute;
        margin: 0;
        z-index: 2
    }

    .hero-home .header-clem-bue {
        left: 24px;
        top: 255px;
        width: min(270px, calc(100vw - 48px))
    }

    .hero-home .textpic {
        gap: 0
    }

    .hero-home .header-startseite {
        left: 24px;
        right: 24px
    }

    .hero-home .header-clem-bue .textpic-item.textpic-gallery {
        flex: 0 0 96px !important;
        width: 110px;
        max-width: 96px !important;
        margin-bottom: 18px
    }

    .hero-home .header-startseite .textpic-item.textpic-text {
        width: 100% !important;
        padding: 350px 0 0 !important
    }
}

@media screen and (max-width: 767px) {
    #page-header.homePage-header .header-top .homePage-header-title {
        font-weight:400;
        font-size: 8px;
        line-height: 10px;
        margin: 0 0 15px;
        text-align: center;
        padding-left: unset;
        transform: translateY(-10px);
        margin-left: auto;
        margin-right: auto
    }
}

.header-startseite .frame-container {
    margin-top: 20px;
    position: unset
}

.header-startseite .gallery-item figure {
    margin-bottom: 0;
    float: right;
    max-width: 290px
}

.header-startseite .frame-backgroundimage-container,.header-startseite .frame-backgroundimage {
    background-position: top;
    z-index: -1
}

.header-startseite .frame-backgroundimage {
    filter: brightness(0.8)
}

.header-startseite .textpic-item.textpic-text {
    padding: 2rem 0 10.25rem;
    max-width: 500px;
    margin-left: auto
}

.header-startseite .element-header {
    --color-secondary: #5EB7AB;
    display: inline-block;
    background-color: var(--color-secondary);
    color: var(--color-white);
    padding: 10px 30px 10px 60px;
    transform: rotate(-5deg);
    font-weight: 600;
    font-size: 23px;
    line-height: 100%;
    margin-left: -10px;
    margin-bottom: 10px;
    position: absolute;
    left: 0;
    top: 320px
}

.header-startseite .element-subheader {
    color: var(--color-white);
    font-weight: 600;
    font-size: 24px;
    line-height: 41px;
    margin-bottom: 10px;
    hyphens: auto
}

.header-startseite img {
    margin: unset;
    max-width: 400px
}

.header-startseite p {
    margin-bottom: 15px
}

.header-startseite p .btn {
    width: 100%;
    font-size: 24px;
    padding: 10px
}

@media screen and (max-width: 767px) {
    .header-startseite .frame-container {
        margin-top:25px
    }

    .header-startseite .textpic-item.textpic-text {
        padding: 11rem 0 1.5rem
    }

    .header-startseite .element-header {
        font-size: 12px;
        padding: 10px 20px 10px 10px;
        margin-bottom: unset;
        transform: rotate(6deg);
        position: absolute;
        right: -10px;
        left: unset;
        top: 148px
    }

    .header-startseite .element-subheader {
        font-size: 24px;
        line-height: 28px;
        text-align: center;
        margin-bottom: 23px
    }

    .header-startseite .element-subheader p {
        margin-bootom: 12px
    }

    .header-startseite img {
        margin: unset;
        margin-left: auto
    }
}

@media screen and (max-width: 767px) {
    .header-startseite .gallery-item:nth-of-type(1) img {
        max-width:180px;
        width: 100%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: 0
    }

    .header-startseite .gallery-item:nth-of-type(2) img {
        max-width: 130px;
        width: 100%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: 0
    }
}

.page-header-startseite {
    margin-top: -81px
}

#page-header.bordered.homePage-header {
    border-bottom-color: transparent !important
}

.search-card {
    border-top: 2px dotted;
    padding-top: 20px;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.search-card a {
    text-decoration: none
}

.search-card .search-body {
    padding-right: 100px
}

.search-card .search-body .breadcrumbs-search {
    font-size: clamp(14px, 3vw, 18px);
    font-weight: 600;
    text-transform: uppercase
}

.search-card .search-body h4 {
    margin-top: 0
}

.body {
    padding-right: unset
}

div#c346 {
    height: 0;
    padding: 0 0 0
}

form .input-group {
    max-width: 800px;
    border-bottom: 1px solid;
    margin-bottom: 50px;
    padding-bottom: 10px
}

form .input-group .form-control {
    border: none;
    box-shadow: none;
    font-size: 32px;
    font-weight: 200;
    opacity: 0.5
}

form .input-group .image-button {
    box-shadow: none
}

@media only screen and (max-width: 767px) {
    .search-card {
        flex-direction:column;
        align-items: unset
    }

    .search-card .search-body {
        padding-right: 0
    }

    .search-card img {
        width: 25px
    }
}

.icongroup-item-icon svg,.texticon-icon svg {
    color: var(--color-primary);
    filter: var(--color-svg-filter)
}

.frame-type-texticon.frame-background-light {
    border-radius: 15px;
    padding: 1rem;
    height: 100%;
    align-content: center
}

.frame-type-texticon.frame-background-light .texticon {
    justify-content: space-between
}

.frame-type-texticon.frame-background-light .texticon p {
    font-weight: 300;
    font-size: 10px;
    line-height: 14px
}

.frame-type-texticon.frame-background-light .texticon strong {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px
}

.event-container .main-content-detail-page {
    display: flex;
    flex-wrap: wrap
}

.event-container .main-content-detail-page .event-freePlaces {
    margin: 20px 0
}

.event-container .main-content-detail-page .event-freePlaces span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600
}

.event-container .main-content-detail-page .event-freePlaces span:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 50%
}

.event-container .main-content-detail-page .event-freePlaces .available:before {
    background: #61A45C
}

.event-container .main-content-detail-page .event-freePlaces .not-available:before {
    background: #FF0000
}

.event-container .main-content-detail-page .related-event {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px
}

.event-container .main-content-detail-page .related-event .related-event-title {
    margin-right: 10px
}

.event-container .main-content-detail-page .related-event .related-event-title a {
    text-decoration: none
}

.event-container .main-content-detail-page .registration-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 40px 0
}

.event-container .main-content-detail-page .registration-container .calendar-icon {
    margin: 0 20px 0 auto
}

.event-container .main-content-detail-page .registration-container .add-to-calender {
    display: flex;
    align-items: center
}

.event-container .main-content-detail-page .registration-container .add-to-calender:after {
    content: "";
    display: inline-block;
    background-image: url("../../../../fileadmin/user_upload/Icons/pfeil-rechts-schwarz.svg");
    height: 30px;
    width: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

.event-container .main-content-detail-page .registration-container .add-to-calender a {
    text-decoration: none;
    color: #000000;
    font-size: 18px;
    font-weight: 600
}

.event-container .main-content-detail-page .accordion .accordion-item {
    border: none;
    border-top: 2px solid;
    border-radius: 0
}

.event-container .main-content-detail-page .accordion .accordion-item h2 {
    margin-bottom: 0 !important
}

.event-container .main-content-detail-page .accordion .accordion-item:last-child {
    border-bottom: 2px solid
}

.event-container .main-content-detail-page .accordion .accordion-item .accordion-button {
    padding: 30px 0;
    font-size: 32px
}

.event-container .main-content-detail-page .accordion .accordion-item .accordion-button:not(.collapsed) {
    background-color: unset;
    box-shadow: none
}

.event-container .main-content-detail-page .accordion .accordion-item .accordion-button:focus {
    box-shadow: none
}

.event-container .main-content-detail-page .accordion .accordion-item .accordion-button:after {
    width: 34px;
    height: 34px;
    background-size: unset
}

.event-container .main-content-detail-page .accordion .accordion-item .accordion-body {
    padding: 20px 0
}

.event-container .main-content-detail-page .accordion .event-speaker li {
    list-style: none
}

.event-container .main-content-detail-page .accordion .event-speaker li img {
    max-width: 400px;
    height: auto
}

.event-container h2.event-title.element-header {
    text-align: center
}

.event-container .container-date-location {
    padding: 20px;
    margin: 40px 0;
    border-radius: var(--border-radius);
    color: #ffffff
}

@media screen and (max-width: 767px) {
    .event-container .container-date-location {
        border-radius:var(--response-border-radius)
    }
}

.event-container .container-date-location .event-detail-date {
    padding: 10px 0;
    border-bottom: 2px dotted
}

.event-container .container-date-location .event-detail-date .event-start-end-date {
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 600
}

.event-container .container-date-location .event-detail-location {
    padding: 10px 0
}

.event-container .container-date-location .event-detail-location .event-location-title {
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 600
}

.event-container .container-date-location .event-detail-location .event-room,.event-container .container-date-location .event-detail-location .event-location-address,.event-container .container-date-location .event-detail-location .event-location-zip-city-container {
    font-size: clamp(18px, 3vw, 27px)
}

.event-container .frame-type-container_2_columns .frame-background-light {
    padding: 1rem;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .event-container .frame-type-container_2_columns .frame-background-light {
        border-radius:var(--response-border-radius)
    }
}

.event-container .texticon {
    --texticon-gap: calc(40px / 2);
    display: flex;
    gap: var(--texticon-gap);
    align-items: center
}

.event-container .btn {
    display: flex;
    margin: 1rem auto 2rem;
    width: fit-content
}

.event-container .btn.btn-cta {
    width: 100%
}

.event-container .col-xl-8 {
    width: 100%
}

.event-container .events-img-detail img {
    width: 100%;
    object-fit: cover;
    height: 850px;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .event-container .events-img-detail img {
        border-radius:var(--response-border-radius)
    }
}

.event-container .sidebar-event-contact {
    margin: 65px 0
}

.event-container .sidebar-event-contact .btn {
    margin-bottom: 50px
}

.event-detail-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 100px 0;
    gap: 70px
}

@media only screen and (min-width: 992px) {
    .event-container .main-content-detail-page .event-sidebar-info {
        padding-left:100px
    }
}

@media only screen and (max-width: 992px) {
    .event-container .main-content-detail-page .registration-container {
        flex-wrap:wrap;
        gap: 30px
    }

    .event-container .main-content-detail-page .accordion .accordion-item .accordion-button {
        padding: 15px 0;
        font-size: 18px
    }

    .event-container .main-content-detail-page .accordion .accordion-item .accordion-button:after {
        width: 20px;
        height: 20px
    }

    .event-container .events-img-detail img {
        height: 400px
    }
}

@media only screen and (max-width: 768px) {
    .event-detail-buttons {
        display:flex;
        justify-content: left;
        margin: 0;
        gap: 10px
    }
}

.tms-select__option.cat {
    background: var(--color-primary);
    color: white
}

.event-main-list-item {
    display: flex;
    flex-wrap: wrap;
    background: #F2F2F2;
    border-radius: var(--border-radius);
    margin-bottom: 15px
}

@media screen and (max-width: 767px) {
    .event-main-list-item {
        border-radius:var(--response-border-radius)
    }
}

.event-main-list-item .event-main-list-img-container img {
    width: 100%;
    height: 100%;
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .event-main-list-item .event-main-list-img-container img {
        border-top-left-radius:var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

.event-main-list-item .event-main-list-content-container {
    padding: 30px 50px
}

.ec-toolbar {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 0.75rem
}

.ec-toggle {
    border: unset;
    background: unset
}

.ec-toggle svg {
    width: 2rem;
    height: 2rem
}

.ec-chipbar {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center
}

.ec-chip {
    font-size: 0.9rem;
    padding: 5px 15px;
    border-radius: 999px;
    background: #EEEEEE;
    line-height: 1.2;
    display: inline-flex;
    align-items: center
}

.ec-chip span {
    font-weight: 300;
    font-size: 13px;
    line-height: 17px
}

.ec-chip button {
    border: 0;
    background: transparent;
    margin-left: 0.35rem;
    cursor: pointer
}

.ec-filter-shell {
    margin-bottom: 1rem;
    width: 100%
}

.ec-filter-shell[hidden] {
    display: none !important
}

.ec-filter-row--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3rem;
    row-gap: 1.75rem;
    padding: 1.25rem 0 0.75rem;
    background: transparent;
    border-radius: 0
}

.ec-filter {
    display: flex;
    flex-direction: column;
    gap: 0.45rem
}

.ec-filter label {
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.2;
    color: #111
}

.ec-filter .category-input {
    width: 100%;
    min-width: 0;
    padding: 0.75rem 2.25rem 0.75rem 0;
    border: 0;
    border-bottom: 1px solid #d9d9d9;
    border-radius: 0;
    background: transparent;
    color: #111;
    font-size: 1rem;
    outline: none
}

.ec-filter .category-input:focus {
    border-bottom-color: var(--color-primary);
    box-shadow: 0 2px 0 0 var(--color-primary)
}

.ec-filter select.category-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #111 50%), linear-gradient(135deg, #111 50%, transparent 50%);
    background-position: calc(100% - 14px) 55%, calc(100% - 9px) 55%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat
}

.ec-filter input[type="date"].category-input {
    padding-right: 0.5rem
}

.ec-filter input[type="date"],.ec-filter select {
    min-width: 0
}

@media (prefers-reduced-motion:no-preference) {
    .ec-filter-shell {
        transition: height 0.2s ease, opacity 0.2s ease, transform 0.2s ease
    }
}

.ec-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin: 0.25rem 0 1rem
}

.ec-legend-item {
    position: relative;
    padding-left: 1.1rem;
    line-height: 1.4
}

.ec-legend-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    transform: translateY(-50%);
    background: var(--color-primary)
}

#ec-list {
    gap: 15px;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 767px) {
    .ec-toggle svg {
        width:1.75rem;
        height: 1.375rem
    }

    .ec-filter-row--grid {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 1.25rem
    }

    .ec-chipbar {
        gap: 0.45rem
    }
}

.tms-select__native {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px
}

.tms-select__trigger {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d9d9d9;
    padding: 0.75rem 2.25rem 0.75rem 0;
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
    position: relative
}

.tms-select__trigger::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #111;
    border-bottom: 2px solid #111;
    transform: translateY(-60%) rotate(45deg)
}

.tms-select.is-open .tms-select__trigger {
    border-bottom-color: var(--color-primary);
    box-shadow: 0 2px 0 0 var(--color-primary)
}

.tms-select__menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    z-index: 50;
    background: #fff;
    border-radius: var(--border-radius);
    padding: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    max-height: 280px;
    overflow: auto
}

@media screen and (max-width: 767px) {
    .tms-select__menu {
        border-radius:var(--response-border-radius)
    }
}

.tms-select.is-open .tms-select__menu {
    display: block
}

.tms-select__option {
    padding: 10px 12px;
    border-radius: 999px;
    margin-bottom: 8px;
    cursor: pointer;
    user-select: none
}

.tms-select__option:last-child {
    margin-bottom: 0
}

.tms-select__option:hover,.tms-select__option[aria-selected="true"] {
    background: #f3f3ff;
    color: var(--color-primary)
}

.tms-select {
    position: relative
}

.event-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F2F2F2;
    border-radius: var(--border-radius)
}

@media screen and (max-width: 767px) {
    .event-list-item {
        border-radius:var(--response-border-radius)
    }
}

.event-list-item .event-startdate {
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
    min-width: 175px;
    max-width: 175px;
    display: flex;
    align-items: flex-end;
    justify-content: left;
    font-weight: 700;
    color: #ffffff;
    font-size: 34px;
    padding: 18px 18px 26px;
    flex-wrap: wrap
}

@media screen and (max-width: 767px) {
    .event-list-item .event-startdate {
        border-top-left-radius:var(--response-border-radius);
        border-top-right-radius: var(--response-border-radius)
    }
}

.event-list-item .event-startdate span {
    line-height: 1
}

.event-list-item .event-startdate .event-weekday {
    font-size: clamp(17px, 3vw, 27px);
    line-height: 22px;
    font-weight: 700;
    font-size: 20px
}

.event-list-item .event-startdate .event-date {
    font-size: 33px;
    margin-right: 2px
}

.event-list-item .event-startdate .event-time {
    font-weight: 700;
    font-size: 20px;
    flex-basis: 100%;
    margin-top: 25px
}

.event-list-item .event-title-container {
    font-size: 20px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    position: relative;
    width: 100%;
    padding-right: 30px;
    color: var(--color-black);
    line-height: 28px;
    font-weight: 600
}

.event-list-item .event-title-container:after {
    content: "";
    display: inline-block;
    background: none;
    background-color: currentColor;
    -webkit-mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    mask: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil.svg") no-repeat center / contain;
    color: var(--color-black);
    height: 30px;
    width: 30px;
    background-size: contain;
    transition: all 0.3s ease-in-out;
    right: 4rem;
    top: 0;
    position: absolute
}

.event-list-item .event-link {
    margin-right: 30px
}

.event-list-item .event-link img {
    width: 30px
}

.event-registration-row {
    position: relative;
    --bs-gutter-x: 40px;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto
}

.event-list-label {
    font-weight: bold
}

.event-speaker ul {
    padding: 0
}

.event-speaker .speaker-name {
    margin: 20px 0 50px
}

.tx-sf-event-mgt a {
    text-decoration: none
}

.event-title {
    padding: 15px 85px;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    background-color: var(--color-light-grey);
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--border-radius);
    margin-bottom: 1rem
}

@media screen and (max-width: 767px) {
    .event-title {
        border-radius:var(--response-border-radius);
        padding: 0
    }
}

.event-title h2 {
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 0px
}

.event-title span {
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 0px
}

@media (max-width: 767px) {
    .event-list-item {
        flex-direction:column
    }

    .event-list-item .event-startdate {
        border-bottom-left-radius: 0;
        border-top-right-radius: var(--border-radius);
        max-width: unset;
        width: 100%;
        font-size: 27px;
        justify-content: start;
        padding: 8px 16px
    }

    .event-list-item .event-startdate .event-weekday {
        width: unset;
        margin: 2px 0 0 10px
    }

    .event-list-item .event-startdate .event-time {
        flex-basis: unset;
        margin-left: auto
    }

    .event-list-item .event-link {
        margin-left: auto;
        margin-right: 0;
        padding: 0 20px 20px
    }

    .event-list-item .event-title-container {
        padding: 10px;
        margin: 0 auto 0 0;
        padding-right: 40px;
        padding-bottom: 50px;
        padding-top: 15px
    }

    .event-list-item .event-title-container .event-title {
        word-break: break-word
    }

    .event-list-item .event-title-container:after {
        right: 20px;
        top: auto;
        bottom: 10px
    }

    .event-list-header {
        flex-wrap: wrap
    }

    .event-list-header span {
        font-size: 13px
    }
}

.form-confirm-btn {
    margin-bottom: 0.5rem
}

@media only screen and (min-width: 1024px) {
    .event-list-item:hover .event-title-container:after {
        right:30px;
        transition: all 0.3s ease-in-out
    }
}

.event-list-value {
    background: var(--color-primary);
    padding-bottom: 0.5rem
}

.frame-type-sfeventmgt_pieventregistration {
    padding: 0 0 0 0;
    margin: 0 0 0 0
}

.event-registration-row {
    background: none;
    padding: 0 0 0 0
}

.registration-form .mb-3 {
    margin-bottom: 0 !important
}

.registration-form .event-registration-label {
    max-width: 680px;
    margin: 0 auto;
    margin-top: 2rem
}

.registration-form .event-registration-label h4 {
    font-weight: 600;
    font-size: 20px
}

.registration-form .form-items .form-select,.registration-form .form-items input {
    max-width: 680px !important;
    background-color: var(--color-light-grey);
    padding: 17px 17px 15px;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    border: unset;
    box-shadow: unset;
    border-radius: var(--response-border-radius);
    color: var(--color-black)
}

.registration-form .form-items .form-select {
    background-size: 26px 14px;
    background-image: url("../../../../_assets/dda1d496207e73d23a4e5bb55f544eef/Icons/bueho-step-icon-pfeil-dreieck-event.svg");
    background-position: right 1rem center
}

.registration-form .form-element {
    max-width: 680px;
    margin: 0 auto
}

.registration-form .form-element label {
    font-size: clamp(10px, 5vw, 15px);
    margin-top: 1rem
}

.registration-form .form-confirm {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 2rem
}

.registration-form .form-required-note {
    max-width: 680px;
    margin: 0 auto;
    text-align: right;
    margin-top: 1rem;
    font-size: clamp(10px, 5vw, 15px);
    color: var(--color-black)
}

.registration-back-btn {
    max-width: 680px;
    margin: 0 auto;
    text-align: right;
    margin-bottom: 1rem
}

.registration-back-btn a {
    font-weight: 400;
    font-size: 20px;
    line-height: 28px
}

.registration-back-btn .link-arrow-left:before {
    background-color: black;
    transform: translateY(10px) scaleX(-1);
    font-size: xx-large
}

.event-saveregestration .saveregestration-notification h4 {
    font-weight: 700;
    font-size: clamp(20px, 5vw, 25px)
}

.event-saveregestration .saveregestration-notification span {
    font-weight: 300;
    font-size: clamp(15px, 5vw, 20px)
}

.event-saveregestration .saveregestration-notification:before {
    content: "";
    display: inline-block;
    background-image: url("../../../../../../../../fileadmin/user_upload/registration-plane.svg");
    height: 120px;
    width: 380px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    position: static;
    margin: 0 auto
}

@media (min-width: 768px) {
    .event-saveregestration .saveregestration-notification {
        margin:0 auto;
        text-align: center
    }
}

.event-saveregestration .frame-container {
    margin-bottom: 2rem
}

.event-saveregestration .frame-container .frame-header {
    margin-top: 2rem
}

.email-event-container {
    display: flex;
    flex-direction: row
}

.custom-form-wrapper {
    background-color: #f8f9fa;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1)
}

.custom-form-wrapper .form-control {
    border-radius: 0.25rem
}

.application-form .form-container h2 {
    padding: 15px 85px;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    background-color: var(--color-light-grey);
    max-width: 670px;
    margin-left: auto;
    margin-right: auto
}

.application-form .form-container fieldset div {
    max-width: 670px;
    margin-left: auto;
    margin-right: auto
}

.application-form .form-container legend {
    font-family: Poppins;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px
}

.application-form .form-container .form-element .form-select,.application-form .form-container .form-element .form-control:not(textarea) {
    background-color: var(--color-light-grey);
    padding: 17px 17px 15px;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    border: unset;
    box-shadow: unset;
    border-radius: var(--response-border-radius);
    color: var(--color-black)
}

.application-form .form-container label {
    font-family: Poppins;
    font-weight: 300;
    font-size: 10px;
    line-height: 14px;
    color: var(--color-black)
}

.application-form .form-container label.form-check-wrapping-label {
    display: flex
}

.application-form .form-container label .form-check-label:has(.required) {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse
}

.application-form .form-container .form-actions {
    margin-top: 1rem;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto
}

.customer-feedback {
    padding-top: 8rem;
    padding-bottom: 9rem
}

.customer-feedback form {
    max-width: 700px
}

.customer-feedback h2 {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 20px
}

.customer-feedback p {
    font-weight: 400;
    font-size: 16px;
    line-height: 22px
}

.customer-feedback .form-element-radio {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 2rem
}

.customer-feedback .form-element-radio .form-text {
    color: var(--color-black);
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 2rem;
    margin-top: unset
}

.customer-feedback .form-check-wrapping-label {
    display: flex;
    align-content: center;
    align-items: center;
    gap: 1rem
}

.customer-feedback .form-check-wrapping-label .form-check-input {
    width: 2rem;
    height: 2rem;
    margin-top: unset;
    cursor: pointer
}

.customer-feedback .form-check-wrapping-label .form-check-input:checked {
    background-color: #8D46AD;
    border-color: #8D46AD
}

.customer-feedback .form-check-wrapping-label .form-check-input:focus {
    box-shadow: unset
}

.customer-feedback button.btn {
    border-color: #BD99CD;
    color: #BD99CD;
    background-color: transparent;
    margin-top: 2rem
}

.customer-feedback button.btn:hover {
    background-color: #BD99CD;
    color: var(--color-white)
}

@media screen and (max-width: 767px) {
    .customer-feedback {
        padding-top:1.75rem;
        padding-bottom: 2rem
    }

    .customer-feedback .form-element-radio {
        margin-top: 3rem
    }

    .customer-feedback .form-element-radio .form-text {
        margin-bottom: 1rem
    }

    .customer-feedback button.btn {
        margin-top: 2rem
    }
}
