/* Focus and labels for the existing template. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ffd166 !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #161616;
}
button.mobile-menu { border: 0; padding: 0; background: transparent; color: inherit; }
.slider-pause { position: absolute; z-index: 10; bottom: 20px; left: 20px; min-height: 44px; padding: 8px 12px; background: #1c1c1c; color: #fff; border: 1px solid #bfbfbf; font: 14px/1.4 Arial, sans-serif; }
.footer .address .clearfix a, .footer .address span, .footer .share-button a { color: #bfbfbf; }
.footer .address a:hover, .footer .share-button a:hover { color: #f2b84b; }
input[type="email"], input[type="tel"] { border: 0; background: #fff; height: 50px; width: 100%; font: 14px "Merriweather"; color: #333; margin-bottom: 30px; padding: 0 20px; }
#contacts.contacts { height: auto; min-height: 850px; padding-bottom: 80px; }
.contacts input[type="submit"] { background: #1c1c1c; color: #fff; cursor: pointer; }
.field-label { display: block; color: #fff; font-size: 14px; margin-bottom: 6px; }
.reservation-block img, .restaurant-block img { height: auto; }
@media (max-width: 600px) {
  button.mobile-menu { min-width: 44px; min-height: 44px; top: 8px; right: 12px; line-height: 44px; }
  #mainNavi { transition-property: opacity; }
  #mainNavi a { transition-property: color, background-color, border-color; }
  #mainNavi:not(.animate) { visibility: hidden; }
  #mainNavi.animate { visibility: visible; }
}
@media (max-width: 360px) {
  .opening-hours { width: 50%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
