@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro");
@import url("https://assets.positioner.com/shz/online-booking//hello.myfonts.net/count/36dc61");

@font-face {
    font-family: 'BrandonGrotesqueWeb-Medium';
    src: url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.eot");
    src: url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.eot?#iefix") format("embedded-opentype"), url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.woff2") format("woff2"), url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.woff") format("woff"), url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.ttf") format("truetype"), url("https://assets.positioner.com/shz/online-booking/fonts/webfonts/36DC61_0_0.svg#wf") format("svg")
}

@font-face {
    font-family: 'GT-Super-Display-Regular';
    src: url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.eot");
    src: url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.otf");
    src: url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.eot?#iefix") format("embedded-opentype"), url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.woff2") format("woff2"), url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.woff") format("woff"), url("https://assets.positioner.com/shz/online-booking/fonts/GT-Super/GT-Super-Display-Regular.ttf") format("truetype")
}
/*Footer*/
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

*, *::after, *::before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

input[type='submit'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    border: 0;
    margin: 0;
    cursor: pointer
}

fieldset {
    background-color: transparent;
    border: 0;
    margin: 0;
    padding: 0
}

legend {
    font-weight: 600;
    margin-bottom: 1rem;
    padding: 0
}

/*input, select {
    display: block;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 1rem
}

    input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea, select {
        background-color: #f4f4f4;
        border: 1px solid #ccc;
        border-radius: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-family: "Source Sans Pro", sans-serif;
        font-size: 1rem;
        color: #555;
        margin: 0;
        padding: 0 1rem;
        line-height: 60px;
        height: 60px;
        -webkit-transition: border-color 150ms ease;
        transition: border-color 150ms ease;
        width: 100% !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        -o-appearance: none;
        appearance: none;
        cursor: pointer
    }*/

        input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input:not([type]):focus, textarea:focus, select:focus {
            outline: none
        }

        input[type="color"]::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder, input[type="datetime"]::-webkit-input-placeholder, input[type="datetime-local"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="month"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, input[type="search"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="text"]::-webkit-input-placeholder, input[type="time"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="week"]::-webkit-input-placeholder, input:not([type])::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
            color: #555 !important
        }

        input[type="color"]::-moz-placeholder, input[type="date"]::-moz-placeholder, input[type="datetime"]::-moz-placeholder, input[type="datetime-local"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="month"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="search"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="text"]::-moz-placeholder, input[type="time"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="week"]::-moz-placeholder, input:not([type])::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
            color: #555 !important
        }

        input[type="color"]:-moz-placeholder, input[type="date"]:-moz-placeholder, input[type="datetime"]:-moz-placeholder, input[type="datetime-local"]:-moz-placeholder, input[type="email"]:-moz-placeholder, input[type="month"]:-moz-placeholder, input[type="number"]:-moz-placeholder, input[type="password"]:-moz-placeholder, input[type="search"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, input[type="text"]:-moz-placeholder, input[type="time"]:-moz-placeholder, input[type="url"]:-moz-placeholder, input[type="week"]:-moz-placeholder, input:not([type]):-moz-placeholder, textarea:-moz-placeholder, select:-moz-placeholder {
            color: #555 !important
        }

        input[type="color"]:-ms-input-placeholder, input[type="date"]:-ms-input-placeholder, input[type="datetime"]:-ms-input-placeholder, input[type="datetime-local"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="month"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, input[type="search"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="text"]:-ms-input-placeholder, input[type="time"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="week"]:-ms-input-placeholder, input:not([type]):-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
            color: #555 !important
        }

textarea {
    resize: vertical;
    height: 6rem;
    line-height: auto
}

[type="search"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

[type="checkbox"], [type="radio"] {
    display: inline;
    margin-right: 1rem;
    height: auto;
    line-height: auto
}

[type="file"] {
    margin-bottom: 1rem;
    width: 100%;
    height: auto;
    line-height: auto
}

select {
    max-width: 100%;
    width: auto;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/dropdown-arrow.svg);
    background-position: center right 0;
    background-size: 7px auto;
    padding-right: 14px;
    background-repeat: no-repeat
}

    select::-ms-expand {
        display: none
    }

    select option {
        color: black !important
    }
*/
.contour.no-label .umbraco-forms-field > label:not([for='checkboxes']):not([for='radio_buttons']) {
    display: none
}

.contour.no-placeholder input[type=text]::-webkit-input-placeholder, .contour.no-placeholder textarea::-webkit-input-placeholder {
    color: transparent !important
}

.contour.no-placeholder input[type=text]::-moz-placeholder, .contour.no-placeholder textarea::-moz-placeholder {
    color: transparent !important
}

.contour.no-placeholder input[type=text]:-moz-placeholder, .contour.no-placeholder textarea:-moz-placeholder {
    color: transparent !important
}

.contour.no-placeholder input[type=text]:-ms-input-placeholder, .contour.no-placeholder textarea:-ms-input-placeholder {
    color: transparent !important
}

.contour .umbraco-forms-field > div {
    position: relative;
    overflow: hidden
}

    .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio']), .contour .umbraco-forms-field > div textarea, .contour .umbraco-forms-field > div select, .contour .umbraco-forms-field > div .checkboxlist > label, .contour .umbraco-forms-field > div .radiobuttonlist > label {
        width: 100%;
        -webkit-appearance: none;
        -moz-appearance: none;
        -o-appearance: none;
        appearance: none;
        border-radius: 0;
        border: 0
    }

        .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio'])::-webkit-input-placeholder, .contour .umbraco-forms-field > div textarea::-webkit-input-placeholder, .contour .umbraco-forms-field > div select::-webkit-input-placeholder, .contour .umbraco-forms-field > div .checkboxlist > label::-webkit-input-placeholder, .contour .umbraco-forms-field > div .radiobuttonlist > label::-webkit-input-placeholder {
            color: #555
        }

        .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio'])::-moz-placeholder, .contour .umbraco-forms-field > div textarea::-moz-placeholder, .contour .umbraco-forms-field > div select::-moz-placeholder, .contour .umbraco-forms-field > div .checkboxlist > label::-moz-placeholder, .contour .umbraco-forms-field > div .radiobuttonlist > label::-moz-placeholder {
            color: #555
        }

        .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio']):-moz-placeholder, .contour .umbraco-forms-field > div textarea:-moz-placeholder, .contour .umbraco-forms-field > div select:-moz-placeholder, .contour .umbraco-forms-field > div .checkboxlist > label:-moz-placeholder, .contour .umbraco-forms-field > div .radiobuttonlist > label:-moz-placeholder {
            color: #555
        }

        .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio']):-ms-input-placeholder, .contour .umbraco-forms-field > div textarea:-ms-input-placeholder, .contour .umbraco-forms-field > div select:-ms-input-placeholder, .contour .umbraco-forms-field > div .checkboxlist > label:-ms-input-placeholder, .contour .umbraco-forms-field > div .radiobuttonlist > label:-ms-input-placeholder {
            color: #555
        }

    .contour .umbraco-forms-field > div input:not([type='checkbox']):not([type='radio']), .contour .umbraco-forms-field > div textarea, .contour .umbraco-forms-field > div select {
        background-color: white
    }

    .contour .umbraco-forms-field > div select {
        padding-right: 2em;
        background-position: center right 1em
    }

    .contour .umbraco-forms-field > div > input[type='checkbox'] + label {
        display: inline-block;
        width: auto;
        margin-bottom: 0
    }

    .contour .umbraco-forms-field > div textarea {
        height: 6rem !important;
        line-height: 1.6 !important
    }

    .contour .umbraco-forms-field > div .field-validation-error {
        display: block;
        color: red
    }

.contour .umbraco-forms-field:not(:last-child) {
    margin-bottom: 1.5rem
}

.contour:not(:last-child) {
    margin-bottom: 1.5rem
}

.contour .contourNavigation {
    margin-top: 1.5rem
}

.single-check, .formsprivacypolicy {
    position: relative
}

    .single-check label, .formsprivacypolicy label {
        display: block !important;
        position: relative;
        margin-left: 30px
    }

    .single-check div, .formsprivacypolicy div {
        position: static !important
    }

        .single-check div input, .formsprivacypolicy div input {
            position: absolute;
            top: 0;
            left: 0
        }

ul, ol {
    list-style-type: none;
    margin: 0;
    padding: 0
}

    ul.default {
        margin-bottom: .8em;
        display: block !important
    }

        ul.default li {
            position: relative !important;
            padding: 0;
            margin: 0 0 0 1em;
            display: block !important
        }

            ul.default li::before {
                position: absolute !important;
                left: -1em !important;
                content: "â€¢"
            }

    ol.default {
        list-style-type: decimal;
        margin-bottom: .8em;
        padding-left: 1.6em
    }

dl {
    margin-bottom: .8em
}

    dl dt {
        font-weight: bold;
        margin-top: .8em
    }

    dl dd {
        margin: 0
    }

table {
    border-collapse: collapse;
    -webkit-font-feature-settings: "kern", "liga", "tnum";
    font-feature-settings: "kern", "liga", "tnum";
    margin: 0;
    table-layout: fixed;
    width: 100%
}

th {
    border-bottom: 1px solid #999;
    font-weight: 600;
    padding: .8em 0;
    text-align: left
}

td {
    border-bottom: 1px solid #ccc;
    padding: .8em 0
}

tr, td, th {
    vertical-align: middle
}

.table-holder {
    overflow: hidden;
    overflow-x: auto
}

    .table-holder > table {
        table-layout: auto
    }

body {
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    font-smoothing: antialiased;
    color: #555;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 1em;
    line-height: 1.6;
    background-color: #f4f4f4
}

@media screen and (min-width: 80.0625em) {
    body {
        font-size: 18px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    body {
        font-size: 16px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    body {
        font-size: 14px
    }
}

@media screen and (max-width: 47.9375em) {
    body {
        font-size: 14px
    }
}

*[dir="rtl"], bdo[dir="rtl"], .dir-rtl {
    direction: rtl;
    unicode-bidi: bidi-override
}

h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span, h2, .h2, h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span, h4, .h4, h5, .h5, h6, .h6 {
    font-family: "GT-Super-Display-Regular";
    line-height: 1.15;
    font-weight: lighter;
    margin: 0;
    letter-spacing: .02em
}

    h1 a, .h1 a, #hero #label-home > div > div p.ttl a, .box3 > div > p.discount > span a, h2 a, .h2 a, h3 a, .h3 a, #menu-panel > div > div ul a a, #menu-panel > div > div select a, .box7 .circle > div > div > div span a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
        color: inherit !important;
        text-decoration: none !important;
        font-weight: inherit !important
    }

    h1:last-child, .h1:last-child, #hero #label-home > div > div p.ttl:last-child, .box3 > div > p.discount > span:last-child, h2:last-child, .h2:last-child, h3:last-child, .h3:last-child, #menu-panel > div > div ul a:last-child, #menu-panel > div > div select:last-child, .box7 .circle > div > div > div span:last-child, h4:last-child, .h4:last-child, h5:last-child, .h5:last-child, h6:last-child, .h6:last-child {
        margin-bottom: 0 !important
    }

h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span {
    margin-bottom: .75em
}

@media screen and (min-width: 80.0625em) {
    h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span {
        font-size: 3.78em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span {
        font-size: 3.78em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span {
        font-size: 3.43em
    }
}

@media screen and (max-width: 47.9375em) {
    h1, .h1, #hero #label-home > div > div p.ttl, .box3 > div > p.discount > span {
        font-size: 2.57em
    }
}

h1.thread, .h1.thread, #hero #label-home > div > div p.thread.ttl, .box3 > div > p.discount > span.thread, h2.thread, .h2.thread {
    position: relative;
    text-align: center
}

@media screen and (min-width: 64em) {
    h1.thread, .h1.thread, #hero #label-home > div > div p.thread.ttl, .box3 > div > p.discount > span.thread, h2.thread, .h2.thread {
        margin-bottom: 50px;
        padding-bottom: 50px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h1.thread, .h1.thread, #hero #label-home > div > div p.thread.ttl, .box3 > div > p.discount > span.thread, h2.thread, .h2.thread {
        margin-bottom: 40px;
        padding-bottom: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    h1.thread, .h1.thread, #hero #label-home > div > div p.thread.ttl, .box3 > div > p.discount > span.thread, h2.thread, .h2.thread {
        margin-bottom: 30px;
        padding-bottom: 30px
    }
}

h1.thread:after, .h1.thread:after, #hero #label-home > div > div p.thread.ttl:after, .box3 > div > p.discount > span.thread:after, h2.thread:after, .h2.thread:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 1px;
    width: 80px;
    background-color: #555;
    margin-left: -40px
}

h1.thread:last-child, .h1.thread:last-child, #hero #label-home > div > div p.thread.ttl:last-child, .box3 > div > p.discount > span.thread:last-child, h2.thread:last-child, .h2.thread:last-child {
    margin-bottom: 0 !important
}

h2, .h2 {
    margin-bottom: 1em
}

@media screen and (min-width: 80.0625em) {
    h2, .h2 {
        font-size: 2.89em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    h2, .h2 {
        font-size: 2.89em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h2, .h2 {
        font-size: 2.07em
    }
}

@media screen and (max-width: 47.9375em) {
    h2, .h2 {
        font-size: 1.86em
    }
}

h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span {
    margin-bottom: .75em
}

@media screen and (min-width: 80.0625em) {
    h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span {
        font-size: 2.11em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span {
        font-size: 2.11em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span {
        font-size: 1.64em
    }
}

@media screen and (max-width: 47.9375em) {
    h3, .h3, #menu-panel > div > div ul a, #menu-panel > div > div select, .box7 .circle > div > div > div span {
        font-size: 1.64em
    }
}

h4, .h4 {
    margin-bottom: .75em
}

@media screen and (min-width: 80.0625em) {
    h4, .h4 {
        font-size: 1.44em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    h4, .h4 {
        font-size: 1.44em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h4, .h4 {
        font-size: 1.5em
    }
}

@media screen and (max-width: 47.9375em) {
    h4, .h4 {
        font-size: 1.5em
    }
}

h5, .h5 {
    margin-bottom: .75em
}

@media screen and (min-width: 80.0625em) {
    h5, .h5 {
        font-size: 1.17em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    h5, .h5 {
        font-size: 1.17em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    h5, .h5 {
        font-size: 1.14em
    }
}

@media screen and (max-width: 47.9375em) {
    h5, .h5 {
        font-size: 1.14em
    }
}

p, ul.default, ol.default, .table-holder, fieldset, form, ul.downloadModule {
    margin: 0 0 .8em
}

    p:last-child, ul.default:last-child, ol.default:last-child, .table-holder:last-child, fieldset:last-child, form:last-child, ul.downloadModule:last-child {
        margin-bottom: 0
    }

@media screen and (min-width: 48em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a {
        margin-bottom: .5em
    }
}

@media screen and (max-width: 47.9375em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a {
        margin-bottom: 1.25em
    }
}

.label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a, p.link-button a, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
    font-family: "BrandonGrotesqueWeb-Medium";
    line-height: 1.2em !important;
    letter-spacing: .15em;
    text-transform: uppercase
}

@media screen and (min-width: 80.0625em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a, p.link-button a, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
        font-size: .72em
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a, p.link-button a, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
        font-size: .81em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a, p.link-button a, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
        font-size: .79em
    }
}

@media screen and (max-width: 47.9375em) {
    .label, .offers-list > div > h6, .offers-list > div > div.new, .offers-list > div > p.price, .mod4 .box1 > div > a h6, .mod6 .box1 > div > a h6, .mod4 .content .content-2 a span, .mod6 .content .content-2 a span, .box1 > div ul.submenu li a, .box1 > div select.submenu, .box3 > div > h6, .box4 > div > h6, .box5 > div > div h6, .box7 .slideshow .flex-caption h6, .mod2 > div > h6, .mod3 > div select, .mod3 > div .rooms-list > div > div a img + p, .mod5 > div select, #footer-main > div > ul.navigation li a, p.link-button a, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
        font-size: .79em
    }
}

p.link-button a, a.cta, #header > div:first-child > ul.info li:last-child a.cta, .contourNavigation input, a.filter, .mod1 > div ul.filters li a {
    background-color: #7E5475;
    border: 1px solid #7E5475;
    color: white;
    text-decoration: none;
    padding: 1.5em 3em !important;
    display: inline-block;
    opacity: 1;
    -webkit-transition: background-color, 150ms;
    transition: background-color, 150ms
}

    p.link-button a:hover, a.cta:hover, #header > div:first-child > ul.info li:last-child a.cta:hover, .contourNavigation input:hover, a.filter:hover, .mod1 > div ul.filters li a:hover {
        background-color: #A9BCBE;
        border-color: #A9BCBE
    }

.main-menu, #header > div:first-child > a.menu, #header > div:first-child > ul.contact a, #header > div:first-child > ul.info li a.vouchers, #header > div:first-child > ul.info li:last-child a.cta, #header > div:last-child ul li a, #header > div:last-child select, #footer-smartphone > div a {
    font-family: "BrandonGrotesqueWeb-Medium";
    line-height: 1.2em;
    letter-spacing: .15em;
    text-transform: uppercase;
    position: relative;
    padding: 0 7px 7px 7px
}

    .main-menu:after, #header > div:first-child > a.menu:after, #header > div:first-child > ul.contact a:after, #header > div:first-child > ul.info li a.vouchers:after, #header > div:first-child > ul.info li:last-child a.cta:after, #header > div:last-child ul li a:after, #header > div:last-child select:after, #footer-smartphone > div a:after {
        display: none;
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: #ccc;
        height: 1px
    }

@media screen and (min-width: 64em) {
    .main-menu, #header > div:first-child > a.menu, #header > div:first-child > ul.contact a, #header > div:first-child > ul.info li a.vouchers, #header > div:first-child > ul.info li:last-child a.cta, #header > div:last-child ul li a, #header > div:last-child select, #footer-smartphone > div a {
        font-size: .67em
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .main-menu, #header > div:first-child > a.menu, #header > div:first-child > ul.contact a, #header > div:first-child > ul.info li a.vouchers, #header > div:first-child > ul.info li:last-child a.cta, #header > div:last-child ul li a, #header > div:last-child select, #footer-smartphone > div a {
        font-size: .8em
    }
}

p + h2, p + .h2, p + h3, p + .h3, #menu-panel > div > div ul p + a, #menu-panel > div > div p + select, .box7 .circle > div > div > div p + span, p + h4, p + .h4, p + h5, p + .h5 {
    margin-top: 40px
}

p.link-button {
    margin-top: 40px
}

a {
    color: #7E5475;
    text-decoration: underline;
    -webkit-transition: opacity 150ms, color 150ms;
    transition: opacity 150ms, color 150ms
}

    a:active, a:focus, a:hover {
        opacity: .8
    }

hr {
    border-bottom: 1px solid #ccc;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    margin: 1.6em 0
}

img, picture {
    margin: 0;
    max-width: 100%;
    border: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.slideshow {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 90
}

    .slideshow .flexslider {
        height: 100%;
        background-color: black;
        position: relative
    }

        .slideshow .flexslider .slides {
            height: 100%;
            background-size: cover;
            background-position: center
        }

            .slideshow .flexslider .slides > li {
                position: relative;
                height: 100%;
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
                -webkit-backface-visibility: hidden;
                backface-visibility: hidden
            }

                .slideshow .flexslider .slides > li picture {
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    background-repeat: no-repeat;
                    background-position: center;
                    background-size: cover;
                    z-index: 2
                }

                .slideshow .flexslider .slides > li img, .slideshow .flexslider .slides > li > div {
                    display: none
                }

                .slideshow .flexslider .slides > li[data-class='class-2']:after {
                    content: "";
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    background-color: rgba(255, 0, 0, 0.5)
                }

        .slideshow .flexslider .flex-caption {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            opacity: 0;
            z-index: 5;
            -webkit-transition: opacity .4s;
            transition: opacity .4s
        }

            .slideshow .flexslider .flex-caption > div {
                display: table;
                height: 100%;
                width: 100%
            }

                .slideshow .flexslider .flex-caption > div > div {
                    text-align: center;
                    display: table-cell;
                    vertical-align: middle;
                    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
                    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%)
                }

                    .slideshow .flexslider .flex-caption > div > div > div {
                        color: white;
                        margin: 0 auto
                    }

@media screen and (min-width: 48em) {
    .slideshow .flexslider .flex-caption > div > div > div {
        width: 40%
    }
}

@media screen and (max-width: 47.9375em) {
    .slideshow .flexslider .flex-caption > div > div > div {
        width: 75%
    }
}

.slideshow .flexslider .flex-caption.animate-in {
    opacity: 1
}

.slideshow .flexslider .flex-caption[data-class='class-1'] > div > div {
    color: blue
}

.slideshow .flexslider .flex-direction-nav {
    display: none
}

.slideshow .flexslider .flex-close, .slideshow .flexslider .flex-social {
    display: none
}

.slideshow .flexslider.loading .spinner {
    display: block
}

#overlay .slideshow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

    #overlay .slideshow .flex-close {
        display: block
    }

    #overlay .slideshow .flexslider {
        background-color: transparent;
        padding: 3rem
    }

        #overlay .slideshow .flexslider .slides {
            background-image: none !important
        }

            #overlay .slideshow .flexslider .slides > li {
                background-size: contain
            }

        #overlay .slideshow .flexslider .flex-caption {
            top: auto;
            height: 3rem
        }

            #overlay .slideshow .flexslider .flex-caption > div > div {
                background-image: none
            }

                #overlay .slideshow .flexslider .flex-caption > div > div > div {
                    width: auto
                }

        #overlay .slideshow .flexslider .flex-direction-nav a {
            background-color: transparent
        }

.carousel .flexslider {
    position: relative;
    white-space: nowrap
}

    .carousel .flexslider .flex-viewport {
        margin: 0 -10px
    }

    .carousel .flexslider .slides {
        width: 100% !important;
        text-align: center
    }

        .carousel .flexslider .slides > li {
            vertical-align: top;
            float: none !important;
            width: 0;
            overflow: hidden;
            display: none
        }

            .carousel .flexslider .slides > li[style*="block"] {
                display: inline-block !important
            }

            .carousel .flexslider .slides > li > div {
                white-space: normal;
                padding: 0 10px 0 10px
            }

    .carousel .flexslider .flex-direction-nav {
        display: none
    }

.carousel-centered {
    margin: 0 auto;
    padding: 10% 0;
    overflow: hidden;
    position: relative
}

    .carousel-centered .flexslider {
        margin: 0 auto;
        max-width: 33.33333%;
        width: 33.33333%
    }

        .carousel-centered .flexslider .flex-viewport {
            overflow: visible !important
        }

        .carousel-centered .flexslider .slides::after {
            clear: both;
            content: "";
            display: table
        }

        .carousel-centered .flexslider .slides > li {
            position: relative;
            z-index: 10;
            -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
            -webkit-filter: gray;
            filter: gray;
            opacity: .5;
            -webkit-transition: opacity 0.2s, -webkit-transform .2s;
            transition: opacity 0.2s, -webkit-transform .2s;
            transition: opacity 0.2s, transform .2s;
            transition: opacity 0.2s, transform .2s, -webkit-transform .2s;
            overflow: hidden;
            display: none
        }

            .carousel-centered .flexslider .slides > li.flex-active-slide {
                -webkit-transform: scale(1.5);
                transform: scale(1.5);
                -webkit-filter: grayscale(0%);
                filter: none;
                opacity: 1;
                z-index: 20
            }

        .carousel-centered .flexslider .flex-direction-nav {
            display: none
        }

.mono-carousel {
    position: relative
}

    .mono-carousel .slides::after {
        clear: both;
        content: "";
        display: table
    }

    .mono-carousel .flex-slides-nav {
        margin-top: 1em
    }

        .mono-carousel .flex-slides-nav, .mono-carousel .flex-slides-nav * {
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none
        }

            .mono-carousel .flex-slides-nav > div {
                display: inline-block;
                vertical-align: top
            }

                .mono-carousel .flex-slides-nav > div.flex-slide-prev, .mono-carousel .flex-slides-nav > div.flex-slide-next {
                    height: 30px;
                    width: 30px;
                    background-color: red;
                    cursor: pointer
                }

                .mono-carousel .flex-slides-nav > div.flex-slide-count {
                    padding: 0 1em;
                    line-height: 30px
                }

    .mono-carousel .flex-direction-nav {
        display: none
    }

.slideshow .flexslider .slides > li {
    opacity: 0;
    -webkit-transition: opacity .4s;
    transition: opacity .4s
}

    .slideshow .flexslider .slides > li.animate-in {
        opacity: 1
    }

    .slideshow .flexslider .slides > li.animate-out {
        opacity: 0
    }

#overlay .slideshow .flexslider .slides > li, .mono-carousel .slides > li {
    opacity: 0;
    -webkit-transition: opacity .4s;
    transition: opacity .4s
}

    #overlay .slideshow .flexslider .slides > li.animate-in, .mono-carousel .slides > li.animate-in {
        opacity: 1
    }

    #overlay .slideshow .flexslider .slides > li.animate-out, .mono-carousel .slides > li.animate-out {
        opacity: 0
    }

.slideshow .flexslider .flex-viewport, #overlay .slideshow .flexslider .flex-viewport, .mono-carousel .flex-viewport {
    height: 100%
}

    .slideshow .flexslider .flex-viewport .slides > li, #overlay .slideshow .flexslider .flex-viewport .slides > li, .mono-carousel .flex-viewport .slides > li {
        display: none;
        opacity: 1 !important;
        -webkit-transition: none;
        transition: none
    }

.slideshow .flexslider .spinner {
    display: none;
    width: 50px;
    height: 30px;
    text-align: center;
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px;
    margin-left: -25px;
    z-index: 10
}

    .slideshow .flexslider .spinner > div {
        background-color: #333;
        height: 100%;
        width: 6px;
        display: inline-block;
        -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
        animation: stretchdelay 1.2s infinite ease-in-out
    }

        .slideshow .flexslider .spinner > div.rect2 {
            -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s
        }

        .slideshow .flexslider .spinner > div.rect3 {
            -webkit-animation-delay: -1.0s;
            animation-delay: -1.0s
        }

        .slideshow .flexslider .spinner > div.rect4 {
            -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s
        }

        .slideshow .flexslider .spinner > div.rect5 {
            -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s
        }

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4)
    }

    20% {
        -webkit-transform: scaleY(1)
    }
}

@keyframes stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4);
        transform: scaleY(0.4)
    }

    20% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1)
    }
}

.flex-social {
    position: absolute;
    bottom: 25px;
    z-index: 100;
    width: 100%;
    text-align: center
}

    .flex-social > a {
        height: 50px;
        width: 50px;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        margin: 0 .25em;
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap
    }

        .flex-social > a.facebook {
            background-color: rgba(255, 0, 0, 0.8)
        }

        .flex-social > a.pinterest {
            background-color: rgba(0, 0, 255, 0.8)
        }

        .flex-social > a.twitter {
            background-color: rgba(255, 255, 0, 0.8)
        }

        .flex-social > a.google {
            background-color: rgba(0, 128, 0, 0.8)
        }

.flex-close {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -1.5rem;
    height: 3rem;
    width: 3rem;
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15.56px;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/gallery-close.svg);
    cursor: pointer;
    z-index: 110
}

.ext-flex-prev-next, .slideshow .flexslider .flex-direction-nav .flex-prev, .slideshow .flexslider .flex-direction-nav .flex-next, .carousel .flexslider .flex-direction-nav .flex-prev, .carousel .flexslider .flex-direction-nav .flex-next, .carousel-centered .flexslider .flex-direction-nav .flex-prev, .carousel-centered .flexslider .flex-direction-nav .flex-next, .mono-carousel .flex-direction-nav .flex-prev, .mono-carousel .flex-direction-nav .flex-next {
    position: absolute;
    top: 50%;
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    z-index: 100;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #555
}

@media screen and (min-width: 64em) {
    .ext-flex-prev-next, .slideshow .flexslider .flex-direction-nav .flex-prev, .slideshow .flexslider .flex-direction-nav .flex-next, .carousel .flexslider .flex-direction-nav .flex-prev, .carousel .flexslider .flex-direction-nav .flex-next, .carousel-centered .flexslider .flex-direction-nav .flex-prev, .carousel-centered .flexslider .flex-direction-nav .flex-next, .mono-carousel .flex-direction-nav .flex-prev, .mono-carousel .flex-direction-nav .flex-next {
        height: 60px;
        width: 60px;
        margin-top: -30px;
        background-size: 15px;
        border-radius: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .ext-flex-prev-next, .slideshow .flexslider .flex-direction-nav .flex-prev, .slideshow .flexslider .flex-direction-nav .flex-next, .carousel .flexslider .flex-direction-nav .flex-prev, .carousel .flexslider .flex-direction-nav .flex-next, .carousel-centered .flexslider .flex-direction-nav .flex-prev, .carousel-centered .flexslider .flex-direction-nav .flex-next, .mono-carousel .flex-direction-nav .flex-prev, .mono-carousel .flex-direction-nav .flex-next {
        height: 50px;
        width: 50px;
        margin-top: -25px;
        background-size: 12.5px;
        border-radius: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .ext-flex-prev-next, .slideshow .flexslider .flex-direction-nav .flex-prev, .slideshow .flexslider .flex-direction-nav .flex-next, .carousel .flexslider .flex-direction-nav .flex-prev, .carousel .flexslider .flex-direction-nav .flex-next, .carousel-centered .flexslider .flex-direction-nav .flex-prev, .carousel-centered .flexslider .flex-direction-nav .flex-next, .mono-carousel .flex-direction-nav .flex-prev, .mono-carousel .flex-direction-nav .flex-next {
        height: 30px;
        width: 30px;
        margin-top: -15px;
        background-size: 7.5px;
        border-radius: 30px
    }
}

.ext-flex-prev, .slideshow .flexslider .flex-direction-nav .flex-prev, .carousel .flexslider .flex-direction-nav .flex-prev, .carousel-centered .flexslider .flex-direction-nav .flex-prev, .mono-carousel .flex-direction-nav .flex-prev {
    left: 5%;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/gallery-left.svg)
}

.ext-flex-next, .slideshow .flexslider .flex-direction-nav .flex-next, .carousel .flexslider .flex-direction-nav .flex-next, .carousel-centered .flexslider .flex-direction-nav .flex-next, .mono-carousel .flex-direction-nav .flex-next {
    right: 5%;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/gallery-right.svg)
}

.ext-flex-control-nav, .slideshow .flexslider .flex-control-nav, .carousel .flexslider .flex-control-nav, .carousel-centered .flexslider .flex-control-nav, .mono-carousel .flex-control-nav {
    z-index: 100;
    text-align: center;
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
    line-height: 10px
}

    .ext-flex-control-nav li, .slideshow .flexslider .flex-control-nav li, .carousel .flexslider .flex-control-nav li, .carousel-centered .flexslider .flex-control-nav li, .mono-carousel .flex-control-nav li {
        display: inline-block;
        margin: 0 .5em
    }

        .ext-flex-control-nav li a, .slideshow .flexslider .flex-control-nav li a, .carousel .flexslider .flex-control-nav li a, .carousel-centered .flexslider .flex-control-nav li a, .mono-carousel .flex-control-nav li a {
            display: block;
            height: 10px;
            width: 10px;
            overflow: hidden;
            text-indent: 101%;
            white-space: nowrap;
            border: 1px solid white;
            background-color: transparent;
            cursor: pointer;
            border-radius: 10px
        }

            .ext-flex-control-nav li a.flex-active, .slideshow .flexslider .flex-control-nav li a.flex-active, .carousel .flexslider .flex-control-nav li a.flex-active, .carousel-centered .flexslider .flex-control-nav li a.flex-active, .mono-carousel .flex-control-nav li a.flex-active {
                margin: 0;
                background-color: white
            }

#overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    display: none
}

#ui-datepicker-div {
    z-index: 999 !important;
    width: 300px;
    background-image: none !important
}

@media screen and (min-width: 80.0625em) {
    .box {
        margin-top: 180px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box {
        margin-top: 180px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box {
        margin-top: 110px
    }
}

@media screen and (max-width: 47.9375em) {
    .box {
        margin-top: 80px
    }
}

@media screen and (min-width: 80.0625em) {
    .box {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box {
        margin-bottom: 110px
    }
}

@media screen and (max-width: 47.9375em) {
    .box {
        margin-bottom: 80px
    }
}

@media screen and (min-width: 80.0625em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-top: 130px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-top: 130px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-top: 80px
    }
}

@media screen and (max-width: 47.9375em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-top: 70px
    }
}

@media screen and (min-width: 80.0625em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-bottom: 130px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-bottom: 130px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-bottom: 80px
    }
}

@media screen and (max-width: 47.9375em) {
    .box.reduced, .box:first-child, .box.box3, .box.box7 {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 80.0625em) {
    .box.reduced-top {
        margin-top: 130px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box.reduced-top {
        margin-top: 130px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box.reduced-top {
        margin-top: 80px
    }
}

@media screen and (max-width: 47.9375em) {
    .box.reduced-top {
        margin-top: 70px
    }
}

@media screen and (min-width: 80.0625em) {
    .box.reduced-bottom {
        margin-bottom: 130px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box.reduced-bottom {
        margin-bottom: 130px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box.reduced-bottom {
        margin-bottom: 80px
    }
}

@media screen and (max-width: 47.9375em) {
    .box.reduced-bottom {
        margin-bottom: 70px
    }
}

ul.inline-li {
    text-align: center
}

    ul.inline-li > li {
        display: inline-block
    }

        ul.inline-li > li:not(:last-child) {
            margin-right: 1em
        }

.offers-list {
    float: left;
    display: block;
    margin-right: 4.28774%;
    width: 100%
}

    .offers-list:last-child {
        margin-right: 0
    }

    .offers-list > div {
        position: relative;
        border: 2px dotted #555;
        text-align: center;
        cursor: pointer
    }

        .offers-list > div > h6 {
            margin-bottom: 0;
            background-color: #f4f4f4;
            padding: 0 1.5em;
            position: absolute;
            top: 0;
            right: 0;
            left: 50%;
            -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
            max-width: 80%
        }

@media screen and (min-width: 80.0625em) {
    .offers-list > div {
        height: 460px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .offers-list > div {
        height: 460px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .offers-list > div {
    }
}

@media screen and (max-width: 47.9375em) {
    .offers-list > div {
    }
}

@media screen and (min-width: 64em) {
    .offers-list > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 30.47484%
    }

        .offers-list > div:last-child {
            margin-right: 0
        }

        .offers-list > div:nth-child(3n) {
            margin-right: 0
        }

        .offers-list > div:nth-child(3n+1) {
            clear: left
        }

        .offers-list > div:nth-child(n+4) {
            margin-top: 110px
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .offers-list > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%;
        min-height: 240px
    }

        .offers-list > div:last-child {
            margin-right: 0
        }

        .offers-list > div:nth-child(n+2) {
            margin-top: 70px
        }
}

@media screen and (max-width: 47.9375em) {
    .offers-list > div:nth-child(n+2) {
        margin-top: 70px
    }
}

.offers-list > div > div.new {
    margin-bottom: 0;
    color: white;
    position: absolute;
    background-color: #555;
    overflow: hidden
}

@media screen and (min-width: 48em) {
    .offers-list > div > div.new {
        height: 74px;
        width: 74px;
        border-radius: 74px;
        top: -37px;
        line-height: 74px !important;
        left: -37px
    }
}

@media screen and (max-width: 47.9375em) {
    .offers-list > div > div.new {
        height: 60px;
        width: 60px;
        border-radius: 60px;
        top: -30px;
        line-height: 60px !important;
        left: -20px
    }
}

.offers-list > div > div:not(.new) {
    padding: 0 30px
}

@media screen and (min-width: 80.0625em) {
    .offers-list > div > div:not(.new) {
        margin-top: 55px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .offers-list > div > div:not(.new) {
        margin-top: 55px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .offers-list > div > div:not(.new) {
        margin-top: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    .offers-list > div > div:not(.new) {
        margin-top: 40px
    }
}

@media screen and (max-width: 63.9375em) {
    .offers-list > div > div:not(.new) {
        padding-bottom: 40px
    }
}

.offers-list > div > p.price {
    margin-bottom: 0;
    padding: 0 30px;
    text-align: center
}

@media screen and (min-width: 64em) {
    .offers-list > div > p.price {
        position: absolute;
        right: 0;
        bottom: 50px;
        left: 0
    }
}

@media screen and (max-width: 63.9375em) {
    .offers-list > div > p.price {
        padding-bottom: 40px
    }
}

.offers-list > div > p.link-button {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateY(50%) translateX(-50%);
    transform: translateY(50%) translateX(-50%);
    width: 100%
}

#hero, .mod4 .hero-detail {
    position: relative;
    z-index: 1
}

@media screen and (min-width: 80.0625em) {
    #hero, .mod4 .hero-detail {
        margin-left: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #hero, .mod4 .hero-detail {
        margin-left: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #hero, .mod4 .hero-detail {
        margin-left: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    #hero, .mod4 .hero-detail {
        margin-left: 0
    }
}

@media screen and (min-width: 80.0625em) {
    #hero, .mod4 .hero-detail {
        margin-right: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #hero, .mod4 .hero-detail {
        margin-right: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #hero, .mod4 .hero-detail {
        margin-right: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    #hero, .mod4 .hero-detail {
        margin-right: 0
    }
}

@media screen and (min-width: 64em) {
    #hero, .mod4 .hero-detail {
        height: 51.4vw
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #hero, .mod4 .hero-detail {
        height: 69vw
    }
}

@media screen and (max-width: 47.9375em) {
    #hero, .mod4 .hero-detail {
        height: 70.42vw
    }
}

#hero .slideshow, .mod4 .hero-detail .slideshow {
    position: relative
}

    #hero .slideshow:after, .mod4 .hero-detail .slideshow:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 50;
        background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
        background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%)
    }

    #hero .slideshow .flex-direction-nav a, .mod4 .hero-detail .slideshow .flex-direction-nav a {
        position: absolute;
        top: 0;
        bottom: 0;
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        z-index: 99;
        height: auto;
        width: 50%;
        margin: 0;
        background-image: none;
        border-radius: 0;
        background-color: transparent
    }

        #hero .slideshow .flex-direction-nav a.flex-prev, .mod4 .hero-detail .slideshow .flex-direction-nav a.flex-prev {
            left: 0;
            cursor: url("https://schlosshotelzermatt.ch/images/icons/gallery-left.png"), auto
        }

        #hero .slideshow .flex-direction-nav a.flex-next, .mod4 .hero-detail .slideshow .flex-direction-nav a.flex-next {
            right: 0;
            cursor: url("https://schlosshotelzermatt.ch/images/icons/gallery-right.png"), auto
        }

    #hero .slideshow.no-gradient:after, .mod4 .hero-detail .slideshow.no-gradient:after {
        display: none
    }

@media screen and (min-width: 64em) {
    .mod3 > div .rooms-list > div, .mod5 > div .gallery-list > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 30.47484%
    }

        .mod3 > div .rooms-list > div:last-child, .mod5 > div .gallery-list > div:last-child {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(3n), .mod5 > div .gallery-list > div:nth-child(3n) {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(3n+1), .mod5 > div .gallery-list > div:nth-child(3n+1) {
            clear: left
        }

        .mod3 > div .rooms-list > div:nth-child(n+4), .mod5 > div .gallery-list > div:nth-child(n+4) {
            margin-top: 60px
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 > div .rooms-list > div, .mod5 > div .gallery-list > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 47.85613%
    }

        .mod3 > div .rooms-list > div:last-child, .mod5 > div .gallery-list > div:last-child {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(2n), .mod5 > div .gallery-list > div:nth-child(2n) {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(2n+1), .mod5 > div .gallery-list > div:nth-child(2n+1) {
            clear: left
        }

        .mod3 > div .rooms-list > div:nth-child(n+3), .mod5 > div .gallery-list > div:nth-child(n+3) {
            margin-top: 45px
        }
}

@media screen and (max-width: 47.9375em) {
    .mod3 > div .rooms-list > div, .mod5 > div .gallery-list > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .mod3 > div .rooms-list > div:last-child, .mod5 > div .gallery-list > div:last-child {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(1n), .mod5 > div .gallery-list > div:nth-child(1n) {
            margin-right: 0
        }

        .mod3 > div .rooms-list > div:nth-child(1n+1), .mod5 > div .gallery-list > div:nth-child(1n+1) {
            clear: left
        }

        .mod3 > div .rooms-list > div:nth-child(n+2), .mod5 > div .gallery-list > div:nth-child(n+2) {
            margin-top: 35px
        }
}

.mod4 .box1 > div > a, .mod6 .box1 > div > a {
    display: inline-block;
    text-decoration: none;
    color: inherit
}

.mod4 .content, .mod6 .content {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .mod4 .content::after, .mod6 .content::after {
        clear: both;
        content: "";
        display: table
    }

    .mod4 .content *, .mod6 .content * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .mod4 .content, .mod6 .content {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod4 .content, .mod6 .content {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod4 .content, .mod6 .content {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .mod4 .content, .mod6 .content {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.mod4 .content > div, .mod6 .content > div {
    float: left;
    display: block;
    margin-right: 4.28774%;
    width: 100%
}

    .mod4 .content > div:last-child, .mod6 .content > div:last-child {
        margin-right: 0
    }

@media screen and (min-width: 80.0625em) {
    .mod4 .content .content-1, .mod6 .content .content-1 {
        margin: 130px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod4 .content .content-1, .mod6 .content .content-1 {
        margin: 130px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod4 .content .content-1, .mod6 .content .content-1 {
        margin: 70px 0 110px 0
    }
}

@media screen and (max-width: 47.9375em) {
    .mod4 .content .content-1, .mod6 .content .content-1 {
        margin: 50px 0 70px 0
    }
}

@media screen and (min-width: 80.0625em) {
    .mod4 .content .content-1 > div:last-child, .mod6 .content .content-1 > div:last-child {
        margin-top: 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod4 .content .content-1 > div:last-child, .mod6 .content .content-1 > div:last-child {
        margin-top: 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod4 .content .content-1 > div:last-child, .mod6 .content .content-1 > div:last-child {
        margin-top: 70px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod4 .content .content-1 > div:last-child, .mod6 .content .content-1 > div:last-child {
        margin-top: 50px
    }
}

.mod4 .content .content-2, .mod6 .content .content-2 {
    border: 2px dotted #555;
    border-left: 0;
    border-right: 0;
    text-align: center
}

@media screen and (min-width: 80.0625em) {
    .mod4 .content .content-2, .mod6 .content .content-2 {
        padding: 70px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod4 .content .content-2, .mod6 .content .content-2 {
        padding: 70px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod4 .content .content-2, .mod6 .content .content-2 {
        padding: 50px 0
    }
}

@media screen and (max-width: 47.9375em) {
    .mod4 .content .content-2, .mod6 .content .content-2 {
        padding: 30px 0
    }
}

.mod4 .content .content-2 a, .mod6 .content .content-2 a {
    display: inline-block;
    text-decoration: none;
    color: inherit
}

ul#dummy-colours {
    text-align: center
}

    ul#dummy-colours li {
        display: inline-block;
        margin: 2rem
    }

        ul#dummy-colours li span {
            border: 1px solid black;
            display: block;
            height: 100px;
            width: 100px;
            margin-bottom: .5rem
        }

.in-viewport-animation {
    opacity: 0
}

    .in-viewport-animation.fadeInUp {
        -webkit-animation: fadeInUp 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
        animation: fadeInUp 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards
    }

#header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    -webkit-transition: padding-bottom, .35s;
    transition: padding-bottom, .35s;
    background-color: #f4f4f4
}

@media screen and (min-width: 80.0625em) {
    #header {
        padding: 0 0 40px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header {
        padding: 0 0 40px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header {
        padding: 0
    }
}

@media screen and (max-width: 47.9375em) {
    #header {
        padding: 0 30px 0 30px
    }
}

@media screen and (min-width: 80.0625em) {
    #header > div {
        margin-left: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header > div {
        margin-left: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header > div {
        margin-left: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    #header > div {
        margin-left: 0
    }
}

@media screen and (min-width: 80.0625em) {
    #header > div {
        margin-right: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header > div {
        margin-right: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header > div {
        margin-right: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    #header > div {
        margin-right: 0
    }
}

#header > div:first-child {
    text-align: center;
    position: relative;
    -webkit-transition: padding, .35s;
    transition: padding, .35s
}

@media screen and (min-width: 80.0625em) {
    #header > div:first-child {
        padding: 36px 0 28px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header > div:first-child {
        padding: 26px 0 18px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header > div:first-child {
        padding: 45px 0
    }
}

@media screen and (max-width: 47.9375em) {
    #header > div:first-child {
        padding: 25px 0
    }
}

#header > div:first-child > a.menu {
    display: none;
    position: absolute;
    top: 50%;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/menu.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 28px 15px;
    line-height: 15px;
    color: #555;
    text-decoration: none;
    padding: 0 0 0 38px;
    margin-top: -7.5px
}

@media screen and (max-width: 63.9375em) {
    #header > div:first-child > a.menu {
        display: block
    }
}

@media screen and (max-width: 47.9375em) {
    #header > div:first-child > a.menu {
        padding: 0;
        height: 15px;
        width: 28px;
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap
    }
}

#header > div:first-child > a.menu.close {
    background-image: url(https://schlosshotelzermatt.ch/images/icons/menu-close.svg)
}

#header > div:first-child > a.logo {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    background-image: url(https://schlosshotelzermatt.ch/images/icons/logo-full.svg)
}

@media screen and (min-width: 64em) {
    #header > div:first-child > a.logo {
        height: 120.93px;
        width: 160px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header > div:first-child > a.logo {
        height: 100px;
        width: 130px
    }
}

@media screen and (max-width: 47.9375em) {
    #header > div:first-child > a.logo {
        height: 70px;
        width: 100px
    }
}

#header > div:first-child > ul {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

    #header > div:first-child > ul li {
        display: inline-block
    }

    #header > div:first-child > ul.contact {
        position: absolute;
        top: 50%;
        z-index: 10
    }

@media screen and (max-width: 63.9375em) {
    #header > div:first-child > ul.contact {
        display: none
    }
}

#header > div:first-child > ul.contact a {
    color: #555;
    text-decoration: none;
    padding: 0
}

#header > div:first-child > ul.info {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 10
}

    #header > div:first-child > ul.info li:not(:first-child) {
        margin-left: 1em
    }

    #header > div:first-child > ul.info li a.vouchers {
        color: #555;
        text-decoration: none;
        padding: 0
    }

@media screen and (max-width: 63.9375em) {
    #header > div:first-child > ul.info li a.vouchers {
        vertical-align: middle;
        display: inline-block;
        height: 20px;
        width: 20px;
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url(https://schlosshotelzermatt.ch/images/icons/giftbox.svg)
    }
}

#header > div:first-child > ul.info li a.tel, #header > div:first-child > ul.info li a.email {
    vertical-align: middle;
    display: none;
    height: 20px;
    width: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width: 63.9375em) {
    #header > div:first-child > ul.info li a.tel, #header > div:first-child > ul.info li a.email {
        display: inline-block
    }
}

#header > div:first-child > ul.info li a.tel {
    background-image: url(https://schlosshotelzermatt.ch/images/icons/phone.svg)
}

#header > div:first-child > ul.info li a.email {
    background-image: url(https://schlosshotelzermatt.ch/images/icons/mail.svg)
}

@media screen and (max-width: 47.9375em) {
    #header > div:first-child > ul.info li:last-child {
        display: none
    }
}

#header > div:last-child {
    text-align: center
}

@media screen and (max-width: 63.9375em) {
    #header > div:last-child {
        display: none
    }
}

#header > div:last-child ul {
    display: inline-block
}

    #header > div:last-child ul li {
        display: inline-block;
        margin: 0 .5em
    }

        #header > div:last-child ul li:first-child {
            margin-left: 0
        }

        #header > div:last-child ul li:last-child {
            margin-right: 0
        }

        #header > div:last-child ul li a {
            color: #555;
            text-decoration: none
        }

        #header > div:last-child ul li.selected a:after {
            display: block
        }

#header > div:last-child select {
    display: inline-block;
    vertical-align: middle;
    border: 0;
    background-color: transparent;
    margin: 0;
    line-height: 1;
    width: auto !important;
    height: auto;
    padding: 0 15px 0 0
}

#header.is_stuck {
    -webkit-box-shadow: 1px 1px 10px rgba(204, 204, 204, 0.5);
    box-shadow: 1px 1px 10px rgba(204, 204, 204, 0.5)
}

@media screen and (min-width: 80.0625em) {
    #header.is_stuck {
        padding-bottom: 20px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header.is_stuck {
        padding-bottom: 20px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header.is_stuck {
        padding-bottom: 0
    }
}

@media screen and (max-width: 47.9375em) {
    #header.is_stuck {
        padding-bottom: 0
    }
}

@media screen and (min-width: 80.0625em) {
    #header.is_stuck > div:first-child {
        padding: 20px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #header.is_stuck > div:first-child {
        padding: 20px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header.is_stuck > div:first-child {
        padding: 27px 0
    }
}

@media screen and (max-width: 47.9375em) {
    #header.is_stuck > div:first-child {
        padding: 10px 0
    }
}

#header.is_stuck > div:first-child > a.logo {
    background-image: url(https://schlosshotelzermatt.ch/images/icons/logo-reduced.svg)
}

@media screen and (min-width: 64em) {
    #header.is_stuck > div:first-child > a.logo {
        height: 38.26px;
        width: 40px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #header.is_stuck > div:first-child > a.logo {
        height: 38.26px;
        width: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    #header.is_stuck > div:first-child > a.logo {
        height: 30px;
        width: 30px
    }
}

#header > div:first-child > ul.contact li:not(:last-child), #header > div:last-child ul {
    position: relative;
    padding-right: 1em;
    margin-right: 1em
}

    #header > div:first-child > ul.contact li:not(:last-child):after, #header > div:last-child ul:after {
        content: "";
        background-color: #555;
        height: .8em;
        width: 1px;
        position: absolute;
        top: 50%;
        right: 0;
        margin-top: -.4em
    }

#footer-smartphone {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #7E5475;
    z-index: 20;
    display: none
}

    #footer-smartphone > div {
        text-align: center
    }

        #footer-smartphone > div a {
            color: #555;
            text-decoration: none;
            color: white;
            padding: 1.5em 30px;
            display: block
        }

@media screen and (max-width: 47.9375em) {
    #footer-smartphone {
        display: block
    }
}

#menu-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: none;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    background-color: #f4f4f4
}

    #menu-panel > div {
        display: table;
        height: 100%;
        width: 100%
    }

        #menu-panel > div > div {
            text-align: center
        }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #menu-panel > div > div {
        display: table-cell;
        vertical-align: middle;
        padding-left: 12vw;
        padding-right: 12vw
    }
}

@media screen and (max-width: 47.9375em) {
    #menu-panel > div > div {
        padding-top: 180px;
        padding-bottom: 120px;
        padding-left: 30px;
        padding-right: 30px
    }
}

#menu-panel > div > div ul {
    margin-bottom: 2em;
    padding-bottom: 2em;
    position: relative
}

    #menu-panel > div > div ul:after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 50%;
        height: 1px;
        width: 80px;
        background-color: #555;
        margin-left: -40px
    }

    #menu-panel > div > div ul a {
        color: #555;
        text-decoration: none;
        line-height: 1.6
    }

#menu-panel > div > div select {
    border: 0;
    background-color: transparent;
    margin: 0;
    width: auto !important;
    height: auto;
    padding: 0 15px 0 0;
    display: inline-block
}

#hero .slideshow:after {
    display: none
}

#hero .slideshow .flex-caption > div > div {
    background-image: none
}

@media screen and (max-width: 63.9375em) {
    #hero .flex-direction-nav {
        display: none !important
    }
}

#hero #label-home {
    position: absolute;
    z-index: 100;
    background-color: white;
    padding: 10px;
    display: block;
    opacity: 1;
    color: inherit;
    text-decoration: none
}

    #hero #label-home > div {
        border: 2px dotted #555;
        display: table;
        height: 100%;
        width: 100%
    }

        #hero #label-home > div > div {
            display: table-cell;
            text-align: center;
            margin: 0 auto;
            overflow: hidden;
            vertical-align: middle;
            padding: 10%
        }

            #hero #label-home > div > div p {
                margin: 0
            }

                #hero #label-home > div > div p.ttl {
                    margin-bottom: .25em
                }

@media screen and (min-width: 64em) {
    #hero #label-home {
        height: 264px;
        width: 264px;
        border-radius: 264px;
        top: 90px
    }

        #hero #label-home > div {
            height: 244px;
            width: 244px;
            border-radius: 244px
        }

            #hero #label-home > div > div p.ttl {
                font-size: 1.44em
            }
}

@media screen and (min-width: 80.0625em) {
    #hero #label-home {
        left: -60px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #hero #label-home {
        left: -40px
    }
}

@media screen and (max-width: 63.9375em) {
    #hero #label-home {
        height: 186px;
        width: 186px;
        border-radius: 186px
    }

        #hero #label-home > div {
            height: 166px;
            width: 166px;
            border-radius: 166px
        }

            #hero #label-home > div > div p.ttl {
                font-size: 1.64em
            }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #hero #label-home {
        top: 75px;
        left: -30px
    }
}

@media screen and (max-width: 47.9375em) {
    #hero #label-home {
        bottom: -166px;
        left: 50%;
        margin-left: -93px
    }
}

@media screen and (max-width: 47.9375em) {
    #hero.label-home-exists + #boxes {
        padding-top: 166px
    }
}

.box1 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box1::after {
        clear: both;
        content: "";
        display: table
    }

    .box1 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box1 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box1 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box1 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box1 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.box1 > div {
    text-align: center
}

@media screen and (min-width: 64em) {
    .box1 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 65.23742%;
        margin-left: 17.38129%
    }

        .box1 > div:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box1 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box1 > div:last-child {
            margin-right: 0
        }
}

.box1 > div ul.submenu {
    margin-bottom: .5em
}

    .box1 > div ul.submenu li {
        display: inline-block;
        margin: 0 calc(1.5em - 8px) 0 0;
        padding: 0 1.5em 0 0;
        position: relative
    }

        .box1 > div ul.submenu li:not(:last-child):after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            z-index: 1;
            height: 1px;
            width: 8px;
            background-color: #555
        }

        .box1 > div ul.submenu li a {
            color: #555;
            text-decoration: none
        }

        .box1 > div ul.submenu li.selected a {
            color: #7E5475
        }

@media screen and (max-width: 47.9375em) {
    .box1 > div ul.submenu {
        display: none
    }
}

.box1 > div select.submenu {
    display: none;
    background-position: center right 1rem;
    margin-bottom: 30px
}

@media screen and (max-width: 47.9375em) {
    .box1 > div select.submenu {
        display: block
    }
}

.box2 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box2::after {
        clear: both;
        content: "";
        display: table
    }

    .box2 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box2 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box2 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box2 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box2 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 48em) {
    .box2 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box2 > div:last-child {
            margin-right: 0
        }
}

.box3 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box3::after {
        clear: both;
        content: "";
        display: table
    }

    .box3 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box3 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box3 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box3 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box3 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.box3 > div {
    position: relative;
    border: 2px dotted #555;
    text-align: center
}

@media screen and (min-width: 48em) {
    .box3 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box3 > div:last-child {
            margin-right: 0
        }
}

@media screen and (max-width: 47.9375em) {
    .box3 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 100%
    }

        .box3 > div:last-child {
            margin-right: 0
        }
}

.box3 > div > h6 {
    margin-bottom: 0;
    background-color: #f4f4f4;
    padding: 0 1.5em;
    position: absolute;
    top: 0;
    right: 0;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-width: 80%
}

.box3 > div > p.discount {
    position: absolute;
    background-color: #555;
    overflow: hidden;
    margin-bottom: 0
}

    .box3 > div > p.discount > span {
        color: white;
        display: block
    }

        .box3 > div > p.discount > span sup {
            font-size: .5em;
            vertical-align: middle
        }

@media screen and (min-width: 64em) {
    .box3 > div > p.discount {
        height: 180px;
        width: 180px;
        border-radius: 180px;
        top: -90px;
        left: -90px
    }

        .box3 > div > p.discount > span {
            line-height: 160px
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box3 > div > p.discount {
        height: 100px;
        width: 100px;
        border-radius: 100px;
        top: -50px;
        left: -50px
    }

        .box3 > div > p.discount > span {
            font-size: 2.07em;
            line-height: 90px
        }
}

@media screen and (max-width: 47.9375em) {
    .box3 > div > p.discount {
        height: 70px;
        width: 70px;
        border-radius: 70px;
        top: -35px;
        left: -20px
    }

        .box3 > div > p.discount > span {
            font-size: 2.07em;
            line-height: 60px
        }
}

@media screen and (min-width: 64em) {
    .box3 > div > div {
        padding: 70px 0
    }
}

@media screen and (max-width: 63.9375em) {
    .box3 > div > div {
        padding: 35px 0
    }
}

@media screen and (max-width: 47.9375em) {
    .box3 > div > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box3 > div > div:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box3 > div > div {
        float: left;
        display: block;
        margin-right: 5.18979%;
        width: 78.96204%;
        margin-left: 10.51898%
    }

        .box3 > div > div:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 64em) {
    .box3 > div > div {
        float: left;
        display: block;
        margin-right: 5.18979%;
        width: 68.44306%;
        margin-left: 15.77847%
    }

        .box3 > div > div:last-child {
            margin-right: 0
        }
}

.box4 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box4::after {
        clear: both;
        content: "";
        display: table
    }

    .box4 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box4 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box4 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box4 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box4 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.box4 > div {
    position: relative;
    position: relative;
    border: 2px dotted #555;
    text-align: center
}

@media screen and (min-width: 48em) {
    .box4 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box4 > div:last-child {
            margin-right: 0
        }
}

@media screen and (max-width: 47.9375em) {
    .box4 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 100%
    }

        .box4 > div:last-child {
            margin-right: 0
        }
}

.box4 > div > h6 {
    margin-bottom: 0;
    background-color: #f4f4f4;
    padding: 0 1.5em;
    position: absolute;
    top: 0;
    right: 0;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-width: 80%
}

@media screen and (min-width: 64em) {
    .box4 > div > div {
        padding: 90px 0
    }
}

@media screen and (max-width: 63.9375em) {
    .box4 > div > div {
        padding: 35px 0
    }
}

@media screen and (max-width: 47.9375em) {
    .box4 > div > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 65.23742%;
        margin-left: 17.38129%
    }

        .box4 > div > div:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 48em) {
    .box4 > div > div {
        float: left;
        display: block;
        margin-right: 5.18979%;
        width: 78.96204%;
        margin-left: 10.51898%
    }

        .box4 > div > div:last-child {
            margin-right: 0
        }
}

.box4 > div > div > div {
    text-align: center
}

    .box4 > div > div > div img {
        display: block;
        width: 35%;
        margin: 0 auto
    }

@media screen and (min-width: 48em) {
    .box4 > div > div > div {
        float: left;
        display: block;
        margin-right: 6.57251%;
        width: 46.71374%
    }

        .box4 > div > div > div:last-child {
            margin-right: 0
        }

        .box4 > div > div > div:nth-child(2n) {
            margin-right: 0
        }

        .box4 > div > div > div:nth-child(2n+1) {
            clear: left
        }

        .box4 > div > div > div:nth-child(n+3) {
            margin-top: 50px
        }

        .box4 > div > div > div img {
            margin-bottom: 50px
        }
}

@media screen and (max-width: 47.9375em) {
    .box4 > div > div > div:not(: first-child) {
        margin-top: 50px
    }

    .box4 > div > div > div img {
        margin-bottom: 25px
    }
}

.box4 > div > div > div.hide {
    display: none
}

.box4 > div > p.link-button {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateY(50%) translateX(-50%);
    transform: translateY(50%) translateX(-50%);
    width: 100%
}

.box5 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box5::after {
        clear: both;
        content: "";
        display: table
    }

    .box5 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box5 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box5 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box5 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box5 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 48em) {
    .box5 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 47.85613%
    }

        .box5 > div:last-child {
            margin-right: 0
        }
}

.box5 > div > div {
    text-align: center
}

    .box5 > div > div > img {
        width: 100%;
        display: block
    }

    .box5 > div > div h6 + h2 {
        margin-top: 0
    }

    .box5 > div > div p.label + h2, .box5 > div.offers-list > div > p.price + h2, .box5 > div > div .mod3 > div .rooms-list > div > div a img + p + h2, .mod3 > div .rooms-list > div > div a .box5 > div > div img + p + h2 {
        margin-top: 0
    }

@media screen and (min-width: 64em) {
    .box5 > div:first-child > div {
        padding-right: 8.95964%;
        padding-top: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .box5 > div:last-child {
        margin-top: 35px;
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box5 > div:last-child:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 48em) {
    .box5 > div:last-child > div {
        padding-left: 8.95964%
    }
}

@media screen and (min-width: 48em) {
    .box5.left {
        display: -webkit-box;
        display: -moz-box;
        display: box;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        box-orient: horizontal;
        -webkit-box-direction: reverse;
        box-direction: reverse;
        -moz-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-direction: row-reverse
    }

        .box5.left > div:last-child > div {
            padding-left: 0;
            padding-right: 8.95964%
        }

        .box5.left > div:first-child {
            margin-left: 4.28774%;
            margin-right: 0
        }

            .box5.left > div:first-child > div {
                padding-right: 0
            }
}

@media screen and (min-width: 48em) and (min-width: 64em) {
    .box5.left > div:first-child > div {
        padding-left: 8.95964%;
        padding-top: 50px
    }
}

.box6 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box6::after {
        clear: both;
        content: "";
        display: table
    }

    .box6 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box6 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box6 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box6 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box6 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 48em) {
    .box6 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 47.85613%
    }

        .box6 > div:last-child {
            margin-right: 0
        }
}

@media screen and (max-width: 47.9375em) {
    .box6 > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 100%
    }

        .box6 > div:last-child {
            margin-right: 0
        }
}

.box6 > div > div {
    text-align: center
}

    .box6 > div > div > img {
        width: 100%;
        display: block
    }

@media screen and (min-width: 48em) {
    .box6 > div:first-child > div {
        padding-right: 8.95964%
    }
}

@media screen and (min-width: 64em) {
    .box6 > div:first-child > div {
        padding-top: 90px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box6 > div:first-child > div {
        padding-top: 60px
    }
}

@media screen and (max-width: 47.9375em) {
    .box6 > div:first-child > div {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 82.61871%;
        margin-left: 8.69064%
    }

        .box6 > div:first-child > div:last-child {
            margin-right: 0
        }
}

@media screen and (max-width: 47.9375em) {
    .box6 > div:last-child {
        margin-top: 35px
    }
}

@media screen and (min-width: 64em) {
    .box6 > div:last-child > div {
        padding-left: 8.95964%
    }
}

@media screen and (min-width: 64em) {
    .box6 > div:last-child > div > img {
        margin-bottom: 90px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box6 > div:last-child > div > img {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .box6 > div:last-child > div > img {
        display: none
    }
}

@media screen and (min-width: 48em) {
    .box6.left {
        display: -webkit-box;
        display: -moz-box;
        display: box;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        box-orient: horizontal;
        -webkit-box-direction: reverse;
        box-direction: reverse;
        -moz-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-direction: row-reverse
    }

        .box6.left > div:last-child > div {
            display: -webkit-box;
            display: -moz-box;
            display: box;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            box-orient: vertical;
            -webkit-box-direction: reverse;
            box-direction: reverse;
            -moz-flex-direction: column-reverse;
            flex-direction: column-reverse;
            -ms-flex-direction: column-reverse;
            padding-left: 0
        }
}

@media screen and (min-width: 48em) and (min-width: 64em) {
    .box6.left > div:last-child > div {
        padding-right: 8.95964%
    }
}

@media screen and (min-width: 48em) {
    .box6.left > div:last-child > div > img {
        margin-bottom: 0
    }
}

@media screen and (min-width: 48em) and (min-width: 64em) {
    .box6.left > div:last-child > div > img {
        margin-top: 90px
    }
}

@media screen and (min-width: 48em) and (min-width: 48em) and (max-width: 63.9375em) {
    .box6.left > div:last-child > div > img {
        margin-top: 50px
    }
}

@media screen and (min-width: 48em) {
    .box6.left > div:first-child {
        margin-left: 4.28774%;
        margin-right: 0
    }

        .box6.left > div:first-child > div {
            padding-right: 0
        }
}

@media screen and (min-width: 48em) and (min-width: 48em) {
    .box6.left > div:first-child > div {
        padding-left: 8.95964%
    }
}

@media screen and (min-width: 48em) and (min-width: 64em) {
    .box6.left > div:first-child > div {
        padding-top: 90px
    }
}

@media screen and (min-width: 48em) and (min-width: 48em) and (max-width: 63.9375em) {
    .box6.left > div:first-child > div {
        padding-top: 60px
    }
}

.box7 {
    position: relative
}

@media screen and (min-width: 48em) {
    .box7 {
        height: 51.4vw
    }
}

@media screen and (max-width: 47.9375em) {
    .box7 {
        height: 100vw
    }
}

.box7 .slideshow {
    width: auto;
    position: relative;
    z-index: 5
}

@media screen and (min-width: 80.0625em) {
    .box7 .slideshow {
        margin-left: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box7 .slideshow {
        margin-left: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box7 .slideshow {
        margin-left: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    .box7 .slideshow {
        margin-left: 0
    }
}

@media screen and (min-width: 80.0625em) {
    .box7 .slideshow {
        margin-right: 80px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box7 .slideshow {
        margin-right: 60px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box7 .slideshow {
        margin-right: 40px
    }
}

@media screen and (max-width: 47.9375em) {
    .box7 .slideshow {
        margin-right: 0
    }
}

.box7 .slideshow .flex-caption h2.thread:after {
    background-color: white
}

.box7 .slideshow .flex-caption a {
    color: white
}

.box7 .slideshow.no-gradient:after {
    display: none
}

.box7 .circle {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10
}

    .box7 .circle > div {
        max-width: 1320px;
        margin-left: auto;
        margin-right: auto;
        -webkit-box-sizing: content-box;
        box-sizing: content-box
    }

        .box7 .circle > div::after {
            clear: both;
            content: "";
            display: table
        }

        .box7 .circle > div * {
            -webkit-box-sizing: border-box;
            box-sizing: border-box
        }

@media screen and (min-width: 80.0625em) {
    .box7 .circle > div {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box7 .circle > div {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box7 .circle > div {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box7 .circle > div {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.box7 .circle > div > div {
    float: left;
    display: block;
    margin-right: 4.28774%;
    width: 100%;
    position: relative
}

    .box7 .circle > div > div:last-child {
        margin-right: 0
    }

    .box7 .circle > div > div > div {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        background-color: #555;
        text-align: center
    }

        .box7 .circle > div > div > div span {
            color: white;
            display: inline-block
        }

@media screen and (min-width: 64em) {
    .box7 .circle > div > div > div {
        height: 180px;
        width: 180px;
        margin-top: -90px;
        border-radius: 180px
    }

        .box7 .circle > div > div > div span {
            line-height: 180px
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box7 .circle > div > div > div {
        height: 100px;
        width: 100px;
        margin-top: -50px;
        border-radius: 100px
    }

        .box7 .circle > div > div > div span {
            line-height: 100px
        }
}

@media screen and (max-width: 47.9375em) {
    .box7 .circle > div > div > div {
        height: 65px;
        width: 65px;
        margin-top: -32.5px;
        border-radius: 65px
    }

        .box7 .circle > div > div > div span {
            line-height: 65px;
            font-size: 1.14em
        }
}

.box8 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .box8::after {
        clear: both;
        content: "";
        display: table
    }

    .box8 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .box8 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .box8 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .box8 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .box8 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 48em) {
    .box8 > div:first-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 39.16549%
    }

        .box8 > div:first-child:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 64em) {
    .box8 > div:first-child > div {
        padding-right: 10.94774%
    }
}

.box8 > div:first-child > div .accordion {
    border-top: 1px solid #ccc
}

    .box8 > div:first-child > div .accordion > div {
        border-bottom: 1px solid #ccc;
        padding: 1em 0
    }

        .box8 > div:first-child > div .accordion > div > div:first-child {
            cursor: pointer;
            background-position: center right;
            background-repeat: no-repeat;
            background-size: 13px;
            background-image: url(https://schlosshotelzermatt.ch/images/icons/accordion-open.svg)
        }

            .box8 > div:first-child > div .accordion > div > div:first-child.close {
                background-image: url(https://schlosshotelzermatt.ch/images/icons/accordion-close.svg)
            }

        .box8 > div:first-child > div .accordion > div > div:last-child {
            padding-top: 1em
        }

@media screen and (max-width: 47.9375em) {
    .box8 > div:last-child {
        margin-top: 35px
    }
}

@media screen and (min-width: 48em) {
    .box8 > div:last-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 56.54678%
    }

        .box8 > div:last-child:last-child {
            margin-right: 0
        }
}

.box8 > div:last-child img {
    display: block;
    width: 100%
}

.box8 > div:last-child #map-1 {
    height: 50vw
}

@media screen and (min-width: 64em) {
    .box8 > div:last-child #map-1 {
        height: 39vw
    }
}

.mod1 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 100%
}

    .mod1::after {
        clear: both;
        content: "";
        display: table
    }

    .mod1 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .mod1 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod1 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod1 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .mod1 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 80.0625em) {
    .mod1 {
        margin: 90px 0 180px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod1 {
        margin: 90px 0 180px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod1 {
        margin: 70px 0 110px 0
    }
}

@media screen and (max-width: 47.9375em) {
    .mod1 {
        margin: 60px 0 70px 0
    }
}

.mod1 > div ul.filters {
    text-align: center
}

@media screen and (min-width: 80.0625em) {
    .mod1 > div ul.filters {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod1 > div ul.filters {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod1 > div ul.filters {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod1 > div ul.filters {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 48em) {
    .mod1 > div ul.filters li {
        display: inline-block;
        margin: 0 .5em
    }
}

@media screen and (max-width: 47.9375em) {
    .mod1 > div ul.filters li {
        display: block
    }

        .mod1 > div ul.filters li:not(:last-child) {
            margin-bottom: .5em
        }

        .mod1 > div ul.filters li a {
            display: block
        }
}

.mod1 > div ul.filters li:not(.selected) a {
    background-color: transparent;
    color: #555;
    border: 1px solid #ccc
}

.mod2 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .mod2::after {
        clear: both;
        content: "";
        display: table
    }

    .mod2 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .mod2 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod2 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod2 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .mod2 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

.mod2 > div > h2, .mod2 > div > h6 {
    text-align: center
}

.mod2 > div > h2 {
    margin-bottom: 0
}

@media screen and (min-width: 80.0625em) {
    .mod2 > div .offers-list {
        margin-top: 110px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod2 > div .offers-list {
        margin-top: 110px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod2 > div .offers-list {
        margin-top: 70px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod2 > div .offers-list {
        margin-top: 70px
    }
}

.mod3 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .mod3::after {
        clear: both;
        content: "";
        display: table
    }

    .mod3 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .mod3 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod3 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .mod3 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 80.0625em) {
    .mod3 {
        margin-top: 90px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod3 {
        margin-top: 90px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 {
        margin-top: 70px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod3 {
        margin-top: 60px
    }
}

@media screen and (min-width: 80.0625em) {
    .mod3 {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod3 {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 {
        margin-bottom: 110px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod3 {
        margin-bottom: 70px
    }
}

.mod3 > div select {
    margin: 0 auto;
    background-position: center right 1rem;
    width: auto !important
}

@media screen and (min-width: 80.0625em) {
    .mod3 > div select {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod3 > div select {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 > div select {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod3 > div select {
        margin-bottom: 40px
    }
}

.mod3 > div .rooms-list {
    float: left;
    display: block;
    margin-right: 4.28774%;
    width: 100%
}

    .mod3 > div .rooms-list:last-child {
        margin-right: 0
    }

    .mod3 > div .rooms-list > div > div {
        margin: -15px;
        text-align: center
    }

        .mod3 > div .rooms-list > div > div a {
            text-decoration: none;
            color: inherit;
            display: block;
            padding: 15px 15px 0 15px;
            -webkit-transition: background-color, 150ms;
            transition: background-color, 150ms;
            opacity: 1
        }

@media screen and (min-width: 80.0625em) {
    .mod3 > div .rooms-list > div > div a {
        padding-bottom: 45px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod3 > div .rooms-list > div > div a {
        padding-bottom: 45px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod3 > div .rooms-list > div > div a {
        padding-bottom: 15px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod3 > div .rooms-list > div > div a {
        padding-bottom: 15px
    }
}

.mod3 > div .rooms-list > div > div a img {
    display: block;
    width: 100%;
    margin-bottom: 2em
}

.mod3 > div .rooms-list > div > div a h3 {
    margin-top: 0
}

    .mod3 > div .rooms-list > div > div a h3 + p {
        text-decoration: underline;
        color: #7E5475
    }

.mod3 > div .rooms-list > div > div a:hover {
    background-color: white
}

@media screen and (min-width: 80.0625em) {
    .mod4 .box1 {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod4 .box1 {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod4 .box1 {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod4 .box1 {
        margin-bottom: 50px
    }
}

@media screen and (min-width: 48em) {
    .mod4 .content .content-1 > div:last-child ul {
        -webkit-column-count: 2;
        -o-column-count: 2;
        column-count: 2
    }
}

@media screen and (min-width: 64em) {
    .mod4 .content .content-1 > div:first-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 30.47484%
    }

        .mod4 .content .content-1 > div:first-child:last-child {
            margin-right: 0
        }

    .mod4 .content .content-1 > div:last-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 65.23742%;
        padding-left: 4.28774%
    }

        .mod4 .content .content-1 > div:last-child:last-child {
            margin-right: 0
        }
}

.mod5 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

    .mod5::after {
        clear: both;
        content: "";
        display: table
    }

    .mod5 * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    .mod5 {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod5 {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod5 {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    .mod5 {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

@media screen and (min-width: 80.0625em) {
    .mod5 {
        margin-top: 90px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod5 {
        margin-top: 90px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod5 {
        margin-top: 70px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod5 {
        margin-top: 60px
    }
}

@media screen and (min-width: 80.0625em) {
    .mod5 {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod5 {
        margin-bottom: 180px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod5 {
        margin-bottom: 110px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod5 {
        margin-bottom: 70px
    }
}

.mod5 > div select {
    margin: 0 auto;
    background-position: center right 1rem;
    width: auto !important
}

@media screen and (min-width: 80.0625em) {
    .mod5 > div select {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    .mod5 > div select {
        margin-bottom: 70px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod5 > div select {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 47.9375em) {
    .mod5 > div select {
        margin-bottom: 40px
    }
}

.mod5 > div .gallery-list {
    float: left;
    display: block;
    margin-right: 4.28774%;
    width: 100%
}

    .mod5 > div .gallery-list:last-child {
        margin-right: 0
    }

    .mod5 > div .gallery-list > div a {
        display: block;
        opacity: 1;
        position: relative
    }

        .mod5 > div .gallery-list > div a:after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 10;
            background-color: rgba(0, 0, 0, 0.3);
            opacity: 0;
            background-position: center;
            background-repeat: no-repeat;
            background-image: url(https://schlosshotelzermatt.ch/images/icons/gallery-open.svg);
            background-size: 21px auto;
            -webkit-transition: opacity 150ms;
            transition: opacity 150ms
        }

        .mod5 > div .gallery-list > div a img {
            display: block;
            width: 100%;
            position: relative;
            z-index: 5
        }

        .mod5 > div .gallery-list > div a:hover:after {
            opacity: 1
        }

.mod6 .content .content-1 > div:first-child img {
    display: block;
    width: 100%
}

@media screen and (min-width: 64em) {
    .mod6 .content .content-1 > div:first-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 39.16549%;
        padding-right: 4.28774%
    }

        .mod6 .content .content-1 > div:first-child:last-child {
            margin-right: 0
        }

    .mod6 .content .content-1 > div:last-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 56.54678%
    }

        .mod6 .content .content-1 > div:last-child:last-child {
            margin-right: 0
        }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .mod6 .content .content-1 > div:first-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 65.23742%;
        margin-left: 17.38129%
    }

        .mod6 .content .content-1 > div:first-child:last-child {
            margin-right: 0
        }

    .mod6 .content .content-1 > div:last-child {
        float: left;
        display: block;
        margin-right: 4.28774%;
        width: 100%
    }

        .mod6 .content .content-1 > div:last-child:last-child {
            margin-right: 0
        }
}

.mod6.no-padding .content {
    padding-left: 0 !important;
    padding-right: 0 !important
}

#footer-main {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin-bottom: 120px
}

    #footer-main::after {
        clear: both;
        content: "";
        display: table
    }

    #footer-main * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

@media screen and (min-width: 80.0625em) {
    #footer-main {
        padding-right: 14vw !important;
        padding-left: 14vw !important
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #footer-main {
        padding-right: 10vw !important;
        padding-left: 10vw !important
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #footer-main {
        padding-right: 12vw !important;
        padding-left: 12vw !important
    }
}

@media screen and (max-width: 47.9375em) {
    #footer-main {
        padding-right: 30px !important;
        padding-left: 30px !important
    }
}

#footer-main > div {
    text-align: center
}

    #footer-main > div a {
        color: #555;
        text-decoration: none
    }

    #footer-main > div p {
        margin: 0;
        padding: 0
    }

    #footer-main > div > a {
        display: inline-block
    }

@media screen and (min-width: 80.0625em) {
    #footer-main > div > a {
        margin-bottom: 50px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #footer-main > div > a {
        margin-bottom: 50px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #footer-main > div > a {
        margin-bottom: 30px
    }
}

@media screen and (max-width: 47.9375em) {
    #footer-main > div > a {
        margin-bottom: 20px
    }
}

#footer-main > div > a img {
    display: inline-block
}

@media screen and (min-width: 80.0625em) {
    #footer-main > div > a img {
        width: 160px
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #footer-main > div > a img {
        width: 160px
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #footer-main > div > a img {
        width: 120px
    }
}

@media screen and (max-width: 47.9375em) {
    #footer-main > div > a img {
        width: 102px
    }
}

#footer-main > div > ul li {
    display: inline-block;
    margin: 0 .5em
}

@media screen and (min-width: 80.0625em) {
    #footer-main > div > ul.navigation {
        margin: 40px 0
    }
}

@media screen and (min-width: 64em) and (max-width: 80em) {
    #footer-main > div > ul.navigation {
        margin: 40px 0
    }
}

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #footer-main > div > ul.navigation {
        margin: 40px 0
    }
}

@media screen and (max-width: 47.9375em) {
    #footer-main > div > ul.navigation {
        margin: 30px 0
    }
}

@media screen and (max-width: 47.9375em) {
    #footer-main > div > ul.navigation li {
        display: block;
        margin: 0
    }
}

#footer-main > div > ul.social li {
    vertical-align: middle
}

    #footer-main > div > ul.social li:nth-last-child(2) {
        margin: 0 0 0 1em
    }

    #footer-main > div > ul.social li a {
        display: inline-block
    }

        #footer-main > div > ul.social li a img {
            display: inline-block;
            width: 30px;
            max-height: 23px
        }

.gm-style {
    font-size: inherit
}

    .gm-style .gmnoprint {
        cursor: -webkit-grab !important;
        cursor: grab !important
    }

body {
    margin: 0
}

    body.overflow-hidden {
        overflow: hidden;
        position: relative;
        height: 100%
    }

.umbraco-forms-field .help-block {
    display: none !important
}
/*# sourceMappingURL=style.min.css.map */
/*Header*/
#header {
    position: relative !important;
}

.box:first-child {
    margin-top: 0;
}

#header > div:first-child > a.menu {
    background-image: url(https://assets.positioner.com/shz/online-booking/icons/back-website.png);
}
/*Simple Booking Width*/
@media screen and (min-width: 80.0625em) {
    .boxM {
        padding-right: 80px !important;
        padding-left: 80px !important;
    }
}

@media screen and (max-width: 80em) and (min-width: 64em) {
    .boxM {
        padding-right: 60px !important;
        padding-left: 60px !important;
    }
}

@media screen and (max-width: 63.9375em) and (min-width: 48em) {
    .boxM {
        padding-right: 40px !important;
        padding-left: 40px !important;
    }
}

@media screen and (max-width: 48em) {
    .boxM {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}


/*Benefits Bar*/
#benefits-bar {
    height: 70px;
    background-color: #785673;
    color: white;
}

    #benefits-bar table {
        height: 70px;
    }

@media screen and (min-width: 80.0625em) {
    #benefits-bar {
        padding-right: 80px !important;
        padding-left: 80px !important;
    }
}

@media screen and (max-width: 80em) and (min-width: 64em) {
    #benefits-bar {
        padding-right: 60px !important;
        padding-left: 60px !important;
        height: 50px;
    }

        #benefits-bar table {
            height: 50px;
        }
}

@media screen and (max-width: 63.9375em) and (min-width: 48em) {
    #benefits-bar {
        padding-right: 40px !important;
        padding-left: 40px !important;
    }

    small {
        font-size: 10px;
    }
}

@media screen and (max-width: 48em) {
    #benefits-bar {
        display: none;
    }
}

#benefits-bar td {
    border-bottom: 1px solid transparent;
    padding: .8em 0;
}

.direct-booking-h4 {
    font-size: 0.67em;
    font-family: "BrandonGrotesqueWeb-Medium";
    line-height: 1.2em;
    letter-spacing: .15em;
    text-transform: uppercase;
    position: relative;
}

.icon-benefits {
    position: absolute;
    margin-top: -1px
}

.text-benefits {
    margin-left: 30px;
}


/*Benefits Bar Mobile*/
#benefits-bar-mobile {
    display: none;
}

@media screen and (max-width: 48em) {
    #benefits-bar-mobile {
        display: block;
        padding-right: 20px !important;
        padding-left: 20px !important;
        padding-top: 0;
        padding-bottom: 5px;
    }
}

#benefits-bar-mobile {
    background-color: #785673;
    color: white;
}

    #benefits-bar-mobile table {
        height: 70px;
    }

    #benefits-bar-mobile td {
        border-bottom: 1px solid transparent;
        padding: .3em 0;
    }

@media screen and (max-width: 47.9375em) {
    #header > div:first-child {
        padding: 10px 0;
    }
}

/*override*/
.sb-container {
    margin: 0 auto;
}

.h2, h2 {
    font-size: 1.25rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.1;
    font-family: Roboto;
    margin-bottom: 0;
}

@media (min-width: 738px) {
    .h2, h2 {
        font-size: 1.5rem;
    }
}

.sb-results-hotel-selected__name {
    font-family: Roboto;
}

.sb-portal-hotel-card__reputation {
    display: none;
}
