@font-face {
    font-display: swap;
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/fira-sans-v17-latin-700.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/fira-sans-v17-latin-900.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Overpass';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/overpass-v16-latin-regular.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Overpass';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/overpass-v16-latin-700.woff2') format('woff2');
}

html, body, .mainmenu ul li a {
	font-family: 'Overpass';
}

h1, h2, h3, h4, h5, h6, .font_headline, .ce_revolutionslider_text.bold {
	font-family: 'Fira Sans';
	font-weight: 900;
}

.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 400;
}

.container .ce_text h2:not(:first-child),
.container .ce_text h3:not(:first-child),
.container .ce_text h4:not(:first-child),
.container .ce_text h5:not(:first-child) {
    margin-top: 1.25rem;
}

ul.check {
    list-style-type: none;
    padding-left: 1.5rem;
}

ul.check li {
    position: relative;
    list-style-type: none;
}

ul.check li::before {
    content: '';
    position: absolute;
    left: -1.5rem;
    top: .25em;
    width: 1rem;
    height: 1rem;
    background: url("../../media/icon_check.svg") no-repeat center/contain;
}

.topbar_metanavi ul {
    padding: 0;
    margin: 0;
}

.topbar_metanavi ul li {
    list-style-type: none;
    padding: 0;
    display: inline-block;
    margin-left: 10px;
}

.topbar_metanavi ul li:first-child {
    margin-left: 0;
}

.topbar a:hover {
    opacity: .8;
}

.header .mainmenu ul li a.highlight span {
    color: #fff;
    padding: 12px 10px 10px 10px;
    border: none;
}

.stickyheader .header .mainmenu ul li a.highlight span {
    padding-top: 8px;
}

.mod_navigation.mobile_vertical a.highlight,
.smartmenu-content a.highlight {
    border: none !important;
    background: transparent !important;
    color: var(--secondColor) !important;
    padding: 4px !important;
}

.smartmenu-content li.highlight {
    padding: 0.5rem 0.5rem 0.5rem 0;
}

.smartmenu-content a.highlight {
    padding: 0 !important;
}

.ce_headerimage::before {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(to right, rgb(0 104 179 / 75%) 0%, rgb(0 104 179 / 55%) 50%, rgb(0 104 179 / 0%) 70%);
}

.ce_headerimage_inside {
    z-index: 2;
}

.ce_revolutionslider_hyperlink {
    font-size: 1rem;
    line-height: 1.8rem;
    padding: 15px 20px 10px 20px;
}

.ce_hyperlink.btn-size-small a {
    padding-top: 8px;
}

.tp-tabs, .tp-thumbs {
    visibility: visible !important;
    opacity: 1 !important;
}

.zeus .tp-thumb-over {
    background: rgba(0,0,0,.6);
}

.zeus .tp-thumb.selected .tp-thumb-over, .zeus .tp-thumb:hover .tp-thumb-over {
    background: rgba(0,0,0,.25);
}

.zeus .tp-thumb-title {
    font-family: inherit !important;
}

.border-bottom {
    border-bottom: 1px solid var(--secondColor);
}

.ce_revolutionslider .tp-dottedoverlay.opacity-d-50 {
    background: linear-gradient(to right, rgb(0 104 179 / 75%) 0%, rgb(0 104 179 / 55%) 50%, rgb(0 104 179 / 0%) 70%);
}

#top-wrapper .header, #stickyheader .header {
    box-shadow: 0px 15px 10px -15px rgba(0,0,0,.5);
    backdrop-filter: blur(5px);
}

.ce_tabs .tabs.vertical ul li:hover span {
    background-color: #f7f7f7;
}

.ce_tabs .tabs.vertical ul li.active span {
    background-color: var(--accentColor);
    color: #fff;
}

.ce_tabs .tabs.classic ul li {
    border-radius: 0;
}

.ce_tabs .panes.classic {
    background: #fff;
    border-color: #fff;
    border-radius: 0;
}

.mod_quickmenu {
    right: 14px;
}

.mod_quickmenu li a {
    padding: 4px 0 0 0;
    margin: 4px;
}

.mod_quickmenu li a:hover {
    box-shadow: 0 0 5px rgba(0,0,0,.4);
}

.ce_image_extended.position-absolute {
    z-index: 999;
}

.module-plenta-jobs-basic-offer-list h2 {
    font-family: 'Overpass';
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

.module-plenta-jobs-basic-offer-list a {
    transition: .2s all;
}

.module-plenta-jobs-basic-offer-list a:hover {
    color: var(--secondColor);
}

.newslist-v4 .content {
    min-height: 150px;
    border-color: #edebeb;
}

.newslist-v4 .image_container,
.newslist-v4 .date,
.newslist-v4 .content {
    border-radius: 0;
}

.newsreader .info {
    padding: 0;
    margin-bottom: 1rem;
    background: transparent;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--accentColor);
}

.newsreader .date:before {
    display: none;
}

.ce_countup.style1 {
    background: rgba(255,255,255,.2);
    padding: 1rem .5rem .5rem .5rem;
}

.ce_countup.style1 .headline {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 0;
}

.ce_countup.style1 .text p {
    margin-bottom: 0;
}

form select {
    height: 52px;
}

form .widget textarea {
    margin-top: 15px;
}


@media only screen and (min-width : 768px) {
    .ce_tabs.vertical {
        display: flex;
        align-items: center;
    }
    .ce_text_image_bar .subheadline {
        margin-bottom: 1rem;
    }
    .mod_langswitcher img {
        display: inline-block;
    }
}

@media only screen and (max-width : 767px) {
    h1, h2 {
        line-height: 1.2;
    }
    .mod_langswitcher span {
        display: none;
    }
}

@media only screen and (max-device-width : 1023px) {
    .topbar_teaser,
    .topbar_phone {
        display: none;
    }
}

form .mandatory {
    color: #555555;
}


.widget-radio legend .mandatory,
.widget-radio legend span {
    display: inline !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
}

form .widget-radio span {
    display: inline-flex !important;
    margin-right: 20px;
    overflow: visible; /* optional, aber sauberer */
}

form fieldset.radio_container legend {
    background: none !important;
    color: inherit;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
}

form fieldset.radio_container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none !important;
}


/* OLVIER KIESLICH | START */
.newslist-timeline .newslist-timeline-date {
    top: 50px;
}
/* OLVIER KIESLICH | ENDE */