/*
Theme Name:     Bodo
Author:         2code
Description:    Bodo
Version:        1.0
License:        GNU General Public License v2 or later
*/

@font-face {
    font-family: "Natom Pro, Bold";
    src: url("assets/fonts/FS-WebFonts-814051487/Fonts/7595386/a25ed403-4fb9-4afa-8abb-f69fc246e3a1.woff2") format("woff2");
    src: url("assets/fonts/FS-WebFonts-814051487/Fonts/7595386/83f0c3c2-7ad5-480e-be07-0de447452544.woff") format("woff");
}



@font-face {
    font-family: 'Avenir Heavy';
    src: url("assets/fonts/avenir/Monotype-AvenirNextLTPro-Heavy.otf") format("opentype");
}

@font-face {
    font-family: 'Avenir Bold';
    src: url("assets/fonts/avenir/Monotype-AvenirNextLTPro-Bold.otf") format("opentype");
}

@font-face {
    font-family: 'Avenir Regular';
    src: url("assets/fonts/avenir/Monotype-AvenirNextLTPro-Regular.otf") format("opentype");
}

font-face {
    font-family: 'Avenir Medium';
    src: url("assets/fonts/avenir/Linotype-AvenirNextLTPro-Medium.otf") format("opentype");
}

@font-face {
    font-family: 'Avenir Demi';
    src: url("assets/fonts/avenir/Monotype-AvenirNextLTPro-Demi.otf") format("opentype");
}

@media (min-width:1200px) {
    .container {
        max-width: 1440px;
    }

}



:root {
    --bodo-blau: #00305B;
    --bodo-gelb: #FFE92E;
    --bodo-rot: #EA5354;
    --bodo-gruen: #2B9749;
    --bodo-orange: #B3A400;
    --main-font: 'Avenir Medium';
    --main-font-size: 16px;
    --main-line-height: 28px;
    --main-font-bold: 'Avenir Bold';
    --main-font-demi: 'Avenir Demi';
    --main-font-regular: 'Avenir Regular';
    --special-font: 'Natom Pro, Bold';
    margin: 0;
}

html {
    margin: 0;
}

/* .row {
    float: left;
    width: 100%;
} */

img {
    max-width: 100%;
    height: auto;
}

body {
    font-family: var(--main-font-regular);
    font-size: var(--main-font-size);
    line-height: var(--main-line-height);
    color: var(--bodo-blau);
    background-color: #FFF;

}

h1 {
    font-family: var(--special-font);
    font-size: 36px;
    line-height: 44px;
    color: var(--bodo-blau);

}

h2 {
    font-family: var(--special-font);
    font-size: 32px;
    line-height: 40px;
    color: var(--bodo-blau);
    margin-bottom: 10px;
}

h3 {
    font-family: var(--special-font);
    font-size: 28px;
    line-height: 36px;
    color: var(--bodo-blau);
    margin-bottom: 24px;
}

h4 {
    font-family: var(--special-font);
    font-size: 24px;
    line-height: 32px;
    color: var(--bodo-blau);
}

h5 {
    font-family: var(--special-font);
    font-size: 20px;
    line-height: 28px;
    color: var(--bodo-blau);
}

h6,
.news-item .post_title h2,
.cards .col-md-4 h3,
.quicklinks .col-md-4 h3 {
    font-family: var(--special-font);
    font-size: 18px;
    line-height: 24px;
    color: var(--bodo-blau);
    margin: 0;
}

section {
    float: left;
    width: 100%;
    padding-top: 60px;
    padding-bottom: 110px;
}

main section p {
    float: left;
    width: 100%;
}

button {
    background-color: white;
    color: var(--bodo-blau);
    border: none;
    font-family: var(--special-font);
    font-size: 18px;
    line-height: 24px;

    padding-left: 35px;
    padding-right: 35px;
    padding-top: 12px;
    padding-bottom: 15px;

    border-radius: 27.5px;
    margin-top: 35px;
    margin-bottom: 30px;
    float: left;
    cursor: pointer;
    border: 1px solid white;
}

p a {
    color: var(--bodo-blau);
    text-decoration: none;
    font-style: italic;
    font-weight: bold;

    &:hover {
        text-decoration: underline;
        color: var(--bodo-blau);
    }


}

p strong {

    font-family: var(--main-font-demi);

}

a:hover button,
a:active button {
    background-color: var(--bodo-gelb);
    border: 1px solid var(--bodo-blau);
    color: var(--bodo-blau);
}

section {
    float: left;
    width: 100%;
}



.hero {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0;
    padding-top: 80px;
    padding-bottom: 80px;



    h1 {
        font-size: 48px;
        line-height: 52px;

    }
}


.breadcrumb {
    background-color: transparent;
    margin-bottom: 0;
    border-radius: 0;
    border: none;
    display: block;
    float: left;
    width: 100%;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: var(--bodo-blau);
    margin-bottom: 7px;

    ul {
        padding: 0;
        margin: 0;
        list-style-type: none;
        float: left;
        width: 100%;

        li {
            float: left;
            display: inline;
            margin-right: 11px;

            a {
                color: var(--bodo-blau);
                text-decoration: none;
            }
        }
    }
}

.maincontent {
    padding-top: 50px;
    padding-bottom: 155px;

    select {
        all: unset;
        padding-top: 11px;
        padding-bottom: 11px;
        padding-left: 16px;
        padding-right: 16px;
        border: 1px solid var(--bodo-blau);
        border-radius: 9px;
        min-width: 340px;
        font-size: 18px;
        line-height: 28px;
        margin-right: 20px;
        float: left;
    }


    input {
        all: unset;
        padding-top: 11px;
        padding-bottom: 11px;
        padding-left: 16px;
        padding-right: 16px;
        border: 1px solid var(--bodo-blau);
        border-radius: 9px;
        min-width: 340px;
        font-size: 18px;
        line-height: 28px;
        margin-right: 20px;
        float: left;

        &::placeholder {
            color: var(--bodo-blau);
        }
    }
}


.accordion-wrapper {
    float: left;
    width: 100%;
}

.accordion {
    float: left;
    width: 100%;

    .accordion-item {
        float: left;
        width: 100%;
        background-color: transparent;
        border: none;
        border-top: 1px solid var(--bodo-blau);
        border-bottom: 1px solid var(--bodo-blau);
        margin-top: -1px;

        .accordion-header {
            float: left;
            width: 100%;

            span.subtitle {
                font-size: 16px;
                line-height: 24px;
                font-family: var(--main-font-regular);
            }


            .accordion-button {
                float: left;
                width: 100%;
                padding-top: 23px;
                padding-bottom: 23px;
                padding-left: 0;
                padding-right: 45px;
                margin: 0;
                font-size: 18px;
                line-height: 24px;
                color: var(--bodo-blau);
                position: relative;
                border-radius: 0 !important;
                border-radius: 0 !important;
                border: none !important;
                box-shadow: none !important;
            }

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

            .accordion-button::after {
                background-image: url("assets/images/arrow-accordion.png");
                background-size: cover;
                position: absolute;
                right: 0;

                height: 35px;
                width: 35px;
                content: '';
                color: white;
            }
        }

        .accordion-collapse {
            float: left;
            width: 100%;

            .accordion-body {
                float: left;
                width: 100%;
                padding: 0;
                padding-bottom: 20px;
            }
        }



    }

    .accordion-item:first-of-type .accordion-button {
        border: none !important;
    }

    .accordion-item:first-of-type,
    .accordion-item:last-of-type {
        border-radius: 0;
    }

    .accordion-button {
        background-color: transparent !important;
    }

}

.bg-blue .accordion-button,
.bg-blue .accordion-header,
.bg-blue .accordion-item,
.bg-blue .accordion {
    color: white !important;
}

.bg-blue .accordion-item {
    border-top: 1px solid white !important;
    border-bottom: 1px solid white !important;
}

.bg-blue .tablepress>:where(thead, tfoot)>*>th,
.bg-blue .tablepress>:where(tbody.row-striping)>:nth-child(2n)>*,
.bg-blue .tablepress>:where(tbody.row-striping)>:nth-child(odd)>* {
    background-color: white !important;
}

.bg-blue p a {
    color: var(--bodo-gelb);
}

.subtitle {
    font-family: var(--special-font);
    font-size: 18px;
    line-height: 24px;
    color: var(--bodo-blau);
    margin: 0;
    float: left;
    width: 100%;
}

.tablepress {
    float: left;
    width: auto !important;
    min-width: 230px;
}


.tablepress>:where(thead, tfoot)>*>th,
.tablepress>:where(tbody.row-striping)>:nth-child(2n)>*,
.tablepress>:where(tbody.row-striping)>:nth-child(odd)>* {
    background-color: transparent !important;

}

.tablepress>:where(tbody.row-striping)>:nth-child(odd)>*,
.tablepress>.row-hover>tr:hover>*,
.tablepress>:where(thead, tfoot)>*>th,
.tablepress>:where(tbody.row-striping)>:nth-child(2n)>* {
    color: var(--bodo-blau) !important;
    font-weight: bold;
}

.tablepress>:where(thead)+tbody>*>*,
.tablepress>tbody>*~*>*,
.tablepress>tfoot>:where(:first-child)>* {
    border-top: 1px solid var(--bodo-blau) !important;
}

.tablepress>.row-hover>tr:hover>* {
    background-color: var(--bodo-gelb) !important;
}

.bg-yellow .tablepress>.row-hover>tr:hover>* {
    background-color: var(--bodo-blau) !important;
    color: white !important;
}

/* START Hilfsklassen */
.bg-red {
    background-color: var(--bodo-rot);
    color: white;
}

.bg-white {
    color: var(--bodo-blau);
    background-color: white;
}

.bg-white button {
    background-color: var(--bodo-blau);
    color: white;
}

.bg-blue {
    background-color: var(--bodo-blau);
    color: white;
}

.bg-blue button {
    background-color: white;
    color: var(--bodo-blau);
}

.bg-blue {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        color: white;
    }
}


.bg-yellow {
    background-color: var(--bodo-gelb);
    color: var(--bodo-blau);
}

.bg-yellow a button {
    background-color: var(--bodo-blau);
    color: white;
    border: 1px solid var(--bodo-blau);
}


.textcolor-white {
    color: white;
}

.textcolor-yellow {
    color: var(--bodo-gelb);
}

.textcolor-blue {
    color: var(--bodo-blau);
}

.textcolor-blue.text-in-image .text {
    color: var(--bodo-blau) !important;
}

.textcolor-yellow button {
    background-color: white;
    color: var(--bodo-blau);
}

.pull-right {
    float: right;
}

.pull-left {
    float: left;
}

.subhead {
    font-family: var(--main-font);
    font-size: 18px;
    line-height: 28px;
    color: var(--bodo-blau);
}

.big-font {
    font-size: 100px;
    line-height: 110px;
    font-family: var(--special-font);
}

.medium-font {
    font-size: 52px;
    line-height: 56px;
    font-family: var(--special-font);
}

.small-font {
    font-size: 14px;
    line-height: 20px;

}

.box {
    float: left;
    width: 100%;
    background-color: white;
    padding-top: 11px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 50px;
}

.post_date {
    font-size: 12px;
    line-height: 20px;
    font-style: italic;
    float: left;
    width: 100%;
    padding-bottom: 9px;
}


.post_subtitle {
    float: left;
    width: 100%;
    padding-bottom: 16px;
    font-size: 18px;
    font-family: var(--main-font);
}

.post_content {
    float: left;
    width: 100%;
    font-size: 16px;
    line-height: 24px;

}


.bubble_big {
    position: absolute;
    left: 0;
    top: -183px;
}

.bubble_small {
    position: absolute;
    right: 0;
    bottom: -85px;
}

.bubble_white {
    position: absolute;
    right: 0;
    top: -180px;
}



.bubble_yellow {
    position: absolute;
    right: 0;
    top: -120px;
}


.news-item .post_image {
    float: left;
    width: 100%;
}

.news-item .post_image img {
    float: left;
    width: 100%;
}

.news-item .post_date {
    padding-top: 13px;
    padding-bottom: 11px;
}

.news-item .post_title {
    float: left;
    width: 100%;
    padding-bottom: 11px;
}

.news-item .post_excerpt {
    float: left;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
}

.read-more {
    color: var(--bodo-blau);
    font-style: italic;
    font-size: 18px;
    line-height: 28px;
    margin-top: 11px;
    font-family: var(--main-font);
    float: left;
    text-decoration: none;
}

.read-more::after {
    content: url("assets/images/arrow-read-more.png");
    padding-left: 8px;
    top: -1px;
    position: relative;
}

.read-more:hover,
.read-more:active {
    color: var(--bodo-blau);
    text-decoration: none;
    background-size: cover;
}

.full-width {
    float: left;
    width: 100%;
}

.bodo-pagination {
    padding-top: 90px;
    padding-bottom: 90px;
    float: left;
    width: 100%;
    font-size: 14px;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
    width: 100%;
    margin-top: 9px;

    .page-numbers {
        background-color: var(--bodo-gelb);
        width: 31px;
        height: 31px;
        border-radius: 100%;
        border: 1px solid var(--bodo-blau);
        text-align: center;
        text-decoration: none;
        color: var(--bodo-blau);
        margin-left: 5px;
        margin-right: 5px;
        padding-top: 1px;
        font-size: 14px;
    }

    .page-numbers.next,
    .page-numbers.prev {
        background-color: transparent;
        color: var(--bodo-blau);
        border: 1px solid transparent;
    }
}


.link {
    float: left;
    width: 100%;

}

.remove-image.is-disabled {
  opacity: .5;
  pointer-events: none; /* falls du lieber komplett blockierst */
}

.form-group#fileField,
.form-group#fileField2,
.form-group#fileField3
{
    flex-direction: column;

    button {
        margin-top: 20px;
    }
}

.dynamic-fields {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    input {
        max-width: 100%;
        display: block;
        position: relative;
    }
}

.form-group.submit-wrap{
    text-align: right;
}

.form-group {
    /* float:left; */
    width: 100%;
    margin-bottom: 20px;
    display: block;
    position: relative;
    font-size: 18px;
    line-height: 28px;
    max-width: 100%;

    /* input, select, textarea{
        width: 100%;
    } */

    input[list] {
        padding-right: 30px !important;
    }

    label {
        /* float:left; */
        font-family: var(--main-font-demi);
        margin-bottom: 5px;
        display: block;
        position: relative;
        width: 100%;
    }

    input:not([type="checkbox"]),
    select,
    textarea {
        border-radius: 9px;
        border: 1px solid var(--bodo-blau);
        padding: 11px;
        /* float:left; */
        width: 100%;
    }

    select {
        all: unset;
        padding-top: 11px;
        padding-bottom: 11px;
        padding-left: 16px;
        padding-right: 16px;
        border: 1px solid var(--bodo-blau);
        border-radius: 9px;
        margin: 0 !important;
        font-size: 18px;
        line-height: 28px;
        max-width: 100% !important;
        /* float:left; */
        background-color: white;
        width: 100%;
        color: var(--bodo-blau);
        box-sizing: border-box;
        display: block;
        position: relative;
        width: 100%;
    }

    .input-wrapper {
        position: relative;
        display: block;
        height: fit-content;
        width: 100%;
        max-width: 100%;
    }

    button.clear-button {
        padding: 0;
        margin: 0;
        background: transparent;
        top: 0;
        bottom: 0;
        margin: auto;
        position: absolute;
        right: 10px;
        height: fit-content;
    }

    #firstname {
        height: 0;
        width: 0;
        opacity: 0;
        line-height: 0;
        padding: 0;
        margin: 0;
    }

    .button-wrap {
        position: relative;
        width: 100%;
    }

    button {
        background-color: var(--bodo-gelb);
        color: var(--bodo-blau);
        border: none;
        display: block;
        position: relative;
        float: unset;

        &:hover {
            background-color: white;
            color: var(--bodo-blau);
        }
    }

    a {
        color: white;
    }
}



.verbindung-box {
    padding-top: 68px;
    float: right;
    padding-right: 60px;

    button {
        margin-bottom: 0;
    }


    .nav-tabs .nav-item .nav-link:not(.active) {
        background-color: var(--bodo-blau);
        color: white;
    }



    .connection-form {
        margin-top: 28px;
        position: relative;

        label {
            position: absolute;
            top: 11px;
            left: 14px;
            font-family: var(--main-font-demi) !important;
        }

        input {
            padding-left: 79px;
            padding-right: 45px;
        }

        .connection-switch {
            position: absolute;
            background-color: white;
            width: 50px;
            height: 50px;
            border-radius: 100%;
            border: 1px solid var(--bodo-blau);
            top: 30px;
            z-index: 20;
            text-align: center;
            padding-top: 8px;
            right: -25px;
            cursor: pointer;
        }

        .stop_list {
            width: 300px;
            background-color: white;
            border-radius: 9px;
            position: absolute;
            top: 50px;
            z-index: 20;
            border: 1px solid var(--bodo-blau);
            box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
            height: 150px;
            overflow: hidden;
            overflow-y: auto;


            span {
                font-size: 14px;
                line-height: 20px;
                padding-top: 10px;
                padding-left: 14px;
                padding-right: 14px;
                padding-bottom: 9px;
                border: none;
                float: left;
                width: 100%;
                cursor: pointer;
                border-top: 1px solid rgba(224, 224, 224, 0.25);
            }

        }
    }


}

.bold-font {
    font-family: var(--main-font-demi) !important;
}

/* END Hilfsklassen */

/* START Header */
header {
    float: left;
    width: 100%;
    background-color: var(--bodo-blau);
    color: white;

    line-height: 28px;
    font-family: var(--main-font);
}

header .logo {
    padding-top: 22px;
    padding-bottom: 23px;

    img {
        height: 30px;
        width: auto;
    }
}

.menu-wrapper {
    display: flex;
    flex-direction: row;
}

.main-menu {
    float: left;
    width: 100%;

}

.main-menu .search {
    padding-left: 15px;
    padding-right: 15px;
}

.main-menu nav {
    float: left;
    width: 100%;

}

.main-menu ul {
    padding: 0;
    margin: 0;
    list-style-type: none;

    font-size: var(--main-font-size);

    color: white;
    float: left;
}

.main-menu ul li {

    display: inline;
    float: left;
    position: relative;
}

.main-menu ul li a {
    color: white;
    text-decoration: none;
    padding-top: 23px;
    padding-bottom: 24px;
    padding-left: 15px;
    padding-right: 15px;
    float: left;
}

.main-menu ul li a:hover,
.main-menu ul li a:active,
.main-menu ul li.current-menu-item a,
.main-menu ul li.current_page_ancestor a {
    background-color: var(--bodo-gelb);
    color: var(--bodo-blau);
}

.main-menu ul li ul {
    display: none;
    position: absolute;
    top: 75px;
    background-color: var(--bodo-gelb);
    left: -29px;
    width: 320px;
    z-index: 20;
    padding-top: 37px;
    padding-bottom: 37px;
}

.main-menu ul li ul li,
.main-menu ul li ul li a {
    float: left;
    width: 100%;

}

.main-menu ul li ul li a {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 44px;
    padding-right: 44px;
    color: var(--bodo-blau);
}

.main-menu ul li ul li a:hover,
.main-menu ul li ul li a:active,
.main-menu ul li ul li.current-menu-item a {
    background-color: white;

}

.main-menu ul li:hover ul,
.main-menu ul li:active ul {
    display: inline-block;
}

/* END Header */
/* START Footer */

footer {
    float: left;
    width: 100%;
    background-color: white;
    padding-top: 30px;

    font-family: var(--main-font);
}

footer .footer-menu-wrapper {
    flex: 1;
    text-align: left;
}

footer .footer-menu-wrapper nav {
    float: left;
    width: 100%;
    padding-top: 15px;

}


footer .footer-menu-wrapper nav ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    font-size: 14px;

}

footer .footer-menu-wrapper nav ul li {
    margin-top: 15px;
    margin-bottom: 15px;
    float: left;
    width: 100%;
}


footer .footer-menu-wrapper nav ul li a {
    color: var(--bodo-blau);
    text-decoration: none;
}

footer.subfooter {
    padding-top: 30px;
    padding-bottom: 30px;
}

footer.subfooter img {
    float: right;
}

footer.subfooter nav {
    float: left;
    width: 100%;
}

footer.subfooter nav ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    font-size: 14px;
}

footer.subfooter nav ul li {
    float: left;
    padding-left: 0;
    padding-right: 50px;
    display: inline;

}

footer.subfooter nav ul li a {
    color: var(--bodo-blau);
    text-decoration: none;
    font-size: 12px;
    line-height: 14px;
}

/* END Footer */
/* START Hero Frontpage Module */

.hero-frontpage {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right bottom;
    padding-top: 50px;
    padding-bottom: 140px;

}

.hero-box .nav-tabs {
    border-bottom: 0;
}

.hero-box .nav-tabs .nav-item .nav-link {
    color: var(--bodo-blau);
    background-color: white;
    border: none;
    border-radius: 0 !important;
    padding-left: 15px;
    padding-top: 13px;
    padding-bottom: 13px;
    padding-right: 15px;
    font-family: var(--main-font);
}

.hero-box .nav-tabs .nav-item .nav-link:not(.active) {
    color: var(--bodo-blau);
    background-color: var(--bodo-gelb);

}

#heroBoxContent {
    float: left;
    width: 100%;
    background-color: white;
    padding-top: 26px;
    padding-left: 30px;
    padding-bottom: 43px;
    padding-right: 66px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.10);

}

/* END Hero Frontpage Module */


/* START Search Module */
section.search {

    padding-top: 71px;
    padding-bottom: 97px;
}

/* END Search Module */

/* START Quicklinks Frontpage Module */
.quicklinks-frontpage {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right bottom;
}

.quicklinks-frontpage .col-md-4 {

    margin-bottom: 15px;
}

.quicklinks-frontpage .col-md-4 a {
    color: var(--bodo-blau);
}

.quicklinks-frontpage .col-md-4 p {
    margin-bottom: 0;
}

.quicklinks-frontpage .boxes-wrapper {
    padding-bottom: 155px;
}

/* END Quicklinks Frontpage Module */

/* START Image Fullwidth Module*/
section.image-fullwidth {
    padding: 0;
    position: relative;
}

section.image-fullwidth img:not(.bubble_white) {
    float: left;
    width: 100%;
}

/* END Image Fullwidth Module*/


/* START Post 2Columns Module */
section.post-2columns {
    padding-top: 80px;
    padding-bottom: 120px;
}

.post-2columns.image-right .text-wrapper {
    padding-right: 110px;
}

.post-2columns.image-left .text-wrapper {
    padding-left: 110px;
}

.post-2columns.image-right .text-wrapper h2 {
    padding-top: 10px;
    padding-bottom: 15px;
}


.post-2columns .image-wrapper img {
    float: left;
    width: 100%;

}

/* END Post 2Columns Module*/

/* START Text in image Module*/
.text-in-image {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
}

.text-in-image img:not(.bubble_yellow) {
    float: left;
    width: 100%;
}

.text-in-image.textposition-left .text {
    left: 0;
    padding-left: 18px;

}

.text-in-image.textposition-right .text {
    right: 0;
    padding-right: 115px;
}

.text-in-image .text {
    width: 50%;
    position: absolute;
    z-index: 10;
    top: 0;
    top: 50%;
    transform: translateY(-50%);
    color: white;
}

.text-in-image.textcolor-yellow .text {
    color: var(--bodo-gelb);
}

/* END text in image Module*/


/* START Post 1column Module*/
.post-1column {
    padding-top: 60px;
    padding-bottom: 80px;
    text-align: center;
    position: relative;

    .text-wrapper {
        position: relative;
    }

}

.post-1column button {
    float: none;
}

.post-1column h2 {
    margin-bottom: 15px;
}

.post-1column .post_content {
    padding-left: 250px;
    padding-right: 250px;
}

.post-1column .disrupter {
    width: 250px;
    height: 250px;
    background-color: var(--bodo-rot);
    color: white;
    border-radius: 100%;
    display: flex;
    align-items: center;
    transform: rotate(8deg);
    justify-content: center;
    padding-left: 43px;
    padding-right: 43px;
    position: absolute;
    top: -120px;
    right: -150px;
    font-family: var(--main-font-bold);
}

/* END Post 1column Module*/

/* START News Module */

section.news {
    padding-top: 95px;
    padding-bottom: 65px;
}

.news .text-wrapper {
    padding-bottom: 40px;
}

.news .button-wrapper {
    text-align: center;
    padding-top: 45px;
}

.news .button-wrapper button {
    float: none;
    margin-top: 0;
}



/* END News Module*/

/* START template-ems.php */
.ems-selects {
    float: left;
    width: 100%;
    margin-top: 23px;
    margin-bottom: 68px;
}

.affected_line {
    min-width: 85px;
    float: left;
    margin-right: 12px;
}

.line-icon {
    font-size: 16px;
    line-height: 24px;
    border-radius: 10px;
    float: left;
    padding: 0 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

#accordionEMS .accordion-button {
    display: inline-block;
}

.affected_line {
    width: 100%;
    float: left;
}


.accordion-button.only_one .affected_line {
    width: 95px;
    float: left;
}

.accordion-button:not(.only_one) .meldung {
    float: left;
    width: 100%;
    padding-left: 105px;
}

/* END template-ems.php */

/* START News */
.filter-wrapper,
.news-wrapper {
    float: left;
    width: 100%;

}

.filter-wrapper {
    padding-top: 70px;
    padding-bottom: 20px;
}

.news-item {
    margin-bottom: 70px;
}

.news-image,
.news-image img {
    float: left;
    width: 100%;
}

.news-item .post_excerpt p {
    margin-bottom: 0;
}

body.blog .filter select {
    min-width: 165px;

}

body.blog .filter button {
    margin-top: 0;
}

body.blog .filter {
    padding-bottom: 100px;
}

/* END News */

/* START Single News */
body.single-post .post_subtitle {
    margin-top: 15px;
    margin-bottom: 0;
}

body.single-post .gallery-image {
    margin-bottom: 30px;
}


/* END Single News */


/* START Cards Module */
.cards {
    background-repeat: no-repeat;

    background-position: right bottom;
}

.cards .col-md-4 {
    margin-bottom: 24px;

}

.cards .bodo-card {
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.10);
    background-color: white;
}

.cards .col-md-4 a {
    color: var(--bodo-blau);
    text-decoration: none;
}

.cards .col-md-4 p {
    margin-bottom: 0;
}

.cards .cards-wrapper {
    padding-top: 55px;
}

.cards .col-md-4 h3 {
    line-height: 28px;
    min-height: 56px;
}

.cards .col-md-4 p {
    min-height: 40px;
}

.cards .card-image {
    min-height: 170px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

}

.cards .card-text {
    padding-top: 10px;
    float: left;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 20px;

}

.cards .card-text img {
    margin-top: 10px;
}

/* END Cards Module */

/* START Quicklinks Module */
.quicklinks {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right bottom;
}

.quicklinks .col-md-4 {

    margin-bottom: 15px;
}

.quicklinks .col-md-4 a {
    color: var(--bodo-blau);
}

.quicklinks .col-md-4 h3 {
    padding-bottom: 10px;
}

.quicklinks .col-md-4 p {
    margin-bottom: 0;
    min-height: 40px;
}

.quicklinks .boxes-wrapper {
    padding-bottom: 155px;
}

.quicklinks .box {
    padding-bottom: 11px;
}

.quicklinks .boxes-wrapper {
    margin-top: 53px;
}

/* END Quicklinks Frontpage Module */


/*START Text Module */
section.text {
    padding-bottom: 60px;
}

/* END Text Module

/*START Image Module */
section.image {
    padding-bottom: 60px;
}

/* END Image Module */

/*START Accordion Module*/
.accordion-section .accordion-wrapper {
    padding-top: 30px;
}

/* END Accordion Module */


/* START Hero Small Module*/
.hero-small {
    padding-bottom: 60px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

/* END Hero Small Module*/




/* START Text & Image Module */
section.text-and-image {
    padding-top: 80px;
    padding-bottom: 120px;
    position: relative;
}

.text-and-image.text-right .image-wrapper {
    padding-right: 110px;
}

.text-and-image.text-left .image-wrapper {
    padding-left: 110px;
}



.text-and-image .image-wrapper img {
    float: left;
    width: 100%;

}



/* END Text & Image Module*/

/* START Quickselect Module */
section.quickselect {
    padding-top: 33px;
    padding-bottom: 70px;

    .text {
        float: left;
    }

    .quickselect-wrapper {
        float: left;

        a {
            color: var(--bodo-blau);
            text-decoration: none;

            .quickselect {
                padding: 11px;
                border: 1px solid var(--bodo-blau);
                border-radius: 9px;
                margin-left: 14px;
            }

        }


    }
}

/* END Quickselect Module */

/* START Accordion with image Module */
section.accordion-with-image {
    position: relative;

    &.image-right {
        .image-wrapper {
            padding-left: 110px;
        }
    }

    .col-md-6 {
        position: relative;
    }

    .accordion-wrapper {
        padding-top: 20px;
    }

    &.disrupter-1 {
        .disrupter {
            position: absolute;
            top: -90px;
            left: 300px;
        }

        .image-wrapper {
            padding-top: 200px;
        }

    }
}

/* END Accordion with image Module */

input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  min-height:10px;
  padding-top:20px !important;
  padding-bottom:20px !important;
  float:left;
}


/* START Template Verbindungssuche */
section.verbindungssuche {
    padding: 0;


    .hero-box .nav-tabs .nav-item .nav-link:not(.active) {
        background-color: var(--bodo-blau);
        color: white;
    }

    .container-fluid {
        padding: 0;

        .row {
            --bs-gutter-x: 0;
        }
    }

    .verbindung-form {
        background-color: var(--bodo-gelb);
        padding-bottom: 75px;


        .change-time,
        .change-filter {
            cursor: pointer;
            border-radius: 9px;
            border: 1px solid var(--bodo-blau);
            display: inline-flex;
            padding: 3px 11px;
            justify-content: center;
            align-items: center;
            gap: 10px;

            &:hover,
            .active {
                background-color: var(--bodo-blau);
                color: white;
            }
        }



        .verbindungen-liste {

            margin-top: 10px;
            padding-right: 60px;
            float: right;

            .journey {
                float: left;
                width: 100%;

                background-color: white;
                margin-bottom: 10px;

                .journey-heading-wrapper {
                    float: left;
                    width: 100%;
                    padding-left: 15px;
                    padding-top: 9px;
                    padding-bottom: 15px;
                    padding-right: 15px;
                    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.10);

                    .journey-heading {
                        float: left;
                        width: 100%;
                        position: relative;

                        .timeslos {
                            float: left;
                            width: 100%;
                            font-size: 16px;
                            line-height: 24px;
                            background-color: white;
                            font-family: var(--main-font-demi);

                        }

                        .journeyPath {
                            float: left;
                            width: 100%;
                            font-size: 16px;
                            line-height: 24px;
                            background-color: white;

                        }

                        .transportIcon,
                        .footpathInfo {
                            float: left;
                            display: inline-flex;
                            padding: 0px 10px;
                            justify-content: center;
                            align-items: center;
                            gap: 5px;
                            font-size: 16px;
                            line-height: 24px;
                            border-radius: 10px;
                            margin-right: 10px;
                            font-family: var(--main-font-demi);
                            margin-top: 10px;
                            padding-top: 3px;
                            padding-bottom: 5px;
                        }

                        .footpathInfo {
                            background-color: rgba(255, 233, 46, 0.5);
                            color: var(--bodo-blau);
                        }

                        .journey-toggle {
                            float: right;
                            position: absolute;
                            right: 0;
                            bottom: 0;
                            z-index: 40;
                            height: 25px;
                            width: 25px;
                            background-color: #8097AD;
                            justify-content: center;
                            align-items: center;
                            border-radius: 100%;
                            text-align: center;
                            cursor: pointer;

                            svg {
                                color: white;
                            }
                        }

                    }

                }

                .journey-collapse {
                    float: left;
                    width: 100%;
                    padding-left: 15px;
                    padding-top: 25px;
                    padding-bottom: 9px;
                    padding-right: 15px;
                }


            }


            .leg-origin .dot,
            .leg-departure .dot {
                width: 5px;
                height: 5px;
                float: left;
                border-radius: 100%;
                margin-right: 20px;
                margin-bottom: 10px;
            }

            .leg-detail {
                float: left;
                width: 100%;
                margin-bottom: 10px;
                margin-top: 10px;
                line-height: 1.2;
            }

            .leg-detail.transport-footpath {
                height: 80px;

                color: rgb(135, 140, 150);
                margin-top: 0;
                margin-bottom: 0;
            }

            .leg-detail.transport-footpath .dot {
                background-color: rgb(135, 140, 150) !important;
                width: 5px;
                height: 5px;
                margin-top: 4px;

            }

            .leg-origin .time,
            .leg-departure .time {
                width: 65px;
                float: left;
            }

            .leg-origin .right-wrapper {
                float: left;
                width: 400px;
                padding-top: 35px;
            }

            .leg-detail.transport-footpath .time {
                width: 65px;
            }

            .leg-detail:not(.transport-footpath) .leg-origin.fake {
                min-height: 80px;
                height: auto;
                margin-top: -30px;
            }

            .leg-detail:not(.transport-footpath) .leg-origin.fake .dot {
                height: 100%;
                min-height: 200px;
                border-radius: 15px;
            }

            .leg-origin,
            .leg-departure {
                float: left;
                width: 100%;
                margin-top: -15px;
            }

            .leg-departure {
                margin-top: -25px;
            }

            .transport-footpath .leg-origin,
            .transport-footpath .leg-departure {
                margin-top: 0;
            }

            .transport-footpath .leg-origin:first-child {
                margin-top: -25px;
            }

            .transport,
            .lenghtStops,
            #accordionStops,
            .stoplist,
            .infos,
            .hints {
                float: left;
                width: 100%;

            }

            .lenghtStops {
                margin-top: 15px;
                cursor: pointer;
            }

            .lenghtStops span {
                float: left;
                font-size: 16px;
                line-height: 24px;
                padding-left: 9px;
                padding-right: 9px;
                padding-top: 3px;
                padding-bottom: 3px;
                border-radius: 9px;
                border: 1px solid var(--bodo-blau);
            }

            .infos .info,
            .hints .hint {
                margin-top: 10px;
                margin-bottom: 10px;
            }

            .info,
            .warning {
                color: #ff4d00;
                font-size: 24px;
            }

            .hint {
                color: #FFE92E;
                font-size: 24px;
            }

            .stoplist,
            .stoplist .stop {
                float: left;
                width: 100%;
            }

            .stoplist {
                padding-top: 30px;
                padding-bottom: 65px;
                margin-left: -20px;

                .stop {
                    margin-bottom: 38px;

                    .stop-dot {
                        width: 10px;
                        float: left;
                        height: 5px;
                        border-radius: 8px;
                        margin-right: 12px;
                        margin-top: 7px;
                        margin-left: -1px;
                    }

                }
            }

            .journeyPath div {
                position: relative;
            }

            .journeyPath div .warning {
                position: absolute;
                right: -8px;
                top: -8px;
                font-size: 20px;
                z-index: 20;
            }

            .infosTrigger,
            .hintsTrigger {
                cursor: pointer;
            }


            #journey-filter {
                float: left;
                width: 100%;
                margin-bottom: 20px;
            }

            .journey-transportation,
            .journey-time,
            .journey-changespeed {
                padding-top: 20px;
                padding-bottom: 20px;
            }

            .journey-time-mode,
            .journey-time-date,
            .journey-time,
            .journey-transportation,
            .journey-changespeed {
                float: left;
                width: 100%;
            }

            .journey-transportation .transportation {
                float: left;
                width: 100%;
                margin-bottom: 5px;
            }

            .leg-detail span.transport {
                float: left;
                width: auto;
                display: inline-flex;
                padding: 0px 10px;
                justify-content: center;
                align-items: center;
                gap: 5px;
                font-size: 16px;
                line-height: 24px;
                border-radius: 10px;
                margin-right: 10px;
                font-family: var(--main-font-demi);
                margin-top: 10px;
                padding-top: 3px;
                padding-bottom: 5px;
                margin-left: -7px;
            }

            .leg-detail .infos,
            .leg-detail .hints {
                float: left;
                width: auto;
                z-index: 100;
                position: relative;


            }



            .leg-detail .hints {
                z-index: 80;
                margin-left: -7px;
            }

            .leg-detail .infos .info,
            .leg-detail .hints .hint {
                font-size: 29px;

            }

            .ticketprice {
                float: left;
                width: 100%;
                padding-top: 20px;
                padding-bottom: 20px;

                span {
                    float: left;
                    font-size: 18px;
                    font-family: var(--special-font);
                    line-height: 24px;
                    padding-top: 13px;
                }

                button {
                    float: right;
                    margin: 0;
                }
            }
        }
    }
}

/* END Template Verbindungssuche */

@media(max-width: 768px) {
    .hero-small {
        padding-bottom: 30px;
        padding-top: 30px;
    
    }
}