/* Hier kommen alle CSS-Angaben für das spezielle Projekt hinein */

/* Sonstige Hinweise und Anmerkungen
Angabe der Schriftgröße: Dies wird zukünftig in % durchgeführt 100% = 10px
*/

/*
fonts.css from the YUI Library: developer.yahoo.com/yui/
Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages
Opensource-Fonts können über die folgenden Seite beschafft werden:
http://www.theleagueofmoveabletype.com
http://www.fontsquirrel.com/fontface/
http://kernest.com/
http://www.google.de/webfonts
Über den folgenden Link können ttf-Schriften einfach in ein komplettes Fontpacket mit
CSS konvertiert werden
http://www.fontsquirrel.com/fontface/generator
*/
body { font:10px sans-serif; *font-size:small; *font:x-small; line-height:1.22; }
table { font-size:inherit; font:100%; }
select, input, textarea { font:99% sans-serif; }

/* Somit wird gründsätzlich ein Scrollbalken eingeblendet, und die Seite springt nicht mehr
zwischen kurzen und langen Seiten*/
html { overflow-y: scroll; }

/* bicubic resizing for non-native sized IMG:
code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode: bicubic; }

.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0px;
    height: 0px;
    font-size:1px;
}

/* Style für Captcha Auswertung per JS */

img.captchaImg{
    display: block;
    margin-bottom: 10px;
}

input.sendCode{
    width: 145px !important;
    margin-right: 10px !important;
}

input[type=submit].disabled {
    cursor: not-allowed;
    background:#e6e6e6 !important;
    color: #bfbfbf !important;
}


/* Ab hier kommt dann der eigentliche CSS Code*/

/*###USERSPECIFICCODE###*/
/*
html, body {
    height: 100%;
}
*/

body {
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    color: #666;
}

/* FONTS */
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/opensans-bold.eot');
    src: url('../fonts/opensans-bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/opensans-bold.woff2') format('woff2'),
    url('../fonts/opensans-bold.woff') format('woff'),
    url('../fonts/opensans-bold.ttf') format('truetype'),
    url('../fonts/opensans-bold.svg#open_sansbold') format('svg');
    font-weight: bold;
    font-style: normal;

}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/opensans-regular.eot');
    src: url('../fonts/opensans-regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/opensans-regular.woff2') format('woff2'),
    url('../fonts/opensans-regular.woff') format('woff'),
    url('../fonts/opensans-regular.ttf') format('truetype'),
    url('../fonts/opensans-regular.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/opensans-light.eot');
    src: url('../fonts/opensans-light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/opensans-light.woff2') format('woff2'),
    url('../fonts/opensans-light.woff') format('woff'),
    url('../fonts/opensans-light.ttf') format('truetype'),
    url('../fonts/opensans-light.svg#open_sanslight') format('svg');
    font-weight: 300;
    font-style: normal;

}

@font-face {
    font-family: 'Open Sans Condensed';
    src: url('../fonts/opensanscondensed-bold.eot');
    src: url('../fonts/opensanscondensed-bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/opensanscondensed-bold.woff2') format('woff2'),
    url('../fonts/opensanscondensed-bold.woff') format('woff'),
    url('../fonts/opensanscondensed-bold.ttf') format('truetype'),
    url('../fonts/opensanscondensed-bold.svg#open_sans_condensedbold') format('svg');
    font-weight: bold;
    font-style: normal;

}


/* COLORIZING */


.link-red {
    color: #df3b32;
}
.link-red:hover,
.link-red:focus {
    color: #c3514d;
}

.link-blue {
    color: #5c9ce5;
}
.link-blue:hover,
.link-blue:focus {
    color: #4e87c7;
}

.link-yellow {
    color: #efaf37;
}
.link-yellow:hover,
.link-yellow:focus {
    color: #d49724;
}

.link-chevron::after {
    content: "\f054";
    display: inline-block;
    font: normal normal normal 14px/1 "Font Awesome 5 Free";
    font-weight: 900;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-left: 8px;
}
/* STANDARD-TAGS */
a {
    transition: color 0.2s;
    word-break: break-word;
    word-wrap:break-word;
}
a:hover,
a:focus {
    text-decoration: none;
}
h1, h2 {
    text-transform: uppercase;
    color: #666;
}
h1, h3 {
    font-weight: 400;
    word-break: break-word;
    word-wrap:break-word;
    font-family: 'Open Sans Condensed', sans-serif;
}
h3 {
    font-size: 2.1875rem;
}
h2 {
    font-size: 1.5rem;
    font-weight: bold;
    color: #666;
}
.grey-box h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #727272;
}

.img-width {
    width: 100%;
}

.img-copyright {
    font-size: 0.75rem;
    color: #999;
    padding: 5px 0;
}
.img-copyright.bg-grey {
    padding: 5px 35px 0;
    background: #f5f5f5;
}

.flex-wrapper {
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 991px) {
    .uk-sticky-placeholder {
        height: 0 !important;
    }
}

.text-box {
    word-break: break-word;
    word-wrap:break-word;
}

.textmodul li,
p {
    font-weight: 300;
    line-height: 135%;
}

/* In Textbereichen ein "+" als Aufzählungszeichen */
.swp-txt ul {
    list-style-type: none;
    position: relative;
}

.swp-txt ul > li::before {
    content: "\f45c";
    position: absolute;
    left: 10px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    font-size: 12px;
    margin-top: 2px;
}
.swp-txt ul > li > ul > li {
    margin-bottom: 3px;
}
.swp-txt ul > li > ul > li:first-of-type {
    margin-top: 3px;
}
.swp-txt ul > li > ul > li::before {
    left: 10px;
    font-size: 7px;
    margin-top: 6px;
}

.swp-txt .anchorlist > li::before {
    font-size: 13px;
    margin-top: 1px;
    line-height: 130%;
}

/* KARTE */
#map-modal .uk-modal-dialog {
    height: 100%;
}
#map-modal .uk-grid-collapse {
    height: 100%;
    display: flex;
    justify-content: center;
}
#map-modal .uk-padding-large {
    height: 100%;
    width: 100%;
    text-align: center;
}
#map-modal .main-map {
    height: 100%;
}
#map-modal > .uk-modal-dialog {
    background: rgba(255, 255, 255, 0.9);
}
#map-modal .uk-modal-close-full {
    background: transparent;
}

/* FORMULAR */
.form .uk-textarea {
    min-height: 200px;
}
@media (min-width: 768px) {
    .form form {
        max-width: 600px;
    }
}

.form .uk-margin {
    margin-bottom: 30px;
}
.form .dataprotection {
    margin-top: 45px;
}
.jsv-validationBox {
    color: #999999;
}

.form-captcha {
    display: flex;
    flex-wrap: wrap;
}
.form-captcha .captchaImg {
    padding-right: 15px;
    height: 40px;
}
.form-captcha .sendCode {
    height: 40px;
    vertical-align: middle;
    display: inline-block;
    max-width: 100%;
    width: 100%;
    padding: 0 10px;
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
    transition: 0.2s ease-in-out;
    transition-property: color, background-color, border;
    touch-action: manipulation;
}
.form-captcha .sendCode:focus {
    outline: none;
    background-color: #fff;
    color: #666;
    border-color: #1e87f0;
}
.form-captcha .fa {
    margin-top: 11px;
    font-size: 1.3rem;
}
@media (max-width: 500px) {
    .form-captcha .captchaImg {
        margin-right: 100%;
    }
}
.form-errors {
    background: #ff8985;
    color: #333;
    padding: 15px;
    margin-bottom: 25px;
}
.error-label {
    font-weight: bold;
}
.form-errors > ul > li {
    margin-bottom: 5px;
}
.form-radio .radiolabel {
    display: inline-block;
    width: calc(100% - 30px);
    margin-bottom: 7px;
    font-weight: bold;
}


.uk-form-label {
    font-size: 1rem;
}

.modul {
    padding-top: 30px;
    padding-bottom: 30px;
}
.modul h3 {
    margin-bottom: 30px;
}

.btn {
    border-radius: 2px;
    padding: 10px 30px;
    transition: background 0.2s;
}
#main-wrap {
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
}

#main-header {
    width: 100%;
    padding-top: 13px;
    padding-bottom: 13px;
    margin-bottom: 30px;
    position: fixed;
    z-index: 10;
    background: #454545;
    /*background: #212628;*/
}

main {
    width: 100%;
    margin-top: 65px;
    position: relative;
    min-height: 100vh;
    padding-bottom: 350px;
}

@media (max-width: 991px) {
    main {
        min-height: auto !important;
        padding-bottom: 0 !important;
    }
}

/* WALDHIRSCH
@media (min-width: 992px) and (max-width: 1252px) {
    .swp-container {
        width: 710px;
    }
}
@media (min-width: 1253px) and (max-width: 1447px) {
    .swp-container {
        width: 970px;
    }
}
@media (min-width: 1547px) {
    .swp-container {
        margin-left: 100px;
    }
}
*/
@media (min-width: 992px) {
    h1 {
        font-size: 40px;
    }
    #main-header {
        width: 260px;
        padding: 0;
        margin: 0;
        position: relative;
        z-index: 10000;
    }
    main {
        width: 100%;
        flex: 1;
        margin-top: 0;
    }
    .swp-cnt {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}


/* MENU LANG - SPRACHAUSWAHL */
.menu-lang > ul {
    padding-left: 0;
    list-style: none;
    color: #fff;
}
.menu-lang > ul > li {
    display: inline-block;
}
.menu-lang > ul > li::after {
    content: "|";
    margin-left: 5px;
}
.menu-lang > ul > li:last-of-type::after {
    content: "";
}
.menu-lang a {
    color: #fff !important;
}
.menu-lang span {
    font-weight: bold;
}
#menu-lang {
    padding-bottom: 10px;
}
#mobile-lang {
    margin-right: 15px;
    margin-top: 2px;
}



/* MENU */

#menu-socials .socials-wrap {
    text-align:center;
}
#menu-socials a {
    color: #fff;
}
#menu-socials a::after {
    content: "|";
    display: inline-block;
    margin-left: 15px;

}
#menu-socials a:last-of-type::after {
    content: "";
}



@media (min-width: 992px) {
    #main-logo-link {
        display: block;
        border-bottom: 1px solid #fff;
    }
    #main-logo {
        margin-bottom: 30px;
    }
    .menu {
        width: 250px;
        padding: 30px 25px;
    }
    .menu-list {
        list-style: none;
        margin: 0;
        padding: 0 35px;
        font-weight: 300;
    }
    .menu-list > li {
        padding-bottom: 14px;
        text-align: center;
    }
    .menu-list > li > a,
    .menu-list > li > span {
        font-size: 1.1rem;
        color: #fff;
        cursor: pointer;
        font-weight: 400;
    }
    #menu-socials {
        margin-top: 15px;
    }
    #menu-socials a {
        font-size: 1.3rem;
    }
    #menu-socials .fb {
        margin-right: 8px;
    }

    .menu-1 {
        margin-top: 25px;
        padding: 0;
        padding-bottom: 20px;
        border-bottom: 1px solid #fff;
    }
    .menu-2, .menu-3 {
        display: none;
    }
    .menu-2.uk-open, .menu-3.sw-open {
        display: block;
        position: absolute;
        top: 0 !important;
        background: #f2f2f2;
    }
    .menu-2.uk-open {
        width: 340px;
        left: 260px !important;
    }
    .menu-2 > li > a {
        color: #666;
    }

    .menu-2 > li > span {
        cursor: default;
    }
    .menu-3.sw-open {
        width: 420px;
        left: 340px !important;
    }
    .menu-list .menu-active,
    .menu-list a.uk-open,
    .menu-list a.clicked,
    .menu-list span.uk-open,
    .menu-list span.clicked{
        color: #df3b32;
    }

    .menu-list span:hover,
    .menu-list a:hover {
        color: #df3b32;
    }
}

/* MOBILE MENU */
#logo-mobil {
    height: 39px;
}
#mmenu-footer {
    display: none;
}
.mm-navbar {
    background: #454545;
}
@media (max-width: 992px) {
    #mmenu-close {
        position: absolute;
        top: 18px;
        right: 20px;
        font-size: 1.8rem;
        color: #fff;
    }
    .mmenu-logo {
        position: absolute;
        top: 16px;
        left: 15px;
        height: 39px;
    }

    #mmenu .uk-drop {
        width: 100%;
    }

    #mmenu {
        background: #f5f5f5 !important;
    }
    .mm-navbar {
        height: 65px !important;
        /* background über Seitenfarbe */
    }

    .mm-panels>.mm-panel>.mm-navbar+.mm-listview {
        margin-top: 5px !important;
    }
    .mm-navbar__title {
        display: none !important;
    }
    .mm-navbar__btn {
        right: 25px !important;
        left: auto !important;
        top: 12px !important;
    }
    .mm-navbar__btn::before {
        border-color: #fff !important;
        width: 15px !important;
        height: 15px !important;
    }
    #mmenu #mmenu-footer {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        font-size: 1.7rem;
        color: #666565;
    }
    #mmenu #mmenu-footer::after{
        display: none;
    }
    .mf-partner {
        display: flex;
        padding: 0 20px;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto 30px;
    }
    .mf-partner img {
        min-width: 40px;
    }
    .mf-socials {
        display: flex;
        padding: 0 20px;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto 20px;
        max-width: 250px;
    }
    #mmenu .mm-selected > span {
        background: #fff;
    }
}


/* FOOTER */
#menu-footer {
    margin-top: 20px;
}
#footer-logo {
    width: 130px;
}
@media (max-width: 991px) {
    #main-footer {
        padding-bottom: 80px;
    }
}
.footer-box {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #656565;
}
#footer-wsw {
    font-size: 0.75rem;
    display: block;
    padding-top: 15px;
}
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
.footer-links > li {
    display: inline-block;
}
.footer-links > li > a,
.footer-links > li > span {
    color: #fff;
}
.footer-links > li::after {
    content: "|";
    display: inline-block;
    color: #fff;
    margin-left: 5px;
    margin-right: 5px;
}
.footer-links > li:last-of-type::after {
    content: "";
}

#footer-slogan {
    font-weight: 300;
    font-size: 1.2rem;
    display: block;
    margin-bottom: 15px;
}
.btn-grey {
    background: #656565;
    color: #fff;
}
.btn-grey:hover,
.btn-grey:focus {
    color: #fff;
    background: #454545;
}
.btn-grey > .fa::before {
    font-size: 0.8rem;
    margin-left: 5px;
}

.btn-mcolor {
    color: #fff !important;
}
.btn-mcolor:hover,
.btn-mcolor:focus {
    color: #fff !important;
}

@media (min-width: 992px) {
    .footer-box {
        text-align: left;
        padding-top: 0;
    }
}

#main-footer .btn {
    max-width: 100%;
}

/* MOBILE MENU */
@media (max-width: 991px) {
    #mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #mobile-header .wrap-right {
        display: flex;
        justify-content: right;
    }
    #mobile-nav {
        color: #fff;
        font-size: 2rem;
        height: 32px;
    }
    .mnav {
        height: 100%;
        background: #f5f5f5;
    }
    .mnav-header {
        height: 65px;
        padding-top: 0;
        padding-bottom: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .mnav-close {
        color: #fff;
        background: transparent;
        border: none;
        padding: 0;
        font-size: 1.6rem;
    }

}


#to-map {
    position: fixed;
    bottom: 20px;
    right: 25px;
    padding: 10px 17px;
    font-size: 1.2rem;
    transition: all 300ms ease-out;
}
#to-map.left {
    right: 85px;
}
#to-top {
    position: fixed;
    bottom: 20px;
    right: -30px;
    padding: 10px 16px;
    font-size: 1.2rem;
    display: none;
    transition: all 200ms ease-out;
    border: 2px solid #fff;
    background: #454545;
}
#to-top.show {
    right: 25px;
}
#to-top:hover {
    border-color: #df3b32;
    color: #fff;
}


.grey-box {
    background: #f5f5f5;
    /* padding: 20px 30px; */
    padding: 20px 35px;
}
.grey-box ul > li {
    word-break: break-word;
    word-wrap:break-word;
}

/* MODULE */
/* Textmodul */
.textmodul {
    padding-top: 0;
    padding-bottom: 0;
}
.textmodul h3 {
    margin-bottom: 15px;
}
.swp-txt > ul > li {
    margin-bottom: 3px;
}


/* Breadcrumb */
.bcb {
    padding-top: 30px;
    padding-bottom: 0;
    margin-bottom: 0;
    font-size: 15px;
}
.breadcrumb {
    background: transparent;
    margin: 0;
    padding: 0;
    font-weight: 300;
}
.breadcrumb > li > a {
    color: #656565;
    transition: color 0.2s ease;
}
.breadcrumb > li > span {
    color: #df3b32 !important;
}
.breadcrumb > li > a:hover,
.breadcrumb > li > a:focus {
    color: #df3b32 !important;
}
.breadcrumb > li + li:before {
    content: "\203a";
    color: #666;
}


/* Headline */
.hl {
    padding-bottom: 0;
}
.hl h3 {
    margin-bottom: 15px;
}
/* Header Startseite */
.hes h1 {
    margin-top: 30px;
    margin-bottom: 50px;
}
.hes-vid {
    width: 100%;
    max-height: 100%;
    height: 100%;
}
.hes-container {
    width: 100%;
}
.hes .vid-cnt {
    max-height: 600px !important;
}
@media (min-width: 992px) {
    .hes h1 {
        margin-top: 30px;
        margin-bottom: 70px;
        line-height: 1.4;
        letter-spacing: 1px;
    }
    .hes-vid {
        height: 100% !important;
    }
}

/* Video Allgemein */
.vid-cnt .r2p-video {
    height: 100%;
    position: relative;
}
.vid-cnt .r2p-video > img {
    height: 100%;
    object-fit: cover;
}

.vid-cnt .r2p-video-enabler-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.vid-cnt .r2p-video-enabler {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.vid-cnt .r2p-video-enabler > i {
    color: #e52e2d;
    font-size: 64px;
    position: relative;
    width: 80px;
    height: 70px;
}
.vid-cnt .r2p-video-enabler > i::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #212121;
    opacity: 0.8;
    transition: all 0.25s cubic-bezier(0,0,0.2,1);
}
.vid-cnt .r2p-video-enabler > i::after {
    content: "";
    display: block;
    margin-top: 22px;
    margin-left: 28px;
    border-left: 19px solid #fff;
    border-bottom: 11px solid transparent;
    border-top: 11px solid transparent;
}
.vid-cnt .r2p-video-enabler-text {
    opacity: 0;
    transition: all 0.25s cubic-bezier(0,0,0.2,1);
    padding: 6px 8px 4px;
    background: rgba(33,33,33,0.8);
    border-radius: 3px;
    visibility: hidden;
}
.vid-cnt .r2p-video-enabler:hover > i::before,
.vid-cnt .r2p-video-enabler:focus > i::before {
    color: #ff0000;
    opacity: 1;
}
.vid-cnt .r2p-video-enabler:hover + .r2p-video-enabler-text,
.vid-cnt .r2p-video-enabler:focus + .r2p-video-enabler-text {
    opacity: 1;
    visibility: visible;

}
@media (max-width: 767px) {
    .vid-cnt .r2p-video-enabler {
        flex-direction: column;
    }
    .vid-cnt .r2p-video-enabler-text {
        text-align: center;
    }
}

/* Header Übersichtsseiten */
.hov {
    height: 200px;
    position: relative;
    margin-bottom: 50px;
}
.hov-box {
    background: #fff;
    position: absolute;
    padding: 8px 15px;
    bottom: 0;
    left: 0;
}
.hov-box > h1 {
    margin-bottom: 0;
}
@media (min-width: 992px) {
    .hov {
        height: 300px;
    }
    .hov-box {
        padding: 10px 20px;
        left: 95px;
    }
}
.hov-copy {
    margin-top: -50px;
}

/* Header Detailseiten */
.hde {
    padding-top: 10px;
}
.hde-cnt {
    display: flex;
    flex-wrap: wrap;
}
.hde-info {
    display: flex;
    align-items: center;
}
@media (min-width: 992px) {
    .hde-img-wrap {
        padding-right: 0;
    }
    .hde-img {
        height: 533px;
        max-width: 100%;
        position: relative;
        overflow: hidden;
    }
    .hde-img > img {
        position: absolute;
        right: -75px;
        width: 533px;
    }
    .hde .img-after-headline {
        display: none;
    }
    .hde .img-copyright {
        max-width: 450px;
        margin-left: auto;
        text-align: right;
        padding-right: 25px;
    }
}
@media (max-width: 991px) {
    .hde-img-wrap {
        text-align: center;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .hde-info {
        margin-bottom: 40px;
    }
    .hde-img > img {
        border-radius: 50%;
    }
    .hde-main-img {
        display: none;
    }
    .hde .img-after-headline .img-copyright {
        text-align: left;
        padding: 10px 0;
    }
}

.hde-bold {
    font-size: 1.2rem;
    font-weight: bold;
}

/* Tex und Bild */
.tub-img {
    width: 100%;
}
.tub .addcnt {
    display: flex;
    justify-content: center;
}
.tub .main-img {
    display: none;
}
@media (min-width: 992px){
    .tub .img-after-headline {
        display: none;
    }
    .tub .main-img {
        display: flex;
    }
}


/* BEREICHSKARTEN */
.bk {
    background: #f5f5f5;
}
.bk-card {
    border: 1px solid #e6e6e6;
    background: #fff;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    max-width: 1100px;
}
.bk-img {
    text-align: center;
    margin-bottom: 20px;
}
.bk-circle {
    width: 110px;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    margin: 0 auto;
    /* background ist von Seitenfarbe abhängig */
}
.bk-icon {
    color: #fff;
    font-size: 2.8rem !important;
}
.bk-link {
    font-weight: 600;
}
.bk-link > .fa {
    font-size: 0.8rem;
}

/* AK */
.ak-row {
    display: flex;
    flex-wrap: wrap;
}
.ak-box {
    height: 100%;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
}
.ak-box > .img-box {
    position: relative;
}
.ak-box > .img-box > .logo {
    position: absolute;
    bottom: 5px;
    left: 5px;
    padding: 5px;
    background: #fff;
    max-width: 100px;
}
.ak-box > .grey-box {
    /*flex: 1;*/
    display: flex;
    flex-direction: column;
}
.ak-box > .grey-box > .hl-box > h3 {
    min-height: 66px; /* Höhe einer zweizeiligen Überschrift */
}
.ak-link {
    color: #df3b32;
    font-weight: 600;
}
.ak-link > .fa {
    font-size: 0.8rem;
}
.ak-card {
    margin-bottom: 30px;
}

/* Top 10 Gründe */
.top-row {
    max-width: 1100px;
}
.top-number {
    font-weight: 600;
    font-size: 2rem;
    text-align: center;
}

/* Standard Image */
.std-img .img-wrap {
    display: flex;
    justify-content: center;
}
.std-img img {
    padding-bottom: 20px;
}

/* Auswahlkarten Übersichtsseite */
/* Hover / Focus abhängig von Seitenfarbe */
.sel-item {
    margin-bottom: 15px;
}
.sel-box {
    display: block;
    border: 1px solid #e6e6e6;
    border-radius: 2px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: inherit !important;
    transition: background 0.2s;
    height: 100%;
}
.sel-box:hover,
.sel-box:focus,
.sel-box:hover h3,
.sel-box:focus h3 {
    color: #fff !important;
}
.sel-circle {
    width: 54px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    margin: 0 auto;
    /* background ist von Seitenfarbe abhängig */
}
.sel-box:hover .sel-circle,
.sel-box:focus .sel-circle {
    background: #fff;
}
.sel-icon {
    color: #fff;
    font-size: 1.3rem !important;
}

/* Linkverzeichnis */
.lvz-link-wrap > .lvz-box{
    border-top: 1px solid #e6e6e6;
    margin-bottom: 30px;
    padding-top: 30px;
}
.lvz-link-wrap:first-of-type > .lvz-box {
    border-top: none;
    padding-top: 0;
}
.lvz-link .fa {
    font-size: 0.8rem;
}
.lvz-bold {
    font-weight: 600;
    font-size: 1.1rem;
}
@media (min-width: 992px) {
    .lvz-link {
        text-align: right;
    }
}

/* Dropdown-Links */
.ddl-btn {
    font-weight: 600;
}
.ddl-btn > .fa {
    font-size: 0.8rem;
}
.ddl-box {
    padding-top: 10px;
    padding-bottom: 10px;
    display: none;
    font-size: 1.3rem;
}
.ddl-box.visible {
    display: block;
}

/* Info-Reiter */
.ire {
    background: #f5f5f5;
}
.ire-tabs {
    margin-bottom: 0;
    margin-left: -10px;
}
.ire-tabs > li {
    padding-left: 10px;
}
.ire-tabs > .uk-active > .ire-tab {
    border-bottom-color: #fff;
    border-top: 2px solid #efaf37 !important;
    background: #fff;
    padding-top: 9px !important;
    color: #666 !important;
}
.ire-tab {
    border-left: 1px solid #e6e6e6 !important;
    border-right: 1px solid #e6e6e6 !important;
    border-top: 1px solid #e6e6e6 !important;
    font-weight: 600;
    text-transform: none !important;
    padding: 10px 25px !important;
    color: #999 !important;
    transition: color 0.2s;
}
.ire-tab:hover,
.ire-tab:focus {
    color: #666 !important;
}
.ire-cnt {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-top: none;
    margin-bottom: 30px;
}
.ire-tab-cnt {
    padding-top: 40px;
    padding-bottom: 30px;
}

@media (min-width: 992px) {
    .ire .lvz-box > .row {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-end;
    }
    .ire .lvz-link {
        margin-bottom: 20px;
    }
}

/* Preise und Pakete */
.pup-flex {
    display: flex;
    flex-wrap: wrap;
}
.pup-box {
    border: 1px solid #e6e6e6;
    height: 100%;
    max-width: 270px;
}
.pup-box-wrap {
    margin-bottom: 20px;
}
.pup-bold {
    display: block;
    font-weight: 600;
    font-size: 1.2rem;
}
.pup-box > .info1 {
    padding-top: 40px;
    padding-bottom: 40px;
    text-align: center;
}
.pup-box .price {
    margin-top: 20px;
}
.pup-box > .info2 {
    padding-top: 20px;
    border-top: 2px solid #f5f5f5;
    text-align: center;
}

/* Netzwerkdarstellung */
.nwd-box,
.pad-box {
    border: 1px solid #e6e6e6;
    border-radius: 2px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.nwd-box {
    transition: all 0.2s;
}

.nwd-box:hover,
.nwd-box:focus {
    background: #f5f5f5;
}



/* Formulare */
.btn-submit {
    display: flex;
    justify-content: flex-end;
    max-width: 100%;
}
.form-radio > label {
    margin-bottom: 10px;
}
.form-radio .uk-radio {
    margin: -7px 0 0;
    outline: none;
}

/* Links */
.lin h3 {
    font-size: 1.25rem;
    font-weight: bold;
    color: #666;
    margin-bottom: 20px;
}
.lin a {
    font-weight: bold;
    color: #5c9ce5;
    font-size: 1.25rem;
}
.lin a:hover,
.lin a:focus {
    color: #4e87c7;
}
.lin a::after {
    content: "\f054";
    display: inline-block;
    font: normal normal normal 14px/1 "Font Awesome 5 Free";
    font-weight: 900;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-left: 8px;
}

/* Partnerdarstellung */
.pad-filter h3 {
    font-size: 2.0rem;
}
.pad-select {
    margin-bottom: 20px;
}
.pad-area {
    display: flex;
    flex-wrap: wrap;
    margin: 30px -15px 0;
}
.pad-one {
    margin-bottom: 20px;
}
.pad-box {
    /* Box von nwd */
    height: 100%;
    margin: 0;
    flex-wrap: wrap;
    padding-top: 35px;
    padding-bottom: 35px;
}
.pad-premium > .pad-box {
    padding-left: 15px;
    padding-right: 15px;
}
.pad-premium > .pad-box > .pad-link {
    text-align: center;
}
.pad-txt {
    width: 100%;
    text-align: center;
    font-size: 0.75rem;
    color: #999;
    margin: 20px 0;
}
.pad-link {
    font-weight: bold;
    font-size: 1.25rem;
}
@media (max-width: 991px) {
    .plus-img {
        text-align: center;
    }
    .plus-link {
        display: block;
        margin-top: 15px;
        text-align: center;
    }
    .pad-link {
        font-weight: bold;
        font-size: 1.25rem;
    }
}
.pad-subhead {
    font-size: 1.25rem;
}
.pad-subhead-box {
    max-height: 50px !important;
}

.pad-nlinks {
    margin-top: 30px;
}
.pad-nlinks a {
    font-weight: bold;
    color: #5c9ce5;
    font-size: 1.25rem;
}

.pad-nlinks a:hover,
.pad-nlinks a:focus {
    color: #4e87c7;
}
.pad-nlinks a::after {
    content: "\f054";
    display: inline-block;
    font: normal normal normal 14px/1 "Font Awesome 5 Free";
    font-weight: 900;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-left: 8px;
}
#pad-basic .pad-basic-text {
    position: absolute;
    top: 10px;
}
#pad-basic .pad-opartner {
    margin-top: 0;
}

#pad-additional .pad-basic-text {
    position: absolute;
    top: 10px;
}
#pad-additional .pad-opartner {
    margin-top: 0;
}

/* Sitemap */
.column > .sitemapul > li {
    margin-bottom: 10px;
}

.column a,
a.sitemap {
    /*text-transform: uppercase;*/
    color: #df3b32;
}

.column a:hover,
.column a:focus,
a.sitemap:hover,
a.sitemap:focus {
    color: #c3514d;
}


/* CSS FIXES FOR Waldhirsch Marketing UG */
.container {
    width: 100% !important;
}
@media (min-width: 992px) {
    .swp-container {
        padding-left: 30px;
        padding-right: 30px;
    }
}
@media (min-width: 1200px) {
    .swp-container {
        padding-left: 100px;
        padding-right: 100px;
    }
}
@media (min-width: 1547px) {
    .swp-container {
        padding-left: 150px;
        padding-right: 150px;
    }
}
@media (max-width: 992px) {
    .container {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.addcnt .infobox {
    max-width: 533px;
}

/* Fix for IE10+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .container {
        padding-right: 30px;
    }
}

/* ####### */
/* ASPRION */
/* ####### */
.asp-btn {
    padding: 10px 20px;
    border: 2px solid #fff;
    color: #fff;
    display: inline-block;
}
.asp-btn:hover {
    border-color: #df3b32;
    color: #fff;
}

/* ASPRION HEADER */
.asp-header {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 20px;
}

/* ASPRION TEASER */
.asp-teaser {
    margin-bottom: 50px;
}
.asp-teaser .teaser-wrap {
    display: flex;
    flex-wrap: wrap;
}
/* Fix für Safari */
.asp-teaser .teaser-wrap::before,
.asp-teaser .teaser-wrap::after {
    display: none;
}


.asp-teaser .one-teaser {
    margin-bottom: 30px;
}
.asp-teaser .teaser-imgcnt a {
    position: relative;
}

.asp-teaser .teaser-imgcnt .wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}

.asp-teaser .teaser-imgcnt .teaser-cnt > a:hover .wrap {
    /* background-color: rgba(225, 8, 28, 0.4); */
    background: rgba(232, 62, 56, 0.7);
}

.asp-teaser .teaser-cnt {
    max-width: 315px;
    margin-left: auto;
    margin-right: auto;
}

.asp-teaser .teaser-cnt > a,
.asp-teaser .teaser-cnt > span {
    display: block;
    height: 100%;
}
.asp-teaser .teaser-cnt > a:hover .asp-teaser-hover {
    display: flex;
    width: 100%;
}

.asp-teaser .wrap {
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}
.asp-teaser .teaser-grey .wrap {
    justify-content: center;
}
.asp-teaser .asp-teaser-hl {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 15px;
    text-align: center;
}
.asp-teaser .asp-teaser-hover {
    display: none;
    flex-direction: column;
    align-items: center;
    color: #fff;
    text-align: center;
    font-size: 0.9rem;
}
.asp-teaser .asp-btn {
    border-color: #fff !important;
}

.asp-teaser .one-teaser.teaser-grey > .teaser-cnt {
    height: 100%;
    background: #454545;
}
.asp-teaser .one-teaser.teaser-grey .asp-teaser-hl {
    font-size: 2rem;
    margin: 0;
}

/* ASPRION BALKEN MIT TEXT */
.asp-balken {
    background: #454545;
    color: #fff;

    padding-top: 40px;
    padding-bottom: 20px;
    margin-bottom: 50px;
}

.asp-balken > .container {
    display: flex;
    flex-wrap: wrap;
}

.asp-balken .balken-txt-wrap {
    width: 100%;
    padding-bottom: 20px;
    padding-right: 20px;
    display: flex;
    align-items: center;

    text-align: center;
}
.asp-balken .balken-txt-wrap p {
    font-size: 1.4rem;
    margin-bottom: 0;
}
.asp-balken .balken-btn-wrap {
    width: 100%;
    padding-bottom: 20px;

    text-align: center;
}

@media (min-width: 768px) {
    .asp-balken .balken-txt-wrap {
        width: 66.666666%;
        text-align: left;
    }
    .asp-balken .balken-btn-wrap {
        width: 33.333333%;
        text-align: right;
    }
}

/* ASPRION INFOBALKEN */
.asp-infobalken {
    background: #454545;
    color: #fff;
    padding-top: 50px;
    padding-bottom: 50px;
}
.asp-infobalken .asp-headline > h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 35px;
}
.asp-infobalken .teaser {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.asp-infobalken .bigtext {
    font-size: 1.4rem;
}
.asp-infobalken .teaser-wrap {
    display: flex;
    flex-wrap: wrap;
}
/* Fix für Safari */
.asp-infobalken .teaser-wrap::before,
.asp-infobalken .teaser-wrap::after {
    display: none;
}
.asp-infobalken .teaser::before,
.asp-infobalken .teaser::after {
    display: none;
}

.asp-infobalken a {
    color: #fff;
    text-decoration: underline;
}

.asp-infobalken .teaser.textimg .hline {
    display: none;
}
@media (min-width: 992px) {
    .asp-infobalken .teaser {
        border-right: 1px solid #fff;
    }
    .asp-infobalken .teaser:last-of-type {
        border: none;
    }
}

@media (max-width: 991px) {
    .asp-infobalken .teaser.textimg {
        padding-top: 40px;
    }
    .asp-infobalken .teaser.textimg .hline {
        display: block;
        border-bottom: 1px solid #fff;
        padding-bottom: 20px;
    }
    .asp-infobalken .teaser-wrap .teaser:last-of-type .hline {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

/* ASPRION KONTAKT */
.asp-kontakt .textColumn {
    font-weight: 300;
}
.asp-kontakt .uk-form-label {
    color: #666;
}
.asp-kontakt.form .uk-margin {
    margin-bottom: 45px;
}
.asp-kontakt .asp-message {
    margin-bottom: 70px !important;
}
.asp-kontakt .asp_open {
    border-color: #666;
    margin-top: 40px;
}

.asp-kontakt .form-captcha .fa-remove::after {
    content: "\f00d";
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
}
.asp-kontakt .form-errors {
    background: #e83e38;
}

.asp-kontakt .asp-btn {
    color: #fff;
    background: #454545;
    border-color: #454545;
}
.asp-kontakt .asp-btn.disabled {
    color: #fff !important;
    background: #b9b9b9 !important;
    border-color: #b9b9b9 !important;
}
.asp-kontakt .asp-btn:hover {
    border-color: #df3b32;

}

.jsv-validationBox {
    color: #666;
    font-weight: 300;
}
.jsv-validationBox .jsv-oneMessage {
    color: #df3b32;
}


/* ASPRION SLIDER */
.asp-slider .slider-txt {
    max-width: 500px;
}
.asp-slider .slider-txt > p {
    font-size: 50px;
    font-weight: 400;
    word-break: break-word;
    word-wrap: break-word;
    font-family: 'Open Sans Condensed', sans-serif;
    margin-bottom: 40px;
    color: #fff;
}
@media (max-width: 767px) {
    .asp-slider .slider-txt {
        width: 100%;
    }
    .asp-slider .slider-txt > p {
        font-size: 30px;
        margin-bottom: 20px;
    }
}
@media (max-width: 500px) {
    .asp-slider .slider-txt > p {
        font-size: 25px;
    }
    .asp-slider .slider-txt > a {
        display: none;
    }
}

/* BILDERLEISTE */
.bilderleiste {
    display: flex;
    flex-wrap: wrap;
}


/* FOOTER */
#main-footer {
    background: #454545;
    color: #fff;
    margin-top: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    min-width: 100%;
}

@media (max-width: 991px) {
    #main-footer {
        position: relative !important;
    }
}

#main-footer a {
    color: #fff !important;
}
.asp_footer_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.asp_open {
    border: 2px solid #fff;
    padding: 10px 10px;

    display: flex;
    align-items: center;
    flex-direction: column;

    max-width: 270px;
}
.asp_open > span {
    font-size: 1.2rem;
    margin-bottom: 15px;
}
.asp_open_time > p {
    margin-bottom: 5px;
    margin-top :0;
}
.asp_open_time  span {
    width: 65px;
    text-align: right;
    display: inline-block;
}
.asp_sign {
    margin-right: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.asp_sign .sign-img {
    margin-bottom: 15px;
    max-width: 240px;
}
.asp_footer_info {
    margin-bottom: 40px;
    text-align: center;
    line-height: 1.6;
}
.asp_footer_copy {
    margin-top: 40px;
    text-align: center;
    font-size:14px;
}


@media (max-width: 991px) {
    #main-footer {
        padding-top: 30px;
    }

    .asp_open {
        margin: 0 auto;
    }

    .asp_footer_info {
        text-align: center;
        margin-bottom: 30px;
    }
}
@media (max-width: 767px) {
    .asp_footer_wrap {
        flex-wrap: wrap;
    }
    .asp_sign {
        margin-right: 0;
        margin-bottom: 40px;
    }
}

main .blogentries .row {
    padding-bottom: 20px;
    border-bottom: 1px solid #000000;
}

main .blogentries:last-of-type .row {
    border-bottom: none;
}

.uk-dotnav > li:before {
    content: none !important;
}
/*###USERSPECIFICCODE###*/