﻿/*
    Allgemein
*/

.szoAppView h1 {
    margin:.5em;
}

.szoAppView h2 {
    clear:both;
    margin:0 .8em .8em;
    font-size:18px;
    color:#666;
}

span.szoPageName {
    display:block;
    margin:1em;
    font-weight:bold;
}



/*
    Lade-Animation
    (Spinning Wheel)
*/

.szoProgressOverlay {
    position:absolute;
    z-index:1000;
    top:0;
    right:0;
    bottom:0;
    left:0;
    cursor:progress;
    background:rgba(255, 255, 255, .7);
}
.szoProgressMessage {
    position:absolute;
    z-index:1100;
    top:50%;
    left:50%;
    min-width:40%;
    padding:1em 1em 1em 4em;
    transform:translate(-50%, -50%);
    background:url(/Layout/Custom/Boilerplate/img/icons/ajax-loader_32x32.gif) no-repeat 1em center #dfdfdf;
}



/*
    Cookie Banner
*/

#szoCookieBar {
    position:fixed;
    z-index:99999;
    bottom:0;
    left:0;
    width:100%;
    color:#fff;
    background:rgba(0, 88, 37, 0.9);
}
#szoCookieBar p {
	margin:0;
	padding:20px 15px;
	font-size:11px;
	color:#fff;
}
#szoCookieBar a {
    color:inherit;
}
#szoCookieBar #szoConfirmCookies {
    display:block;
    margin:10px auto 0;
    padding:6px 12px;
    color:#000;
    background:#fff;
    border:none;
}
#szoCookieBar #szoCloseCookieBar {
    position:absolute;
    top:0;
    right:5px;
    margin:0;
    font-size:20px;
    color:#fff;
    background:transparent;
    cursor:pointer;
}
#szoCookieBar #szoCloseCookieBar span {
    color: inherit;
}



/*
    Suche
*/

/** Schnellsuche **/

.szoQuickSearchForm {
    float:right;
    width:3em;
    height:3em;
    margin-top:.75em;
}

/* Listen */

.szoQuickSearchForm ul {
    list-style:none;
    display:block;
    margin:0;
    padding:0;
}
.szoQuickSearchForm > ul > li > ul {
    position:absolute;
    z-index:100000;
    left:0;
    display:none;
    width:100%;
}

.szoQuickSearchForm > ul > li.szoOpenedMenu > ul {
    top:4em;
}

/* Listen-Elemente */

.szoQuickSearchForm > ul > li {
    border-left:1px solid #d6d6d6;
}
.szoQuickSearchForm > ul > li > ul > li {
    display:block;
    padding:1em;
    background-color:#525252;
    border-top:1px solid #666;
}
.szoQuickSearchForm > ul > li > ul > li:first-child {
    border:none;
}

.szoQuickSearchForm ul li.szoOpenedMenu {
    padding-bottom:2em;
    background-color:#525252;
}

/* Inhalte */

.szoQuickSearchForm span.szoToggleSearchMenu {
    display:block;
    height:3em;
    text-indent:-9999em;
    cursor:pointer;
    background-image:url(/Layout/Custom/Boilerplate/img/icons/icon-sprites_64x64.png);
    background-repeat:no-repeat;
    background-position:6px -122px;
    background-size:192px;
}

.szoQuickSearchForm li.szoOpenedMenu span.szoToggleSearchMenu {
    background-position:-58px -121px;
}

/** Sichtbarkeit der Unterlisten **/

/* HandleTopMenus() in szmMain.js */


/** erweiterte Suche **/

.szoSearch {
    position:relative;
    border-top:0;
}
.szoSearch.borderTop:before {
    content:none;
}

#szoSearchResultHeading {
    display:none;
    margin:.5em .5em 0;
}
.szoSearch h2 span {
    font-weight:bold;
}

.szoSearchResultNotice {
    display:none;
    margin:0 1em 1em;
}

.szoSearchResultMeta {
    display:none;
    padding:1em;
    overflow:hidden;
}
.szoSearchResultMeta.top {
    margin-bottom:2em;
    padding-bottom:1em;
    border-bottom:1px solid #a0a0a0;
}
.szoSearchResultMeta.bottom {
    padding-top:1em;
    border-top:1px solid #a0a0a0;
}
        
.szoSearch .szoPagination {
    float:left;
}
        
.szoSearchResultOrder {
    float:right;
    margin-top:.2em;
}
        
.szoSearch .szoTeaserList {
    position:relative;
    z-index:10;
    min-height:10em;
}



/*
    Social Media
*/

ul.szoSocialMediaList {
    display:block;
    list-style:none;
    margin:1em;
    padding:0;
}

ul.szoSocialMediaList li {
    position:relative;
    display:block;
    margin:.5em 0;
}
ul.szoSocialMediaList li:before {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:3em;
    background-image:url(/Layout/Custom/Boilerplate/img/icons/social-media-sprites_32x32.png);
    background-repeat:no-repeat;
    -webkit-transition:all 150ms; -o-transition:all 150ms; transition:all 150ms;
}
ul.szoSocialMediaList li.noIcon:before {
    width:0;
	background:transparent;
}
ul.szoSocialMediaList li:hover:before,
ul.szoSocialMediaList li:focus:before {
    width:100%;
}
ul.szoSocialMediaList li.facebook:before {
    background-position:1px 1px;
    background-color:#3b5998;
}
ul.szoSocialMediaList li.twitter:before {
    background-position:2px -96px;
    background-color:#2daae1;
}
ul.szoSocialMediaList li.googleplus:before {
    background-position:2px -191px;
    background-color:#d64136;
}
ul.szoSocialMediaList li.whatsapp:before {
	background-position:4px -445px;
	background-color:#1e9e11;
}
ul.szoSocialMediaList li.rss:before {
    background-position:2px -286px;
    background-color:#f69536;
}
ul.szoSocialMediaList li.webaward:before {
	background-color:#277c14;
}
ul.szoSocialMediaList li.navigation:before {
	background-color:#dfdfdf;
}

ul.szoSocialMediaList a {
    position:relative;
    display:block;
    padding:.7em .7em .7em 4em;
    font-weight:bold;
    color:#444;
    text-decoration:none;
    border:1px solid #d6d6d6;
    -webkit-transition:all 150ms; -o-transition:all 150ms; transition:all 150ms;
}
ul.szoSocialMediaList li.noIcon a {
	padding-left:.7em;
}
ul.szoSocialMediaList li.navigation a {
	font:normal 14px Gandhi, Times, "Times New Roman", Georgia, serif;
}
ul.szoSocialMediaList a:hover,
ul.szoSocialMediaList a:focus {
    color:#fff;
}
ul.szoSocialMediaList li.navigation a:hover,
ul.szoSocialMediaList li.navigation a:focus {
	color:#444;
}
ul.szoSocialMediaList a:before,
ul.szoSocialMediaList a:after {
    content:"";
    position:absolute;
    width:0;
    height:0;
    -webkit-transition:all 150ms; -o-transition:all 150ms; transition:all 150ms;
}
ul.szoSocialMediaList a:before {
    top:10px;
    right:10px;
    border-top:8px solid #fff;
    border-bottom:8px solid #fff;
    border-left:7px solid #005825;
}
ul.szoSocialMediaList a:hover:before,
ul.szoSocialMediaList a:focus:before {
    border-top-color:transparent;
    border-bottom-color:transparent;
    border-left-color:#fff;
}
ul.szoSocialMediaList a:after {
    top:12px;
    right:13px;
    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
    border-left:5px solid #fff;
}

ul.szoSocialMediaList li.facebook a:hover:after,
ul.szoSocialMediaList li.facebook a:focus:after {
    border-left-color:#3b5998;
}
ul.szoSocialMediaList li.twitter a:hover:after,
ul.szoSocialMediaList li.twitter a:focus:after {
    border-left-color:#2daae1;
}
ul.szoSocialMediaList li.googleplus a:hover:after,
ul.szoSocialMediaList li.googleplus a:focus:after {
    border-left-color:#d64136;
}
ul.szoSocialMediaList li.rss a:hover:after,
ul.szoSocialMediaList li.rss a:focus:after {
    border-left-color:#f69536;
}
ul.szoSocialMediaList li.webaward a:hover:after,
ul.szoSocialMediaList li.webaward a:focus:after {
    border-left-color:#277c14;
}
ul.szoSocialMediaList li.navigation a:hover:after,
ul.szoSocialMediaList li.navigation a:focus:after {
    border-left-color:#dfdfdf;
}

/* Facebook Like-Box */

.szoFacebookLikeBoxContainer {
    margin:0 auto;
}



/*
    Videoansicht
*/

.szoVideoView.borderTop{
    border:none;
}
.szoVideoView.borderTop:before {
    content:none;
}

.szoVideoView .szoArticleHeader,
.szoVideoView .szoVideoHeader {
    margin:1em;
}
.szoVideoView .szoVideoHeader .szoPubDate {
    display:block;
    text-align:right;
}
.szoVideoView .szoArticleHeader h1,
.szoVideoView .szoVideoHeader h1 {
    margin:0;
    padding:.5em 0;
    font-size:22px;
    line-height:26px;
}
.szoVideoView .szoArticleHeader h2,
.szoVideoView .szoVideoHeader h2 {
    margin-top:0;
    font-size:18px;
    line-height:22px;
    color:#666;
}
.szoVideoView .szoVideoHeader h3 {
    margin-bottom:0;
}
.szoVideoView .szoVideoHeader h3 + p {
    margin-top:0;
}

.szoVideoView .szoVideoPlayer {
    position:relative;
    height:0;
    padding-bottom:56%;
}
.szoVideoView .szoVideoPlayer object {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.szoVideoView .szoVideoPlayerMeta {
    margin:1em;
}
.szoVideoView .szoVideoPlayerMeta .szoCopyrightHint {
    margin-bottom:0;
    text-align:right;
}



/*
    SZO-Exklusiv
*/

/** Intro **/

.szoExclusiveIntro {
    margin-bottom:1em;
    overflow:hidden;
    background:url(/Layout/Custom/Boilerplate/img/content/exklusiv-intro_bg_small.jpg) no-repeat 50% 100%;
}
.szoExclusiveIntro.hoppla {
    background:url(/Layout/Custom/Boilerplate/img/content/exklusiv-intro-hoppla_bg_small.jpg) no-repeat 50% 100%;
}

.szoExclusiveIntro .introText {
    margin:1em 1em 3em;
    padding:.5em 1em;
    background:#67ad2f; /* Fallback */
    background:rgba(103, 173, 47, .9);
}
    
.szoExclusiveIntro .introText h2,
.szoExclusiveIntro .introText p,
.szoExclusiveIntro .introText a {
    color:#fff;
}
.szoExclusiveIntro .introText h2 {
    margin:0;
    font:normal 2.5em/1 "Source Sans Pro", sans-serif;
}
.szoExclusiveIntro .introText p {
    margin-top:.5em;
    font-size:1.2em;
}

.szoExclusiveIntro .introText .additionalNotice {
    margin:1em 0 0;
    font-family:inherit;
    font-size:12px;
    text-align:center;
}

.szoExclusiveIntro .regOption {
    margin-bottom:20px;
    padding:0 1em;
    vertical-align:top;
    border:5px solid #fff;
}

.szoExclusiveIntro .introText button,
.szoExclusiveIntro .introText .button {
    box-sizing:border-box;
    display:inline-block;
    width:100%;
    height:auto !important;
    padding:.5em 1em;
    text-decoration:none;
    vertical-align:top;
    background:transparent;
}
.szoExclusiveIntro .introText .button {
    font-size:12px;
    text-align:center;
}
.szoExclusiveIntro .introText button[disabled],
.szoExclusiveIntro .introText button:hover,
.szoExclusiveIntro .introText button:focus,
.szoExclusiveIntro .introText .button:hover,
.szoExclusiveIntro .introText .button:focus {
    opacity:.8;
}
.szoExclusiveIntro .introText button span,
.szoExclusiveIntro .introText .button span {
    display:block;
    font-size:1em;
    color:#fff;
}
.szoExclusiveIntro .introText button span.title,
.szoExclusiveIntro .introText .button span.title {
    padding-bottom:1em;
    font:normal 1.5em/1 "Source Sans Pro", sans-serif;
    text-transform:uppercase;
}
.szoExclusiveIntro .introText button span.openInfoText,
.szoExclusiveIntro .introText .button span.openInfoText {
    text-decoration:underline;
}
.szoExclusiveIntro .introText button span.openInfoText:before,
.szoExclusiveIntro .introText .button span.openInfoText:before {
    content:"";
    display:inline-block;
    width:16px;
    height:16px;
    margin-right:5px;
    background:url(/Layout/Custom/Boilerplate/img/icons/icon-sprites_16x16.png) no-repeat -48px -190px;
}


/** Vorteile **/

.szoExclusivePros {
    margin:1em;
    min-height:340px;
    overflow:hidden;
    background:url(/Layout/Custom/Boilerplate/img/content/exklusiv-advantages_bg.jpg) no-repeat 0 8em;
    background-size:contain;
}

.szoExclusivePros h2,
.szoExclusivePros li {
    color:#636259;
}
.szoExclusivePros h2 {
    font:normal 2em/1.2 "Source Sans Pro", sans-serif;
}

.szoExclusivePros ul {
    list-style:none;
    margin-top:22em;
    padding-left:0;
}
.szoExclusivePros ul li {
    position:relative;
    display:block;
    padding-left:2em;
    font-size:14px;
    line-height:1.8;
}
.szoExclusivePros ul li:before {
    content:"\2713";
    position:absolute;
    top:-.4em;
    left:0;
    font-size:22px;
    font-weight:bold;
    color:#67ad2f;
}


/** Kontakt **/

.szoExclusiveContact {
    margin-bottom:2em;
}

.szoExclusiveContact p {
    margin:0 1em 1em;
    padding-top:1em;
    font:normal 1.5em/1.2 "Source Sans Pro", sans-serif;
    color:#636259;
}


/** Bedingungen **/

.szoExclusiveTerms p {
    margin:0 1em 1em;
    color:#666;
    line-height:1.3;
}



/*
    Baby-Galerie
*/

/** Großansicht **/

.szoBabyGallery h1 {
    clear:both;
}
.szoBabyGallery h3 {
    margin:.8em;
}

.szoBabyGallery .szoPagination {
    width:145px;
    margin:0 auto;
}

.szoBabyGallery .szoBabySlide {
    overflow:hidden;
}
.szoBabyGallery figure {
    text-align:center;
}
.szoBabyGallery figure img {
    width:auto;
    max-width:100%;
    max-height:300px;
}
.szoBabyGallery figcaption {
    margin-bottom:2em;
    text-align:left;
}

.szoBabyGallery .childData h2 {
    margin:1em .8em -.6em;
}

.szoBabyGallery p {
    margin:1em;
}


/** Wochen-Slider **/

.szoBabyGalleryWeeklyPreview {
    margin:1em 0;
    padding:1em 0;
    background:#ebebeb;
    border-top:1px solid #a0a0a0;
    border-bottom:1px solid #a0a0a0;
}
.szoBabyGalleryWeeklyPreview .szoBabyGalleryWeekList li {
    height:110px;
    text-align:center;
}
.szoBabyGalleryWeeklyPreview .szoBabyGalleryWeekList li a {
    display:block;
    height:93px;
    text-decoration:none;
}
.szoBabyGalleryWeeklyPreview .szoBabyGalleryWeekList li img {
    width:100%;
    height:100%;
}

html.no-objectfit .szoBabyGalleryWeeklyPreview .szoBabyGalleryWeekList li span {
    display:block;
    padding-top:93px;
}



/*
    Baby-Galerie-Vorschau
*/

.szoBabyGalleryPreview {
    clear:both;
    margin:3em 0;
}

.szoBabyGalleryPreview h3 {
    margin-left:.6em;
}

.szoBabyGalleryPreviewStripe .region {
    clear:both;
    overflow:hidden;
    background:#ebebeb;
}
.szoBabyGalleryPreviewStripe .region a {
    text-decoration:none;
}
.szoBabyGalleryPreviewStripe .region .image {
    position:relative;
    float:left;
    width:40%;
    height:0;
    overflow:hidden;
    padding-bottom:30%;
}
.szoBabyGalleryPreviewStripe .region:nth-child(even) .image {
    float:right;
}
.szoBabyGalleryPreviewStripe .region .image:after {
    content:"";
    position:absolute;
    top:calc(50% - 12px);
    right:0;
    width:0;
    height:0;
    border-top:15px solid transparent;
    border-right:12px solid #ebebeb;
    border-bottom:15px solid transparent;
}
.szoBabyGalleryPreviewStripe .region:nth-child(even) .image:after {
    right:auto;
    left:0;
    border:none;
    border-top:15px solid transparent;
    border-bottom:15px solid transparent;
    border-left:12px solid #ebebeb;
}
.szoBabyGalleryPreviewStripe .region .image img {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.szoBabyGalleryPreviewStripe .region p {
    margin:0;
    padding:15px 10px 0 10px;
    overflow:hidden;
    font:normal 1.2em Gandhi, Times, "Times New Roman", Georgia, Serif;
    font-weight:normal;
    color:#005825;
}
.szoBabyGalleryPreviewStripe .region p .example {
    display:block;
    font:normal 12px Verdana, Helvetica, Arial, sans-serif;
    color: #666;
}



/*
    Augusto Restaurantsuche
*/

.szoRestaurantSearch {
    margin-bottom:50px;
    overflow:hidden;
}


/** Meta **/

#szoRestaurantSearchItems {
    list-style:none;
    margin:-.5em 1em 0;
    padding-left:0;
}
#szoRestaurantSearchItems .item {
    display:inline-block;
    margin-right:10px;
}
#szoRestaurantSearchItems .item:after {
    content:"\2022";
    margin-left:10px;
}
#szoRestaurantSearchItems .item:last-child:after {
    content:"";
}

.szoSearchResultMeta .szoPagination {
    float:left;
}

.szoSearchResultMeta .szoRestaurantSearchSortBar {
    float:right;
}
.szoSearchResultMeta .szoRestaurantSearchSortBar ul {
    list-style:none;
    margin:0;
    padding-left:0;
}
.szoSearchResultMeta .szoRestaurantSearchSortBar li {
    display:inline-block;
    border-left:1px solid #d6d6d6;
}
.szoSearchResultMeta .szoRestaurantSearchSortBar li:first-child {
    border-left:none;
}
.szoSearchResultMeta .szoRestaurantSearchSortBar span {
    display:inline-block;
    padding:2px 5px 2px 8px;
    cursor:pointer;
}
.szoSearchResultMeta .szoRestaurantSearchSortBar span.active {
    color:#005825;
    text-decoration:underline;
}


/** Ergebnisliste **/

.szoRestaurantSearchResults .szoRestaurantItem {
    margin-top:20px;
    padding:20px 1em 0;
    overflow:hidden;
    border-top:1px solid #d6d6d6;
}
.szoRestaurantSearchResults .szoRestaurantItem:first-child,
.szoRestaurantSearchResults .szoRestaurantItem:first-of-type {
    margin-top:0;
    border:none;
}

.szoRestaurantSearchResults .szoRestaurantItem a {
    text-decoration:none;
}

.szoRestaurantSearchResults .szoRestaurantItem h3 {
    margin:5px 0;
}

.szoRestaurantSearchResults .szoRestaurantItem #szoRestaurantAddress {
    margin:0;
}
.szoRestaurantSearchResults .szoRestaurantItem #szoRestaurantAddress .street,
.szoRestaurantSearchResults .szoRestaurantItem #szoRestaurantAddress .zip {
    padding-right:5px;
}

/* Basic */

.szoRestaurantSearchResults .szoRestaurantItem.basic #szoRestaurantAddress .zip:before {
    content:"|";
    padding:0 8px;
}

.szoRestaurantSearchResults .szoRestaurantItem.basic #szoRestaurantPhone {
    margin-top:0;
}


/* Premium */

.szoRestaurantSearchResults .szoRestaurantItem figure {
    float:left;
    width:120px;
    height:90px; /* 4:3 */
    margin:0 10px 10px 0;
    text-align:center;
}
.szoRestaurantSearchResults .szoRestaurantItem figure img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:100%;
}

.szoRestaurantSearchResults .szoRestaurantItem figure + .szoRestaurantInfo {
    padding-left:130px;
}
.szoRestaurantSearchResults .szoRestaurantItem .szoRestaurantInfo p {
    margin:0;
}
.szoRestaurantSearchResults .szoRestaurantItem .szoRestaurantInfo #szoRestaurantAddress .zip:before {
    content:" ";
    display:block;
}
.szoRestaurantSearchResults .szoRestaurantItem .szoRestaurantInfo #szoRestaurantPhone {
    margin-top:5px;
}
.szoRestaurantSearchResults .szoRestaurantItem figure + .szoRestaurantInfo #szoRestaurantAttributes {
    transform:translate(-130px);
}


/** Icons **/

/* Generell */

.szoRestaurantPlaceholder .icon,
.szoRestaurantSearch .icon {
    display:inline-block;
}
.szoRestaurantPlaceholder .icon:before,
.szoRestaurantSearch .icon:before {
    content:"";
    float:left;
    margin-right:5px;
    background-image:url(/Layout/Custom/Boilerplate/img/icons/augusto-icon-sprite.png);
    background-repeat:no-repeat;
}

/* Attribute */

.szoRestaurantPlaceholder .icon.attributes,
.szoRestaurantSearch .icon.attributes {
    width:32px;
    padding-right:5px;
    font-size:0;
}
.szoRestaurantPlaceholder .icon.attributes:before,
.szoRestaurantSearch .icon.attributes:before {
    width:32px;
    height:32px;
    background-size:32px;
}
.szoRestaurantPlaceholder .icon.attributes.busSpaces:before,
.szoRestaurantSearch .icon.attributes.busSpaces:before {
    background-position:0 -155px;
}
.szoRestaurantPlaceholder .icon.attributes.carSpaces:before,
.szoRestaurantSearch .icon.attributes.carSpaces:before {
    background-position:0 -472px;
}
.szoRestaurantPlaceholder .icon.attributes.bikeSpaces:before,
.szoRestaurantSearch .icon.attributes.bikeSpaces:before {
    background-position:0 -412px;
}
.szoRestaurantPlaceholder .icon.attributes.wifi:before,
.szoRestaurantSearch .icon.attributes.wifi:before {
    background-position:0 -60px;
}
.szoRestaurantPlaceholder .icon.attributes.dogProposals,
.szoRestaurantSearch .icon.attributes.dogProposals {
    width:auto;
    text-indent:0;
}
.szoRestaurantPlaceholder .icon.attributes.dogProposals:before,
.szoRestaurantSearch .icon.attributes.dogProposals:before {
    content:none;
}
.szoRestaurantPlaceholder .icon.attributes.disabledPersons:before,
.szoRestaurantSearch .icon.attributes.disabledPersons:before {
    background-position:0 -348px;
}
.szoRestaurantPlaceholder .icon.attributes.smokingInside:before,
.szoRestaurantPlaceholder .icon.attributes.smokingOutside:before,
.szoRestaurantSearch .icon.attributes.smokingInside:before,
.szoRestaurantSearch .icon.attributes.smokingOutside:before {
    background-position:0 -315px;
}
.szoRestaurantPlaceholder .icon.attributes.kidsProposals:before,
.szoRestaurantSearch .icon.attributes.kidsProposals:before {
    background-position:0 -382px;
}


/** Detailanzeige **/

.szoRestaurantView .loading {
    min-height:300px;
    background:url(/Layout/Custom/Boilerplate/img/icons/ajax-loader_32x32.gif) no-repeat center;
}

/* Kategorien */

#szoRestaurantCats {
    margin:-0.5em 0 1em 1em;
    overflow:hidden;
}
#szoRestaurantCats ul {
    list-style:none;
    margin-top:0;
    padding:0;
    overflow:hidden;
}
#szoRestaurantCats ul.szoRestaurantCategoryTree {
    margin-bottom:0;
}
#szoRestaurantCats ul.sub {
    margin:0;
    padding-left:10px;
}
#szoRestaurantCats li {
    position:relative;
    padding-left:10px;
    overflow:hidden;
}
#szoRestaurantCats li:after,
#szoRestaurantCats li:before {
    content:"";
    position:absolute;
    top:4px;
    width:0;
    height:0;
}
#szoRestaurantCats li:before {
    z-index:20;
    left:2px;
    border-top:5px solid #fff;
    border-bottom:5px solid #fff;
    border-left:4px solid #444;
}
#szoRestaurantCats li:after {
    z-index:30;
    left:0;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
    border-left:4px solid #fff;
}
#szoRestaurantCats ul.szoRestaurantCategoryTree > li {
    padding-bottom:7px;
}
#szoRestaurantCats ul.szoRestaurantCategoryTree > li > span {
    float:left;
}

/* Bilder */

.szoRestaurantView .szoRestaurantPhotoStream {
    margin:0 1em 20px;
    overflow:hidden;
}

.szoRestaurantView #szoRestaurantMainImage {
    height:300px;
    overflow:hidden;
    text-align:center;
    vertical-align:middle;
}
.szoRestaurantView #szoRestaurantMainImage img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:100%;
}

.szoRestaurantView .szoRestaurantPhotoStream h3 {
    float:left;
    margin-bottom:0;
}
.szoRestaurantView .szoRestaurantPhotoStream .szoPagination {
    float:right;
    margin-top:10px;
}

.szoRestaurantView .szoRestaurantPhotoStream .szoRestaurantImagesListWrapper {
    clear:both;
}
.szoRestaurantView .szoRestaurantPhotoStream ul {
    list-style:none;
    margin-top:0;
    padding:0;
}

.szoRestaurantView .szoRestaurantPhotoStream li {
    box-sizing:border-box;
    position:relative;
    float:left;
    width:calc(25% - 5px) !important;
    height:20vw;
    margin-right:5px;
    overflow:hidden;
    text-align:center;
    vertical-align:middle;
}
.szoRestaurantView .szoRestaurantPhotoStream li img {
    object-fit:cover;
    width:calc(100% - 4px);
    height:calc(100% - 4px);
    padding:1px;
    border:1px solid #fff;
}
.szoRestaurantView .szoRestaurantPhotoStream li.active img {
    border:1px solid #005825;
}

/* Videos */

.szoRestaurantView .embedContainer {
    position: relative;
    width:100%;
    margin-bottom:20px;
    padding-bottom:56.25%;
    overflow:hidden;
}
.szoRestaurantView .embedContainer iframe {
    position:absolute;
    width:100% !important;
    height:100% !important;
}

/* Text */

.szoRestaurantText {
    margin:0 1em;
}

/* Strukturierung Seitenspalte */

#szoRightColumn {
    background-color:#efefef;
}
#szoRightColumn .szoRestaurantInfo > * {
    padding:0 1em;
}
#szoRightColumn .szoRestaurantValue {
    margin-bottom:10px;
    padding-bottom:10px;
    border-bottom:1px solid #ccc;
}
#szoRightColumn .szoRestaurantValue > h4 {
    margin:0 0 5px;
}

/* Logo */

#szoRestaurantLogo {
    padding-top:10px !important;
    text-align:center;
    border:none !important;
}
#szoRestaurantLogo img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:250px;
}

/* Adresse */

#szoRestaurantAddress {
    padding-bottom:0 !important;
    border:none !important;
}
#szoRestaurantMain #szoRestaurantAddress {
    margin:0 1em;
}

/* Karte */

#szoMap {
    height:200px;
}
#szoRestaurantMain #szoMap {
    margin-bottom:2em;
}

/* Kontakt */

#szoRestaurantMain #szoRestaurantContact {
    margin-right:1em;
    margin-left:1em;
}

#szoRestaurantContact > span {
    display:block;
}
#szoRestaurantContact .contact.fax,
#szoRestaurantContact .contact.web {
    margin-bottom:10px;
}
#szoRestaurantContact .contact.facebook .name,
#szoRestaurantContact .contact.twitter .name {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    border:0;
}
#szoRestaurantContact .contact.facebook:before,
#szoRestaurantContact .contact.twitter:before {
    content:"";
    float:left;
    width:20px;
    height:20px;
    margin-right:2px;
    background-image:url(/Layout/Custom/Boilerplate/img/icons/social-media-sprites_32x32.png);
    background-repeat:no-repeat;
    background-size:20px;
}
#szoRestaurantContact .contact.facebook:before {
    background-position:0 -20px;
}
#szoRestaurantContact .contact.twitter:before {
    background-position:0 -79px;
}

/* Öffnungszeiten */

#szoRestaurantOpeningHours .szoRestaurantOpeningHours td {
    padding:1px 6px;
}
#szoRestaurantOpeningHours .szoRestaurantOpeningHours td:first-child {
    padding-left:0;
    font-weight:bold;
}

#szoRestaurantOpeningHours .szoOpeningHoursCustomText {
    margin:0;
}
#szoRestaurantOpeningHours .szoOpeningHoursCustomText:before {
    width:20px;
    height:20px;
    background-size:20px;
    background-position:0 -157px;
}

/* Kartenzahlung */

#szoRestaurantPaymentCards h4 {
    margin-bottom:5px;
}

#szoRestaurantPaymentCards .paymentCards,
#szoRestaurantPaymentCards .isAccepted {
    position:relative;
    margin:0;
    padding-left:25px;
}
#szoRestaurantPaymentCards .paymentCards:before,
#szoRestaurantPaymentCards .isAccepted:before {
    position:absolute;
    top:0;
    left:0;
    width:20px;
    height:20px;
    background-size:20px;
    background-position:0 -175px;
}
#szoRestaurantPaymentCards .paymentCards span {
    display:inline-block;
    margin-right:5px;
}
#szoRestaurantPaymentCards .paymentCards span:after {
    content:",";
}
#szoRestaurantPaymentCards .paymentCards span:last-child:after {
    content:none;
}

#szoRestaurantPaymentCards .isAccepted span:before {
    content:",";
    padding-right:5px;
}

/* Rabattkarten */

#szoRestaurantDiscountCards h4 {
    margin-bottom:5px;
}

#szoRestaurantDiscountCards .discountCards {
    position:relative;
    margin:0;
    padding-left:25px;
}
#szoRestaurantDiscountCards .discountCards:before {
    position:absolute;
    top:0;
    left:0;
    width:20px;
    height:20px;
    background-size:20px;
    background-position:0 -175px;
}
#szoRestaurantDiscountCards .discountCards span {
    display:inline-block;
    margin-right:5px;
}
#szoRestaurantDiscountCards .discountCards span:after {
    content:",";
}
#szoRestaurantDiscountCards .discountCards span:last-child:after {
    content:none;
}


/* ÖPNV */

#szoRestaurantPublicTransport {
    border:none !important;
}

.transportLink {
    display:block !important;
    margin:0;
    overflow:hidden;
}
.transportLink:before {
    width:20px;
    height:20px;
    background-size:20px;
}
.transportLink.bus:before {
    background-position:0 -98px;
}
.transportLink.tram:before {
    background-position:0 -79px;
}
.transportLink.suburban:before {
    background-position:0 -118px;
}
.transportLink:last-child {
    margin-bottom:0;
}

.transportLink .type {
    padding-right:10px;
    font-style:italic;
}



/*
    Modal
*/

.szoModalOverlay {
    position:absolute;
    z-index:100000;
    top:0;
    left:0;
    width:100%;
    /* height: wird berechnet */
    background:rgba(0, 0, 0, .3);
}

.szoModalContainer {
    box-sizing:border-box;
    position:absolute;
    z-index:1000000;
    /* top: wird berechnet */
    /* left: wird berechnet */
    max-width:90%;
    padding:.5em;
    background:#fff;
    border:1px solid #d6d6d6;
    -ms-transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
}
.szoModalContainer.green {
    background-color:rgba(0, 88, 37, 0.9);
}
.szoModalContainer.bottom {
    position:fixed;
    top:auto;
    bottom:0;
    left:0;
    width:100%;
    border:0;
    border-top:1px solid #d6d6d6;
    -ms-transform:translate(0, 0);
    -webkit-transform:translate(0, 0);
    transform:translate(0, 0);
}

.szoModalContainer .szoModalClose {
    float:right;
    margin:0;
    font-size:18px;
    font-weight:bold;
    text-decoration:none;
    cursor:pointer;
}

.szoModalContainer .szoModalContent {
    padding:1.5em 1em .5em;
}
.szoModalContainer.green .szoModalClose,
.szoModalContainer.green .szoModalContent * {
    color:#fff;
}



/*
    Bildervorschau für Uploads
*/

.szoUploadPhotoPreview {
    position:relative;
}

.szoUploadPhotoPreview .preview {
    position:absolute;
    top:5px;
    right:5px;
    bottom:5px;
    left:5px;
    left:50%;
    overflow:hidden;
    transform:translateX(-50%);
}
.szoUploadPhotoPreview .preview .image {
    width:100%;
    height:100%;
}
.szoUploadPhotoPreview .preview .image img {
    width:100%;
    object-fit:fill;
}
.szoUploadPhotoPreview .preview .image .label {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:5px;
    opacity:.8;
    color:#fff;
    background:#000;
}



/*
    Adventskalender
*/

.szoAdventCalendarView.borderTop {
    border:none;
}
.szoAdventCalendarView.borderTop:before {
    content:none;
}

.szoAdventCalendar {
	margin:20px 0;
	padding:20px 0;
	overflow: hidden;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

.szoAdventCalendar .door {
	box-sizing:border-box;
	float:left;
	width:calc(33% - .5em);
	height:1.25em;
	margin:.25em;
	text-align:center;
	vertical-align:middle;
	font-size:4em;
	line-height:1.25em;
	color:#fff;
	background-color:rgba(0, 0, 0, 0.3);
    box-shadow:inset 1px 1px 1px #000;
	border:1px solid #eee;
}
.szoAdventCalendar .door.opened {
    color:rgba(255, 255, 255, 0.5);
    background-color:rgba(0, 0, 0, 0.3);
    box-shadow:inset 5px 5px 5px rgba(0, 0, 0, 0.7);
}

.szoCalendarDay > img {
    width:100%;
    height:auto;
}
.szoCalendarDay .showCoupon {
    position:absolute;
    z-index:100;
    top:40px;
    right:20px;
    padding:10px 6px 0 0;
    font:normal 18px Gandhi, Times, "Times New Roman", Georgia, serif;
    color:#fff;
    text-decoration:none;
    text-shadow:1px 1px 1px #005825;
    background:#5fba45;
    border:1px solid #fff;
    border-radius:3px;
    box-shadow:0 0 5px #005825;
}
.szoCalendarDay .showCoupon:before {
    content:"";
    float:left;
    width:32px;
    height:32px;
    background:url(/Layout/Custom/Boilerplate/img/icons/icon-sprites_32x32.png) no-repeat 0 -197px;
}



/*
    Swiper-Einstellungen
*/

/** Pagination **/

.szoSwipePagination {
    margin-bottom:1em;
    text-align:center;
}
.szoSwipePagination .swiper-pagination-switch {
    position:relative;
    display:inline-block;
    width:12px;
    height:12px;
    margin-left:1em;
    cursor:pointer;
    border:1px solid #888;
}
.szoSwipePagination .swiper-pagination-switch:after {
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    top:50%;
    left:50%;
    margin:-5px 0 0 -5px;
    background:#888;
}
.szoSwipePagination .swiper-pagination-switch:first-child {
    margin:0;
}
.szoSwipePagination .swiper-active-switch {
    border-color:#005825;
}
.szoSwipePagination .swiper-active-switch:after {
    background-color:#005825;
}

/* Swiper-eigene Styles */

.swiper-wp8-horizontal {
    -ms-touch-action: pan-y;
}
.swiper-wp8-vertical {
    -ms-touch-action: pan-x;
}

.swiper-button-prev {
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23005825'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next {
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23005825'%2F%3E%3C%2Fsvg%3E");
}



/*
    HTML-Module
*/

.szoHtmlModuleContent {
    padding:1em;
}



/*
    Slider-Widget
*/

.szoSlider {
    clear:both;
    margin-bottom:30px;
}

.szoSlider .swiper-slide img {
    width:100%;
    height:auto;
}



/*
    Responsive Einbettungen
*/

.szoResponsiveMediaContainer {
    position:relative;
    height:0;
    padding-bottom:70%;
    overflow:hidden;
}
.szoResponsiveMediaContainer > * {
    position:absolute;
    top:0;
    left:0;
    width:100% !important;
    height:100% !important;
}



/*
    jQuery UI
*/

/** Dialog **/

.szoDialogCloseButton {
    position:fixed;
    z-index:101;
    top:.5em;
    right:.4em;
    width:32px;
    height:32px;
    background:url(/Layout/Custom/Boilerplate/img/icons/icon-sprites_64x64.png) no-repeat -128px -190px;
    background-size:192px;
}

.ui-dialog .ui-dialog-titlebar-close {
	display:none;
}


/** Timepicker **/

#ui-timepicker-div {
    z-index:100000;
}

.ui-state-active {
    background:#005825 !important;
}