@charset "UTF-8";


@font-face {
    font-family: 'josefin_sans';
    src: url('fontface/josefinsans-bold-webfont.woff2') format('woff2'),
         url('fontface/josefinsans-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'ibm_plex_sans';
    src: url('fontface/ibmplexsans-bold-webfont.woff2') format('woff2'),
         url('fontface/ibmplexsans-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'ibm_plex_sans';
    src: url('fontface/ibmplexsans-regular-webfont.woff2') format('woff2'),
         url('fontface/ibmplexsans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'ibm_plexsans_text';
    src: url('fontface/ibmplexsans-text-webfont.woff2') format('woff2'),
         url('fontface/ibmplexsans-text-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html, body { height: 100%; }

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    min-height: 100%;
    margin: 0;
    font-size: 62.5%;
    line-height: 150%;
    color: #000;
    background-color: #FFF;

    font-family: "ibm_plex_sans", Helvetica, Arial, sans-serif;

    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

::-moz-selection { background: #00517e; color: #fff; text-shadow: none; }
::selection { background: #00517e; color: #fff; text-shadow: none; }


article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}
audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template { display: none; }
a:hover, a:active { outline: 0; }
a { color: #FA725D; background-color: transparent; }
a:hover { text-decoration: underline; }
a:focus { outline: thin dotted; }


a:active, a:hover { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }


b, strong { font-weight: bold; }
dfn { font-style: italic; }

mark {
    background: #ff0;
    color: #000;
}

small { font-size: 80%; }

sub, sup {
    font-size: 60%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure, figcaption { margin: 0; }

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

pre { overflow: auto; }

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button { overflow: visible; }
button, select { text-transform: none; }

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input { line-height: normal; }

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

input:focus{
    outline-style:none;
    box-shadow:none;
    border-color:transparent;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea { overflow: auto; }
optgroup { font-weight: bold; }


input, input:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
    border: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td, th { padding: 0; }
font { font-size: 100%; }

ul, ol { margin: 0 0 10px 0; padding: 0 0 0 15px; }
dd { margin: 0 0 0 40px; }

nav ul, nav ol, aside ul, aside ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
/* .clearfix { *zoom: 1; } */


/* Text --- START --- */

.center { text-align: center; }

h1, h2, h3, h4 {
    font-weight: bold;
    font-family: "josefin_sans", Helvetica, Arial, sans-serif;
}

h1, h2, h3, h6 { color: #FA725D; }

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    text-transform: uppercase;
    line-height: 1.2em;
}

h1, h2 { letter-spacing: 6px; }
h3, h4, h5, h6, footer p { letter-spacing: 2px; }

h1, h2 {
    font-size: 4em;
    font-weight: bold;
    margin: 0 0 12px 0;
}

h3 {
    font-size: 2em;
    margin: 0 0 57px 0;
}

h4 {
    font-size: 1.5em;
}

h5 {
    font-size: 1.5em;
    line-height: 1.58;
}

#header h3 { margin: 0 0 20px 0;  }
#header h5 { margin: 0 0 130px 0;  }

h5, h6, #nav ul li, footer p { font-family: "ibm_plexsans_text", Helvetica, Arial, sans-serif; }

h6 {
    font-size: 1.6em;
    line-height: 1.5em;
    margin: 25px 0 12px 0;
    font-family: "ibm_plexsans_text", Helvetica, Arial, sans-serif;
}

h1.title, h2.title, h3.title, h4.title, h5.title, h6.title { margin-top: 0; }

p, .price, ul li, ol li, dl dt, .paragraph {
    line-height: 1.58em;
}

p {
    font-size: 1.7em;
    margin: 0 0 20px 0;
}

footer p {
    font-size: 1.3em;
    line-height: 1.5em;
    text-transform: uppercase;
}

.price {
    font-size: 1.6em;
}

ul li, ol li, dl dt {
    font-size: 1.6em;
    margin: 0 0 10px 0;
}

dl { margin: 30px 0; padding-bottom: 30px; border-bottom: 1px solid #CCC; }
dl dt { margin-bottom: 0; }
ul, ol { margin: 20px 0 35px 0; }
ul, ol {  padding-left: 35px; }

#nav ul li {
    font-size: 1.4em;
    line-height: 1.4em;
    letter-spacing: 2px;
    text-transform: uppercase;
}

#nav ul li a {
    color: #000;
    text-decoration: none;
}


.ingress { margin-bottom: 100px; }

.ingress p,  p.big, blockquote p, .ingress .paragraph {
    font-size: 2em;
}

h6.title { margin-top: 0; }

blockquote p {
    margin-bottom: 10px;
    font-style: italic;
}

blockquote {
    padding-left: 30px;
    margin: 70px 0;

    max-width: 565px;
    position: relative;
    z-index: 1;
}

blockquote:before {
    content: " ";

    width: 3px;
    background-color: #FA725D;
    position: absolute;
    left: 0px;
    top: -20px;
    bottom: -20px;
    z-index: 1;
}


td, th, figcaption, blockquote aside, .small p, .small .paragraph, .small.paragraph, .legend {
    font-size: 1.44em;
    line-height: 1.35em;
}

td, th { text-align: left; }

.small p, .small .paragraph, .small.paragraph { line-height: 1.5em; }

figcaption, blockquote aside, .legend {
    color: #9B9B9B;
    margin-bottom: 35px;
}

label {
    font-size: 1.6em;
    line-height: 1.25em;
    font-weight: bold;
    margin-bottom: 8px;
    display: block;
}

label, .wa-radio-title, .wa-checkbox-title {
    font-size: 1.5em;
    line-height: 1.25em;
}

input, textarea, .wa-custom-select .select-header, .file-name .label {
    font-size: 1.7em;
    line-height: 1.4em;
}

.wa-radio-title, .wa-checkbox-title {
    font-size: 1.5em;
}

.wa-custom-select .select-content ul li {
    font-size: 1.4em;
}

/* Text --- END --- */

/*

.icon { background-image: url(images/sprite.png); background-repeat: no-repeat; background-size: 120px 214px; display: block; }
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2/1) and (min-width: 320px),
only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) { 
    .icon { background-image: url(images/sprite2x.png); }
}
 */

svg path { vector-effect: non-scaling-stroke; }


table {
    width: 100%;
    margin: 50px 0;
}

td, th {
    padding: 0 14px; 
}

th {
    padding-bottom: 6px;
    border-bottom: 1px solid #DADADA;
}

td { padding-top: 10px; padding-bottom: 10px; }
tr:nth-child(odd) td { background: #F6F6F6; }


.button {
    font-size: 16px;
    line-height: 1.2em;
    color: #FA725D;
    
    margin-bottom: 10px;
    padding: 14px 30px;
    display: inline-block;
    border: 1px solid #FA725D;
}

.button, .button:hover { text-decoration: none; }
.button:focus { outline: none; }
.button:hover { background-color: #F4F4F4; }

.button.bg-2, .button.bg-3 { color: #FFF; }
.button.bg-2 { background-color: #FA725D; border-color: #FA725D; }
.button.bg-2:hover { background-color: #e66958; border-color: #e66958; }

.button.bg-3 { background-color: #000; border-color: #000; }
.button.bg-3:hover { background-color: #323232; border-color: #000; }



#loading { display: none; }

#header, #container {
    position: relative;
    z-index: 10;
}

.table { height: 100%; }

.table {
    width: 100%;
    height: 100%;
    display: table;
}
.cell {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.wrapper {
    max-width: 875px;
    margin: 0 auto;
}

#header {
    height: calc(100vh - 55px);
    min-height: 500px;
    position: relative;
    z-index: 100;
    background-color: #FFF; 
}

#nav {
    width: 100%;
    height: auto;
    left: 0;
    top: 24px;
    position: absolute;
    z-index: 210;
}

#nav ul, #nav li {
    list-style: none;
    margin: 0;
    padding: 0;
}

#nav ul { text-align: center; }
#nav ul li, #nav ul li a { display: inline; }
#nav ul li.active a, #nav ul li a:hover { text-decoration: underline; }
#nav ul li.lang:before { content: "/"; padding: 0 6px; }
#nav ul li.menuitem:before { content: "|"; padding: 0 12px; }


#nav ul li.lang:first-child:before { display: none; }

#notis, #notis .flow {
    position: absolute;
    z-index: 100;
}

#notis {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #FFF;
    opacity: 1;
    visibility: visible;

    -webkit-transition: all 200ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
    transition: all 200ms cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */
}

#notis .flow {
    left: 70px;
    right: 70px;
    top: 70px;
    bottom: 70px;
    padding: 20px;
    background-color: #EDE7A0;
}

#notis .table { max-width: 460px; margin: 0 auto; }

#notis.hide {
    opacity: 0;
    visibility: hidden;
}

.notis-btn {
    width: 32px;
    height: 32px;
    margin: 25px auto;
    display: block;
}

.notis-btn:focus { outline: none; }

.notis-btn svg {
    width: 100%;
    height: auto;
}

.notis-btn svg path {
    stroke-width: 3px;
    stroke: #000;
}

/* IE11 SVG Scale Bug FIX */
.logo-scale {
	width: 100%;
    max-width: 874px;
    height: auto;
    margin: auto;
    padding-bottom: 13%;
    position: relative;
    z-index: 10;
}

.logo-scale .logo {
	width: 100%;
    height: 100%;

    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 1;
}

#header h6 { margin: 55px 0 0 0; }

#header .arrow {
    margin: 0 auto; 
    bottom: 21px;
    left: 0;
    right: 0;
    position: absolute;
    z-index: 200;
}

#container {
    padding: 128px 80px;
}




#header, #main, #footer {
    padding: 14% 16.4% 6%;
}
#header { padding-top: 0; padding-bottom: 0; }

#main {
    background: #FFF;
    position: relative;
    z-index: 1;
}

.bg-part-1 { top: 0; background: url(images/bg-red-01-2x.png) repeat 0% 100%; }
.bg-part-2 { top: 50%; background: url(images/bg-red-02-2x.png) repeat 0 0; }



.bg-part-1, .bg-part-2 {
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0px;
    z-index: -1;
    background-size: 55px 21px;
}



.overflow { overflow: hidden; }


.section {
    margin: 0 0 84px 0;
}

.specials {
    padding-bottom: 49px;
    border-bottom: 1px solid #000;
}

.day { margin-bottom: 35px; }

.day p { margin: 0; }

.day .price {
    margin-left: 35px;
    float: right;
}
.day .price:before {
    content: "•";
}

.day .overflow {
    max-width: 380px;
}

#footer {
    padding: 46px 0 46px 0;
}

footer svg, footer a.block { display: block; }
a.block:focus { outline: none; }

footer h3 {
    margin: 0 0 13px 0;
}

.wa-cookie-btn { display: inline-block; }
footer a { color: #000; text-decoration: none; display: inline-block; }
footer a:hover { text-decoration: underline; }

.instagram {
    margin: 0 auto 8px auto;
}

.modal.opener, .bar-notify {
    -webkit-transition: all 160ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
    transition: all 160ms cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */
}



.modal { background: rgba(0,0,0,0.8); }
.modal.image { background-color: #FFF; }
.bar-notify {
    padding: 20px;
    background-color: #FA725D;
}

.modal.opener, body.modal-active-opener {
    overflow: hidden;
}

.modal-active-opener .modal.opener { overflow: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.modal-active-opener .modal.opener.image { overflow: hidden; }

.mod-holder {
    max-width: 480px;
    margin: 0 auto;
    padding: 40px 30px;
    background-color: #FFF;
    position: relative;
    z-index: 10;

    font-size: 20px;
    line-height: 1.4em;
    text-align: center;
}

.modal.container .mod-holder { position: static; }
.modal.container .close { display: none; }
.modal.container .close.block, .modal.container.image .close { display: block; }

.no-bg .mod-holder { background: none; }

.modal.opener .mod-holder { max-width: 680px; text-align: left; padding: 0; }
.modal.opener.v1 .mod-holder { max-width: 580px; }
.modal.opener.v2 .mod-holder { max-width: 1160px; }
.modal.opener.v2 #mod-opener .article { padding: 0; border: none; }

.modal.opener.v3 .mod-holder { height: 100%; padding: 0; }
.modal.opener.v3 .mod-holder { max-width: inherit; }

.modal a.close {
    cursor: pointer;
    padding: 15px;
}

.modal a.close, .modal a.close svg { display: block; }
.modal a.close:hover path { stroke: #C5021B; }
.bar-notify a.close path { stroke: #FFF; }
.bar-notify a.close:hover path { stroke: #F1F1F1; }

.modal.opener.animate, .bar-notify.animate { opacity: 0; }
.modal-buttons .button { margin: 0 5px; }

.bar-notify, .bar-notify a { color: #FFF; }
.bar-notify a { text-decoration: underline; }
.bar-notify p { margin: 0; }

.modal.opener.image .table, .modal.opener.image .cell { display: block; padding: 0; }
.modal.opener.image .mod-holder {
    width: 100%;
    height: 100%;
    max-width: inherit;
}
.no-nav .wa-image-opener-nav, .no-prev .wa-image-opener-nav.prev, .no-next .wa-image-opener-nav.next { display: none; }
.wa-image-opener-nav.prev { left: 10px; }
.wa-image-opener-nav.next { right: 10px; }
.modal.opener.image svg.close {
    width: 30px;
    height: 30px;
}

.holder-3 { margin-bottom: 30px; }
.abs {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 20;
}

.modal {
    position: fixed;
    z-index: 500;
}

.modal h3 {
    margin: 0 0 10px 0;
}

.modal p, .modal h5 {
    font-size: 16px;
}

.modal.opener .mod-holder { padding: 30px 16px; }

@media all and (max-width: 768px) {
    
    .bg-part-1 { background-image: url(images/bg-black-01-2x.png); }
    .bg-part-2 { background-image: url(images/bg-black-02-2x.png); }



    .bg-part-1, .bg-part-2 {
        background-size: 27px 10px;
    }

    h1, h2 {
        font-size: 2.75em;
    }

    h3 {
        font-size: 1.75em;
    }

    h5, h6, #nav ul li {
        font-size: 1.5em;
    }

    p {
        font-size: 1.75em;
    }
    #nav ul li.menuitem { display: none; }

    .price { font-size: 1.75em; }

    footer p { font-size: 1.5em; }

    
    #container {
        padding: 60px 47px;
    }
    

    #header { padding: 0 14%; }
    #main, #footer {
        padding: 60px 52px;
    }

    #header h6 { margin-top: 30px; }


    .ingress, .section {
        margin-bottom: 60px;
    }

    h3, .day { margin-bottom: 30px; }
    .specials { padding-bottom: 30px; }

    #notis .flow {
        top: 98px;
        bottom: 47px;
        left: 47px;
        right: 47px;
    }

    .notis-btn svg path { stroke-width: 2px; }

    #header { min-height: 340px; }
    #nav { top: 58px; }
}


@media all and (max-width: 480px) {
    
    h1, h2 { font-size: 2.5em; }
    h3 { font-size: 1.6em; }
    h4 { font-size: 1.4em; }
    h5, h6, #nav ul li { font-size: 1.2em; }
    h6 { margin-top: 10px; }
    p, .price {
        font-size: 1.5em;
    }

    #header h3 { margin-bottom: 16px; }

    footer p { font-size: 1.2em; }

    
    #container {
        padding: 60px 20px;
    }

    #header { padding: 0 40px; }

    #main, #footer { padding: 60px 20px; }
    #footer { padding-top: 36px; padding-bottom: 36px; }

    #nav { top: 29px; }
    
    #notis .flow {
        top: 80px;
        bottom: 20px;
        left: 20px;
        right: 20px;
    }

    .ingress-section h6 {
        font-size: 1.5em;
        text-transform: none;
        letter-spacing: 0;
        font-weight: normal;
    }
    
}



#container.display .ingress { margin-bottom: 40px; }
#container.display .section { margin: 0; }

#container.display {
    min-height: 100%;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#container.display #main {
    padding: 50px 80px;
}

#container.display #header {
    height: auto;
    min-height: auto;
    background: #FFF;
    padding: 50px 50px 0 50px;
    margin-bottom: 0;
}

#container.display .logo-scale {
    max-width: 420px;
    padding-bottom: 4%;
}

#container.display h2 {
    font-size: 2.5em;
    letter-spacing: 2px;
    color: #000;
}

#container.display #header h6 { margin: 25px 0 0 0; }

#container.display .wrapper {
    max-width: 1900px;
}

#container.display .box {
    width: 50%;
    float: left;
}

#container.display .box-container { margin: 0 -40px; }
#container.display .box .margin { margin: 0 40px; }


#container.display .lang-switch { display: none; }
#container.display .lang-switch.active { display: block; }

