@media
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5){
    html,
    body{
        width:100vw;
        overflow-x:hidden;
        color:#333;
        background: #f9f9f9;
    }
}
body{
    position: relative;
}
body.openNav{
    /* height: 100vh; */
    overflow: hidden;
}
*{
    margin: 0;
    padding: 0;
}
img.logo{
    width: 120px;
}
body.openNav nav#menu{
    width: calc(100vw - 150px);
    padding: 10px;

}
nav#menu {
    width: 0;
    position: fixed;
    top: 0;
    right:0;
    height: calc(100vh + 44px);
    background: #333;
    color: #fff;
    z-index: 10;
    max-width: 250px;
    transition: width 0.3s ease-out;
}
nav#scroll {
    position: fixed;
    bottom: 70px;
    right: 20px;
    padding: 10px;
    background: rgba(0,0,0,0.6);
    color:#fff;
    border-radius: 50%;
}
main > header {
    padding: 10px;
    position: fixed;
    width: calc(100vw - 20px);
    background: #eee;
}
main > header i {
    position: absolute;
    right: 20px;
    top: 20px;
    cursor: pointer;
}
section.slider{
    width: 100vw;
    padding: 160px 10px 15px 0px;
    overflow: hidden;
    background: #eee;
}
.slider .inner{
    width: calc(100vw * 6);
    overflow: hidden;
    animation: slide 16s infinite;
}
.slider img{
    width: 90vw;
    margin: auto;
    padding: 0 5vw;
}
@keyframes slide{
    0%{margin-left: 0px;}
    17%{margin-left: 0px;}
    20%{margin-left: calc(-100vw);}
    37%{margin-left: calc(-100vw);}
    40%{margin-left: calc(-100vw * 2);}
    57%{margin-left: calc(-100vw * 2);}
    60%{margin-left: calc(-100vw * 3 - 10px);}
    77%{margin-left: calc(-100vw * 3 - 10px);}
    80%{margin-left: calc(-100vw * 4 - 20px);}
    97%{margin-left: calc(-100vw * 4 - 20px);}
    100%{margin-left: 0px;}
}
section.about {
    background: #e6e6e6;
}
section.card {
    padding: 10px;
}
section.card h2 {
    padding: 10px 0;
    font-family: "Roboto Slab",sans-serif;
}
section.card p {
    text-indent: 1em;
    margin: 15px 5px;
    font-family: "Roboto",sans-serif;
}
section.info p {text-indent: 0;padding-left: 1em;margin: 0 5px 15px;}

section.time {
    background: #eee;
}
.reservation ul {
    margin-left: 3em;
}

section.time .text {
    display: block;
    text-indent: 1em;
    margin-top: 5px;
    font-weight: bold;
}
.inner h5 {
    font-family: "Roboto Condensed",sans-serif;
}
footer {
    background: #eee;
    padding: 20px 0;
    text-align: center;
    font-family: "Roboto Condensed",sans-serif;
    border-top: 1px solid #ddd;
    margin-top: 50px;
}

button {
    margin: 25px 15px 15px;
    padding: 10px 20px;
    border-radius: 3px;
    border: 1px solid #ccc;
    font-family: "Roboto Slab",sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    width: calc(100% - 30px);
}
nav#menu h2 {
    padding: 15px;
    font-family: "Roboto Slab",sans-serif;
}
#menu h5 {
    padding: 10px 15px 5px 20px;
    border-bottom: 1px solid #3c3c3c;
    font-family: 'Oswald', sans-serif;
    font-size: 1.25em;
    text-transform: uppercase;
    color: #ccc;
    width: 170px;
}
section.reservation .content{
    display: none;
}
section.reservation.form .inner{
    display: none;
}
section.reservation.form .content{
    display: block;
}
section.reservation .content label {
    display: block;
    text-align: left;
    text-indent: 1em;
    margin: 5px 0;
    font-family: "Roboto Condensed",sans-serif;
}
section.reservation .content > div {
    text-align: center;
}
section.reservation .content input {
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 5px;
}
section.time .inner {
    padding: 0 10px;
}
section.card.info .inner {
    font-family: "Roboto Condensed",sans-serif;
}
/*
    calendar style
*/
div#calendarWrap {
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    margin: 1px 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
    font-family: "Roboto Condensed",sans-serif;
}
.calendar header,.timeWrap header {
    font-family: "Roboto Slab",sans-serif;
    font-weight: bold;
    padding: 10px 0;
    position: relative;
}
.calendar .date {
    display: flex;
    flex-wrap: wrap;
}
.calendar .date > div {
    width: calc(100% / 7);
    padding: 12px 0;
}
.calendar .title {
    display: flex;
}
.calendar .title > span {
    width: calc(100% / 7);
    background: #eee;
    padding: 2px 0;
    color: #3c3c3c;
}
.calendar .date {
    color: lightgray;
    padding-bottom: 5px;
}
.calendar .date .current {
    color: #333;
}
.calendar .current.today {
    background: cadetblue;
    border-radius: 6px;
    color: #E1F5FE;
}
.calendar i{
    position: absolute;
    top: 5px;
    color:#BDBDBD;
}
.calendar .prev {
    left: 25px;
}
.calendar .next {
    right: 25px;
}
.hours,.minutes {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    border-top: 1px solid #eee;
}
.hours > div {
    width: calc(100% / 4);
    padding: 15px 0;
}
.minutes > div {
    width: calc(100% / 2);
    padding: 10px 0;
}
section.reservation ul {
    font-family: "Roboto Condensed",sans-serif;
}
i.close {
    position: fixed;
    top: 453px;
    right: 32px;
    opacity:0;
    z-index: -1;
}
.openNav i.close {
    animation-delay:0.3s;
    opacity:1;
    z-index: 10;
    transition:opacity 0.3s;
}