html {color: #fff; font-size: 1em; line-height: 1.4; background-color: #292c31;}

::-moz-selection {background: #b3d4fc; text-shadow: none;}

::selection {background: #b3d4fc; text-shadow: none;}

canvas,
iframe,
img,
svg,
video {vertical-align: middle;}

fieldset {border: 0; margin: 0; padding: 0;}

textarea {resize: vertical;}

@font-face {
  font-family: "GintoNord-Medium";
  src: url("../font/GintoNord-Medium.woff") format("woff");
  src: url("../font/GintoNord-Medium.otf") format("opentype");
}

@font-face {
  font-family: "GintoNord-Black";
  src: url("../font/ABCGintoNord-BlackItalic.woff") format("woff");
  src: url("../font/GintoNord-BlackItalic.otf") format("opentype");
}

.font-ginto-bold {
  font-family: "GintoNord-Black";
}

.font-ginto {
    font-family: "GintoNord-Medium";
    font-weight: 600;
}

.font-ibm {
    font-family: "IBM Plex Mono", serif;
    font-weight: 400;
    font-style: normal;
  }
  

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 991px) {
    html:not(.index) {font-size: 10px;}
    .our-map img, .phone-email-box {margin-top: 2rem;}
    .phone-email-box > span:first-child {display: block; margin-bottom: .5rem;}
}


a {text-decoration: none; color: inherit!important;}
a:hover {color:#949598!important;}

body {margin: 0; overflow-x:hidden; width:100%; font-family: "GintoNord-Medium", sans-serif;}
header {height: 10vw;position: relative;margin-top:3vw; margin-bottom: 6vw; padding: 0 3%;}
main, footer {padding: 0 3%;font-size:1.5rem; line-height: 1.2; display: flex; flex-direction: column;}
main > div {margin-bottom: 3vw;}

p.site-title {font-size: 3rem;}
p.copy {font-size: 0.8rem;}


table {width: 100%; border-collapse: collapse; margin-bottom: 1rem;}

table caption {font-size: 2rem; line-height: 4rem;}

table th, table td {font-family: "IBM Plex Mono", serif; font-weight: 400; font-style: normal; font-size: 1.3rem; 
  line-height: 3.5rem; text-align: left; border-top: 1px solid #fff;}

table td {text-align: right;}

table tr:last-child th, table tr:last-child td {border-bottom: 1px solid #fff;}



img.wrr-404 {  height: 1rem;}

@media (min-width: 992px) {
    html {font-size: 16px;}
    header {margin-bottom: 3vw;}
    main {font-size:1.5rem; line-height: 1.2;}
    main.main {flex-direction: row;font-size:3.3vw;}

    .address-box {flex: 55; display: flex; flex-direction: column;}
    .phone-email-box {flex: 45; display: flex; flex-direction: column;}
    .open-hours {margin-top:6rem;}
    .our-map img {width:63%; margin-top: 3rem;}
    p.copy {font-size: 1.2vw; margin-top: auto; margin-bottom: 0;}
}




.hidden,
[hidden] {
  display: none !important;
}

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}