html,
body {
    font-family: typerighter, serif;
    font-size: 20px;
    height: 100%;
    max-height: 100%;
    position: relative;
}

body.overlayOpen {
    overflow: hidden;
}

hr {
    border: none;
    width: 200px;
    margin: 0 auto;
    overflow: hidden;
    height: 25px;
    position: relative;
    background-image: url('/theme/images/spacer.png');
    background-position: center center;
    background-repeat: no-repeat;
    top: 10px;
}

hr:before,
hr:after {
    content: '';
    display: block;
    height: 3px;
    top: 10px;
    width: 2000px;
    position: absolute;
    background-color: #ac8e8a;
}

hr:before {
    right: 100%;
    margin-right: -75px;
}

hr:after {
    left: 100%;
    margin-left: -75px;
}

@media (max-width: 950px) {
    .desktop #nav {
        font-size: 15px !important;
    }
}

@media (max-width: 1175px) {
    .desktop #social_sidebar ul li {
        margin: 0 30px;
    }
}

#pageWrapper {
    background-color: #dbd8cd;
    background-image: url('../images/pattern.png');
    overflow: hidden;
}

.mobile h1, .mobile .h1 {
    font-size: clamp(25px, 5vw, 30px);
}

.mobile h2, .mobile .h2 {
    font-size: clamp(24px, 6vw, 25px);
}

.mobile h3, .mobile .h3 {
    font-size: clamp(20px, 6vw, 22px);
}

.mobile h4, .mobile h4 {
    font-size: clamp(18px, 6vw, 20px);
}

.mobile h5, .mobile h5 {
    font-size: clamp(16px, 6vw, 18px);
}

.mobile h6, .mobile h6 {
    font-size: clamp(15px, 6vw, 16px);
}

#content,
#footer {
    font-weight: bold;
}

#content p,
#content ul,
#content table {
    line-height: 2em;
}

div {
    box-sizing: border-box;
}

.center {
    max-width: 1080px;
    margin: 0 auto;
}

#header {
    background-color: #92cfce;
    height: 700px;
    position: relative;
    overflow: hidden;
}

#fixedHeader {
    height: 40px;
    background-color: #ffffff;
    position: fixed;
    top: 160px;
    left: 0;
    right: 0;
    line-height: 40px;
    z-index: 5;

    -webkit-box-shadow: 0 2px 16px 1px rgba(0, 0, 0, 0.5);
    box-shadow: 0 2px 16px 1px rgba(0, 0, 0, 0.5);
}

#fixedHeader .center {
    max-width: 1280px;
}

#fixedHeader:before {
    content: '';
    position: absolute;
    top: -160px;
    height: 160px;
    background-color: #92cfce;
    left: 0;
    right: 0;
    background-image: url('../images/header_day.jpg');
    background-repeat: repeat;
    background-position: center bottom;
    background-size: cover;

    -webkit-box-shadow: inset 0 -20px 10px -20px rgba(0, 0, 0, 0.5);
    box-shadow: inset 0 -20px 10px -20px rgba(0, 0, 0, 0.5);
}

#fixedHeader:after {
    content: '';
    display: none;
    /* display: block; */
    pointer-events: none;
    position: absolute;
    height: 80px;
    width: 100%;
    bottom: -80px;
    background-image: url('../images/weihnachtsborte.png');
    background-position: center top;
    background-repeat: repeat-x;
    z-index: -1;
}

#fixedHeader,
#logo,
.mobile.smallHeader #nav ul.menu,
.desktop #nav ul {
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.smallHeader #fixedHeader {
    top: 25px;
}

.smallHeader #logo {
    height: 100px !important;
    top: -26px !important;
}

.smallHeader #nav ul {
    width: calc(50% - 50px);
}

#nav {
    font-family: rounded_eleganceregular, sans-serif;
    text-transform: uppercase;
    color: #772e4b;
    font-size: 20px;
    line-height: 48px;
}

#nav a {
    color: inherit;
    text-decoration: none;
}

#nav > ul > li.active > a {
    color: #92cfce;
}

#nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: table;
    width: calc(50% - 102px);
    text-align: center;
    float: left;
}

#nav ul:last-child {
    float: right;
}

#nav ul li {
    display: table-cell;
}

#strukturbild {
    height: 500px;
    background-color: #000000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

#strukturbild .strukturbild_image {
    height: 100%;
    background-position: center center;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#strukturbild:before {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -1px;
    width: 2px;
    top: 0;
    bottom: 0;
    background-image: linear-gradient(to bottom, #f9f5f3 20%, rgba(251, 249, 239, 0) 0%);
    background-position: left;
    background-size: 2px 10px;
    background-repeat: repeat-y;
    z-index: 1;
}

#logo {
    height: 226px;
    width: 204px;
    background-image: url('../images/logo.svg');
    position: absolute;
    left: 50%;
    margin-left: -102px;
    top: -80px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

#logo a {
    display: block;
    height: 100%;
    width: 80%;
    margin: 0 auto;
}

#content_top {
    width: 100%;
    background-color: #f9f5f3;
    padding: 100px 0;
    position: relative;
    z-index: 2;
    text-align: center;
}

#strukturbild:after,
#content_top:after {
    content: '';
    height: 36px;
    width: 124px;
    position: absolute;
    left: 50%;
    margin-left: -62px;
    background-image: url('../images/arrows_creme.png');
}

#strukturbild:after {
    bottom: 0;
    background-position: top center;
}

#content_top:after {
    bottom: -36px;
    background-position: bottom center;
}

#content_half {
    position: relative;
    z-index: 1;
    min-height: 35px;
}

#content_half .contentRow {
    display: table;
    width: 100%;
}

#content_half .content {
    width: 50%;
    position: relative;
}

#content_half .contentRow .content {
    display: table-cell;
    padding: 100px 70px;
    float: none;
    background-color: #f9f5f3;
    background-size: cover;
    background-position: center center;
    vertical-align: top;
}

#content_half .contentRow:nth-child(odd) .content {
    background-color: #f9f7ee;
}

#content_half .contentRow .content:first-child {
    padding-left: calc(50% - 540px);
}

#content_half .contentRow .content:last-child {
    padding-right: calc(50% - 540px);
}

/*-----------------------*/

.desktop #content_half .contentRow.last .content.no-background,
.mobile #content_half .contentRow.last .content.no-background:last-child {
    border-bottom: 35px solid transparent;
    padding-bottom: 65px;
    background-clip: padding-box;
}

.desktop #content_half .contentRow.last .content.no-background:before,
.mobile #content_half .contentRow.last .content.no-background:last-child:before {
    content: '';
    position: absolute;
    bottom: -35px;
    right: 0;
    border-width: 35px 60px 0 0;
    border-style: solid;
    border-color: #f9f5f3 transparent;
}

.desktop #content_half .contentRow.last .content.no-background:after,
.mobile#content_half .contentRow.last .content.no-background:last-child:after {
    height: 35px;
    position: absolute;
    bottom: -35px;
    left: 0;
    background-color: white;
    visibility: visible;
    right: 60px;
}

/*odd color*/
#content_half .contentRow.last:nth-child(odd) .content.no-background:after,
#content_half .contentRow.last:nth-child(odd) .content.no-background {
    background-color: #f9f7ee;
}

#content_half .contentRow.last:nth-child(odd) .content.no-background:before {
    border-color: #f9f7ee transparent;
}

#content_bottom {
    margin-top: -35px;
    min-height: 35px;
    background-color: #f9f5f3;
}

#content_bottom .formularContainer {
    max-width: 660px;
    margin: 0 auto;
}

.desktop #content_bottom .map_wrapper .form_row.text {
    display: inline-block;
    float: none;
    max-width: 540px;
}

/*umgekehrt*/
#content_half .contentRow.last .content:last-child.no-background:before {
    right: auto;
    left: 0;
    border-width: 35px 0 0 60px;
}

#content_half .contentRow.last .content:last-child.no-background:after {
    left: 60px;
    right: 0;
}

#content:after {
    content: '';
    display: block;
    height: 90px;
    background-color: #92cfce;
    background-image: url(../images/footer_day.jpg);
    background-repeat: repeat;
    background-position: center bottom;
    background-size: cover;
    line-height: 102px;
    vertical-align: middle;
    position: relative;
}

/*social sidebar*/

#social_sidebar {
    background-repeat: repeat;
    background-position: center bottom;
    line-height: 80px;
    vertical-align: middle;
    position: fixed;
    right: 0;
    top: 210px;
    width: 95px;
    z-index: 50;
}

#social_sidebar ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
}

#social_sidebar ul li {
    display: inline-block;
    position: relative;
    height: 45px;
}

#social_sidebar ul li > span {

    -webkit-transition: opacity 200ms ease-in-out;
    -moz-transition: opacity 200ms ease-in-out;
    -ms-transition: opacity 200ms ease-in-out;
    -o-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;

    pointer-events: none;
    opacity: 0;
    position: absolute;
    right: 41px;
    top: 11px;
    background-color: white;
    color: black;
    line-height: 30px;
    font-size: 20px;
    padding: 0 5px;
    padding-right: 20px;
    z-index: -1;
    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
    white-space: nowrap;
}

#social_sidebar ul li:hover > span {
    opacity: 1;
}

#social_sidebar ul li a {
    position: relative;
    line-height: 45px;
    width: 45px;
    border: 4px solid white;
    border-radius: 50%;
    text-align: center;
    font-size: 25px;
    background-color: #92cfce;
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.5);
}

#social_sidebar ul li:hover a {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
}

#social_sidebar ul li a {
    display: block;
    height: 100%;
    color: white;
}

#social_sidebar ul li a i {
    position: relative;
    top: 2px;
    z-index: 5;
}

#social_sidebar .pinterest img {
    max-width: 30px;
    position: relative;
    top: 7px;
}

/*footer*/
#footer {
    background-color: #f9f5f3;
    position: relative;
}

#footer:before {
    content: '';
    height: 37px;
    width: 124px;
    position: absolute;
    top: -37px;
    background-position: top center;
    left: 50%;
    margin-left: -62px;
    background-image: url('../images/arrows_creme.png');
}

#footer:after {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -1px;
    width: 2px;
    top: 0;
    bottom: 50px;
    background-image: linear-gradient(to bottom, #d3c3bc 20%, rgba(255, 255, 255, 0) 0%);
    background-position: left;
    background-size: 2px 10px;
    background-repeat: repeat-y;
}

#footer_main {
    padding: 100px 0;
    line-height: 40px;
}

#footer .cmsWidgetAsyncLoad {
    display: none;
}

#footer_main .content {
    padding: 0 35px;
}

#footer_sub {
    text-align: center;
    color: #9d777b;
    text-transform: uppercase;
    bottom: 10px;
    position: absolute;
    left: 0;
    right: 0;
    font-size: 15px;
}

/*bounce effect*/
@-webkit-keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }
    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9);
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97);
    }
    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

/*night mode*/
.night #fixedHeader,
.night #header,
.night #fixedHeader:before,
.night #footer {
    background-color: #772e4b;
    color: white;
}

.night #fixedHeader:before {
    background-image: url('../images/header_night.jpg');
}

.night #content:after,
.mobile .night #social_sidebar {
    background-image: url('../images/footer_night.jpg');
}

.night #nav a {
    color: white;
}

.night#pageWrapper,
.night #content:after,
.mobile .night #social_sidebar {
    background-color: #9e777c;
}

.night a {
    color: #92cfce;
}

.night #footer h1,
.night #footer .h1,
.night #footer h2,
.night #footer .h2,
.night #footer h3,
.night #footer .h3,
.night #footer h4,
.night #footer .h4,
.night #footer h5,
.night #footer .h5,
.night #footer h6,
.night #footer .h6 {
    color: #92cfce;
}

.night #footer_sub {
    color: white;
}

.night #footer:before {
    background-image: url('../images/arrows_red.png');
}

@media (max-width: 850px) {
    .desktop #content_half .contentRow .content {
        display: block;
        width: 100%;
    }
}

.mobile #content {
    position: relative;
    z-index: 0;
}

.mobile .news_overview_wrapper .content {
    width: 100%;
}

.mobile #fixedHeader {
    top: 90px;
}

.mobile.smallHeader #fixedHeader {
    top: 30px;
}

.mobile #header {
    height: 350px;
    z-index: 10;
}

.mobile #strukturbild {
    height: 220px;
}

.mobile #content_half .contentRow .content {
    display: block;
    width: 100%;
    padding: 20px !important;
}

.mobile #social_sidebar {
    height: 200px;
    position: relative;
    width: auto;
    top: 0;
    background-color: #92cfce;
    background-image: url(../images/footer_day.jpg);
    background-size: cover;
    z-index: auto;
}

.mobile #content:after {
    display: none;
}

.mobile #social_sidebar ul {
    position: relative;
    z-index: 5;
    width: 320px;
    margin: 0 auto;
}

.mobile #social_sidebar ul li {
    margin: 0 20px !important;
}

.mobile #footer_main .content {
    width: 100%;
    text-align: center;
    padding: 20px;
}

.mobile #footer:after {
    display: none;
}

.mobile #footer_main {
    padding: 20px 0;
}

.mobile #footer_main .content table {
    margin: 0 auto;
}

.mobile #content_half .contentRow.last .content.no-background:before,
.mobile #content_half .contentRow.last .content.no-background:after {
    content: '';
    position: absolute;
    bottom: -35px;
    border-style: solid;
    width: 50%;
    box-sizing: border-box;
    visibility: visible;
    border-color: #f9f5f3 transparent;
    right: auto;
    left: auto;
    background-color: transparent;
}

.mobile #content_half .contentRow.last .content.no-background:before {
    left: 0;
    border-width: 35px 60px 0 0;
}

.mobile #content_half .contentRow.last .content.no-background:after {
    right: 0;
    border-width: 35px 0 0 60px;
}

.mobile #content_half .contentRow .content.background {
    min-height: 200px;
}

.mobile #content_bottom .google_map {
    height: 235px !important;
}

.mobile #pageWrapper {
    overflow: hidden;
    padding-bottom: 0;
}

.mobile #content_top {
    padding: 50px 20px;
}

.mobile #footer_main .content {
    position: relative;
}

.mobile #footer_main .content:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 2px;

    background-image: linear-gradient(to right, #d3c3bc 20%, rgba(255, 255, 255, 0) 0%);
    background-position: center;
    background-size: 10px 2px;
    background-repeat: repeat-x;
}

.mobile #footer_sub {
    position: relative;
    padding: 20px;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
}

.mobile #footer_sub {
    font-size: 0;
}

.mobile #footer_sub a {
    display: block;
    font-size: 15px;
}

.mobile #logo {
    height: 150px;
    width: 150px;
    margin-left: -75px;
    top: -50px;
}

/*nav*/
.mobile #nav ul {
    display: none;
    background-color: rgba(0, 0, 0, 0.85);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 15px 20px;
    overflow: auto;
    box-sizing: border-box;
    z-index: 50;
    font-size: 30px;
    line-height: 60px;
}

.mobile #nav ul:before {
    content: "\f00d";
    font: normal normal normal 14px/1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 20px;
    color: white;
}

.load.desktop #nav > ul {
    display: table !important;
}

.desktop #nav > ul {
    display: none !important;
}

.mobile.smallHeader #nav ul.menu {
    padding-top: 30px;
}

.mobile #nav a {
    color: #92cfce;
}

.mobile #nav ul.menu {
    padding-top: 55px;
}

.mobile #nav ul:last-child {
    padding-bottom: 5px;
}

.mobile #nav ul li {
    display: block;
}

.mobile .current_structure {
    height: 40px;
    text-align: right;
    padding-right: 15px;
    line-height: 46px;
    color: #ffffff;
}

.mobile .night .current_structure {
    color: #772e4b;
}

.mobile .current_structure:before,
.mobile .current_structure:after {
    position: absolute;
    color: #772e4b;
}

.mobile .night .current_structure:before,
.mobile .night .current_structure:after {
    color: #ffffff;
}

.mobile .current_structure:before {
    left: 0;
    line-height: 40px;
}

.mobile .current_structure:after {
    content: 'MENU';
    left: 38px;
}

@media (max-width: 450px) {
    .mobile #footer_main .content img {
        float: none !important;
    }

    .mobile #footer_main .content h1,
    .mobile #footer_main .content .h1,
    .mobile #footer_main .content h2,
    .mobile #footer_main .content .h2,
    .mobile #footer_main .content h3,
    .mobile #footer_main .content .h3,
    .mobile #footer_main .content h4,
    .mobile #footer_main .content .h4,
    .mobile #footer_main .content h5,
    .mobile #footer_main .content .h5,
    .mobile #footer_main .content h6,
    .mobile #footer_main .content .h6,
    .mobile #footer_main .content p {
        text-align: center !important;
    }
}

#nightToggle,
#snowToggle {
    display: none;
}

.desktop .snow #snowToggle:after,
.desktop #nightToggle,
.desktop #snowToggle {
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.lt-ie11 #snow,
.mobile #snow {
    display: none !important;
}

.desktop #nightToggle,
.desktop #snowToggle {
    display: block;
    position: absolute;
    cursor: pointer;
    right: 0;
    bottom: 0;
    height: 40px;
    width: 40px;
    line-height: 43px;
}

.desktop #snowToggle {
    right: 40px;
    text-align: center;
    color: #9d777b;
}

.desktop .snow #snowToggle {
    transform: rotate(180deg);
}

.desktop .snow #snowToggle:after {
    content: '';
    transform: rotate(45deg);
    height: 30px;
    margin-top: 5px;
    width: 2px;
    left: 50%;
    margin-left: -1px;
    background-color: #9d777b;
    position: absolute;
}

.desktop .night #snowToggle {
    color: white;
}

.desktop #nightToggle {
    background-image: url('../images/toggle_night.png');
    background-position: center center;
    background-size: cover;

}

.desktop .night #nightToggle {
    transform: rotate(180deg);
    background-image: url('../images/toggle_day.png');
}

.desktop #footer_sub p a {
    width: 50%;
    display: block;
    float: left;
    box-sizing: border-box;
}

.desktop #footer_sub p a:nth-child(odd) {
    text-align: right;
    padding-right: 35px;
}

.desktop #footer_sub p a:nth-child(even) {
    text-align: left;
    padding-left: 35px;
}

/*newsletter & city_overlay*/

#footer_sub .city_overlay_toggle {
    font-size: 40px !important;
    position: relative;
    top: 30px;
}

.mobile #footer_sub .city_overlay_toggle {
    top: 0;
}

#city_overlay {
    text-align: center !important;
}

#city_overlay ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#city_overlay ul li {
    line-height: 55px;
}

/*#city_overlay ul li a:before {
    content: '';
    display: inline-block;
    position: relative;
    height: 37px;
    width: 38px;
    background-image: url('../images/city_overlay.png');
    background-position: center bottom;
    vertical-align: middle;
    margin-right: 10px;

    -webkit-transition: background 200ms ease-in-out;
    -moz-transition: background 200ms ease-in-out;
    -ms-transition: background 200ms ease-in-out;
    -o-transition: background 200ms ease-in-out;
    transition: background 200ms ease-in-out;
}*/

#city_overlay ul li a:hover,
#city_overlay ul li a.active {
    color: #92cfce;
}

/*#city_overlay ul li a:hover:before,
#city_overlay ul li a.active:before {
    background-position: center top;
}*/

#newsletter,
#city_overlay,
#popup {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 10;
    text-align: left;
    height: 100%;
    width: 100%;
    overflow: auto;
}

#newsletter_inner,
#city_overlay_inner,
#popup_inner {
    display: table-cell;
    vertical-align: middle;
}

#newsletter_inner .contentContainer,
#city_overlay_inner .contentContainer,
#popup_inner .contentContainer {
    position: relative;
    padding: 35px;
    background-color: white;

    -webkit-box-shadow: 0 0 50px -5px rgba(0, 0, 0, 1);
    box-shadow: 0 0 50px -5px rgba(0, 0, 0, 1);
    width: 800px;
    margin: 0 auto;

    background: repeating-linear-gradient(
            45deg,
            #f9f5f3,
            #f9f5f3 20px,
            #772e4b 20px,
            #772e4b 40px
    );
}

#popup_inner .contentContainer {
    max-width: 800px;
    width: 100%;
}

#city_overlay_inner .contentContainer {
    width: 340px;
    max-height: 100vh;
    max-height: 100dvh;
}

#popup .contentContainer,
#popup .cms_container {
    display: flex;
    width: 100%;
}

#popup .content.custom-widget-has-bg:before,
#popup .content[style^="background-image:"]:before {
    content: '';
    display: block;
    padding-top: 100%;
    position: relative;
}


#popup .content.custom-widget-has-bg,
#popup .content[style^="background-image:"] {
    font-size: 0 !important;
    border-top-width: 15px;
    border-bottom-width: 15px;
}

#popup .content.custom-widget-has-bg .cms_contentWrapper,
#popup .content[style^="background-image:"] .cms_contentWrapper {
    display: none;
}

#newsletter_inner .contentContainer:before,
#city_overlay_inner .contentContainer:before,
#popup_inner .contentContainer:before {
    content: '';
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    background-color: white;
    z-index: 0;
    -webkit-box-shadow: 0 0 5px -2px rgba(0, 0, 0, 1);
    box-shadow: 0 0 5px -2px rgba(0, 0, 0, 1);
}

#popup .content {
    background-position: center center;
    background-size: cover;
    background-clip: content-box;
}

#newsletter_inner .content,
#city_overlay_inner .content,
#popup_inner .content {
    position: relative;
    z-index: 1;
    border: 15px solid transparent;
    border-top-width: 10px;
    border-bottom-width: 10px;
    max-height: calc(100vh - 45px);
    max-height: calc(100dvh - 45px);
    overflow: auto;
}

#newsletter p,
#city_overlay_inner p,
#popup_inner p {
    line-height: 2em;
}

#newsletter .formularContainer:before {
    height: 100%;
    width: 1px;
    content: '';
    display: block;
    position: absolute;
    background-color: black;
    left: -15px;
    top: -12px;
}

#newsletter .formularContainer {
    min-height: 150px;
    margin-top: -5px;
}

#newsletter .form_label {
    display: none;
}

#newsletter .form_element {
    width: 100%;
}

#newsletter input[type="text"],
#newsletter input[type="email"],
#newsletter input[type="submit"],
#newsletter input[type="date"] {
    outline: none;
    background: none;
    border: none;
    border-bottom: 1px solid black;
    color: black;
}

#newsletter .ui-select,
#newsletter .ui-checkbox,
#newsletter .ui-radio {
    background: none;
    outline: none;
    color: black;
    border-bottom: 1px solid black;
}

#newsletter .ui-btn-icon-right:after {
    display: none;
}

#newsletter .ui-shadow {
    -webkit-box-shadow: none;
    box-shadow: none;
    -moz-box-shadow: none;
}

#newsletter #submit {
    border: none;
    float: right;
}

.mobile #newsletter .contentContainer,
.mobile #popup .contentContainer,
.mobile #city_overlay .contentContainer,
.mobile #content .contentContainer {
    width: 100%;
}

.mobile #popup .contentContainer {
    width: 450px;
}

.mobile #popup {
    padding-top: 15px;
}

.mobile #newsletter .content,
.mobile #popup .content,
.mobile #city_overlay .content,
.mobile #content .content {
    width: 100%;
}
.mobile #newsletter .content,
.mobile #popup .content,
.mobile #city_overlay .content{
    width: 100%;
    max-height: calc(100vh - 45px);
    max-height: calc(100dvh - 45px);
    overflow: auto;
}

.mobile #newsletter .formularContainer:before {
    display: none;
}

.mobile #newsletter img {
    display: none;
}

.mobile #newsletter h3,
.mobile #city_overlay h3 {
    font-size: 16px;
}

#newsletter_inner .close,
#popup_inner .close,
#city_overlay_inner .close {
    height: 30px;
    width: 30px;
    background-image: url(../images/close_button.png);
    position: absolute;
    left: 50%;
    z-index: 50;
    margin-left: 380px;
    margin-top: -15px;
    cursor: pointer;
}

#city_overlay_inner .close {
    margin-left: 150px;
}

.mobile #newsletter_inner .close,
.mobile #popup_inner .close,
.mobile #city_overlay_inner .close {
    margin-left: 0;
    left: auto;
    margin-top: 10px;
    right: 10px;
}

.mobile #popup_inner .close {
    right: calc(50% - (450px / 2) + 5px);
}

#snow {
    height: 100%;
    width: 100%;
    pointer-events: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
}

.formularContainer .form_row.radio.plugin .ui-radio {
    position: relative;
    float: left;
    width: calc(20% - 2px);
    cursor: pointer;
    display: inline-block;
    background-color: transparent !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('../images/Wilma-herz-nichtaktiv.png');
    outline: none;
    opacity: 0.5;
}

.formularContainer .form_row.radio.plugin .ui-radio:first-child,
.formularContainer .form_row.radio.plugin .ui-radio.active {
    background-image: url('../images/Wilma-herz-aktiv.png');
    opacity: 1;
}

.formularContainer .form_row.radio.plugin .ui-radio:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 100%;
}

.formularContainer .form_row.radio.plugin .ui-radio label {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
}

@media (max-width: 850px) {
    #fixedHeader:before {
        background-image: url('../images/header_day_mobile.jpg');
    }

    .night #fixedHeader:before {
        background-image: url('../images/header_night_mobile.jpg');
    }

    .mobile #social_sidebar {
        background-image: url('../images/footer_day_mobile.jpg')
    }

    .mobile .night #social_sidebar {
        background-image: url('../images/footer_night_mobile.jpg')
    }
}

.news_detail,
.blog_detail {
    text-align: left;
}

.blog_preview {
    max-width: 350px;
    margin: 0 auto;
}

.blog_preview .gallery3wm .overlay .navigate {
    background: none;
    height: 100px;
    width: 87px;
    pointer-events: all;

}

.mobile .blog_preview .gallery3wm .overlay .navigate {
    height: 30px;
    width: 30px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.mobile .blog_preview .gallery3wm .overlay .navigate.go_left {
    margin-left: -15px;
}

.mobile .blog_preview .gallery3wm .overlay .navigate.go_right {
    margin-right: -15px;
}

.blog_preview .blog_item .blog_item_inner .link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.blog_preview .gallery3wm .overlay .go_left {
    background-image: url('/theme/images/arrow_left.png');
    margin-left: -90px;
}

.blog_preview .gallery3wm .overlay .go_right {
    background-image: url('/theme/images/arrow_right.png');
    margin-right: -90px;
}

.blog_preview .image {
    padding-top: 60%;
    background-size: cover;
    background-position: center center;
    margin-bottom: 15px;
}

.blog_preview .overlay {
    pointer-events: none;
}

.blog_preview .blog_item_inner {
    padding: 20px;
    position: relative;
}

.blog_preview .blog_item_inner .background {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    background: #fff;
    z-index: -1;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
}

.blog_preview .blog_item .blog_item_inner .tags {
    margin-bottom: 15px;
}

.blog_preview .blog_item .blog_item_inner .tags a {
    padding: 4px 5px 0 5px;
    border-radius: 3px;
    background: #772e4b;
    color: #fff;
    font-family: rounded_eleganceregular, sans-serif;
    margin: 0 5px 5px 0;
    font-size: 14px;
    position: relative;
    z-index: 5;
}

.blog_preview .blog_item .blog_item_inner .tags a:hover {
    background: #000;
}

.blog_wrapper .blog_item {
    width: calc(1080px / 3);
    max-width: 100%;
    text-align: left;
    padding: 15px;
    display: inline-block;
    vertical-align: top;
    float: left;
}

@media (max-width: 1320px) {
    #nav ul:last-child {
        float: right;
        padding-right: 40px;
    }
}

@media (min-width: 1095px) {
    .blog_wrapper .blog_item:nth-child(3n+1) {
        clear: left;
    }
}

@media (max-width: 1094px) {
    .blog_wrapper .blog_item:nth-child(2n+1) {
        clear: left;
    }

    .blog_wrapper {
        max-width: 720px;
        margin: 0 auto;
    }
}

@media (max-width: 1049px) {
    #popup .contentContainer,
    #popup .cms_container {
        flex-direction: column;
    }
}

@media (max-width: 774px) {
    .blog_wrapper {
        max-width: 360px;
        margin: 0 auto;
    }

    #popup .contentContainer, #popup .cms_container {
        display: flex;
        flex-direction: column;
        overflow: auto;
        /*max-height: 100dvh;*/
    }

    #popup .contentContainer {
        width: calc(100% - 50px);
    }

    #popup .content {
        width: 100% !important;
    }
}

.blog_wrapper .blog_item .blog_item_inner {
    position: relative;
    background: #fff;
    padding: 15px;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
    color: #000;
}

.blog_wrapper .blog_item .blog_item_inner .background {
    position: absolute;
    top: 7.5px;
    right: 7.5px;
    bottom: 7.5px;
    left: 7.5px;
    z-index: -1;
    background: #f9f5f3
}

.blog_wrapper .blog_item .blog_item_inner .link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.blog_wrapper .blog_item .blog_item_inner .image {
    padding-top: 60%;
    margin: -15px -15px 15px;
    background: #000;
    background-size: cover;
    background-position: center center;
}

.blog_wrapper .blog_item .blog_item_inner .tags a {
    padding: 4px 5px 0 5px;
    border-radius: 3px;
    background: #772e4b;
    color: #fff;
    font-family: rounded_eleganceregular, sans-serif;
    margin: 0 5px 5px 0;
    font-size: 14px;
    position: relative;
    z-index: 5;
}

.blog_wrapper .blog_item .blog_item_inner .tags a:hover {
    background: #000;
}

.blog_group_select {
    margin: 20px;
}

.blog_group_select a {
    background: #772e4b;
    padding: 7px 7px 2px;
    color: #fff;
    font-weight: normal;
    font-family: rounded_eleganceregular, sans-serif;
    margin: 5px;
    white-space: nowrap;
    display: inline-block;
}

.blog_group_select a.active,
.blog_group_select a:hover {
    background: #000;
}

.desktop .blog_detail .headline {
    word-break: break-word;
}

.blog_detail h2 {
    font-size: 22px;
}

#content .blog_detail h2 p {
    line-height: 1.5em;
}

header #stoerer {
    position: absolute;
    width: 150px;
    height: 150px;
    top: -50px;
    right: 5%;
    z-index: 5;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

#stoerer img {
    max-width: 200px;
    max-height: 200px;
    height: auto;
    width: 100%;
}

html[data-webcode="1698"]
#content_half .contentRow .content:first-child {
    padding-left: 0;
}

html[data-webcode="1698"]
#content_half .contentRow .content:last-child {
    padding-right: 0;
}

html[data-webcode="1698"].desktop #content_half .contentRow.last .content.no-background:after,
html[data-webcode="1698"].mobile #content_half .contentRow.last .content.no-background:last-child:after,
html[data-webcode="1698"].desktop #content_half .contentRow.last .content.no-background:after,
html[data-webcode="1698"].mobile #content_half .contentRow.last .content.no-background:last-child:after,
html[data-webcode="1698"].desktop #content_half .contentRow.last .content.no-background:before,
html[data-webcode="1698"].desktop #content_half .contentRow.last .content.no-background:after,
html[data-webcode="1698"].mobile #content_half .contentRow.last .content.no-background:last-child:after,
html[data-webcode="1698"].desktop #content_half .contentRow.last .content.no-background:after,
html[data-webcode="1698"].mobile #content_half .contentRow.last .content.no-background:last-child:after,
html[data-webcode="1698"].mobile #content_half .contentRow.last .content.no-background:last-child:before {
    display: none;
}

html[data-webcode="1698"] #content_half .contentRow .content.no-background {
    border-bottom: 0 !important;
}

html[data-webcode="1698"] #content_bottom .center {
    padding: 0 20px;
}

html[data-webcode="1698"] #content_top:after {
    display: none;
}

@media (max-width: 1720px) {
    header #stoerer {
        top: -140px;
    }
}

html.mobile header #stoerer,
html.smallHeader header #stoerer {
    width: 100px;
    height: 100px;
    top: -20px;
}

.no-header #strukturbild {
    display: none !important;
}

.no-header #header {
    height: 200px;
}

.mobile.no-header #header {
    height: 130px;
}

@media (max-width: 1600px) {
    html.smallHeader.desktop header #stoerer {
        top: 50px;
    }
}

@media (max-width: 480px) {
    .mobile #popup .contentContainer {
        width: calc(100% - 30px);
    }

    .mobile #popup_inner .close {
        right: 22px;
    }
}

@media (max-width: 450px) {
    html.mobile header #stoerer, html.smallHeader header #stoerer {
        width: 60px;
        height: 60px;
        top: -7px;
    }

    #popup .content {
        width: 100% !important;
    }

    header video {
        max-width: none;
        height: 100%;
        max-height: 220px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
}