@font-face{font-family:Vollkorn;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/vollkorn-400.woff2) format('woff2')}
@font-face{font-family:Vollkorn;font-style:italic;font-weight:900;font-display:swap;src:url(fonts/vollkorn-900italic.woff2) format('woff2')}

body{margin:0;font-family:Vollkorn,serif;color:#333}
#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.container{display:table;width:720px;margin:0 auto}
.container a{color:#333}

.menu{display:table-cell;vertical-align:top;width:220px}
.menu .menu-fixer{position:fixed;width:220px;padding-top:20px}
.menu .menu-fixer #logo{width:180px;display:block;cursor:pointer}
.menu .menu-fixer .info{width:180px;text-align:center;margin-top:15px}
.menu .menu-fixer ul{width:180px;text-align:center;display:inline-block;list-style-type:none;padding:0}
.menu .menu-fixer ul li{cursor:pointer;font-weight:700}

.mobile-menu{position:fixed;width:100%;height:50px;background-color:#fff;top:0;left:0;display:none;z-index:2000}
.mobile-menu #mobile-logo{position:absolute;width:38px;top:6px;left:12px}
.mobile-menu .mobile-menu-open-close{position:absolute;width:24px;top:13px;right:12px;cursor:pointer}

#mobile-menu-items{box-sizing:border-box;position:fixed;width:100%;top:50px;left:0;background-color:hsla(0,0%,100%,.933);display:none;box-shadow:0 8px 6px -6px #333;z-index:2000}
#mobile-menu-items.open{display:block}
#mobile-menu-items ul{list-style-type:none;text-align:center;padding:0}
#mobile-menu-items ul li{font-weight:700;line-height:30px;cursor:pointer}
#mobile-menu-items .info{text-align:center;margin-top:35px;margin-bottom:25px}

.content{display:table-cell;vertical-align:top;padding-top:20px}
.content a{word-wrap:break-word;word-break:break-all}
.content h2{margin-top:42px}
.content table.opening-hours{width:80%;margin:0 auto}
.content table.opening-hours td.time{text-align:right}
.content .banner{width:100%;height:180px;background-size:cover}
.content .banner.top{background-image:url(img/banner.jpg)}
.content .banner h1{text-align:center}
.content .map-fallback{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;padding:16px}
.content .map-fallback p{margin:0;line-height:1.6}
.content #map-wrapper iframe{width:100%;height:450px;border:0;border-radius:4px}

.btn{display:inline-block;background:#333;color:#fff;border:0;border-radius:4px;padding:10px 18px;font-family:Vollkorn,serif;font-weight:700;font-size:1em;cursor:pointer}
.btn:hover{background:#000}
.btn-secondary{background:#fff;color:#333;border:1px solid #333}
.btn-secondary:hover{background:#f2f2f2}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:3000;background:#fff;border-top:1px solid #ddd;box-shadow:0 -4px 16px rgba(0,0,0,.15);padding:16px 20px;box-sizing:border-box}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0 0 14px;font-size:.92em;line-height:1.5;max-width:760px}
.cookie-banner p a{color:#333}
.cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap}

@media only screen and (max-width:640px){
  .container{width:100%;margin:0;padding-left:12px;padding-right:12px;box-sizing:border-box}
  .menu{display:none}
  .mobile-menu{display:block}
}

@media only screen and (min-width:700px){
  .cookie-banner{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .cookie-banner p{margin:0}
}
