/*
Theme Name: Kettlehouse Brewing Co.
Theme URI: 
Description: Custom theme for Kettlehouse and CODO
Author: Joe Blackburn
Version: 1.01
Tags: custom
*/
/* =============================================================================
   Adapted from HTML5 Boilerplate CSS: h5bp.com/css
   ========================================================================== *

/* !Global Styles - - - - - */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale; }

.sans {
  font-family: "aktiv-grotesk", Arial, Verdana, sans-serif; }

.min {
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif; }

.cond {
  font-family: "Knockout 69 A", "Knockout 69 B", "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif; }

.grey {
  color: #373636; }

.dk-grey {
  color: #2D2B2B; }

.vdk-grey {
  color: #221F1F; }

.mid-grey {
  color: #626060; }

.lt-grey {
  color: #cacaca; }

.vtl-grey {
  color: #9B9A9A; }

.yellow {
  color: #F0CF18; }

.red {
  color: #b50000; }

.white {
  color: #fff; }

.black {
  color: #000; }

.grey-bg {
  background: #373636; }

.dk-grey-bg {
  background: #2D2B2B; }

.vdk-grey-bg {
  background: #221F1F; }

.mid-grey-bg {
  background: #626060; }

.lt-grey-bg {
  background: #cacaca; }

.vtl-grey-bg {
  background: #9B9A9A; }

.yellow-bg {
  background: #F0CF18; }

.red-bg {
  background: #b50000; }

.white-bg {
  background: #fff; }

.black-bg {
  background: #000; }

.italic {
  font-style: italic; }

.normal {
  font-weight: normal; }

.bold {
  font-weight: bold; }

.xbold {
  font-weight: 800; }

.center {
  text-align: center; }

.upper {
  text-transform: uppercase; }

.lower {
  text-transform: lowercase; }

.space {
  letter-spacing: .1em; }

.space2 {
  letter-spacing: .2em; }

.fleft {
  float: left; }

.fright {
  float: right; }

.plain a, a.plain {
  text-decoration: none; }

a {
  color: #F0CF18;
  text-decoration: none;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  transition: all .25s ease; }

a:hover {
  color: #2D2B2B; }

.rel {
  position: relative; }

ul.clean {
  list-style: none;
  margin: 0;
  padding: 0; }

ul.inline {
  display: inline-block; }

ul.inline li {
  display: inline;
  float: left; }

ul.ilb li,
.ilb {
  display: inline-block;
  vertical-align: top; }

ul.ilb {
  display: block; }

li.vmiddle,
.vmiddle {
  vertical-align: middle; }

img.full {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; }

.screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11; }

.flex-wrap {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.flex-wrap .flex-item:nth-child(1) {
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-align-self: auto;
  -ms-flex-item-align: auto;
  align-self: auto;
  width: 100% !important; }

.grey-grad {
  background: #373636;
  /* Old browsers */
  background: -moz-linear-gradient(left, #373636 0%, #2d2b2b 50%, #373636 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #373636 0%, #2d2b2b 50%, #373636 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #373636 0%, #2d2b2b 50%, #373636 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }

.cover {
  background: url(images/trans.png) no-repeat center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }

/* !Font Size Fuctions - - - - - */
/* !Page Defaults - - - - - */
.text {
  line-height: 1.6em;
  font-size: 1em; }

.text p {
  margin: 15px 0; }

.text a {
  color: rgba(240, 207, 24, 0.75); }

.text a:hover {
  color: #F0CF18; }

.header-text p:first-child,
.text p:first-child {
  margin-top: 0; }

.header-text p:last-child,
.text p:last-child {
  margin-bottom: 0; }

h1,
h2,
h3,
h4 {
  margin: 0;
  font-weight: normal; }

.text img {
  display: block;
  margin: 10px auto;
  width: auto;
  height: auto;
  max-width: 100%; }

.text img.alignleft {
  float: left;
  margin: 0 30px 30px 0; }

.text img.alignright {
  float: right;
  margin: 0 0 30px 30px; }

.text ul {
  list-style: none;
  margin: 30px 0;
  padding: 0; }

.text ul li {
  padding-left: 15px;
  position: relative;
  margin-top: 8px;
  display: block; }

.text ul li:before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 0;
  z-index: 1;
  border-radius: 120%;
  overflow: hidden;
  background: #2D2B2B; }

.text h1,
.text h2,
.text h3,
.text h4 {
  margin: 30px 0 10px 0;
  font-weight: 900;
  color: #221F1F;
  line-height: 1.4em;
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em; }

.text h1:first-child,
.text h2:first-child,
.text h3:first-child,
.text h4:first-child,
.text ul:first-child {
  margin-top: 0; }

.text h1:last-child,
.text h2:last-child,
.text h3:last-child,
.text h4:last-child,
.text ul:last-child {
  margin-bottom: 0; }

.text blockquote {
  margin: 50px 0;
  padding: 0 0 0 40px;
  border-left: 2px solid #F0CF18;
  color: #2D2B2B;
  font-weight: bold;
  font-size: 130%;
  line-height: 1.5em; }

sup {
  font-size: 50%;
  position: relative;
  top: -1em;
  font-weight: normal; }

/* !Body - - - - - */
body {
  min-width: 320px;
  font-size: 14px;
  font-family: "aktiv-grotesk", Arial, Verdana, sans-serif;
  color: #2D2B2B;
  line-height: 1.6em;
  background: #221F1F; }

#container {
  background: #fff; }

.inner {
  padding: 0 25px;
  max-width: 750px;
  display: block;
  margin: 0 auto;
  width: 100%; }

.inner.skinny {
  max-width: 650px; }

.inner.wide {
  max-width: 1070px; }

.inner.vwide {
  max-width: 1280px;
  padding: 0 60px; }

.inner.max {
  max-width: 1400px;
  padding: 0 60px; }

/* !Instagram - - - - - */
ul.instagram {
  width: 100%; }

ul.instagram li {
  width: 25%; }

ul.instagram li a {
  display: block;
  overflow: hidden; }

.insta-wrap {
  background-image: url(images/k-icon.svg); }

.insta-caption-screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 100;
  background: rgba(34, 31, 31, 0.8);
  border: 10px solid #221F1F;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

li:hover .insta-caption-screen {
  opacity: 1; }

.insta-name {
  font-size: 0.9285714286em;
  line-height: 30px;
  padding-left: 36px;
  background: url(images/instagram-yellow.svg) no-repeat left center;
  display: inline-block;
  margin: 0 auto; }

.insta-caption {
  max-width: 200px;
  margin: 30px auto 0 auto; }

/* !Default page - - - - - */
.section-pad {
  padding: 120px 0; }

h1.headline,
h2.headline {
  font-size: 5.1428571429em;
  line-height: 1.1em;
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em; }

h1.headline sup {
  font-size: 25%;
  top: -2.1em; }

h1.headline.margin-bottom,
h2.headline.margin-bottom {
  margin-bottom: 40px; }

/* !Breadcrumbs - - - - - */
#breadcrumbs {
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .05em;
  color: #cacaca;
  margin-bottom: 30px; }

#breadcrumbs span,
#breadcrumbs a {
  display: inline-block;
  vertical-align: middle;
  line-height: 10px; }

#breadcrumbs a {
  color: #cacaca; }

#breadcrumbs a:hover {
  color: #221F1F; }

.crumb-sep {
  height: 10px;
  width: 26px;
  text-indent: -9999px;
  background: url(images/crumb-sep.svg) no-repeat center;
  display: inline-block;
  vertical-align: middle; }

/* !Forms - - - - - */
ul.gform_fields {
  list-style: none;
  margin: 0;
  padding: 0; }

ul.gform_fields li {
  margin-bottom: 40px; }

ul.gform_fields li.left,
ul.gform_fields li.right {
  display: inline-block;
  vertical-align: top;
  width: 50%; }

ul.gform_fields li.left {
  padding-right: 20px; }

ul.gform_fields li.right {
  padding-left: 20px; }

input.medium,
textarea.medium,
select {
  width: 100%;
  background: #373636;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 5px 10px;
  height: 48px;
  font-family: "aktiv-grotesk", Arial, Verdana, sans-serif;
  color: #9B9A9A;
  text-indent: 0.01px;
  text-overflow: '';
  font-size: 1.1428571429em;
  font-weight: 900; }

select {
  background: url(images/tab-arrow-down.svg) no-repeat right 10px center #373636;
  background-size: 16px 8px;
  padding-right: 36px; }

textarea.medium {
  resize: none;
  height: 300px;
  padding: 10px; }

.gform_footer img {
  display: block;
  margin: 10px auto 0 auto;
  width: 24px;
  height: auto;
  clear: both; }

li.gform_validation_container {
  display: none !important; }

.gfield_label {
  display: none; }

::-webkit-input-placeholder {
  opacity: 1;
  color: #9B9A9A;
  text-transform: uppercase; }

:-moz-placeholder {
  /* Firefox 18- */
  opacity: 1;
  color: #9B9A9A;
  text-transform: uppercase; }

::-moz-placeholder {
  /* Firefox 19+ */
  opacity: 1;
  color: #9B9A9A;
  text-transform: uppercase; }

:-ms-input-placeholder {
  opacity: 1;
  color: #9B9A9A;
  text-transform: uppercase; }

.validation_error {
  padding-bottom: 20px;
  font-weight: bold;
  color: #b50000; }

.validation_message {
  padding-top: 5px;
  color: #b50000;
  font-style: italic;
  font-size: 0.9285714286em;
  line-height: 1.4em; }

.gform_confirmation_message {
  color: #F0CF18;
  font-weight: bold; }

.gform_ajax_spinner {
  margin: 20px auto 0 auto;
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-left: 4px solid #fff;
  animation: spinner 1.1s infinite linear;
  border-radius: 50%;
  width: 30px;
  height: 30px; }

@keyframes spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* !Footer - - - - - */
footer {
  background: #221F1F; }

.footer-top {
  padding: 80px 0; }

.footer-bottom {
  padding: 0 50px 40px 50px; }

a.footer-logo {
  display: inline-block;
  max-width: 80px;
  margin: 0 auto 40px auto; }

.signup-headline {
  padding-bottom: 10px; }

.signup-form input.medium {
  padding-left: 25px;
  padding-right: 25px;
  height: 36px;
  border-radius: 18px;
  background: #fff;
  color: #373636;
  text-align: center; }

.signup-form {
  max-width: 400px;
  margin: 0 auto;
  overflow: hidden; }

.signup-form input.gform_button {
  position: absolute;
  top: 0;
  left: -9999px;
  z-index: 1; }

.signup-form::-webkit-input-placeholder {
  color: #373636; }

.signup-form:-moz-placeholder {
  /* Firefox 18- */
  color: #373636; }

.signup-form::-moz-placeholder {
  /* Firefox 19+ */
  color: #373636; }

.signup-form:-ms-input-placeholder {
  color: #373636; }

a.social {
  display: inline-block;
  margin-left: 18px;
  vertical-align: middle; }

a.social:first-child {
  margin-left: 0; }

.footer-social {
  margin-top: 40px; }

a.social path {
  fill: #fff;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

a.social:hover path {
  fill: #F0CF18; }

.footer-bottom-left {
  width: 60%;
  padding-right: 20px;
  padding-left: 142px;
  line-height: 74px;
  background: url(images/montana-icon.svg) no-repeat left center; }

.footer-bottom-right {
  width: 40%;
  padding-left: 20px;
  text-align: right; }

.footer-rights {
  padding-left: 10px; }

.footer-bottom a,
div.footer-link {
  color: #fff; }

.footer-bottom a:hover,
div.footer-link:hover {
  color: #F0CF18; }

a.footer-link,
div.footer-link {
  margin-right: 35px; }

.craft {
  width: 42px; }

/* !Beer Landing - - - - - */
ul.beer-list li {
  width: 25%;
  text-align: center;
  padding: 15px; }

ul.beer-list {
  max-width: 1400px;
  padding: 0 35px;
  margin: 0 auto; }

ul.beer-list a {
  display: block;
  padding: 35px;
  border-radius: 6px; }

ul.beer-list a:hover {
  background: #221F1F; }

.list-beer-image {
  max-width: 90px;
  margin: 0 auto 20px auto; }

.beer-title {
  font-size: 1.5em;
  line-height: 1.4em; }

.beer-style {
  font-size: 1.2857142857em;
  line-height: 1.4em;
  margin-top: 3px; }

/* !Single Beer - - - - - */
.beer-pad {
  padding: 170px 0 0 0; }

.beer-pad .inner {
  position: relative;
  z-index: 100; }

.beer-pad:before {
  content: "";
  width: 100%;
  height: 350px;
  position: absolute;
  bottom: 100px;
  left: 0;
  z-index: 10;
  background: -moz-linear-gradient(top, rgba(34, 31, 31, 0) 0%, 24%, #221F1F 90%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(34, 31, 31, 0) 0%, 24%, #221F1F 90%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(34, 31, 31, 0) 0%, 24%, #221F1F 90%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }

.beer-info.color-light .beer-pad:before {
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, 24%, white 90%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, 24%, white 90%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, 24%, white 90%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }

.beer-pad:after {
  content: "";
  width: 100%;
  height: 100px;
  background: #221F1F;
  z-index: 9;
  position: absolute;
  bottom: 0;
  left: 0; }

.color-light .beer-pad:after {
  background: #fff; }

.beer-info.color-dark {
  background: #221F1F; }

.beef-info.color-light {
  background: #fff; }

.can-image {
  max-width: 580px;
  margin: 0 auto 30px auto; }

h1.small-headline,
h2.small-headline {
  font-size: 3.8571428571em;
  line-height: 1.2em; }

.single-beer-style {
  font-size: 1.9285714286em;
  line-height: 1.5em;
  margin-top: 10px; }

.beer-text {
  margin-top: 30px; }

.tap-stats {
  margin-top: 50px; }

.tap-stat {
  padding: 0 15px; }

.beer-bottom {
  padding-bottom: 80px; }

.brewed {
  margin-top: 140px; }

.tap-stat-number {
  font-size: 1.2857142857em;
  line-height: 1.4em; }

.tap-stat-label {
  font-size: 1em;
  line-height: 1.4em;
  margin-top: 5px; }

.brewed-left {
  width: 32.8%; }

.brewed-right {
  width: 67.2%;
  padding-left: 35px; }

a.beer-prev,
a.beer-next {
  width: 60px;
  height: 60px;
  border-radius: 120%;
  padding: 21px 24px;
  position: absolute;
  top: 50%;
  margin-top: -30px;
  z-index: 1000; }

a.beer-prev {
  left: 25px;
  padding-left: 22px; }

a.beer-next {
  right: 25px;
  padding-right: 22px; }

a.beer-prev svg,
a.beer-next svg {
  display: block; }

a.beer-prev:hover,
a.beer-next:hover {
  background-image: rgba(34, 31, 31, 0.2); }

.color-dark a.beer-prev polygon,
.color-dark a.beer-next polygon {
  fill: #F0CF18; }

.color-dark a.beer-prev:hover,
.color-dark a.beer-next:hover {
  background: rgba(255, 255, 255, 0.2); }

/* !Alert Bar - - - - - */
.alert-bar {
  font-size: 0.9285714286em;
  font-weight: bold;
  text-align: center;
  padding: 8px 0;
  line-height: 1.3em;
  position: relative;
  z-index: 10003; }

.alert-bar p {
  margin: 0; }

.alert-bar a {
  color: #fff; }

.alert-bar a:hover {
  color: #2D2B2B; }

/* !Header - - - - - */
header {
  display: block;
  height: 140px;
  overflow: visible;
  padding: 10px 50px 0 50px;
  position: relative;
  z-index: 10002; }

.nav-wrap {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10001;
  padding: 330px 25px 40px 25px;
  background: #221F1F;
  text-align: center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.nav-active .nav-wrap {
  visibility: visible;
  opacity: 1; }

.nav-fade .nav-wrap {
  opacity: 0; }

a.logo {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
  z-index: 101; }

a.tap-scroll {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 120px;
  transform: translate(0, -50%);
  z-index: 100;
  text-align: center; }

.tap-scroll-title {
  font-size: 1.0714285714em;
  line-height: 1.4em;
  position: relative;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.tap-scroll-title svg {
  position: absolute;
  top: 5px;
  right: -18px;
  z-index: 1;
  width: 8px;
  height: 13px; }

.tap-scroll-title polygon {
  fill: #F0CF18;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

a:hover .tap-scroll-title polygon {
  fill: #fff; }

a:hover .tap-scroll-title {
  color: #fff; }

.tap-scroll-sub {
  font-size: 0.7142857143em;
  line-height: 1.3em;
  margin-top: 3px; }

a.nav-toggle {
  display: block;
  width: 30px;
  height: 36px;
  position: absolute;
  top: 50%;
  margin-top: -18px;
  left: 50px;
  cursor: pointer;
  z-index: 100003; }

a.nav-toggle:after {
  content: "Close";
  font-family: "Knockout 69 A", "Knockout 69 B", "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 0.7857142857em;
  line-height: 1.3em;
  opacity: 0;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease;
  position: absolute;
  bottom: -12px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #626060;
  z-index: 100; }

a.nav-toggle.active:after {
  opacity: 1; }

a.nav-toggle div {
  width: 30px;
  height: 4px;
  background: #626060;
  position: absolute;
  left: 0;
  text-indent: -9999px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

a.nav-toggle div:nth-child(1) {
  top: 6px; }

a.nav-toggle div:nth-child(2) {
  top: 50%;
  margin-top: -2px;
  width: 24px; }

a.nav-toggle div:nth-child(3) {
  bottom: 6px; }

a.nav-toggle.active div:nth-child(2) {
  opacity: 0; }

a.nav-toggle.active div:nth-child(1) {
  top: 16px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg); }

a.nav-toggle.active div:nth-child(3) {
  bottom: 16px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg); }

ul.nav li {
  margin-top: 15px; }

ul.nav a {
  display: block; }

ul.nav li:first-child {
  margin-top: 0; }

a.nav-link span {
  color: #626060;
  font-size: 1.7142857143em;
  line-height: 1.3em;
  display: inline-block;
  position: relative; }

a.nav-link span:before,
a.nav-link span:after {
  content: "";
  width: 60px;
  height: 4px;
  position: absolute;
  top: 50%;
  margin-top: -2px;
  background: #F0CF18;
  z-index: 10;
  opacity: 0;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

a.nav-link span:before {
  right: calc(100% + 15px); }

a.nav-link span:after {
  left: calc(100% + 15px); }

a.nav-link:hover span:before,
a.nav-link:hover span:after,
li#current a.nav-link span:before,
li#current a.nav-link span:after {
  opacity: 1; }

a.nav-link:hover span,
a.nav-link:hover span,
li#current a.nav-link span {
  color: #fff; }

.nav-sub {
  font-size: 1.1428571429em;
  line-height: 1.4em;
  margin-top: 2px; }

.nav-social {
  margin-top: 30px; }

.nav-active .alert-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 32px;
  overflow: hidden;
  z-index: 10003; }

.nav-active header {
  position: fixed;
  top: 32px;
  left: 0;
  width: 100%;
  height: 80px;
  z-index: 10002; }

.nav-active #container {
  padding-top: 112px; }

.nav-active a.tap-scroll {
  opacity: 0;
  visibility: hidden; }

/* !Homepage - - - - - */
ul.home-caption-links a {
  display: block;
  font-size: 1.2857142857em;
  line-height: 1.3em;
  padding: 25px;
  color: #626060;
  height: 100%;
  cursor: pointer;
  position: relative; }

ul.home-caption-links a:hover {
  color: #fff; }

ul.home-caption-links li {
  width: 50%;
  display: inline-block; }

ul.home-caption-links a.active {
  color: #F0CF18;
  background: #373636; }

ul.home-caption-links a:before {
  content: "";
  width: 22px;
  height: 0;
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -11px;
  z-index: 10;
  background: url(images/tab-arrow-up-grey.svg) no-repeat center top;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

ul.home-caption-links a.active:before {
  height: 11px; }

.home-slide-screen.align-right {
  padding-left: 50%; }

.home-slide-screen.align-left {
  padding-right: 50%; }

.home-slide-screen {
  text-align: center;
  padding-top: 130px;
  padding-bottom: 50px; }

.home-sub {
  font-size: 2.5714285714em;
  line-height: 1.3em;
  margin-bottom: 15px;
  position: relative;
  display: inline-block; }

.home-sub-text {
  font-size: 1.7142857143em;
  line-height: 1.3em;
  margin: 10px 0 0 0; }

.home-sub:before,
.home-sub:after {
  content: "";
  width: 50px;
  height: 2px;
  background-color: #221F1F;
  position: absolute;
  top: 50%;
  margin-top: -1px;
  z-index: 10; }

.on-dark .home-sub:before,
.on-dark .home-sub:after {
  background-color: #fff; }

.home-sub:before {
  right: calc(100% + 10px); }

.home-sub:after {
  left: calc(100% + 10px); }

a.button,
input.gform_button {
  display: inline-block;
  min-height: 44px;
  border: 4px solid #221F1F;
  color: #221F1F;
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 1em;
  line-height: 1.3em;
  padding: 10px 20px;
  border-radius: 22px;
  cursor: pointer;
  background: none;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.on-dark a.button {
  color: #fff;
  border-color: #fff;
  background: #2D2B2B; }

a.button:hover,
.on-dark a.button:hover {
  color: #626060;
  border-color: #626060; }

.home-slide-screen a.button:hover {
  color: #626060 !important;
  border-color: #626060 !important; }

input.gform_button {
  color: #F0CF18;
  border-color: #F0CF18;
  background: #2D2B2B;
  padding-left: 40px;
  padding-right: 40px; }

input.gform_button:hover {
  color: #fff;
  border-color: #fff; }

a.button.margin-top {
  margin-top: 20px; }

.mobile-slide-image {
  display: none; }

/* !Contact - - - - - */
#map {
  height: 500px;
  background: #2D2B2B; }

.resp-jfit {
  width: 100%;
  margin: 0px; }

.resp-tab-content-active {
  display: block; }

.resp-tab-content,
a.resp-accordion {
  display: none; }

.resp-tab-content-active,
a.resp-accordion-active {
  display: block; }

ul.locationTabs {
  padding-top: 30px; }

ul.locationTabs li {
  width: 33.33%;
  position: relative;
  cursor: pointer; }

ul.locationTabs li:before {
  content: "";
  width: 22px;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -11px;
  z-index: 10;
  background: url(images/tab-arrow-up.svg) no-repeat center top;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

ul.locationTabs li.resp-tab-active:before {
  height: 11px; }

.tab-pad {
  padding: 25px;
  height: 100%; }

.loc-title {
  font-size: 1.5em;
  line-height: 1.4em;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.loc-sub {
  font-size: 0.8571428571em;
  line-height: 1.4em;
  margin-top: 5px; }

ul.locationTabs li.resp-tab-active .loc-title {
  color: #221F1F; }

.map-icon {
  width: 26px;
  height: 38px;
  background: url(images/map-icon-grey.svg) no-repeat center; }

.map-icon.active {
  background-image: url(images/map-icon-yellow.svg); }

h2.subhead {
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 900;
  font-size: 2.5714285714em;
  line-height: 1.3em; }

h2.subhead.margin-bottom {
  margin-bottom: 30px; }

.hour-section {
  padding-top: 20px;
  font-size: 0.9285714286em;
  line-height: 1.5em; }

.hours-wrap {
  padding-top: 50px; }

.contact-form .gform_footer {
  text-align: center; }

.locationTabs a.resp-accordion {
  text-align: center;
  background: #2D2B2B;
  color: #fff;
  position: relative;
  cursor: pointer; }

.locationTabs a.resp-accordion.resp-tab-active {
  background-color: #221F1F !important; }

.locationTabs a.resp-accordion.resp-tab-active .loc-title {
  color: #F0CF18; }

.locationTabs a.resp-accordion:before {
  content: "";
  width: 22px;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -11px;
  z-index: 10;
  background: url(images/tab-arrow-down-vdk-grey.svg) no-repeat center bottom;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.locationTabs a.resp-accordion.resp-tab-active:before {
  height: 11px; }

.arrow-box {
  position: relative;
  background: #fff;
  border: 3px solid #F0CF18; }

.arrow-box:after, .arrow-box:before {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none; }

.arrow-box:after {
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #fff;
  border-width: 8px;
  margin-left: -8px; }

.arrow-box:before {
  border-color: rgba(240, 207, 24, 0);
  border-bottom-color: #F0CF18;
  border-width: 12px;
  margin-left: -12px; }

.map-box {
  width: 200px;
  padding: 20px;
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  margin-left: -100px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.active .map-box {
  visibility: visible;
  opacity: 1; }

.map-box-title {
  font-size: 1.3571428571em;
  line-height: 1.4em; }

.map-box-address {
  font-size: 1em;
  line-height: 1.3em;
  margin-top: 5px; }

.map-icon.active {
  z-index: 100001 !important; }

.map-box.map-box2 {
  top: -30px;
  left: 60px;
  right: auto;
  margin-left: 0; }

.arrow-box.map-box2:after, .arrow-box.map-box2:before {
  bottom: calc(50% - 10px);
  left: -11px;
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg); }

.arrow-box.map-box2:after {
  margin-left: -5px; }

.arrow-box.map-box2:before {
  margin-left: -14px;
  margin-bottom: -4px; }

/* !Home Taplist - - - - - */
ul.tap-list li {
  width: 25%;
  padding: 10px 25px; }

.tap-box {
  display: block;
  background: #fff;
  border-radius: 6px;
  width: 250px;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -125px;
  z-index: 100;
  box-shadow: 0 0 10px 0 rgba(34, 31, 31, 0.3);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

ul.tap-list li:hover .tap-box {
  opacity: 1;
  visibility: visible; }

.tap-hover {
  padding: 15px 0; }

.tap-box:after {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none; }

.tap-box:after {
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #fff;
  border-width: 8px;
  margin-left: -8px; }

.arrow-box-top {
  padding: 20px 15px; }

a.tap-more {
  display: block;
  padding: 15px 20px;
  text-align: center;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  position: relative;
  top: 1px; }

a.tap-more:hover {
  color: #fff; }

ul.tapTabs {
  padding: 120px 0 0 0;
  background: url(images/k-icon.svg) no-repeat center 15px;
  max-width: 1160px;
  margin: 0 auto;
  position: relative; }

ul.tapTabs:before {
  content: "On Tap Today";
  display: inline-block;
  position: absolute;
  top: 105px;
  left: 50%;
  transform: translate(-50%, 0);
  font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
  letter-spacing: .05em;
  color: #221F1F;
  text-transform: uppercase;
  z-index: 10;
  font-weight: 900; }

ul.tapTabs li {
  width: 33.33%;
  position: relative;
  cursor: pointer; }

ul.tapTabs li.resp-tab-active .loc-title {
  color: #221F1F; }

ul.tapTabs li:before {
  content: "";
  width: 22px;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -11px;
  z-index: 10;
  background: url(images/tab-arrow-up.svg) no-repeat center top;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

ul.tapTabs li.resp-tab-active:before {
  height: 11px; }

.tap-cat-cycle {
  padding: 30px 50px;
  font-size: 1.2857142857em;
  line-height: 1.3em; }

.tap-cat-wrap,
.tap-top {
  max-width: 1260px;
  position: relative;
  margin: 0 auto; }

.tap-cat-cycle .slick-current .tap-cat {
  color: #F0CF18; }

.tap-cat {
  cursor: pointer; }

a.tap-next,
a.tap-prev,
a.home-tap-next,
a.home-tap-prev {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  text-indent: -9999px;
  cursor: pointer; }

a.home-tap-next,
a.home-tap-prev {
  top: auto;
  bottom: 30px;
  margin-top: 0; }

a.tap-next,
a.home-tap-next {
  background: url(images/arrow-right.svg) no-repeat center;
  right: 0; }

a.tap-prev,
a.home-tap-prev {
  background: url(images/arrow-left.svg) no-repeat center;
  left: 0; }

.tap-list-wrap {
  padding: 25px;
  max-width: 1260px;
  margin: 0 auto;
  position: relative;
  z-index: 101; }

#tap a.resp-accordion {
  background: #fff !important;
  color: #626060;
  position: relative; }

#tap a.resp-accordion.resp-tab-active .loc-title {
  color: #221F1F; }

#tap a.resp-accordion:before {
  content: "";
  width: 22px;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -11px;
  z-index: 10;
  background: url(images/tab-arrow-down-white.svg) no-repeat center bottom;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

#tap a.resp-accordion.resp-tab-active:before {
  height: 11px; }

.tap-hover .tap-stats {
  margin-top: 10px; }

.tip-box:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(240, 207, 24, 0);
  border-top-color: #F0CF18;
  border-width: 8px;
  margin-left: -8px; }

.tip-box {
  box-shadow: 0 0 10px 0 rgba(34, 31, 31, 0.3);
  position: absolute;
  bottom: calc(100% + 20px);
  left: 50%;
  width: 250px;
  margin-left: -125px;
  z-index: 110;
  border-radius: 6px;
  padding: 30px 20px;
  text-align: center; }

.tip-box:before {
  content: "";
  width: 36px;
  height: 36px;
  position: absolute;
  top: -18px;
  left: 50%;
  margin-left: -18px;
  z-index: 10;
  background: url(images/i-icon.svg) no-repeat center; }

a.tip-close {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  background: url(images/x.svg) no-repeat center;
  text-indent: -9999px; }

ul.tapTabs .tip-box {
  bottom: calc(100% - 15px); }

a.resp-accordion .tip-box {
  display: none !important; }

.tip-toggle {
  cursor: pointer; }

.tip-toggle .tip-box {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  transition: all .35s ease; }

.tip-toggle.active .tip-box {
  opacity: 1;
  visibility: visible; }

.tip-box .text a {
  color: #fff; }

.tip-box .text a:hover {
  color: #221F1F; }

.on-tap-text {
  margin: -110px 0 40px 0;
  position: relative;
  z-index: 1; }

.tap-list-cycle ul.tap-list {
  padding-bottom: 170px; }

.tap-list-cycle {
  position: relative;
  z-index: 2; }

/* - - - Media Queries - - - */
@media only screen and (max-width: 1300px) {
  .footer-bottom-left {
    width: 100%;
    display: block;
    padding-right: 0;
    padding-left: 0;
    padding-top: 100px;
    text-align: center;
    line-height: 1.5em;
    background-position: center top; }
  .footer-bottom-right {
    width: 100%;
    padding-left: 0;
    text-align: center;
    display: block;
    padding-top: 50px; }
  a.footer-link {
    margin: 8px 13px; }
  .craft {
    display: block;
    margin: 20px auto 0 auto; }
  .home-image-cycle h1.headline {
    font-size: 3.5714285714em; }
  .home-sub {
    font-size: 2em; } }

@media only screen and (max-width: 1140px) {
  /* Style adjustments for viewports that meet the condition */
  a.logo img,
  a.footer-logo img {
    display: none; }
  .inner.vwide {
    max-width: 1210px;
    padding: 0 25px; }
  .inner.max {
    max-width: 1330px;
    padding: 0 25px; }
  .footer-bottom {
    padding-left: 25px;
    padding-right: 25px; }
  ul.beer-list li {
    width: 33.33%; }
  ul.beer-list {
    padding: 0 10px; }
  ul.home-caption-links a {
    font-size: 1em; }
  a.nav-toggle {
    left: 25px; }
  a.logo {
    width: 80px;
    height: 86px;
    background: url(images/k-icon.svg) no-repeat center;
    text-indent: -9999px; }
  header {
    height: 80px; }
  .nav-wrap {
    padding-top: 180px; }
  .page-section {
    padding: 70px 0; }
  a.footer-logo {
    width: 200px;
    height: 106px;
    background: url(images/kettlehouse-logo.svg) no-repeat center;
    background-size: 200px 106px;
    text-indent: -9999px;
    max-width: none; } }

@media only screen and (max-width: 1023px) {
  h1.headline,
  h2.headline {
    font-size: 3.5714285714em; }
  .footer-top {
    padding: 50px 0; }
  .home-image-cycle h1.headline {
    font-size: 2.8571428571em; }
  .home-sub {
    font-size: 1.5714285714em; }
  h2.subhead {
    font-size: 2.1428571429em; }
  ul.tap-list li {
    width: 33.33%; } }

@media only screen and (max-width: 890px) {
  ul.locationTabs,
  ul.tapTabs,
  .tap-scroll-sub,
  .tap-hover .text,
  .tap-scroll-title span,
  a.home-tap-next,
  a.home-tap-prev,
  .locationTabs:before,
  .locationTabs:after {
    display: none !important; }
  h1.headline,
  h2.headline {
    font-size: 2.8571428571em; }
  ul.instagram li {
    width: 50%; }
  h1.small-headline,
  h2.small-headline {
    font-size: 2.5714285714em; }
  h2.subhead {
    font-size: 2em; }
  .single-beer-style {
    font-size: 1.4285714286em; }
  .beer-pad {
    padding-top: 80px; }
  .brewed {
    margin-top: 80px; }
  ul.gform_fields li.left,
  ul.gform_fields li.right {
    display: block;
    width: 100%;
    padding: 0; }
  ul.gform_fields li {
    margin-bottom: 30px; }
  #map {
    height: 300px;
    margin-top: 30px; }
  .locationTabs a.resp-accordion,
  #tap a.resp-accordion {
    display: block; }
  .hours-wrap {
    padding: 40px 0; }
  .page-section {
    padding: 50px 0; }
  a.tap-scroll {
    left: auto;
    right: 35px;
    width: 70px;
    text-align: right; }
  .tap-hover .tap-stats {
    margin-top: 0; }
  .resp-tabs-container {
    border-top: 120px solid #fff;
    position: relative; }
  .resp-tabs-container:after {
    content: "";
    background: url(images/k-icon.svg) no-repeat center;
    width: 80px;
    height: 86px;
    position: absolute;
    top: -105px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1; }
  .resp-tabs-container:before {
    content: "On Tap Today";
    display: inline-block;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translate(-50%, 0);
    font-family: "ministry", "aktiv-grotesk", Arial, Verdana, sans-serif;
    letter-spacing: .05em;
    color: #221F1F;
    text-transform: uppercase;
    z-index: 10;
    font-weight: 900; }
  .locationTabs {
    padding-top: 0;
    border-top: 0; } }

@media only screen and (max-width: 768px) {
  /* Style adjustments for viewports that meet the condition */
  #breadcrumbs,
  .home-slide-image,
  ul.home-caption-links,
  .insta-caption {
    display: none; }
  .text img.alignleft,
  .text img.alignright {
    margin: 10px auto;
    float: none;
    display: block;
    max-width: 100%;
    width: auto;
    height: auto; }
  h1.headline,
  h2.headline,
  .home-image-cycle h1.headline {
    font-size: 2.5714285714em; }
  h1.small-headline,
  h2.small-headline {
    font-size: 2.1428571429em;
    line-height: 1.3em; }
  .alert-bar {
    font-size: 0.8571428571em; }
  .home-slide-screen {
    position: relative;
    padding: 40px 25px !important; }
  .home-slide-screen.on-dark {
    background: #221F1F; }
  .mobile-slide-image {
    display: block; }
  a.nav-toggle {
    left: 15px; }
  ul.tap-list li {
    width: 50%; }
  .insta-name {
    padding-left: 0;
    padding-top: 36px;
    background-position: center top; } }

@media only screen and (max-width: 767px) {
  /* Style adjustments for viewports that meet the condition */
  .home-sub:before,
  .home-sub:after {
    display: none; }
  ul.beer-list li {
    width: 50%; }
  .brewed-left,
  .brewed-right {
    width: 100%;
    display: block;
    text-align: left;
    padding: 0; }
  .brewed-left {
    max-width: 280px;
    margin: 0 auto 30px auto; }
  a.beer-prev {
    left: 15px; }
  a.beer-next {
    right: 15px; }
  .alert-bar .inner {
    max-width: 400px; }
  .alert-bar,
  .nav-active .alert-bar {
    height: 46px; }
  .nav-active header {
    top: 46px; }
  .nav-active #container {
    padding-top: 126px; } }

@media only screen and (max-width: 600px) {
  /* Style adjustments for viewports that meet the condition */
  ul.beer-list li,
  ul.tap-list li {
    width: 100%;
    display: block; }
  a.footer-link,
  div.footer-link {
    display: block;
    margin: 10px 0; }
  a.footer-link:first-child,
  div.footer-link:first-child {
    margin-top: 0; }
  a.nav-link span {
    font-size: 1.3571428571em;
    line-height: 1.4em; }
  .nav-wrap {
    padding-top: 170px; }
  .nav-sub {
    font-size: 0.9285714286em; }
  a.nav-link span:before,
  a.nav-link span:after {
    width: 30px; } }

@media only screen and (max-height: 560px) {
  html.nav-active,
  .nav-active body,
  .nav-active #container {
    min-height: 560px;
    height: 560px;
    position: relative; }
  .nav-active #container {
    overflow: hidden; }
  .nav-active .alert-bar,
  .nav-active header {
    position: absolute; }
  .nav-active .nav-wrap {
    position: absolute;
    height: 560px;
    top: 0;
    left: 0;
    overflow: hidden; }
  a.nav-link span {
    font-size: 1.3571428571em;
    line-height: 1.4em; }
  .nav-wrap {
    padding-top: 170px; }
  .nav-sub {
    font-size: 0.9285714286em; }
  a.nav-link span:before,
  a.nav-link span:after {
    width: 30px; } }

/* - - - Non-Semantic Helper Classes - - - */
.ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
  *line-height: 0; }

.ir br {
  display: none; }

.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

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

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

/* - - - Print Styles - - - */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }
  /* Black prints faster: h5bp.com/s */
  a, a:visited {
    text-decoration: underline; }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  /* h5bp.com/t */
  tr, img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2, h3 {
    page-break-after: avoid; } }
