

/* ######################### STYLES ####################################### */

/* Global Styles */
body
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; line-height: 27px; color: #000;
}
h1,
h2,
h3,
h4,
h5,
h6,
strong,
b
{
    font-family: 'Catamaran', sans-serif; font-weight: 700;
}
h1
{
    font-size: 62px; font-weight: 700; color: #fff;
}
h2
{
    font-weight: 700; margin-top: 0; text-align: center; color: #404040;

    size: 40px;
}
div.form-group + h2
{
    margin-top: 30px;
}
form + h3
{
    margin-top: 30px;
}
h3
{
    font-weight: 700; color: #404040;

    size: 30px;
}
p
{
    color: #404040;
}

textarea
{
    min-height: 333px; resize: none;
}
li
{
    list-style: none;
}
area
{
    cursor: pointer; background: red;
}
a
{
    color: #bf161c;
}
a:hover
{
    text-decoration: none; color: #961116;
}
a:focus
{
    text-decoration: none;

    color: #961116;
}
p a:hover
{
    text-decoration: underline; color: #961116;
}
a.unclickable.payment-link
{cursor: default;

    color: #fff;
}
a.unclickable.payment-link:hover
{cursor: default;

    color: #fff;
}
label
{
    color: #404040;
}
.text-bold
{
    font-weight: 700;
}
.text-bottom
{
    position: absolute; bottom: 0;
}
.text-hyphens
{
    word-wrap: break-word;
    -webkit-hyphens: auto;       -moz-hyphens: auto;            hyphens: auto;
}
.ul-no-left-padding
{
    padding-left: 25px;
}
.float-right
{
    float: right;
}
.float-left
{
    float: left;
}

/* List style, Bullet */
.textsection ul
{
    margin-left: 0; padding-left: 0;

    list-style: none; text-indent: -1.2em;
}
.textsection li
{
    padding-left: 0; text-indent: 0;
} /* text-indent: -1em; */
.textsection li:before
{
    display: block; float: left; width: 1.2em;

    content: '■'; color: #bf161c;
}

.alert
{
    margin-bottom: 20px;
    padding: 15px;
    padding-left: 35px;

    color: #fff;
    border-radius: 0;
    background: #bf161c;
}

.alert ul
{
    padding-left: 20px;
}

.success
{
    margin-bottom: 20px;
    padding: 15px;
    padding-left: 35px;

    color: #fff;
    border-radius: 0;
    /*border: 2px solid #000000;*/
    background: #009327;
}

.main
{
    min-height: 500px;
}
.container
{
    width: 1500px;
    max-width: 91%;
}
.spacer-white
{
    height: 60px; background: #fff;
}
.spacer-grey
{
    height: 60px; background: #cfcfcf;
}
.full-width
{
    width: 100%;
}
.p-l-0
{
    padding-left: 0;
}
.p-r-0
{
    padding-right: 0;
}
.banner-text
{
    max-width: 715px;
}
.banner-text h1
{
    font-size: 50px; line-height: 60px; position: relative; margin: 0 0 22px 0; padding-bottom: 22px; text-transform: uppercase;
}
.banner-text h1:before
{
    position: absolute; z-index: 1; bottom: 0; left: 0; width: calc(100% + 100px); height: 3px;

    content: ''; background: #00a1df;
}
.banner-text p
{
    font-size: 22px; line-height: 36px;
}
.heading-black
{
    font-size: 30px; display: inline-block;

    margin: 0 0 20px 0; color: #404040;
}

.figure-info h2
{
    text-align: left;
}

.cta-button a
{
    font-size: 20px; line-height: 16px; display: inline-block;

    height: 55px; padding: 20px; cursor: pointer; -webkit-transition: background-color .3s ease;    -moz-transition: background-color .3s ease;     -ms-transition: background-color .3s ease;      -o-transition: background-color .3s ease;         transition: background-color .3s ease; text-align: center; vertical-align: middle; white-space: nowrap; text-decoration: none; border: 2px solid #bf161c; touch-action: manipulation;
}
.cta-button a:hover
{
    text-decoration: none; color: #fff;
    border-color: #bf161c; background: #bf161c;
}

/* ################################ Spacer ######################################### */
.spacer-60
{
    height: 60px;
}
.spacer-bottom-90
{
    margin-bottom: 90px;
}
.spacer-30
{
    height: 30px;
}
.spacer-10
{
    height: 10px;
}
.module
{
    padding-top: 25px; padding-bottom: 25px;
}

/* ###################### Form Styles ########################## */
.form-control
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: normal; height: 50px; padding-right: 20px; padding-bottom: 5px;
    padding-left: 8px; color: #404040; border: 0; border: solid 1px #d7d7d7; border-radius: 0; box-shadow: 0 0 0 transparent;
}
.form-control:focus
{
    border-color: #961116;
    box-shadow: 0 0 0 transparent;
}
.form-control::-webkit-input-placeholder
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: normal; opacity: 1;
    color: #111;
}
.form-control::-moz-placeholder
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: normal; opacity: 1;
    color: #111;
}
.form-control:-ms-input-placeholder
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: normal; opacity: 1;
    color: #111;
}
.form-control:-moz-placeholder
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: normal; opacity: 1;
    color: #111;
}
.form-control[type='checkbox']
{
    float: left;

    width: auto; height: 20px; margin-right: 25px;
}
.openinghour-checkbox .form-control[type='checkbox']
{
    float: none;

    width: 100%; height: 50px !important; height: auto; margin-right: 0;
}
.form-control[type='number']
{
    margin: 0; padding-right: 7px;

    -moz-appearance: textfield; -webkit-appearance: none;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control
{
    opacity: unset;
    background-color: #fff;
}
/* annimated label */
.label-animated
{
    position: relative;
}

.label-animated label
{
    position: absolute;
    z-index: 10;
    top: 10px;
    left: 25px;

    margin-bottom: 0;

    -webkit-transition: font-size 150ms ease-out, -webkit-transform 150ms ease-out;
            transition: font-size 150ms ease-out, -webkit-transform 150ms ease-out;
            transition: transform 150ms ease-out, font-size 150ms ease-out;
            transition: transform 150ms ease-out, font-size 150ms ease-out, -webkit-transform 150ms ease-out;

    color: #4a4a4a;
    background-color: transparent;
}

/*.form-group {
margin-top: 45px;
}*/

.focused label
{
    font-size: 18px;

    left: 20px;

    -webkit-transform: translateY(-135%);
            transform: translateY(-135%);

    color: #4a4a4a;
}

/* Bootstrap Buttons */
.btn-action
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: 700; line-height: 16px; height: 55px; padding: 20px; -webkit-transition: background-color .3s ease;    -moz-transition: background-color .3s ease;     -ms-transition: background-color .3s ease;      -o-transition: background-color .3s ease;         transition: background-color .3s ease;
    text-transform: uppercase; color: #bf161c; border: 2px solid #bf161c; border-radius: 0; background: #fff;
}
.btn-action:hover
{
    color: #fff; border-color: #bf161c; background: #bf161c;
}
.btn-action:focus
{
    color: #bf161c; border-color: #bf161c; background: #fff;
}
.btn-primary
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: 700; line-height: 16px; height: 35px; padding: 10px; -webkit-transition: background-color .3s ease;    -moz-transition: background-color .3s ease;     -ms-transition: background-color .3s ease;      -o-transition: background-color .3s ease;         transition: background-color .3s ease;

    color: #404040; border: 1px solid #404040; border-radius: 0; background: #fff;
}
.btn-primary:hover
{
    color: #fff; border-color: #404040; background: #404040;
}
.btn-primary:focus
{
    color: #404040; border-color: #404040; background: #fff;
}
.btn-danger
{
    font-family: 'Catamaran', sans-serif; font-size: 20px; font-weight: 700; line-height: 16px; height: 35px; padding: 10px; -webkit-transition: background-color .3s ease;    -moz-transition: background-color .3s ease;     -ms-transition: background-color .3s ease;      -o-transition: background-color .3s ease;         transition: background-color .3s ease;

    color: #404040; border: 1px solid #404040; border-radius: 0; background: #fff;
}
.btn-danger:hover
{
    color: #fff; border-color: #bf161c; background: #bf161c;
}
.btn-danger:focus
{
    color: #bf161c; border-color: #bf161c; background: #fff;
}

/*table */
table
{
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
}

/* No more background - 28.05.18
table > tbody > tr:nth-of-type(2n+1)
{
background-color: #fdf8f8;
} */

.relative
{
    position: relative;
}
.no-vertical-padding-top
{
    padding-top: 0!important;
}
.no-vertical-padding-bottom
{
    padding-bottom: 0!important;
}
.fa
{
    font-size: 18px;
}

/* Header Styles */
.primary-header
{
    position: relative;
    z-index: 2;

    height: 103px;
    /* background: rgba(255, 255, 255, .5); */

    background: #bf161c;
}
.primary-header .container
{
    position: relative; z-index: 2;
    height: 100%;
}
header > div.container > section
{
    height: 100%;
}
.brand
{
    height: 100%;
}
.brand a
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.brand img
{
    width: 300px; height: auto;
}
.main-nav li,
.language-list li
{
    display: inline-block;
}
.main-nav
{
    margin-bottom: 0;
    padding-left: 47px;
}
.main-nav > li
{
    position: relative;

    height: 103px;

    color: #fff;
}
.main-nav li + li:before
{
    content: '|';
} /* Shows a "|" Between each <li> element */

.main-nav > li > a,
.language-list li a
{
    font-size: 20px;
    line-height: 103px;
    display: inline-block;
    height: 35px;
    margin: 0 18px;
    -webkit-transition: .1s ease;
    -moz-transition: .1s ease;
    -ms-transition: .1s ease;
    -o-transition: .1s ease;
    transition: .1s ease;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    background: rgba(255, 255, 255, 0) solid 2px;
}
.main-nav > li:hover > a,
.main-nav > .active > a
{
    /*background: #cfcfcf;*/ /*border-bottom: #000000 solid 2px;*/ font-weight: bold;
}
/* Icons in Nav */
.main-nav > li img
{
    height: 20px; margin-bottom: 8px;
}
.main-nav #user-login
{
    display: inline; padding-left: 18px;
}
.main-nav #user-login button
{
    padding: 0;

    border: none; background: none;
}
.logo-nav-mobile
{
    display: none;
}
.logo-nav-mobile img
{
    width: 100%;
}
.swiss-map-mobile
{
    display: none;
}

.language-list
{
    position: relative; margin: 0;
    padding: 38px 0 0 0;
}
.language-list:before
{
    position: absolute; z-index: 1; top: 43px; left: 50%; width: 1px; height: 20px;

    content: ''; background: #000;
}
.language-list li a
{
    line-height: 20px; height: auto; margin: 0 8px;
    padding: 0; transition: .3s;
}
.language-list li a:hover
{
    color: #00a1df; ;
}
.language-list li:first-child a
{
    margin-left: 0;
}
.language-list li:last-child a
{
    margin-right: 0;
}
.language-list .active a
{
    text-decoration: underline;
}
.sub-menu
{
    position: absolute; top: 100%; left: 0; display: none; margin-bottom: 0; padding-top: 44px; padding-right: 18px; padding-bottom: 44px; padding-left: 18px;
}
.sub-menu .sub-menu-head,
.sub-menu a
{
    font-family: 'Catamaran', sans-serif;
    font-size: 19px; white-space: nowrap; letter-spacing: .3px; color: #000;
}
.sub-menu .sub-menu-head
{
    margin-top: 32px;
    margin-bottom: 0;
}
.sub-menu a:hover
{
    text-decoration: none;
}
.sub-menu li:first-child .sub-menu-head
{
    margin-top: 0;
}
.menu-overlay
{
    position: absolute; z-index: 1; top: 106px; left: 0; display: none; width: 100%; height: 100px; background: rgba(0,0,0,.1);
}
.main-nav > li:hover .sub-menu
{
    display: block;
}

.primary-header.sub-menu-in .menu-overlay
{
    display: block;
}

/* ################################ Background-image ######################################### */
.background-image-fullscreen
{
    position: relative; z-index: 1; top: -103px; height: calc(100vh);
    min-height: 500px; margin-bottom: -68px;background-position: center center; background-size: cover;
}
.background-image-fullscreen .container,
.background-image-fullscreen .inside-background-picture
{
    position: relative; height: 100%;
}
.background-image-fullscreen .inside-background-picture-content
{
    position: absolute; z-index: 1; bottom: 200px;
}
/*.background-image-fullscreen { background-image: none; }*/
.flexslider
{
    border: none;
}
.flexslider .slides > li
{
    height: 100vh;
}

/* ################################ Box over Background image ################################ */

.inside-background-picture-content
{
    position: absolute; z-index: 999; top: 300px; height: 400px; padding: 30px; padding-top: 0; padding-bottom: 20px; background: rgba(0, 0, 0, .5);
}
.inside-background-picture-content h1
{
    text-shadow: rgba(0,0,0,.5) 0 3px;
}

.inside-background-picture-news.desktop
{
    background: rgba(0, 0, 0, .5);
    height: 400px;
    left: 585px;
    padding: 0 30px 20px;
    position: absolute;
    top: 300px;
    width: 555px;
    z-index: 999;
}
.inside-background-picture-news.desktop h2
{
    color: #fff;
    margin-bottom: 45px;
    margin-top: 35px;
    text-align: left;
    text-shadow: rgba(0,0,0,.5) 0 3px;
}
.inside-background-picture-news.desktop p
{
    color: #fff;
    text-shadow: rgba(0,0,0,.5) 0 2px;
}
.inside-background-picture-news.mobile
{
    display: none;
}

@media (max-width: 1255px) {
    .inside-background-picture-news.desktop
    {
        width: 505px;
    }
}

@media (max-width: 1229px) {
    .inside-background-picture-news.desktop
    {
        display: none;
    }
    .inside-background-picture-news.mobile
    {
        background-color: #bf161c;
        color: #fff;
        display: block;
        padding: 30px 30px 20px;
    }
    .inside-background-picture-news.mobile h2
    {
        color: #fff;
        margin-bottom: 20px;
        text-align: left;
    }
    .inside-background-picture-news.mobile p
    {
        color: #fff;
    }
}

/* ################################ Box over Background Form ################################ */

.inside-background-picture-content .form-control
{
    display: inline;
}
.inside-background-picture-content .form-group
{
    font-size: 20px;

    height: 60px; margin-top: 0; padding: 15px; padding-top: 10px; color: #404040; background: #fff;
}
/* Different Form styles */
.inside-background-picture-content input[type='text']
{
    height: 40px;
    padding-left: 0; color: #4a4a4a; border: none; border-bottom: 1px solid #d7d7d7;
}
.inside-background-picture-content input[type='submit']
{
    font-weight: 700; width: 100%; height: 60px; -webkit-transition: background-color .3s ease;    -moz-transition: background-color .3s ease;     -ms-transition: background-color .3s ease;      -o-transition: background-color .3s ease;         transition: background-color .3s ease; text-transform: uppercase;

    color: #fff; border: #fff solid 2px; background: rgba(0,0,0,0);
}
.inside-background-picture-content input[type='submit']:hover
{
    background: rgba(0,0,0,.3);
}
.inside-background-picture-content select
{
    height: 40px; border: none; border-bottom: 1px solid #d7d7d7; background: url(/theme/img/select-arrow.svg) no-repeat right white; background-size: 10px 10px;         appearance: none;    -moz-appearance: none; -webkit-appearance: none;
}
.inside-background-picture-content .select-arrow
{
    background: url(/theme/img/select-arrow.svg) no-repeat right white;
}
.inside-background-picture-content #distance-label
{
    width: 20px;
}
.inside-background-picture-content #distance
{
    float: right; width: 95px; padding-left: 0;
}
.inside-background-picture-content #home-search-where
{
    width: 250px; margin-right: 20px; padding-top: 8px; padding-right: 0; padding-bottom: 0;
}
.inside-background-picture-content #home-search-what
{
    width: 80%;
}
.inside-background-picture-content #home-search-what-label
{
    float: left;

    margin-right: 38px;
}
.inside-background-picture-content #home-search-name
{
    float: left; width: 380px;
    margin-left: 40px;
}
.inside-background-picture-content .ms-options-wrap
{
    float: left;

    width: 380px; height: 40px;
}
.inside-background-picture-content .ms-options-wrap button
{
    height: 40px;
}
.inside-background-picture-content .ms-options-wrap > .ms-options
{
    left: 128px; border: none;
}
.inside-background-picture-content .sort-by-distance-icon
{
    float: left;

    width: 40px; padding-top: 5px;
}
.inside-background-picture-content #sort_by_distance
{
    font-size: 20px;

    margin-left: 10px; cursor: pointer; text-decoration: underline; color: #a4a4a4;
}

.inside-background-picture-content label
{
    float: left;

    width: 45px; padding-top: 8px;
}

#restaurant-search-what
{
    width: 100%;
}

.font-weight-normal
{
    font-weight: normal;
}

/* ################################ Search Form ################################ */
/* Different Form styles */
.searchbox .form-group
{
    margin-top: 0;
}
.searchbox input[type='text']
{
    width: 100%; height: 40px; color: #4a4a4a; border: none; border-bottom: 1px solid #d7d7d7;
}
.searchbox input[type='date']
{
    width: 100%; height: 40px; color: #4a4a4a; border: none; border-bottom: 1px solid #d7d7d7; background: #fff;
}
/*.searchbox input[type="submit"] {  color: #FFFFFF; background: rgba(0,0,0,0);  text-transform: uppercase; font-weight: 700; width: 100%; height: 60px; border: #FFFFFF solid 2px; }*/
.searchbox select
{
    height: 40px; color: #404040; border: none; border-bottom: 1px solid #d7d7d7; background: url(/theme/img/select-arrow.svg) no-repeat right white; background-size: 10px 10px;         appearance: none;    -moz-appearance: none; -webkit-appearance: none;
}
.searchbox #distance
{
    width: 100%;
}
.searchbox .select-arrow
{
    background: url(/theme/img/select-arrow.svg) no-repeat right white; background-size: 10px 10px;
}
.searchbox #home-search-what
{
    width: 80%;
}
.searchbox #sort_by_distance
{
    font-size: 20px; padding-top: 5px; padding-bottom: 5px; cursor: pointer; text-decoration: underline; color: #a4a4a4;
}
.searchbox .sort-by-distance label
{
    width: 40px;
}

.searchbox
{
    margin-bottom: 30px;
}
.searchbox .ms-options-wrap > .ms-options
{
    left: 5px;
}
.filter-active
{
    text-decoration: underline;

    color: #bf161c;
}

/* ################################ Full width container ################################ */

.container-full-width
{
    min-height: 157px;  margin-bottom: 35px;

    background: url(index.php?rex_media_type=full-width-banner&rex_media_file=detailpage-fullwidth-banner.jpg);
}
.container-full-width h1
{
    margin-top: 80px;
}
.container-full-width img
{
    margin-top: 17px;
}

/* ############################### Floater right screen border ################################ */
.floater-right
{
    position: fixed; z-index: 10; top: 27vh; right: 10px; float: right; -webkit-transform: rotate(270deg);         transform: rotate(270deg); -webkit-transform-origin: 100% 100%;         transform-origin: 100% 100%;
}
.floater-right a
{
    font-size: 24px; padding: 10px 40px 15px 40px;  -webkit-transition: background-color .3s ease;     -moz-transition: background-color .3s ease;      -ms-transition: background-color .3s ease;       -o-transition: background-color .3s ease;          transition: background-color .3s ease;
    text-transform: uppercase; color: #fff; border-top-left-radius: 10px; border-top-right-radius: 10px; background: rgb(191,22,28);
}
.floater-right a:hover
{
    text-decoration: none; background: rgba(191,22,28,.5);
}
.floater-right a .mobile
{
    display: none;
}

/*  Think Tank Section Styles */
.think-tank
{
    position: relative; display: flex; height: 840px; min-height: 500px;

    background: url('../img/think-tank-bg.jpg') no-repeat; background-position: center center; background-size: cover; align-items: center;
}
.think-tank-inner
{
    width: 100%; padding: 60px 0 40px 0;

    background: rgba(255,255,255,.85);
}
.think-tank .banner-text h1::before
{
    width: 100%;
}
.think-tank .banner-text p + p
{
    padding-top: 20px;
}
.venn .venn-image
{
    position: absolute; top: -110px; left: 50%; width: 530px; max-width: 100%; height: auto; transform: translateX(-50%);
}

.bubble
{
    position: relative;

    display: none; width: 60%;margin: 0 auto;
}
#pink-bubble
{
    margin-top: 50px;
}
#yellow-bubble
{
    left: 170px;

    margin-top: 320px;
}
#blue-bubble
{
    right: 170px;

    margin-top: 320px;
}
.triangle-isosceles
{
    position: absolute; padding: 25px 70px; text-align: center; color: #000; -webkit-border-radius: 10px;    -moz-border-radius: 10px;         border-radius: 75px; background-color: #fff;
}
.triangle-isosceles.top
{
    background-color: #fff;
}
.triangle-isosceles.top::after
{
    position: absolute; top: 0; left: 50%; width: 0; height: 0; margin-top: -20px; margin-left: -20px;

    content: ''; border: 20px solid transparent; border-top: 0; border-bottom-color: #fff;
}

/* Outstanding Section Styles */
.outstanding
{
    padding: 90px 0 90px 0; background: #d7d7d7;
}
.cover-image
{
    position: relative; margin-bottom: 50px;
}
.cover-image .stamp
{
    position: absolute; z-index: 1; right: 20px; bottom: -21.5%; width: 34.5%;
}
.outstanding .content p
{
    font-size: 20px; line-height: 32px; margin: 19px 0 0 0;

    text-transform: uppercase;
}
.outstanding.imagesection .cover-image
{
    margin-bottom: 0;
}

/* Info Styles */
.info
{
    padding: 90px 0 90px 0;
}
.info .even .figure
{
    float: right;
}
.info .figure img
{
    max-width: 100%;
}
.info .even .figure-info
{
    float: left;
}
.info p
{
    margin: 0 0 20px 0;
}

/* Textsection Styles */
.textsection
{
    padding-top: 45px; padding-bottom: 90px;
}

.video-section
{
    padding-top: 45px; padding-bottom: 45px;
}

/*.textsection ul { columns: 3; -webkit-columns: 3; -moz-columns: 3; color: #4a4a4a; padding-left: 20px; }*/
/* columns-attribs entfernt wegen Darstellungsfehlern */
.textsection ul
{
    padding-left: 20px;
    /*columns: 3; -webkit-columns: 3; -moz-columns: 3;*/ color: #4a4a4a;
}

/* Contact Styles */
.contact
{
    padding: 90px 0;
}
.contact-person
{
    width: 536px; margin-right: 34px;
}
.contact-person .contact-figure
{
    width: 254px;
}
.contact-person .contact-figure img
{
    width: 100%;
}
.contact-person .contact-figure + .contact-figure
{
    margin-left: 28px;
}
.contact-form
{
    width: 830px;
}
.contact-form-section
{
    margin-top: 25px;
}

/* Map Styles */
#map
{
    width: 100%; height: 440px; padding-top: 90px; padding-bottom: 90px;
}

/* ############################### img & icon Styles ############################### */

.text-icon
{
    height: 20px;
    margin-right: 10px;
}

/* ############################### Footer Styles ############################### */
.primary-footer
{
    margin-top: 0; padding: 50px 0 45px 0;
}
.primary-footer h3
{
    font-size: 30px; font-weight: 700; line-height: 40px; margin-top: 10px; margin-bottom: 15px;

    color: #fff;
}
.primary-footer .brand-footer img
{
    width: 192px;
}
.primary-footer .address,
.primary-footer .contact-list
{
    font-size: 20px; line-height: 28px;

    margin-left: 100px;
}
.primary-footer .contact-list a
{
    font-size: 20px; line-height: 28px; color: #fff;
}
.primary-footer .footer-swiss-map
{
    margin-top: 20px; margin-left: 15px;
}
.footer ul
{
    margin: 0; padding: 0;
}
.footer #cantons
{
         columns: 4; -webkit-columns: 4; -moz-columns: 4;
}
.footer li
{
    /*float: left;*/ color: #fff;
}
.footer a
{
    font-size: 20px; line-height: 28px;

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

/* If the footer-<li>s should be in a horozontal row */
/*.footer-links li + li { margin-left: 44px; position: relative; }*/
/*.footer-links li + li:before { content: ''; position: absolute; top: 6px; height: 20px; left: -22px; width: 1px; background: #ffffff; z-index: 1; }*/
.primary-footer a
{
    -webkit-transition: .1s ease;       -moz-transition: .1s ease;        -ms-transition: .1s ease;         -o-transition: .1s ease;            transition: .1s ease;
}
.primary-footer a:hover
{
    font-weight: bold;

    color: #00a1df;
}

/* ############################### Additional Styles ############################### */
.outstanding .content p
{
    line-height: 30px;

    text-transform: none;
}
.footer-links
{
    display: inline-block;

    padding-top: 0;
}
.color-black *
{
    color: #000;
}
.color-white *
{
    color: #fff;
}
.bg-white
{
    background-color: #fff;
}
.bg-grey
{
    background-color: #d7d7d7;
}
.background-image-fullscreen.half-height
{
    height: 50vh;
}
.cta-button
{
    margin-top: 20px; text-align: center;
}
.cta-button a
{
    font-family: 'Catamaran', sans-serif; font-weight: 700; margin-bottom: 0;
}
.cta-button a:hover
{
    text-decoration: none;
}
.cta-button a .fa
{
    line-height: inherit; vertical-align: top;
}

/* ############################### Searchresult List ###############################  */
.list-item
{
    margin-bottom: 20px;
}
.list-item a
{
    margin-bottom: 20px; color: #404040;
}
.list-item h3
{
    margin-top: 5px;
    margin-bottom: 0;
}

.container.events
{
    margin-top: 80px;
}

.event-list .list-item
{
    height: auto; min-height: 0;
}
.event-list .list-item span
{
    color: #999;
}

.event-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-wrap: wrap;
}

.event-list .list-item {
    float: none;
    max-width: 300px;
    /* hyphens: auto; */
    /* border: 1px solid lightgrey; */
}

@media screen and (max-width: 768px) {
    .event-list .list-item {
        max-width: 220px;
    }
}


/* ############################### Restaurant Detail ###############################  */
.restaurant-detail .slick-arrow::before,
.restaurant-detail .slick-arrow::after
{
    color: #000;
}

.restaurant-detail .slick-prev
{
    z-index: 1;
    left: 5px;
}
.restaurant-detail .slick-next
{
    right: 5px;
}
.restaurant-detail .slick-dots
{
    bottom: 0;
}

.restaurant-detail .address a
{
    min-width: 50%;
}

.restaurant-detail .address i.fas
{
    color: rgb(191, 22, 28);
}

.restaurant-detail div.col-sm-6.col-xs-12.address,
.restaurant-detail div.col-sm-6.col-xs-12.openinghours
{
    margin-bottom: 25px;
}

.restaurant-detail div.left-side-second-row div + div,
.restaurant-detail div.third-row div + div
{
    /* margin-top: 25px; */
}

/* Box over Background Form */
.tag-box
{
    line-height: 52px;

    margin-right: 5px; padding: 11px; padding-top: 5px; padding-bottom: 2px; white-space: nowrap;color: #fff; background: #ccc;
}
.tag-box:hover
{
    color: #000;
}

/* Pagination */
.pagination
{
    width: 100%;
}
.pagination > li:before
{
    padding-left: 0;

    content: none;
}

.pagination > li > a
{
    padding-left: 35px;

    -webkit-transition: color .1s ease;
       -moz-transition: color .1s ease;
        -ms-transition: color .1s ease;
         -o-transition: color .1s ease;
            transition: color .1s ease;
    /* border: #000000 solid 1px; */
    /* border-radius: 0px; */

    color: #bf161c;
}

.pagination > li > a:hover
{
    /* border: #000000 solid 1px; */
    color: #fff;
    background: #bf161c;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:last-child > a
{
    border-radius: 0;
}

/* ################################ Member werden ############################ */

#article-24 > main > section:nth-child(3) > div > div:nth-child(2) > div:nth-child(2) > ul
{
    padding-left: 0;
}

#article-24 > main > section div div div form div div div > label
{
    text-align: left;
}

/* ################################ SEO Listen ############################ */
#article-26 > main > section > div > div > ul {
    column-count: 3;
}

/* ####################################################################################################################################### */
/* ################################################### ADDITIONAL CSS FOR THIS WEBSITE#################################################### */
/* ####################################################################################################################################### */

.img-responsive
{
    display: block;

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

/* ############################ JQUERY UI ############################ */

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button
{
    padding: 5px;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus
{
    color: #fff;
    border: none;
    background: #bf161c;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active
{
    margin: 1px;
    padding: 2px;

    text-align: center;

    color: #fff;
    border: none;
    background: #a4a4a4;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover
{
    background: #bf161c;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight
{
    font-weight: bold;

    color: #bf161c;
    background: #a4a4a4;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br
{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.ui-widget-header .ui-state-hover
{
    border: none;
    background: #bf161c;
}

.ui-widget-header
{
    color: #fff;
    background: #bf161c;
}

.ui-widget-header .ui-icon
{
    background-image: url('/theme/img/ui-icons_444444_256x240.png');
}

#article-18 > div.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > div > button
{
    font-family: Catamaran;
}

#article-18 > div.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix
{
    padding: .3em 1em .5em;
}

#article-18 > div.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > div
{
    float: none;

    padding: .3em 1em .5em;
}

.ui-widget .ui-widget
{
    font-size: .9em;
}

#article-18 > div.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > div > button:first-child
{
    min-width: 40px;
    margin: .5em .4em;
}

#article-18 > div.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > div > button:last-child
{
    float: right;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus
{
    color: #fff;
    background-color: #a4a4a4;
}

/* ############################ Restaurant Detail ################################## */

.detail-image-top-right
{
    position: absolute;
    top: 0;
    right: 15px;

    float: right;
}

.flexslider-detail ul
{
    text-indent: 0;
}

.flexslider-detail ul li
{
    text-indent: 0;
}

.flexslider-detail .flex-control-nav
{
    bottom: 10px;
}

.flexslider-detail .flex-control-paging li a
{
    width: 15px;
    height: 15px;

    background: #fff;
}

.flexslider-detail .flex-control-paging li a.flex-active
{
    background: #d71920;
}

.ul-no-left-padding li:before,
.tags-services li:before,
.tags-offer li:before,
.tags-zahlungsarten li:before,
.flexslider-detail li:before
{
    content: none;
}

#restaurant-logo
{
    width: 70%;
    height: auto;
    /* margin-bottom: 20px; */
}

.restaurant-detail .address #restaurant-logo {
    margin-bottom: 20px;
}

#restaurant-detail-map
{
    width: 100%;
    height: 500px;
}

/* .restaurant-detail .address
{
height: 353px;
} */

.restaurant-detail .openinghours table td
{
    padding: 0 6px 0 0;
}

.restaurant-detail .openinghours table p
{
    margin-bottom: 0;
}

.restaurant-detail .openinghours table .title
{
    width: 130px;

    vertical-align: top;
}

.restaurant-detail .description
{
    padding-bottom: 30px;
}

.restaurant-detail .first-row
{
    margin-bottom: 40px;
}

.restaurant-detail .second-row
{
    margin-bottom: 25px;
}

.restaurant-detail .third-row h3
{
    margin-top: 0;
}

.restaurant-detail .service-icons img
{
    width: 50px;
    height: auto;
    margin-bottom: 3px;
}

.restaurant-detail .pay-icons img
{
    height: 50px;
    margin: 0 5px 5px 0;
    padding-left: 0;

    border: solid 1px #ddd;
}

.restaurant-detail .menulink-icon
{
    height: 55px;
    margin-right: 10px;
}

.tooltipster-sidetip .tooltipster-content
{
    text-align: center;
}

/* ############################ PLUGIN DROPZONE ################################## */
.dropzone
{
    border: #000 1px solid;
}

/* ############################ SEARCH ################################## */

.ui-widget.ui-widget-content
{
    font-family: 'Catamaran', sans-serif;

    border: none;
}

.ms-options-wrap > .ms-options
{
    width: 150%;

    border: none;
}

.ms-options-wrap > button:focus,
.ms-options-wrap > button
{
    font-size: 20px;

    padding-left: 0;

    color: #4a4a4a;
    border: none;
    border-bottom: 1px solid #d7d7d7;
}

.ms-options-wrap > .ms-options > ul > li
{
    display: inline;

    padding-left: 0;

    list-style-type: none;
}

.ms-options-wrap > .ms-options > ul
{
    margin: 10px;
    margin-bottom: 6px;
    padding: 0;
}

.searchbox .ms-options-wrap > .ms-options
{
    width: 130%;
}

.searchbox .ms-options-wrap > .ms-options > ul
{
    margin-right: 0;
    margin-left: 10px;
}

.ms-options-wrap > .ms-options > ul input[type='checkbox']
{
    visibility: hidden;
}

.ms-options-wrap > .ms-options > ul > li::before
{
    content: none;
}

.ms-options-wrap > .ms-options > ul > li:first-child
{
    margin-left: 24px;
}

.inside-background-picture-content .ms-options-wrap > .ms-options > ul > li:first-child
{
    margin-left: initial;
}

.ms-options-wrap > .ms-options > ul > li > label
{
    font-size: 20px;

    width: auto;
    margin-right: 8px;
    margin-bottom: 8px;
    padding-top: 5px;
    padding-right: 11px;
    padding-bottom: 2px;
    padding-left: 11px !important;

    text-indent: 0;
}

.ms-options-wrap > .ms-options > ul > li .search-offer-important
{
    background-color: #aaa;
}

.ms-options-wrap > .ms-options > ul li.selected .search-offer-important
{
    background-color: #bf161c;
}

.ms-options-wrap > .ms-options > ul > li .search-offer-important:hover
{
    background-color: #bf161c;
}

.ms-options-wrap > .ms-options > ul li.selected label
{
    color: #fff;
    background-color: #bf161c;
}

.ms-options-wrap > .ms-options > ul label:hover
{
    cursor: pointer;

    color: #fff;
    background-color: #bf161c;
}

.ms-options-wrap > .ms-options > ul label
{
    font-weight: normal;

    -webkit-transition: color .1s ease;       -moz-transition: color .1s ease;        -ms-transition: color .1s ease;         -o-transition: color .1s ease;            transition: color .1s ease;

    color: #fff;
    background: #ccc;
}

.ms-options-wrap > button::after
{
    border-top-color: #4a4a4a;
}

/* ############################ EVENT BACKEND ################################## */
.calendar
{
    width: 50px;
}
.calendar.table
{
    text-align: center;
}
.calendar td.active,
.calendar td:hover
{
    background-color: #e2e6ea;
}
.calendar td
{
    background-color: #f8f9fa;
}





/* ############################ EVENT BACKEND ################################## */

.backend-event-table .crud-buttons a
{
    margin-top: 2px;
    margin-bottom: 2px;
}

/* ############################ OEFFNUNGSZEITEN BACKEND ################################## */

.ui-timepicker-container
{
    width: 200px !important;
}

.openinghour-inputfields .day-short
{
    display: none;
}

/* ############################ SCHLAGWOERTER BACKEND ################################## */

.ms-container
{
    background: transparent url('../img/switch.png') no-repeat 50% 50%;
}

.ms-custom-header
{
    font-weight: normal;

    margin-bottom: 6px;

    color: #404040;
}

#ms-service-multiselect
{
    width: 100%;
}

#ms-offer-multiselect
{
    width: 100%;
}

#ms-zahlungsarten-multiselect
{
    width: 100%;
}

#ms-service-multiselect .ms-list,
#ms-offer-multiselect .ms-list,
#ms-zahlungsarten-multiselect .ms-list
{
    height: 300px;

    border-radius: 0;
}

.ms-container .ms-list.ms-focus
{
    border-color: #bf161c;
    box-shadow: none;
}

.ms-container .ms-selectable li.ms-elem-selectable,
.ms-container .ms-selection li.ms-elem-selection
{
    font-size: 16px;
    line-height: 24px;
}

.ms-selection > ul > li:before
{
    content: none;
}

.ms-selectable > ul,
.ms-selection > ul
{
    padding-left: 0 !important;
}

.ms-selectable > ul > li,
.ms-selection > ul > li
{
    padding-left: 10px !important;
}

/* .ms-selectable > ul > li > span,
.ms-selection > ul > li > span
{ */
/* padding-left: 20px !important; */
/* } */

.ms-hover
{
    /*margin-left: -20px !important;*/
    /*padding-left: 20px !important;*/
    background-color: #bf161c !important;
}

/* .ms-selectable > ul > li.ms-hover > span,
.ms-selection > ul > li.ms-hover > span
{ */
/* padding-left: 20px !important; */
/* } */

.ms-container .ms-selectable li.ms-elem-selectable,
.ms-container .ms-selection li.ms-elem-selection
{
    /* line-height: 30px; */
    padding-top: 8px;
    padding-bottom: 5px;
}

/* ############################ BACKEND TAB NAVIGATION ################################## */

.nav-tabs > li:before
{
    padding-left: 0;

    content: none;
}

.nav-tabs > li > a
{
    /* padding-left: 35px; */
    -webkit-transition: color .1s ease;
       -moz-transition: color .1s ease;
        -ms-transition: color .1s ease;
         -o-transition: color .1s ease;
            transition: color .1s ease;
}

.nav-tabs > li > a:hover
{
    cursor: pointer;

    border: transparent solid 1px;
    background: transparent;
}

.nav-tabs > li > a:focus
{
    cursor: pointer;

    border: transparent solid 1px;
    background: transparent;
}

.nav-tabs
{
    border-bottom-color: #000;
}

.nav-tabs > li.active > a
{
    color: #000;
    border-color: #000;
    border-bottom-color: transparent;
    border-radius: 0;
}

.nav-tabs > li.active > a:hover
{
    cursor: pointer;

    color: #961116;
    border: #000 solid 1px;
    border-bottom: transparent solid 1px;
}

.nav-tabs > li.active > a:focus
{
    cursor: pointer;

    color: #961116;
    border: #000 solid 1px;
    border-bottom: transparent solid 1px;
}


.twocolumns
{
    column-count: 2;
    column-gap: 25px;
}

.textsection table th
{
    padding: 2px 6px;

    color: white;
    background-color: #d71920;
}

.textsection table td
{
    margin-right: 20px;
    padding: 2px 6px;
}

a.pointer
{
    cursor: pointer;
}


p.zusatztext-klein {
    font-size:14px;
    line-height:17px;
}

/* ############################### Responsive Styles ############################### */

@media(max-width: 1500px)
{
    .main-nav
    {
        padding-right: 70px;
    }
    .detail-image-top-right
    {
        padding-right: 70px;
    }
}

@media(max-width: 1429px)
{
    .container
    {
        width: 1230px;
    }
    .contact-person
    {
        width: 35%; margin-right: 5%;
    }
    .contact-form
    {
        width: 60%;
    }
    .contact-person .contact-figure
    {
        width: 48%; margin-right: 2%;
    }
    .contact-person .contact-figure + .contact-figure
    {
        margin-right: 0; margin-left: 2%;
    }
    #yellow-bubble
    {
        left: 65px;
    }
    #blue-bubble
    {
        right: 65px;
    }
    #yellow-bubble .triangle-isosceles.top:after
    {
        left: 70%;
    }
    #blue-bubble .triangle-isosceles.top:after
    {
        left: 30%;
    }
    .main-nav > li > a,
    .language-list li a
    {
        margin: 0 9px;
    }
}

@media(max-width: 1091px) {
    .brand img
    {
        width: 250px;
    }
    .main-nav > li > a,
    .language-list li a {
        font-size: calc(20px * .9);
    }
}

@media(max-width: 1229px)
{
    .container
    {
        width: 1024px;
    }
    .contact-person
    {
        width: 45%; margin-right: 5%;
    }
    .contact-form
    {
        width: 50%;
    }
    .main-nav
    {
        padding-right: 20px;
    }
    .footer-links
    {
        float: left; width: 100%; padding-top: 25px;
    }

    .textsection .col-md-12
    {
        margin-bottom: 30px;
    }

    .detail-image-top-right
    {
        padding-right: 0;
    }
    /* restaurant detail */
    .first-row
    {
        margin-bottom: 0;
    }
    .second-row h2
    {
        margin-top: 25px;
    }
    .restaurant-detail .first-row
    {
        margin-bottom: 0;
    }
}

@media(max-width: 1200px)
{
    .textsection .col-md-12
    {
        margin-top: 15px;
        margin-bottom: 0;
    }

    .restaurant-detail div.left-side-second-row div + div
    {
        margin-top: 0;
    }
}

@media(max-width: 1023px)
{
    .container
    {
        width: 100%;
    }
    .primary-header
    {
        height: 80px;
    }
    .banner-text h1::before
    {
        width: calc(100% - 50px);
    }
    .info
    {
        padding-top: 45px;
    }
    .info .figure,
    .info .figure img,
    .info .figure-info
    {
        width: 100%;
    }
    .info .figure
    {
        margin-bottom: 25px;
    }
    .info .odd,
    .info .even
    {
        margin-bottom: 40px;
    }
    .info p
    {
        margin-top: 15px;
    }
    .contact,
    .think-tank-inner
    {
        padding: 45px 0;
    }
    .primary-header .language
    {
        display: none;
    }
    .primary-footer .address,
    .primary-footer .contact-list
    {
        margin-left: 65px;
    }
    .background-image-fullscreen .inside-background-picture-content
    {
        padding-top: 0;
    }

    /* ############################### Floater right screen border ################################ */
    .container-full-width h1
    {
        margin-top: 60px;
    }
    h1
    {
        font-size: 50px;
    }
    .floater-right
    {
        position: fixed;
        top: unset;
        right: 15px;
        bottom: 15px;

        display: table;
        float: none;

        transform: none;
        transform-origin: none;
    }
    .floater-right a
    {
        display: table-cell;

        min-width: 55px;
        padding: 10px;

        text-align: center;
        vertical-align: middle;

        color: #fff;
        border-radius: 40px;
        background: #bf161c;
    }
    .floater-right a:hover
    {
        background: #bf161c;
    }
    .floater-right a .mobile
    {
        display: table-cell;

        width: 35px;

        text-align: center;
    }
    .floater-right a .desktop
    {
        display: none;
    }


    .textsection
    {
        padding-top: 30px; padding-bottom: 60px;
    }

    .video-section
    {
        padding-top: 30px; padding-bottom: 30px;
    }

    .spacer-bottom-90
    {
        margin-bottom: 60px;
    }

    /* Responsive Nav Burger */
    /*.menu-icon { display: block; width: 32px; position: absolute; right: 15px; top: 50%; margin-top: -16px; cursor: pointer; z-index: 3; }*/
    .menu-icon
    {
        position: fixed; z-index: 999999; top: 10px; right: 10px;

        display: inline-block; width: 32px; padding: 10px 0; cursor: pointer;
    }
    .menu-icon .bar-2:before
    {
        position: absolute; top: -7px; left: 0; display: block; width: 100%; height: 3px; content: ''; cursor: pointer; -webkit-transition: all .35s;    -moz-transition: all .35s;         transition: all .35s;

        background: #fff;
    }
    .menu-icon .bar-2
    {
        position: relative;

        width: 100%; height: 3px; cursor: pointer; cursor: pointer; background: #fff;
    }
    .menu-icon .bar-2:after
    {
        position: absolute; bottom: -7px; left: 0; display: block; width: 100%; height: 3px; content: ''; cursor: pointer; -webkit-transition: all .35s;    -moz-transition: all .35s;         transition: all .35s;

        background: #fff;
    }
    .menu-icon img
    {
        width: 100%;
    }

    .menu-overlay
    {
        display: none !important;
    }
    /* Mobile Nav 100% width from Top */
    /*#nav { position: absolute; left: 0; top: 80px; background: #e6e6e6; float: none !important; width: 100%; padding-bottom: 15px; padding-top: 5px; display: none; }*/
    /* Mobile Nav 250px width from right side */
    #nav
    {
        position: fixed; z-index: 99999; top: 0; right: 0; display: none; float: none !important; width: 250px; height: 100vh; padding-top: 50px; padding-bottom: 15px; background: #e6e6e6;
    }
    .main-nav > li > a
    {
        color: #000;
    }
    .overlay
    {
        position: fixed; z-index: 9999; top: 0; left: 0; display: none; width: 100%; height: 100%; background: rgba(0,0,0,.7);
    }
    .swiss-map-mobile
    {
        position: fixed; right: 20px; display: none;
    }
    .swiss-map-mobile img
    {
        width: 100px; padding-top: 20px;
    }
    .logo-nav-mobile
    {
        display: none; padding-right: 20px; padding-bottom: 20px; text-align: right;
    }

    .main-nav
    {
        padding-right: 10px;
        padding-left: 0;
    }
    .main-nav li
    {
        display: block; height: auto;
    }
    .main-nav > li:hover > a,
    .main-nav > .active > a
    {
        font-weight: bold; color: #bf161c;
        border-bottom: none;
    }
    .main-nav > li > a
    {
        font-size: 15px; line-height: normal; display: block;

        height: auto; padding: 4px 10px; padding-right: 0;
    }
    /* Special Nav Buttons */
    .main-nav > li.nav-myaccount > a
    {
        margin-right: 60px;
    }
    .main-nav > li > form#user-login
    {
        line-height: normal; position: absolute; right: 0; bottom: -3px; display: block;

        height: auto; margin-right: 9px; padding: 7px 15px; padding-top: 0; padding-right: 0;
    }

    .main-nav li + li::before
    {
        content: none;
    }
    .sub-menu
    {
        position: relative; top: auto; display: block; padding: 15px 30px; background: #dadada;
    }
    .sub-menu .sub-menu-head,
    .sub-menu a
    {
        font-size: 17px;
    }
    .sub-menu .sub-menu-head
    {
        margin-top: 20px;
    }
    .sub-menu .sub-menu-head,
    .sub-menu a
    {
        white-space: normal;
    }
    .primary-header .container
    {
        position: static;
    }
    .background-image-fullscreen .banner-text
    {
        position: relative; bottom: auto; left: auto;
    }
    .inside-background-picture
    {
        display: flex; align-items: center;
    }
    .banner-text h1
    {
        font-size: 40px; line-height: 50px;
    }

    /* element over backgroundimage */
    .background-image-fullscreen .inside-background-picture-content
    {
        top: 260px;

        margin-left: 40px;
    }
    .background-image-fullscreen .inside-background-picture-content .ms-options-wrap > .ms-options
    {
        left: 0; width: calc(150% - 60px); margin-top: 13px; margin-right: 30px; margin-left: 30px;
    }

    /* searchbox */
    .searchbox .ms-options-wrap > .ms-options
    {
        width: calc(100% - 15px);
    }

    /* BACKEND  */
    .backend-event-table
    {
        display: block;  overflow: scroll;
    }
    .backend-event-table .text
    {
        min-width: 400px;
    }

    .openinghour-inputfields .day-short
    {
        display: inline;
    }

    .openinghour-inputfields .day-long
    {
        display: none;
    }

    /* backend Tab Nav */
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:focus,
    .nav-tabs > li.active > a:hover
    {
        border: #000 1px solid;
    }

    .nav > li > a
    {
        min-width: 130px;
        padding: 5px;
        padding-left: 25px;
    }

    .delete-diashow-picture,
    #delete-preview-picture,
    #delete-logo-picture,
    #menu-url-save,
    #wine-menu-url-save,
    #delete-trending-document
    {
        margin-top: 20px;
    }
    .tags-services
    {
        margin-top: 30px;
    }

    /* ################################ SEO Listen ############################ */
    #article-26 > main > section > div > div > ul {
        column-count: 2;
    }
}

@media(max-width: 900px)
{
    .background-image-fullscreen .inside-background-picture-content .ms-options-wrap > .ms-options
    {
        left: 0; width: calc(130% - 60px); margin-top: 10px; margin-right: 30px; margin-left: 30px;
    }
}

@media(max-width: 767px)
{
    body
    {
        font-size: 16px; line-height: 24px;
    }
    h1
    {
        font-size: 40px;
    }
    .container-full-width h1
    {
        margin-top: 40px;
    }
    .container-full-width
    {
        min-height: 100px; margin-bottom: 15px;
    }

    .spacer-30
    {
        height: 0;
    }

    .textsection
    {
        padding-top: 20px; padding-bottom: 45px;
    }

    .video-section
    {
        padding-top: 20px; padding-bottom: 20px;
    }

    .table-responsive
    {
        border: inherit;
    }
    .spacer-white,
    .spacer-grey
    {
        height: 30px;
    }
    .info .figure img
    {
        width: 100%;
    }
    .background-image-fullscreen
    {
        height: auto;
        min-height: 480px; padding-top: 30px; padding-bottom: 30px;
    }
    .banner-text h1
    {
        font-size: 24px; line-height: 30px; margin-bottom: 12px; padding-bottom: 12px;
    }
    .banner-text p
    {
        font-size: 17px; line-height: 25px;
    }
    .banner-text h1::before
    {
        height: 1px;
    }
    .info .figure
    {
        margin-bottom: 20px;
    }
    #map
    {
        height: 300px;
    }
    .heading-black,
    .cta-button a
    {
        font-size: 24px;
    }
    .contact-person
    {
        width: 100%; margin-right: 0;
    }
    .contact-form
    {
        width: 100%; margin-top: 25px;
    }
    .form-control::-webkit-input-placeholder
    {
        font-size: 16px;
    }
    .form-control::-moz-placeholder
    {
        font-size: 16px;
    }
    .form-control:-ms-input-placeholder
    {
        font-size: 16px;
    }
    .form-control:-moz-placeholder
    {
        font-size: 16px;
    }
    .form-control
    {
        font-size: 16px; padding-right: 0;
        padding-left: 0;
    }
    .label-animated
    {
        margin-top: 20px;
    }
    .label-animated label
    {
        top: 13px;
    }
    .focused label
    {
        font-size: 15px; top: 10px;
    }
    .form-group
    {
        margin-top: 0;
    }
    .textsection select
    {
        margin-bottom: 10px;
    }
    select.form-control
    {
        margin-bottom: 10px;
    }
    textarea.form-control
    {
        margin-bottom: 10px;
    }

    .btn-action
    {
        font-size: 16px; line-height: 37px; line-height: 3px; width: 100%;
        height: 40px;
    }
    textarea
    {
        min-height: 85px;
    }
    .contact-form-section,
    .contact-form
    {
        margin-top: 18px;
    }
    .contact .heading-black
    {
        margin-bottom: 15px;
    }
    .outstanding
    {
        padding-top: 35px; padding-bottom: 30px;
    }
    .cover-image
    {
        margin-bottom: 30px;
    }
    .info .odd,
    .info .even
    {
        margin-bottom: 30px;
    }
    .outstanding .content p
    {
        font-size: 16px; line-height: 26px;
    }
    .primary-footer
    {
        padding: 25px 0;
    }
    .primary-footer .brand-footer
    {
        width: 100%;
    }
    .primary-footer .address,
    .primary-footer .contact-list
    {
        width: 100%; margin-top: 20px;
        margin-left: 0;
    }
    .primary-footer .address,
    .primary-footer .contact-list,
    .footer-links a,
    .primary-footer .contact-list,
    .primary-footer .address,
    .primary-footer .contact-list a
    {
        font-size: 16px; line-height: 24px;
    }
    .footer-links li + li
    {
        margin-left: 30px;
    }
    .footer-links li + li:before
    {
        top: 3px;
        left: -15px; height: 18px;
    }
    .contact,
    .primary-footer,
    .info,
    .think-tank-inner
    {
        padding: 35px 0;
    }
    .info
    {
        padding-bottom: 0;
    }
    .think-tank
    {
        height: auto;
    }
    .think-tank .p-r-0
    {
        padding-right: 15px;
    }
    .venn
    {
        margin-bottom: 30px;

        text-align: center;
    }
    .venn .venn-image
    {
        position: relative; top: auto; left: auto; transform: none;
    }
    .think-tank .banner-text p + p
    {
        padding-top: 10px;
    }
    .think-tank .banner-text h1 br
    {
        display: none;
    }
    #pink-bubble,
    #yellow-bubble,
    #blue-bubble
    {
        display: none;
    }
    .footer-links
    {
        width: 100%;
        margin-top: 20px;
    }
    .outstanding,
    .info,
    .textsection,
    .contact,
    .video-section
    {
        padding-top: 35px; padding-bottom: 35px;
    }

    /* Home box over backgroundimage */
    .background-image-fullscreen .inside-background-picture-content
    {
        font-size: 16px; top: 90px; width: 100%; height: 330px;
        margin: 0;
    }
    .background-image-fullscreen .inside-background-picture-content .form-group
    {
        height: 50px; padding-top: 4px;
    }
    .background-image-fullscreen .inside-background-picture-content input[type='submit']
    {
        height: 50px;
    }

    .background-image-fullscreen .inside-background-picture-content label
    {
        float: left;

        width: 10%; padding-top: 12px;
    }
    .background-image-fullscreen .inside-background-picture-content .sort-by-distance-icon
    {
        float: left; width: 10%; margin-right: 0; padding-top: 9px;
    }
    .background-image-fullscreen .inside-background-picture-content #home-search-where
    {
        width: 55%; margin-right: 5%;
    }
    .background-image-fullscreen .inside-background-picture-content #home-search-name
    {
        width: 80%; margin-left: 0;
    }
    .background-image-fullscreen .inside-background-picture-content #distance
    {
        width: 20%;
    }

    .background-image-fullscreen .inside-background-picture-content .ms-options-wrap
    {
        float: right; width: 80%;
    }
    .background-image-fullscreen .inside-background-picture-content #home-search-what-label
    {
        width: 20%; margin-right: 0;
    }
    .background-image-fullscreen .inside-background-picture-content label.search-by-rname
    {
        width: 20%; margin: 0;
    }
    .background-image-fullscreen .inside-background-picture-content .ms-options-wrap > .ms-options
    {
        left: 0; width: calc(100% - 60px); margin-top: 10px; margin-right: 30px; margin-left: 30px;
    }

    .ms-options-wrap > button:focus,
    .ms-options-wrap > button
    {
        font-size: 16px;
    }
    .ms-options-wrap > .ms-options > ul > li > label
    {
        font-size: 16px;
    }
    .ms-options-wrap > .ms-options
    {
        width: 91.8%;
    }

    /* Searchbox */
    .searchbox
    {
        margin-bottom: 10px;
    }
    .searchbox .ms-options-wrap > .ms-options > ul > li:first-child
    {
        margin-left: 20px;
    }
    .textsection .searchbox .form-group
    {
        margin-bottom: 10px;
    }
    .searchbox .sort-by-distance
    {
        height: 30px;
    }

    /* BACKEND FORMS */
    .textsection textarea
    {
        min-height: 200px; padding-right: 7px; padding-left: 7px;
    }
    .textsection input
    {
        margin-bottom: 10px; padding-right: 5px;
        padding-left: 5px;
    }
    .form-control[type='number']
    {
        margin-bottom: 10px;
    }
    .textsection .form-group
    {
        margin-bottom: 0;
    }

    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:focus,
    .nav-tabs > li.active > a:hover
    {
        font-weight: bold;

        text-decoration: underline;

        background-color: unset;
        color: #bf161c;
        border: none;
    }

    .openinghour-inputfields .col-xs-2
    {
        padding-right: 5px;
        padding-left: 5px;
    }
    .openinghour-inputfields .dayname
    {
        word-wrap: break-word;
        -webkit-hyphens: auto;           -moz-hyphens: auto;                hyphens: auto;
    }

    .btn-action
    {
        color: #fff;
        background: #bf161c;
    }
    .btn-primary
    {
        color: #fff; border: 1px solid #404040; background: #404040;
    }
    .btn-danger
    {
        color: #fff; border: 1px solid #bf161c; background: #bf161c;
    }

    .backend-event-new-event
    {
        margin-bottom: 20px;
    }

    .ui-timepicker-container
    {
        width: 150px !important;
    }

    .delete-diashow-picture,
    #delete-preview-picture,
    #menu-url-save,
    #wine-menu-url-save,
    #delete-trending-document
    {
        margin-top: 20px; margin-bottom: 40px;
    }

    /* Restaurant Detail */
    .flexslider-detail .flex-control-nav
    {
        left: 0;
    }
    .detail-image-top-right img
    {
        height: 60px;
        margin-top: 0;
    }

    .detail-image-top-right
    {
        top: -20px;

        padding-right: 0;
    }

    .restaurant-detail h2
    {
        text-align: left;
    }

    .restaurant-detail .content-main-image
    {
        margin-bottom: 25px;
    }

    .restaurant-detail .address
    {
        max-height: 250px;
        margin-bottom: 25px;
    }

    #restaurant-detail-map
    {
        height: 400px;
    }

    .tag-box
    {
        line-height: 43px;
    }

    .restaurant-detail .description
    {
        padding-bottom: 0;
    }
    .restaurant-detail h2
    {
        margin-top: 30px;
    }
    .restaurant-detail .address
    {
        height: auto !important;
        max-height: none;
        margin-bottom: 0;
    }
    .restaurant-detail .address .text-bottom
    {
        position: unset;

        width: 100%;
        margin-top: 15px;
    }

    .restaurant-detail .first-row,
    .restaurant-detail .seccond-row
    {
        margin-bottom: 0;
    }

    .footer #cantons
    {
         columns: 2; -webkit-columns: 2; -moz-columns: 2;
    }

    .restaurant-detail div.left-side-second-row div + div,
    .restaurant-detail div.third-row div + div
    {
        margin-top: 25px;
    }
}

@media(max-width: 600px)
{
    .ui-timepicker-container
    {
        left: 25% !important;

        width: 50% !important;
    }

    /* ################################ SEO Listen ############################ */
    #article-26 > main > section > div > div > ul {
        column-count: 1;
    }
}

@media(max-width: 479px)
{
    h1
    {
        font-size: 34px;
    }
    .banner-text h1
    {
        font-size: 20px; line-height: 30px;
    }
    .banner-text h1::before
    {
        width: 100%;
    }
    .heading-black,
    .cta-button a
    {
        font-size: 20px;
    }

    .textsection, .video-section
    {
        padding-top: 15px; padding-bottom: 15px;
    }
    .textsection .col-sm-12
    {
        margin-bottom: 10px;
    }

    #ui-datepicker-div
    {
        width: calc(100% - 30px);
    }

    /* Home box over backgroundimage */
    .background-image-fullscreen .inside-background-picture-content #home-search-where
    {
        width: 50%;
        margin-right: 0;
        margin-left: 5%;
    }
    .background-image-fullscreen .inside-background-picture-content .sort-by-distance-icon
    {
        width: 7%;
    }

    .background-image-fullscreen .inside-background-picture-content label
    {
        font-size: 16px;
    }

    .background-image-fullscreen .inside-background-picture-content #sort_by_distance img
    {
        width: 15px;
    }

    .background-image-fullscreen .inside-background-picture-content .ms-options-wrap > .ms-options
    {
        width: 100%; margin-right: 0; margin-left: 0;
    }

    /* Home Detail */
    /*.restaurant-detail .text-left, .restaurant-detail h2, .restaurant-detail h3, .restaurant-detail .menu-icons, .restaurant-detail .service-icons, .restaurant-detail .offer-icons { text-align: center; }*/

    .restaurant-detail .menulink-icon
    {
        height: 40px; margin-right: 20px; padding-right: 0; padding-left: 0;
    }

    .footer #cantons
    {
        columns: 1; -webkit-columns: 1; -moz-columns: 1;
    }
}

.backend-event-new-event
{
    margin-bottom: 20px;
}
.alignleft
{
    text-align: left;
}

.restaurant-detail .offer-icons h2 {
    margin-top: 25px !important;
}

.restaurant-detail .offer-icons {
    margin-bottom: 25px !important;
}

.video-col {
    margin: 0 auto;
    float: none;
    padding-left: 0;
    padding-right: 0;
}

.videowrapper {
    position: relative;
    padding-bottom: 56.45%;
    height: 0;
}

.videowrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.bm-row {
    display: flex;
    flex-wrap: wrap;
    margin-top: -15px;
    margin-right: -15px;
    margin-left: -15px;
}

.bm-row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-top: 15px;
}

.bm-row > .bm-col-12 {
    flex: 0 0 auto;
    width: 100%;
}

@media(min-width: 576px) {
    .bm-row > .bm-col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }
}

@media(min-width: 768px) {
    .bm-row > .bm-col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
}

@media(min-width: 992px) {
    .bm-row > .bm-col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }
}

/* ==========================================================================
   EXTENSIONS AND CHANGES TO MODULE BOXEN [50]
   ========================================================================== */
.bm-boxen--section .bm-boxen {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 20px;
    height: 100%;
    padding: 50px;
}
.bm-boxen--section .bm-boxen .bm-boxen--image {
    aspect-ratio: 1 / 1;
}
.bm-boxen--section .bm-boxen .bm-boxen--image img {
    display: block;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}
.bm-boxen--section .bm-boxen .bm-boxen--button {
    display: flex;
    justify-content: center;
}
/* ==========================================================================
            EXTENSIONS AND CHANGES TO reCAPTCHA
   ========================================================================== */
.grecaptcha-badge {
    visibility: hidden;
}