:root {
  --desktop-width: 1600px;
  --layout-width: 1460px;
  --container-padding-sides: 1rem;
  --nav-width: calc(var(--layout-width) - 10rem);
  --nav-height: 60px;
  --nav-height-enlarge: 140px;
  --page-header-height: 80px;
  --mobile-menu-height: 60px;
  --menu-font-size: 1rem;
  --submenu-retract-height: 46px;
  --side-nav-width: 300px;
  --text-width: 800px;
  --form-width: 400px;
  --footer-col-width: 240px;
  --margin: 40px;
  --space-xs: 10px;
  --space-s: 20px;
  --space-m: 40px;
  --space-l: 80px;
  --space-xl: 100px;
  --shrink-brand: 82px;
  --shrink-logo: 130px;
  --size: 1rem;
  --size-1: 1rem;
  --size-2: 2rem;
  --size-3: 3rem;
  --size-4: 4rem;
  --size-5: 5rem;
  --size-half: calc(var(--size) / 2);
  --size-double: calc(var(--size) * 2);

  --font-title: 'Impact', sans-serif;
  --font-body: 'Open Sans', sans-serif;

  --theme-color: #222;
  --theme-color-rgb: rgb(68, 25, 19);
  --nav-color: #EEE;
  --nav-bg-color: #111;
  --body-bg-color: #EEE;

  --black: #222222;
  --black-rgb: rgb(34, 34, 34);

  --white: #FFF;
  --white-rgb: rgb(255, 255, 255);

  --gray: #D9D9D9;
  --gray-rgb: rgb(217, 217, 217);
  --light-gray: #EEE;
  --dark-gray: #777;

  --red: #900;

  --shadow: rgba(0, 0, 0, .5);
  --box-shadow: 0 0 10px rgba(0, 0, 0, .75);

  --border-r-s: .5rem;
  --border-r-m: 1rem;
  --border-r-l: 2rem;

  --primary: var(--orange);
  --secondary: var(--orange);

  --f-100: 0 0 100%;
  --row-2: 0 0 calc((100% / 2 - var(--size)) + (var(--size) / 2));
  --row-3: 0 0 calc((100% / 3 - var(--size)) + (var(--size) / 3));
  --row-4: 0 0 calc((100% / 4 - var(--size)) + (var(--size) / 4));
  --row-2-gap-1: 0 0 calc((100% / 2 - var(--size-1)) + (var(--size-1) / 2));
  --row-4-gap-1: 0 0 calc((100% / 4 - var(--size-1)) + (var(--size-1) / 4));

  --card-width: 40%;
}



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 100;
  color: var(--black);
  background-color: var(--body-bg-color);
}

body.Srink {
  padding-top: var(--nav-height);
}

h1, h1, h3 {
  font-family: var(--font-title);
  color: var(--black);
}

h1 {
  margin-bottom: 2rem;
  font-size: 2rem;
}

h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

h3 {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

h4 {
  margin-bottom: 1rem;
  font-size: 1.3rem;
}

img {
  max-width: 100%;
}

ul {
  list-style: none;
}

a {
  font-size: inherit;
  text-decoration: none;
  transition: all .2s ease-in-out;
}

main a {
  color: var(--theme-color);
}

p {
  max-width: var(--text-width);
}

p:not(:last-child) {
  margin-bottom: 1rem;
}

p a {
  color: var(--theme-color);
}

hr {
  height: 4px;
  background-color: var(--primary);
  border: 0;
  border-radius: 2px;
}

figure {
  text-align: center;
}

img {
  vertical-align: middle;
}

span, i, svg, path {
  color: inherit;
  font-size: inherit;
}

table {
  table-layout: fixed;
}

time {
  color: var(--dark-gray);
  font-size: .9rem;
  line-height: 2.5rem;
  font-style: italic;
}

address {
  font-style: normal;
}

input,
textarea {
  padding: 0 8px;
  max-width: 100%;
  font-size: 16px;
  border: 0;
  border-radius: 0;
}

input {
  line-height: 32px;
}

textarea {
  padding: 8px;
}

button,
input[type=submit] {
  vertical-align: top;
  border: 0;
}

main input:not([type=submit]):not([type=radio]):not([type=search]),
main textarea {
  width: var(--form-width);
  max-width: 100%;
  background-color: var(--light-gray);
}

main button:not(.Search-Button),
main input[type=submit] {
/*  margin: 0 auto;*/
  padding: 0 20px;
  line-height: 32px;
  color: var(--black);
  font-size: .9rem;
  font-weight: bold;
  text-transform: uppercase;
  background-color: var(--theme-color);
/*  border-radius: var(--border-r-s);*/
}

button.Search-Button {
  background-color: transparent;
}

input[type=search] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
input[type="search"]::-webkit-search-decoration {
  display: none !important;
}

.Search-Form input[type=search] {
  margin: 0;
  width: calc(100% - 40px);
  background-color: var(--white);
}

.Sort-Options input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
}

.Sort-Options input[type=radio] ~ label {
  cursor: pointer;
  white-space: pre;
}

.Sort-Options input:checked ~ label {
  color: var(--primary);
}

.Sort-Label {
  margin-left: 4px;
}



/* || FIXES */
svg { vertical-align: middle; }



/* || DEFAULTS */
.O-H { overflow: hidden; }
.P-Abs { position: absolute; }
.P-Rel { position: relative; }
.P-T { top: 0; }
.P-S { left: 0; right: 0; }
.P-L { left: 0; }
.P-R { right: 0; }
.P-B { bottom: 0; }
.P-B-1 { bottom: 1rem; }
.W-100 { width: 100%; }
.MinW-100 { min-width: 100%; }
.MaxW-100 { max-width: 100%; }
.Text-W { max-width: var(--text-width); }
.M { margin: var(--size); }
.M-0 { margin: 0; }
.MT { margin-top: var(--size); }
.MT-0 { margin-top: 0 !important; }
.MT-1 { margin-top: 1rem; }
.MT-2 { margin-top: 2rem; }
.MT-3 { margin-top: 3rem; }
.MT-4 { margin-top: 4rem; }
.MT-5 { margin-top: 5rem; }
.MT-6 { margin-top: 6rem; }
.MB { margin-bottom: var(--size); }
.MB-0 { margin-bottom: 0; }
.MB-1 { margin-bottom: 1rem; }
.MB-2 { margin-bottom: 2rem; }
.MB-3 { margin-bottom: 3rem; }
.MS-A { margin-left: auto !important; margin-right: auto !important; }
.Pad { padding: var(--size); }
.Pad-H { padding: .5rem; }
.Pad-0 { padding: 0; }
.Pad-05 { padding: calc(var(--size-1) / 2); }
.Pad-1 { padding: var(--size-1); }
.Pad-2 { padding: var(--size-2); }
.Pad-L-1 { padding-left: 1rem; }
.PT-3 { padding-top: 3rem; }
.PB-0 { padding-bottom: 0; }
.F-L { float: left; }
.F-R { float: right; }
.C { text-align: center; }
.L { text-align: left; }
.R { text-align: right; }
.C-W { color: var(--white); }
.C-B { color: var(--black); }
.C-T { color: var(--theme-color); }
.C-P { color: var(--primary); }
.C-S { color: var(--secondary); }
.FS-3 { font-size: 3rem; }
.FS-25 { font-size: 2rem; }
.FS-2 { font-size: 2rem; }
.FS-15 { font-size: 1.5rem; }
.FS-125 { font-size: 1.25rem; }
.FS-1 { font-size: 1rem; }
.FS-09 { font-size: .9rem; }
.FS-08 { font-size: .8rem; }
.FS-07 { font-size: .7rem; }
.LH-2 { line-height: 2rem; }
.LH-3 { line-height: 3rem; }
.FW-N { font-weight: normal; }
.FW-B { font-weight: bold; }
.FW-L { font-weight: lighter; }
.TT-U { text-transform: uppercase; }
.BG-T { background-color: var(--theme-color); }
.BG-P { background-color: var(--primary); }
.BG-S { background-color: var(--secondary); }
.BG-G { background-color: var(--gray); }
.BG-LG { background-color: var(--light-gray); }
.BG-W { background-color: var(--white); }
.BG-B { background-color: var(--black); }
.D-B { display: block; }
.D-F { display: flex; }
.D-N { display: none; }
.O-1 { order: 1; }
.O-2 { order: 2; }
.O-3 { order: 3; }
.F-Equal { flex: 1; }
.FD-C { flex-direction: column; }
.FW-W { flex-wrap: wrap; }
.FW-NW { flex-wrap: nowrap; }
.F-100 { flex: var(--f-100); }
.JC-SB { justify-content: space-between; }
.JC-SA { justify-content: space-around; }
.JC-SE { justify-content: space-evenly; }
.JC-FS { justify-content: flex-start; }
.JC-FE { justify-content: flex-end; }
.JC-C { justify-content: center; }
.AI-FS { align-items: flex-start; }
.AI-C { align-items: center; }
.AI-FE { align-items: flex-end; }
.AI-S { align-items: stretch; }
.Gap { gap: var(--size); }
.Gap-1 { gap: var(--size-1); }
.Gap-2 { gap: var(--size-2); }
.Gap-3 { gap: var(--size-3); }
.Gap-025 { gap: .25rem; }
.Gap-1px { gap: 1px; }
.Gap-2px { gap: 2px; }
.FF-R { flex-flow: row-reverse wrap-reverse; }
.B-0 { border: 0; }
.BR-50 { border-radius: 50%; overflow: hidden; }
.BR-S { border-radius: var(--border-r-s); overflow: hidden; }
.BR-M { border-radius: var(--border-r-m); overflow: hidden; }
.BR-L { border-radius: var(--border-r-l); overflow: hidden; }
.BS-S { box-shadow: 0 0 10px var(--shadow); }
.Col-Text { flex: 0 1 var(--text-width); }
.Avatar { overflow: hidden; object-fit: cover; border-radius: 50%; }
.Avatar.Small { width: 60px; height: 60px; }
.Avatar.Active { border: 3px solid var(--primary); }
.List-Thumb { object-fit: cover; }
.OF-Cov { object-fit: cover; }
.OF-Con { object-fit: contain; }
.AR-16-9 { aspect-ratio: 16 / 9; }
.AR-6-7 { aspect-ratio: 6 / 7; }
.AR-1 { aspect-ratio: 1 / 1; }
.Transition { transition: all .2s ease-in-out; }
.Unavailable { opacity: 25%; }
.Title { overflow: hidden; height: var(--title-height); font-family: var(--font-title); font-size: var(--title-size); }
.V-Crop-5 { height: 6rem; }
.Pad-T-1 { padding-top: 1rem; }
.Pad-B-1 { padding-bottom: 1rem; }
.More { font-weight: bold; font-size: .8rem; }
main .Button {
  display: inline-block;
  padding: 0 1rem;
  font-size: .7rem;
  line-height: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  color: var(--white);
  background-color: var(--theme-color);
  border-radius: var(--border-r-s);
}



/* || LAYOUT */
.Pad-Sides {
  padding-left: var(--container-padding-sides) !important;
  padding-right: var(--container-padding-sides) !important;
}

body {
  background-color: var(--body-bg-color);
}

.Nav {
  height: 200px;
  background-color: var(--nav-bg-color);
  box-shadow: var(--box-shadow);
}
.Nav .Logo {
  height: 9rem;
}
.Nav a {
  font-family: var(--font-title);
  font-size: 1.5rem;
  color: var(--nav-color);
  text-transform: uppercase;
  letter-spacing: 4px;
}
.Footer a,
.Footer svg {
  color: #FFF;
}
.Footer svg {
  margin: 0 .25rem;
  font-size: 1.5rem;
}



/* PAGES */

.Hero-Container {
  width: 100vw;
  height: 300px;
  overflow: hidden;
  display: grid;
  place-items: center;
}
.Home-Hero {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
}
.Home-Hero img {
  max-height: 300px;
  height: auto;
  width: auto;
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}
.H-N-Title {
  padding: .5rem 0;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 1.5rem;
}
.H-N-Img {
  object-fit: cover;
  aspect-ratio: 1;
  content
}



/* [] SCREEN SIZES | Extra Small Devices (Smartphones) */
@media (max-width: 600px) {

  :root {
    --size: 2rem;
    --menu-height: 80px;
    --text-width: 100%;
    --form-width: 100%;
  }

  /* body:not(#Home) .Nav-Header {
    background-image: url('/static/bg/menu.jpg');
    background-size: cover;
    background-position: center bottom;
  } */

}



/* [] SCREEN SIZES | Small Devices (Portrait Tablets and Large Smartphones) */
@media (min-width: 600px) {

  :root {
    --size: 2rem;
    --menu-height: 160px;
  }

  /* body:not(#Home) .Header {
    background-image: url('/static/bg/menu.jpg');
    background-size: cover;
    background-position: center bottom;
  } */

}



/* [] SCREEN SIZES | Medium Devices (Landscape Tablets) */
@media (min-width: 768px) {
}



/* [] SCREEN SIZES | Large Devices (Laptops/Desktops) */
@media (min-width: 992px) {

  :root {
    --size: 3rem;
  }

}



/* [] SCREEN SIZES | Extra Large Devices (large Laptops and Desktops) */
@media (min-width: 1200px) {
}



/* [] SCREEN SIZES | Extra Large Displays */
@media (min-width: 1460px) {

  :root {
    --container-padding-sides: calc((100% - var(--layout-width)) / 2);
  }

}
