@font-face {
    font-family: 'Univers LT W01_55 Roman1475956';
    src: url('/static/fonts/5c8d59c2-9c85-4a22-88e3-bf3fba01dcd8.woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Univers LT W01_65 Bold1475968';
    src: url('/static/fonts/8a711a0d-3f17-4bfe-887b-6229858332b3.woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Univers LT W01_45 Light1475944';
    src: url('/static/fonts/9fa24f1f-00d8-4d28-910f-78e925eaead6.woff2');
    font-display: swap;
}

html, body {
    height: 100%;    
}

body {
    display: flex;
    overflow-x: hidden;
    flex-direction: column;
    font-family:'Univers LT W01_55 Roman1475956';
    font-size:17px;
    /*hyphens:auto;*/
}   

body::after {
    transition: all 0.15s ease;
    content:'';
    background: hsl(0deg 0% 100% / 70%);
    position: fixed;
    top:0;
    bottom:0;
    width:100%;
    z-index:500;
    opacity:0;
    pointer-events: none;
}

body.megamenu-open::after {
    opacity:1;
}

a,
.child.selected > a,
a.show {
    color: #E2001A;
}

.content a.icon:hover {
    background:#4b5e78;
}

.content a.icon {
    text-decoration:none;
    background: #E2001A;
    color: #fff;
    display: inline-flex;
    border-radius: 100%;
    aspect-ratio: 1/1;
    align-items: center;
    justify-content: center;
    width: 80px;
    margin: 1rem .5rem;
}

footer a.icon {
    text-decoration:none;
    background: #ffff;
    color: #E2001A;
    display: inline-flex;
    border-radius: 100%;
    aspect-ratio: 1/1;
    align-items: center;
    justify-content: center;
    width: 55px;
    margin: 0 .5rem;
}

h1, h2, h3,
.carousel-caption p {
    /*font-weight:600;*/
}

.carousel-caption {
    left:1rem;
    right:3rem;
}

.carousel.check .carousel-caption {
    left:15px;
    right:15px;
}

.carousel-caption h1 > br,
.carousel-caption h1 + p {
    display:none;
}

h1 {
    font-size:1.7rem;    
}

h2 {
    font-size:1.5rem;    
}

h3 {
    font-size:1.2rem;    
}

strong, b,
.fw-bold,
.card-title,
.card h5 {
    font-family:'Univers LT W01_65 Bold1475968';
}

li > p {
    margin-bottom:0;
}

.top-60 {
    top:60%;
}

.w-35 {
    width:35% !important;
}

.card {
    border:0;
    border-radius:0;
}

.card-body p:last-child {
    margin-bottom:0;
}

.bg-secondary::before {
    content: url('/static/img/wave-v2.svg');
    position:absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    margin-bottom: -10px;
    pointer-events: none;
}

.bg-secondary {
    background:#f6f6f6 !important;
    position: relative;
    margin-top: 7vw;
    padding-top: 3rem;
}

footer {
    padding-top:3rem;
}

footer .wrapper {
    background: #E2001A;
    color: #fff;
}

footer .nav-link {
    color: #fff;
}

footer .nav-link:hover {
    color: #fff;
    text-decoration: underline;
}

img, video, svg {
    max-width:100%;
}

img.object-fit {
    height: 100%;
    object-fit: cover;
}

.video-js {
    background:transparent !important;    
}

.vjs-poster img {
    object-fit:cover !important;
}

.vjs-text-track-cue > div { 
    background-color:#E2001A !important;
    padding:8px 20px;
    border-radius:2rem;
}

header.scrolled-initial {
    background-color: #ffffff !important;
}

header.scrolled-initial svg {
    opacity: 1 !important;
}

header svg {
    z-index:1000;
}

header.scrolled-up {
    background-color: rgba(255,255,255, .95);    
}

header.scrolled-up svg {
    opacity: .95;
}

header.scrolled-down {
    transform:translateY(-100%);
    transition: all 0.3s ease;
}

header.scrolled-up {
    transform: translateY(0);
    transition: all 0.3s ease;
}

header:not(.scrolled-initial) .meta {
    display:none;   
}

.main .nav-pills .nav-link {
    color: #E2001A;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-size:18px;
    border-top: 2px solid transparent;
}

.meta .nav-pills .nav-link {
    font-size:14px;
}

.btn-primary {
    font-family: 'Univers LT W01_65 Bold1475968';
    background: #E2001A;
    color: #fff;    
    border:none;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:focus {
    background-color: #4b5e78;
}

.content .btn-primary,
.content .btn-secondary {
    border-radius: var(--bs-border-radius-xxl)!important;
    /*font-weight: 600;*/
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.input-group .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.card.bg-primary {
    background-color: #4b5e78 !important;
    color: #fff;
}

.btn-secondary {
    font-family: 'Univers LT W01_65 Bold1475968';
    background: #4b5e78;
    color: #fff;
    border:none;
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:active:hover,
.btn-secondary:active:focus,
.btn-secondary:focus,
#centers a:hover .card {
    background-color: rgba(33, 37, 41, 0.5) !important;
}

.card a {
    color:#fff;
}

.flip-card .card-body {
    padding:0;
}

.flip-card-inner {
    background:transparent;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: rotateX(0deg); /* Firefox fix */
}

.flip-card-back {
    position: absolute;    
}

.flip-card-front.light-100 {
    background-color:#e5323d;
}

.flip-card-front.light-50 {
    background-color: #e84a55;
}

.flip-card-front.light-25 {
    background-color: #ea616a;
}

.flip-card-front.light-0 {
    background-color: #ed787f;
}

.flip-card-back {
    transform: rotateY(180deg);
}

.carousel-control-next,
.carousel-control-prev {
    opacity:1;
}

.carousel-item > .hero {
    width: 100%;
    background-size: cover;
    padding-bottom: 42%;
    background-position: center;
}

.carousel.check .carousel-item > .hero {
    padding-bottom: 165vw;
}

.carousel-item .backdrop {
    position: absolute;
    top: 0;
    background: transparent;
    bottom: 0;
    width: 100%;
    backdrop-filter: blur(0);
    transition: all .2s ease;
}

.carousel-item.blur:hover .backdrop {
    backdrop-filter: blur(8px);
}

.carousel-item.blur:hover .video-js + .backdrop {
    backdrop-filter: blur(30px);
}

.dropdown-menu {
    position:relative;    
    border:none;
    opacity: 0;
    transition: opacity .2s ease;
    z-index: 1;
}

.dropdown-menu[data-bs-popper] {
    top: 0;
}

.dropdown-menu.mega-dt {
    background: transparent;
}

.dropdown-menu.show {
    opacity:1;
    z-index:2;
}

.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item:focus,
.nav .list-group-item a:hover {
    background: none;
    color: #E2001A;
}

.nav .list-group-item a {
    text-decoration: none;
    color: var(--bs-dropdown-link-color);
}

.dropstart > a::before {
    content: "\f104" !important;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    border: none !important;
    margin-left: -.85em;
    margin-right: .355em !important;
}

.dropdown-toggle::after {
    display:none !important;
}

.quicklinks {
    background:#f6f6f6;
    margin-top:-3rem !important;
}

.quicklinks [class^='col'] > a {    
    text-decoration:none;    
}

.quicklinks [class^='col'] > a > div {
    color:#E2001A;
    cursor:pointer;
    transition: .2s all;
    text-align:center;
}

.quicklinks [class^='col'] > a > div:hover {
    color:#4b5e78;
}

.quicklinks [class^='col'] > a > div > div {
    background:#ffffff;
    border-radius:100%;
    aspect-ratio:1/1;
}

.quicklinks .fa-arrow-right {
    display:none;
}

#map {
    position: relative;
    aspect-ratio: 4 / 3;
}

.leaflet-marker-pane img {    
    width:auto !important;
}


#campaigns > tbody > tr > td .large {
    font-size: 23px;
    line-height: 23px;
}

#campaigns > tbody > tr > td {
    border: none;    
    padding-top: 10px;
    padding-bottom: 10px;
}

#campaigns td.month {
    padding-top: 35px;
    width: 100% !important;
    border-bottom: 1px solid #eee;
}

#campaigns tr {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#campaigns td.icons,
#campaigns td.actions {    
    display: flex;
    gap: 15px;
    align-items: center;
}

#campaigns td.actions {
    justify-content: flex-end;
    display:none;
}

#campaigns td.icons span {
    border-radius:50%;
    aspect-ratio: 1/1;
    display: flex;
    height: 50px;
    align-items: center;
    justify-content: center;
}

#campaigns td.icons > .day {
    background: #E2001A;
    color:#fff;
}

#campaigns .canceled > td.times {
    text-decoration: line-through;
}

#campaigns td.times {
    display:flex;
    align-items: flex-end;
    border-bottom-width: var(--bs-border-width);
    border-bottom-color: var(--bs-border-color);
    border-bottom-style: solid;
}

#campaigns td.icons .type {
    background:#515E77;
    color:#fff;
    padding: 11px;
}

#campaigns td.icons a:hover .type {
    background:#677898;      
}

#campaigns a .type,
#centers a .card {    
    transition: .2s all;
}

#centers a {
    text-decoration: none;
}

#centers .card {
    background: #4b5e78;
}

#centers .card-body {
    color: #ffffff;
    column-gap: 1.5rem;
}

.leaflet-container {
    font-family: inherit !important;
}

.leaflet-popup-content {
    margin: 20px !important;
    font-size: 17px !important;
    padding-right: 10px;
}

.leaflet-popup-content b > a {
    display: inline-block;
    margin-bottom: 5px;
}

.leaflet-popup-content a {
    color: #E2001A !important;
}

.leaflet-popup-content-wrapper {
    border-radius: var(--bs-border-radius-xl) !important;
}

.leaflet-container a.leaflet-popup-close-button {
    right: 10px !important;
    top: 10px !important;
    font-size: 22px !important;
    color: #333 !important;
}

.table-custom {
    --bs-table-bg: transparent !important;
    margin-bottom:0;
}

.carousel.check .stopper {
    margin-bottom:1rem;
    width: 100%;
    display: flex;
    justify-content: center;
}

.carousel.check .stopper p > a {
    color:#E2001A;
}

.carousel.check .carousel-caption {
    top: 0;
    bottom: 0;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
}

.carousel.check .icon {
    filter: brightness(0) saturate(100%);
    width:100px;
}

@keyframes fly-out {
    to {
        transform: translateX(100vw);
        opacity:0;
    }
}

.fly-out {
    animation: fly-out 0.3s linear forwards;
}

.img-bw {
    filter: grayscale(100%) contrast(1000%);    
}

.cc-window {
    background: #333 !important;
    color: #fff !important;
}

.cc-message {
    margin:0 !important;
    padding: 15px 25px 0;
}

.cc-link {
    padding:0 !important;
    color: #fff !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

.cc-btn {
    background: none !important;
    color: #fff !important;
    padding: 15px 25px !important;
    font-size: 16px !important;
    display: inline !important;
    min-width: auto !important;
    border: none !important;
    position: relative;
    font-weight: normal !important;
	text-decoration:none;
}

.cc-link:hover,
.cc-btn:hover {
    text-decoration:none;
    opacity: .65 !important;
}

.cc-window {
    flex-direction: column !important;
    align-items: stretch;
}

.cc-compliance {
    width:100%;
}

p + h2,
p + h3,
p + h4,
a + h2,
a + h3,
a + h4,
ul + h2,
ol + h2,
ul + h3,
ol + h3  {
    margin-top: 2.5rem!important;
}

.progress-bar {
    background-color:#f4a254;
}

.accordion-header > button {
    font-size: 17px;
    /*font-weight: 600;*/
}

.accordion-body > *:last-child {
    margin-bottom:0;
}

.accordion-button,
.accordion-body {
    padding-top:1.2rem;
    padding-bottom:1.2rem;
} 

.accordion-body {
    background:#fafafa;
}

.accordion-button:focus,
.form-control:focus {
    box-shadow: 0 0 0 0.15rem rgb(226 0 26 / 20%);    
}

.form-control:focus {
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.accordion-button:not(.collapsed) {
    background:transparent;
    color:var(--bs-body-color);
}

.logo {
    height:35px;
}

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

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-toggler > i {
    color: #E2001A;
    font-size: 1.75em;
}

.mega-dt > .container {
    padding-left:0;
    padding-right:0;
}

.dropdown-item.dropdown-toggle.show + .dropdown-menu {
    opacity: 1;
    display: block;
    padding: 0 0.5rem;
    right: auto;
}

.dropdown-item.dropdown-toggle::before {
    display:none;
}

.offcanvas {
    width:calc(100vw - 20px) !important;
}

.map-sub select[name="type"] {
    width:100%;
}

td span[data-yext-field] {
    text-transform:lowercase;
}


@media (max-width: 575px) {
    .quicklinks [class^='col'] > a > div > div {
        width: 75% !important;
        padding: 0 !important;
    }

    .my-5 {
        margin-top: 2.5rem !important;
        margin-bottom: 2.5rem !important;
    }
    
    .py-5 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }
    
    .mt-5 {
        margin-top: 2.5rem !important;
    }
    
    .pt-5 {
        padding-top: 2rem !important;
    }
    
    .mb-5 {
        margin-bottom: 2.5rem !important;
    }
    
    .pb-5 {
        padding-bottom: 2.5rem !important;
    }
}

/* SM */
@media (min-width: 576px) {        
    .carousel-caption h1 > br,
    .carousel-caption h1 + p {
        display:block;
    }
    
    .carousel-caption {
        left:15%;
        right:15%;
        top:50%;
    }    

    .main .nav-pills .nav-link:hover,
    .main .nav-pills .nav-link:active,
    .main .nav-pills .nav-link:focus {
        background-color: transparent !important;
        color: #E2001A;
        border-bottom: 2px solid #E2001A;    
    } 

    p + h2,
    p + h3,
    p + h4,
    a + h2,
    a + h3,
    a + h4,
    ul + h2,
    ol + h2,
    ul + h3,
    ol + h3  {
        margin-top: 3rem!important;
    }
}

/* MD */
@media (min-width: 768px) { 
    .cc-window {
       flex-direction: row !important;
    }

    .cc-compliance {
        width:auto;
    }

	.cc-message {
		padding-bottom:15px;
	}    
}

@media (max-width: 991px) {
    .mw-xs-100 {
        max-width:100%;
    }
    
    .mb-xs-4 {
        margin-bottom:1.5rem!important;
    }
    
    .mt-xs-4 {
        margin-top:1.5rem!important;
    }
}

/* LG */
@media (min-width: 992px) {
    .container-full {
        max-width:none;
    }
    
    .cms-toolbar-expanded header {
        top:46px;    
    }
    
    header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background-color: #ffffff;
    }
    
    .dropdown-item.dropdown-toggle::before {
        display:inline-block;
    }
    
    .dropdown-item.dropdown-toggle.show + .dropdown-menu {
        opacity: 1;
        display: block;
        right:100%;
        padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    }
    
    .dropdown-menu {
        position:absolute;        
    }
    
    .dropdown-menu[data-bs-popper] {
        top: 100%;
    }
    
    .mega-dt > .container {
        padding-left:calc(var(--bs-gutter-x) * .5);
        padding-right:calc(var(--bs-gutter-x) * .5);
    }    
    
    .partner {
        --bs-gutter-x: 4rem;
    }
    
    #map {
        aspect-ratio: 21 / 9;
    }
    
    .carousel.check .carousel-item > .hero {
        padding-bottom: 60%;
    }    
    
    .map-sub {
        margin-top: -3rem;
        background: white;
        z-index: 400;
    }    
    
    .map-sub select[name="type"] {
        width:1%;
    }   
    
    #campaigns tr {
        flex-direction: row;
    } 
    
    #campaigns > tbody > tr > td {
        padding: 20px 10px;    
        border: none;    
    }

    #campaigns > tbody > tr > td:first-child {
        width: 20%;
    }

    #campaigns > tbody > tr > td:nth-child(2) {
        width: 50%;
    }

    #campaigns > tbody > tr > td:nth-child(3),
    #campaigns > tbody > tr > td:nth-child(4) {
        width: 20%;
    }
    
    #campaigns td.actions {
        display:flex;
    }
    
    #campaigns td.icons > .day.today:after {
        content:'Heute!';
        position:absolute;    
        transform:rotate(-15deg) translate(-25%,-100%);
        background:#515E77;
        border-radius:25px;
        padding:7px 12px;
        font-size:16px;            
    }
    
    #campaigns td.times {
        border:none;
    }

    .table-custom td {
        width:50%;
    }
    
    .w-lg-50 {
        width:50%;
    }
    
    header svg {
        z-index:1;
    }        

    .main .nav-pills .nav-link {
        font-size:17px;
        /*font-weight:600;*/
    }
    
    .quicklinks .fa-arrow-right {
        display:inline-block;
    }
    
    .video-js,
    .video-js > video,
    .video-js .vjs-poster img {
        border-radius: var(--bs-border-radius-xxl)!important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }
    
    

}

/* XL */
@media (min-width: 1200px) {
    .carousel-caption h1 {
        font-size:2.3rem;
    }
    
    h1 {
        font-size:1.9rem;    
    }
    
    h2 {
        font-size:1.6rem;    
    }
    
    h3 {
        font-size:1.4rem;    
    }

    footer {
        padding-top:6rem;
    }

    .carousel.check .carousel-item > .hero {
        padding-bottom: 42%;
    }
}

/* XXL */
@media (min-width: 1400px) {
    .carousel-caption h1 {
        font-size:2.5rem;
    }

    h1 {
        font-size:2rem;    
    }

    h2 {
        font-size:1.7rem;    
    }

    h3 {
        font-size:1.5rem;    
    }
    
    .logo {
        height:70px;
    }
    
    .bg-secondary {
        padding-top: 1vw;
    }
    
    .carousel-caption p {
        font-size: 1.25rem;
    }
    
    .card-body {
        padding:3rem;
    }
    
    
}



