body {
    background-color: #fff;
    color: #484848;
}

.page {
    max-width: 1400px;
    margin: 0 auto;
    background-color: #ebf1f1;
}


/* ================*/
/* ==== Header ====*/
header {
    background-color: #003573;
    color: #fff;
    border: 1px solid #778087;
}

header .inner {
    padding: 20px;
}

header .headline {
    font-size: 20px;
    margin-bottom: 40px;
}

header .anschrift {
    text-align: right;
}

@media (min-width: 800px) {
    header .headline {
        font-size: 30px;
    }

    header .anschrift {
        font-size: 20px;
    }
}

@media (min-width: 1000px) {
    header {
        /*border: none;*/
    }

    header .inner {
        padding: 30px;
        max-width: 1250px;
        margin: 0 auto;
    }

    header .headline {
        font-size: 40px;
    }

    header .anschrift {
        font-size: 22px;
    }
}


/* ================*/
/* ==== Banner ====*/
.banner {
    color: #484848;
}

.banner img {
    width: 100%;
    border-bottom: 3px solid #003573;
}

.banner .slide {
    display: none;
}

.banner .inner {
    padding: 20px 40px 0;
    font-size: 16px;
}

.banner .inner strong {
    font-size: 24px;
    font-weight: 500;
}

.banner .inner ul {
    margin-top: 20px;
    padding-left: 20px;
}

.banner .inner ul li {
    margin-bottom: 9px;
}

@media (min-width: 800px) {
    .banner .slide {
        display: block;
    }

    .banner .slide-mobile {
        display: none;
    }
}

@media (min-width: 1000px) {
    .banner {
        position: relative;
    }

    .banner .inner {
        position: absolute;
        left: 10%;
        top: 10%;
        border: 1px solid #778087;
        background: rgba(235, 241, 241, 0.90);
    }

    .banner .inner hr {
        display: none;
    }
}

@media (min-width: 1400px) {
    .banner .inner {
        left: 100px;
        top: 80px;
        padding: 20px 140px 20px 40px;
        font-size: 20px;
    }

    .banner .inner strong {
        font-size: 28px;
    }
}


/* ======================*/
/* ==== Sprechzeiten ====*/
.sprechzeiten {
    padding: 0 40px;
}

@media (min-width: 1000px) {
    .sprechzeiten h2 {
        margin-top: 20px;
    }
}

@media (min-width: 1400px) {
    .sprechzeiten {
        padding: 0 100px;
    }
}


/* ===========================*/
/* ==== Leistungsspektrum ====*/
.leistungsspektrum {
    padding: 20px 40px 0;
}

.leistungsspektrum h2 {
    margin-bottom: 40px;
}

.leistungsspektrum ul {
    padding-left: 20px;
    margin: 0;
}

.leistungsspektrum ul li {
    margin-bottom: 20px;
}

@media (min-width: 1000px) {
    .leistungsspektrum {
        font-size: 18px;
    }
}

@media (min-width: 1400px) {
    .leistungsspektrum {
        padding: 20px 100px 0;
    }
}


/* ==============*/
/* ==== INFO ====*/
.info {
    padding: 20px 40px;
    margin-bottom: 40px;
}

@media (min-width: 1400px) {
    .info {
        padding: 20px 100px;
    }
}


/* ================*/
/* ==== Footer ====*/
footer {
    background-color: #003573;
    color: #fff;
}

footer .inner {
    padding: 20px 40px 40px;
}

footer .inner ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer .inner li {
    margin-bottom: 20px;
}

footer .inner li:last-of-type {
    margin-bottom: 0;
}

footer .inner a {
    color: #fff;
    text-decoration: none;
}


/* ==============*/
/* ==== TYPO ====*/
b {
    font-weight: 500;
}
hr {
    opacity: 1;
    border-top: 2px solid #003573;
}


/* ====================*/
/* ==== COMPONENTS ====*/
.text-wrapper {
    padding: 40px;
}