body {
  background: linear-gradient(#1A252F 5%, #434446 35%, #434446 75%, #1A252F 100%);
  min-height: 100vh;
}
a {
  color: #D5C48A;
  text-decoration: underline dotted;
}
img {
  display: block;
  margin: 0 auto;
}

h1, h2, h3, h4, h5, h6, p {
  color: #ffffff;
}
h1 {
  font-family: 'PFFusionSlabW00-Heavy', 'impact', sans-serif;
  color: #F7F3DF;
  text-shadow: 0.03em 0.03em #000000;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: calc(4em + 1.8vw);
  line-height: 0.9;
  margin: 2vh 0.5vh;
}
h1:after {
  content: '• • •';
  font-size: 4vw;
  color: #D5C48A;
  text-shadow: none;
  display: block;
  padding-top: 2vh;  
}
h1.extra-padding:after {
  padding-top: 4vh;
}
h2 {
  font-family: 'voltaire', 'century gothic', sans-serif;
  color: #D5C48A;
  font-size: calc(1.7em + 0.6vw);
  margin: 2vh auto 14vw;
  width: 75%;
}
h4 {
  font-family: 'voltaire', 'century gothic', sans-serif;
  color: #D5C48A;
  text-transform: uppercase;
  font-size: calc(1.8em + 0.6vw);
  margin: 0 5vw 2vh;
}
h5 {
  font-family: 'copperplate', 'georgia', serif;
  letter-spacing: 0.05em;
  border-top: 2px #D5C48A dotted;
  font-size: calc(0.8em + 0.3vw);
  line-height: 1.3;
  padding: 1.8vh;
}
.contact h5 {
  border: 0;
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
}
h6, p, label, input, textarea, .button {
  font-family: 'barlow', 'arial', sans-serif;
  line-height: 1.5;
}
h6, label, .button {
  color: #D5C48A;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: calc(0.8em + 0.4vw);
  line-height: 1.2;
  margin-top: 0.9vh;
}
h6 {
  padding-top: 1vh;   /* Columns on homepage will ignore margin */
}
p {
  margin: 2vw 0 4vw;
}
img {
  width: 100%;
}
figcaption {
  display: block;
  font-family: 'georgia', serif;
  font-style: italic;
  color: #D5C48A;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #D5C48A;
  text-align: center;
  font-size: calc(6em + 3vw);
  margin-top: -10vh;
}

footer:before {
  content: '• • •';
  color: #D5C48A;
  display: block;
  text-align: center;
  font-size: 80%;
  padding-bottom: 2vh;
}
footer {
  background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
  margin: 7vh 0 0;
  display: inline-block;
  width: 100%;
}
footer p {
  font-size: 70%;
  text-align: center;
}

.wrapper {
  display: block;
  max-width: 1400px;
  margin: 0 auto;
  padding: 3vw;
  text-align: center;
}



/*---------------- CONTENT STYLES ----------------*/

.text-box {
  background: #0B1835; /* Fallback */
  background:
    radial-gradient(circle at top left, transparent 30px, #0B1835 0) top left,
    radial-gradient(circle at top right, transparent 30px, #0B1835 0) top right,
    radial-gradient(circle at bottom right, transparent 30px, #0B1835 0) bottom right,
    radial-gradient(circle at bottom left, transparent 30px, #0B1835 0) bottom left;
  background-size: 51% 51%; /* 50%+ Chrome lines hack */
  background-repeat: no-repeat;
  padding: 4vh;
  margin: 4vh auto;
  width: 85%;
}
.contact .text-box {
  width: 95%;
  padding-left: 1vh;
  padding-right: 1vh;
}
.text-box.gray {
  background: #1F1F1F; /* Fallback */
  background:
    radial-gradient(circle at top left, transparent 30px, #1F1F1F 0) top left,
    radial-gradient(circle at top right, transparent 30px, #1F1F1F 0) top right,
    radial-gradient(circle at bottom right, transparent 30px, #1F1F1F 0) bottom right,
    radial-gradient(circle at bottom left, transparent 30px, #1F1F1F 0) bottom left;
  background-size: 51% 51%; /* 50%+ Chrome lines hack */
  background-repeat: no-repeat;
}
.text-box.brown {
  background: #2414005; /* Fallback */
  background:
    radial-gradient(circle at top left, transparent 30px, #241400 0) top left,
    radial-gradient(circle at top right, transparent 30px, #241400 0) top right,
    radial-gradient(circle at bottom right, transparent 30px, #241400 0) bottom right,
    radial-gradient(circle at bottom left, transparent 30px, #241400 0) bottom left;  
  background-size: 51% 51%; /* 50%+ Chrome lines hack */
  background-repeat: no-repeat;
}
.text-box-dotted {
  border: 1px #D5C48A dashed;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  background: #434446;
  padding: 6vh 3vw 5vh 4vw;
  margin: 2vh auto;
  width: 90%;
}

.full-width {
  width: 100vw;
  height: 44vw;
  min-height: 380px;
  padding: 15vh 5vw;
  margin-left: -3vw;
  margin-right: -6vw;  /* Offset wrapper padding */
  margin-top: 20vw;
  margin-bottom: 20vw;
  position: relative;
  overflow: hidden;
}
.full-width.img {
  min-height: 500px;
  background-size: scroll;
}
.full-width video {
  position: absolute;
  top: 0;
  left: 0;
  width: 170vw;
}
.full-width figcaption {
  transform: translate(+1%, +10%);
}
.full-width h4 {
  width: 90%;
  max-width: 500px;
  margin: 0 auto;
  text-shadow: 0 0 15px #000;
  filter: drop-shadow(0 0 60px #000);
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 20%, rgba(0,0,0,0.4) 80%, rgba(0,0,0,0) 100%);
  padding: 3.5vh 6vw;
  z-index: 5;
  transform: translateY(+30%);
}
.full-width > h4:before {
  position: absolute;
  content:url('../images/head-deco-before.svg');
  top: -2vh;
  left: 50%;
  margin-left: -147px;  /* Neg margin to recenter */
  z-index: -1;
}
.full-width > h4:after {
  position: absolute;
  content:url('../images/head-deco-after.svg');
  top: 8vh;
  left: 50%;
  margin-left: -147px;
  z-index: -1;
}



.overlap {
  display: inline-block;
  margin-top: -7vh;
}
.half-size {
  position: relative;
}
.hide-mobi {
  display: none;
}
.behind {
  z-index: -1;
}

.nowrap {
  white-space: nowrap; 
}



/*---------------- NAVIGATION ----------------*/

#navigation {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#nav-items, #mobile-nav {
  display: flex;
  width: 100%;
  justify-content: center;
  padding-top: 1vh;
  margin: 0 auto 5vh;
  z-index: 99;
}
#nav-items {
  display: none;
  position: fixed;
  top: 0;
}
#nav-items:after {
  content: '• • •';
  font-size: 4vw;
  color: #D5C48A;
  display: block;
  text-align: center;
  padding-top: 10vh;  
}
#navigation:target > #nav-items {
  display: block; /* Display mobile nav without JS */
  top: 14vh;
  transition: .25s ease-in;
}
#navigation:target > #mobile-nav {
  position: fixed; /* Anchor mobile nav while active */
  top: 0;
  height: 100vh;
  background: #1A252F;
}
#nav-items a, #mobile-nav a {
  font-family: 'barlow', 'arial', sans-serif;
  line-height: 1;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 100%;
  color: #ffffff;
  text-shadow: 0.03em 0.03em #000000;
  text-decoration: none;
}
#nav-items a:hover, #mobile-nav a:hover {
  color: #D5C48A;
  transition: .25s ease-in;
}
#mobile-nav a {
  font-size: 85%;
}
#nav-items li, #mobile-nav li {
  margin: 0.8vh 4vw 0;
  text-align: center;
}
#nav-items li { /* Over-ride margins for mobile */
  margin: 8vh 1vw;
  font-size: 150%;
}
#mobile-nav li:first-child {
  margin-right: 8%;
}
#mobile-nav li:last-child {
  margin-left: 12%;
  padding-right: 3%;
}
#mobile-nav .nav-trigger {
  white-space: nowrap;
}
#mobile-nav .nav-trigger span {
  display: block;
  position: absolute;
  opacity: 1;
  transition: .25s ease-in;
}
#mobile-nav .nav-trigger span:first-child,
#mobile-nav .nav-trigger span:last-child {
  height: 1.5px;
  width: 60px;
  background: #fff;
  transform: rotate(0deg);
}
#mobile-nav .nav-trigger span:nth-child(2) {
  position: relative; /* Fix positioning issue */
  padding: 0.4vh 0;
}
#mobile-nav .nav-trigger:hover span:first-child,
#mobile-nav .nav-trigger:hover span:last-child {
  background: #D5C48A;
}
#navigation:target .nav-trigger span:first-child,
#navigation:target .nav-trigger span:last-child {
  height: 2.5px;
  width: 30px;'
  background: #D5C48A;
}
#navigation:target .nav-trigger span:first-child {
  transform: rotate(45deg);
  margin-left: 14px;
  margin-top: 10px;
}
#navigation:target .nav-trigger span:last-child {
  transform: rotate(-45deg);
  margin-left: 14px;
  margin-top: -10px;
}
#navigation:target .nav-trigger span:nth-child(2) {
  opacity: 0;
}

.logo {
  margin: 0.4em 3vw 0;
  text-align: center;
  background: #1A252F;
}
.logo:before {
    position: absolute;
    top: 3.6em;
    width: 95%;
    left: 50%;
    margin-left: -48%;  /* Left+margin-left ack to center on iOS */
    height: 1px;
    content: '\a0';
    background-color: #D5C48A;
    z-index: -1;
}
.logo.hidden-mobi {
  display: none;
}

@media only screen and (min-width: 740px) {
  #nav-items, #navigation:target > #nav-items {
    display: flex;
    position: relative;
    top: 0;
    background: none;
    height: auto;
  }
  #nav-items:after {
    content: ''; 
  }
  #nav-items li {
    margin: 0.8vh 4vw 0;
    font-size: 100%;
  }
  .nav-trigger, ul#mobile-nav {
    display: none;
  }
  .logo.hidden-mobi {
    display: inline-block;
  }
}




/*---------------- HOME PAGE ----------------*/

h1.quinby-reserve {
  margin-right: 3vw;
}
h1.quinby-reserve {
  font-size: calc(5em + 3vw);
  line-height: 0.45;
}
h1.quinby-reserve span {
  font-family: 'voltaire', arial, sans-serif;
  font-size: 30%;
  letter-spacing: 0.3em; 
}
h2.quinby-reserve {
  margin-bottom: 4vh;
}

.bourbon-info {
  margin-top: 2vh;
}
.bourbon-info img {
  display: block;
  margin: -6vh auto 2vh auto;
}
.bourbon-info h5 {
  display: inline-block;
  border-top: 2px #D5C48A dotted;
}
.bourbon-info h6 {
  text-align: center;
  margin: 1.5vh auto 0 auto;
  width: 90%;
}

.bottles {
  max-width: 600px;
}

.flavor-profile {
  width: 75%;
  padding: 0 0.5vw;
  margin-top: 18vh;
}
.flavor-profile h5 {
  width: 25%;
  min-width: 200px;
  white-space: nowrap;
  padding: 0;
  margin: -1.2vh auto 0;
  border: none;
  background: #434446;
  box-shadow: 0 10px 15px #434446;
}
.flavor-profile article {
  padding: 3vh 5vw 0;
}
.flavor-profile p {
  margin-left: 1.5vw;
}
.flavor-profile div {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}



/*---------------- FORM ----------------*/

form {
  padding: 1vw 5vw;
  max-width: 800px;
  margin: 0 auto;
}
input, textarea, label {
  display: block;
  text-align: left;
}
input.form-input {
  width: 90%;
  max-width: 500px;
}
textarea {
  width: 100%;
  max-width: 600px;
}
input, textarea {
  border: 1px #D5C48A dotted;
  border-bottom: 2px #fff solid;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  background: #0B1835;
  color: #fff;
  padding: 0.3vw 0.8vw;
}
label {
  margin: 3vh 0 0.5vh;
}

.button {
  display: table;
  text-decoration: none;  background: #7C1A00;
  box-shadow: none;
  color: #fff;
  text-shadow: 0.1em 0.1em #000;
  border: none;
  outline: 1px #D5C48A solid;
  outline-offset: 0.3vw;
  padding: 1vh 4vh;
  margin: 6vh auto 4vh;
  transition: .3s;
}
.button:hover {
  background: #B32E20;
  outline: 1px #B32E20 solid;
  outline-offset: 0;
}





/*===================================== TABLET & WIDER =====================================*/

@media only screen and (min-width: 760px) {

h2.quinby-reserve {
  display: inline-block;
  text-align: left;
  vertical-align: top;
  width: 45%;
  margin-top: 2%;
  padding-left: 8vw;
}
h6, p {
  text-align: left;
}

.hide-mobi {
  display: block;
}
.half-size {
  width: 54%;
  display: inline-block;
  position: relative;
}
.overlap {
  margin-top: 0;
  margin-left: -10vw;
}

.bourbon-info {
  width: 55%;
  margin-top: -29vh;
  margin-left: 1vh;
  padding: 4vh 10vh 4vh 3vh;
}
.bourbon-info h5 {
  text-align: left;
}
.flavor-profile article {
  -webkit-columns: 2 10vw;
  -moz-columns: 2 10vw;
  columns: 2 10vw;
  -webkit-column-gap: 610vw;
  -moz-column-gap: 6vw;
  column-gap: 6vw;
}

.full-width video {
  width: 130vw;
}
.full-width.img {
  background-attachment: fixed;
  background-size: cover;
}

}




/*===================================== DESKTOP & WIDER =====================================*/

@media only screen and (min-width: 1000px) {

h1.quinby-reserve {
  display: block;
  vertical-align: top;
  width: 50%;
}
h2.quinby-reserve {
  padding-left: 6vw;
}

.bottles {
  margin-top: -20vh;
}
.quinby-reserve {
  width: 42%;
  display: inline-block;
}
.bourbon-info div {
  width: 25%;
  display: inline-block;
  text-align: center;
}
.bourbon-info h5 {
  border-left: 2px #D5C48A dotted;
  border-top: none;
  width: 70%;
  text-align: left;
}
.bourbon-info h4 {
  margin: 0;
}

.full-width video {
  width: 100.5vw;
}

.contact .text-box {
  width: 80%;
}

}




/*===================================== OVERSIZE =====================================*/

@media only screen and (min-width: 1400px) {

.full-width {
  margin-left: calc((100vw - 1400px + 6vw) / -2);  /* Neg margins to full-width outside main, max-width+padding */
  margin-right: calc((100vw - 1400px + 3vw) / -2);
}

}
