/*
Theme Name: The Modular Build Theme
Theme URI: http://google.com
Description: Modular theme that has modular pieces you can move around and arrange any page with.
Author: Adam Krueger
Author URI: http://kruegerdesigns.com
Version: 2.0
License: BSD 2-Clause
License URI: http://opensource.org/licenses/bsd-license.php
*/
@import url("https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,900|Droid+Serif:700i,700");
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

article, aside, figure, footer, header, nav, section, details, summary {
  display: block; }

* {
  box-sizing: border-box; }

img,
object,
embed {
  max-width: 100%; }

html {
  overflow-y: scroll; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom; }

.ie7 input[type="checkbox"] {
  vertical-align: baseline; }

.ie6 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font: 99% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

pre, code, kbd, samp {
  font-family: monospace, sans-serif; }

.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer; }

button, input, select, textarea {
  margin: 0; }

button,
input[type=button] {
  width: auto;
  overflow: visible; }

.clearfix:before, .clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

.rounded-corners, .cta-button-filled, form button,
form input[type="button"],
form input[type="submit"],
form input[type="reset"], .footer-contact form input[type="submit"], .cta-button-outlined, form input,
form select,
form textarea, .featured-excerpts .inner-wrap .group .image {
  border-radius: .15rem; }

.cta-text, .cta-button-filled, form button,
form input[type="button"],
form input[type="submit"],
form input[type="reset"], .footer-contact form input[type="submit"], .cta-button-outlined, .site-navigation .nav-utility a,
.site-navigation .nav-main a {
  font-size: 1rem;
  line-height: 1em !important;
  letter-spacing: -1;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none !important; }

.cta-button-filled, form button,
form input[type="button"],
form input[type="submit"],
form input[type="reset"], .footer-contact form input[type="submit"] {
  display: inline-block;
  padding: .85rem 1.5rem;
  color: #fff !important;
  background-color: #7A0A0F;
  border: 0px none;
  font-size: .9rem;
  transition: .25s ease-in-out; }
  .cta-button-filled:hover, form button:hover,
  form input[type="button"]:hover,
  form input[type="submit"]:hover,
  form input[type="reset"]:hover {
    border: 0px none;
    background-color: #BA1017;
    transition: .25s ease-in-out; }

.cta-button-outlined {
  display: inline-block;
  padding: .85rem 1.5rem;
  color: #7A0A0F !important;
  background-color: transparent;
  border: 4px solid #7A0A0F;
  font-size: .9rem;
  transition: .25s ease-in-out;
  position: relative;
  top: 0px; }
  .cta-button-outlined:hover {
    color: #fff !important;
    border: 4px solid #BA1017;
    background-color: #BA1017;
    transition: .25s ease-in-out;
    position: relative;
    top: 0px; }

.border-style, .site-navigation, .site-navigation.smaller, .featured-excerpts .inner-wrap .group .excerpt-wrap, .featured-excerpts.alt .group .excerpt-wrap {
  border-width: 0px;
  border-style: solid;
  border-color: #BA1017; }

.dark-mode, .footer-links.background-yes {
  background-color: #301011 !important;
  color: #fff; }
  .dark-mode h1, .footer-links.background-yes h1, .dark-mode h2, .footer-links.background-yes h2, .dark-mode h3, .footer-links.background-yes h3, .dark-mode h4, .footer-links.background-yes h4, .dark-mode h5, .footer-links.background-yes h5, .dark-mode h6, .footer-links.background-yes h6, .dark-mode .title, .footer-links.background-yes .title, .dark-mode .header, .footer-links.background-yes .header, .dark-mode p, .footer-links.background-yes p {
    color: #fff; }
  .dark-mode a, .footer-links.background-yes a {
    color: #dc2128; }
    .dark-mode a:hover, .footer-links.background-yes a:hover {
      color: #e44c52; }
  .dark-mode svg, .footer-links.background-yes svg {
    fill: #fff; }
  .dark-mode.footer-contact form label, .footer-contact.footer-links.background-yes form label {
    color: #333; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

.centered {
  text-align: center; }

.scale_on_hover {
  overflow: hidden; }
  .scale_on_hover img {
    transition: all .25s ease-in-out; }
  .scale_on_hover:hover img {
    transform: scale(1.1); }

@font-face {
  font-family: 'sweet_hipsterregular';
  src: url("_/fonts/sweet_hipster.woff2") format("woff2"), url("_/fonts/sweet_hipster.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

html, body {
  font-size: 20px; }

@media (max-width: 1000px) {
  html, body {
    font-size: 18px; } }

@media (max-width: 768px) {
  html, body {
    font-size: 16px; } }

@media (max-width: 500px) {
  html h1, body h1 {
    font-size: 2rem; }
  html h2, body h2 {
    font-size: 1.72rem; }
  html h3, body h3 {
    font-size: 1.2rem; }
  html h4, body h4 {
    font-size: 1.08rem; }
  html .wrapper .fragments .heading, html .wrapper .fragments .title, body .wrapper .fragments .heading, body .wrapper .fragments .title {
    font-size: 1.72rem; } }

body {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  line-height: 1.45; }

p {
  margin: 0 0 1.25rem 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Droid Serif", sans-serif;
  margin: 1.25rem 0 0.85rem;
  font-weight: inherit;
  line-height: 1.2;
  text-transform: inherit; }

h1:first-of-type {
  padding-top: 0; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2.15rem; }

h3 {
  font-size: 1.5rem; }

h4 {
  font-size: 1.35rem; }

small, .font_small {
  font-size: 0.85rem; }

h1 {
  font-weight: 700; }

h2 {
  margin-top: 1.5rem;
  font-weight: 700; }

h3 {
  font-weight: 700; }

h4 {
  font-weight: 700; }

h5 {
  font-weight: 700; }

h6 {
  font-weight: 700; }

.heading, .title {
  font-size: 1.5rem;
  font-family: "Droid Serif", sans-serif;
  font-weight: 700;
  text-transform: inherit;
  line-height: 1.2;
  margin-top: .75rem;
  margin-bottom: .15rem; }

h1, h2, h3, h4, h5, h6, .heading, .title {
  color: #62080c; }
  h1 span, h2 span, h3 span, h4 span, h5 span, h6 span, .heading span, .title span {
    font-style: italic;
    font-weight: 600;
    color: #62080c;
    font-size: 1.25rem;
    display: block; }

h2.projects-title {
  text-align: center;
  border-top: 3px solid #e5e9ec;
  padding: 2rem 0 1.5rem; }

p {
  line-height: 1.5; }

a {
  color: #8b0c11;
  text-decoration: underline; }
  a:hover {
    color: #ba1017;
    text-decoration: none; }

em {
  font-style: italic; }

strong {
  font-weight: 700;
  letter-spacing: 1px; }

img {
  max-width: 100%;
  height: auto; }

.img-right, .alignright {
  float: right;
  margin: .25rem 0 1rem 1rem;
  max-width: 45%;
  height: auto !important; }

.img-left, .alignleft {
  float: left;
  margin: .25rem 1rem 1rem;
  max-width: 45%;
  height: auto !important; }

.img-full {
  width: 100%; }

.pull-bottom {
  margin-top: auto; }

svg.icon-inline {
  vertical-align: top;
  width: 1.15em;
  height: 1.15em;
  margin-right: .25rem; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 3px solid #e5e9ec;
  margin: 1em 0;
  padding: 0; }

ul, ol {
  margin: 1.25rem 0 1.25rem 1.5em; }
  ul li, ol li {
    padding: 0 0 .5em 0; }

ul li {
  list-style: disc; }

dl {
  color: #333;
  margin: 1.25rem 0;
  padding: 1rem 2rem 2rem;
  background-color: #e5e9ec; }
  dl dt {
    padding: 1rem 0 .5rem;
    font-size: 1.25rem;
    font-weight: 400; }
  dl dd {
    margin-left: 2rem;
    font-style: italic; }

blockquote {
  border-left: 3px solid #7A0A0F;
  color: #333;
  margin-top: 0px;
  padding: 1rem;
  margin-bottom: 1.25rem;
  position: relative;
  background-color: #e5e9ec; }
  blockquote .open-quote {
    position: absolute;
    top: -100px;
    left: 1rem;
    width: 5rem; }
    blockquote .open-quote svg {
      width: 100%; }
  blockquote p {
    margin-bottom: 0;
    font-size: 1.35rem; }
  blockquote .author {
    margin-top: 1rem;
    line-height: 1.25; }
    blockquote .author span {
      display: inline-block;
      min-width: 1rem; }

pre {
  color: darkgray;
  background-color: #1D1F21;
  padding: 1rem;
  border-left: 3px solid lightgreen;
  margin-bottom: 1.25rem;
  font-size: .85rem;
  line-height: 1; }
  pre p:last-of-type {
    margin-bottom: 0; }

.table-wrap {
  width: 100%;
  overflow-x: auto; }

table {
  width: 100%;
  margin: 1.25rem 0; }
  table tr td, table tr th {
    min-width: 100px;
    padding: 1rem;
    border: 2px solid #fff;
    background-color: #e5e9ec; }
  table tr th {
    text-align: left; }

fieldset {
  border: 3px solid #e5e9ec;
  padding: 1rem; }
  fieldset legend {
    width: auto;
    padding: .75rem .5rem;
    font-weight: 900;
    text-transform: uppercase;
    color: #c8d0d6; }

form input,
form select,
form textarea {
  display: block;
  background-color: #fff;
  border-color: #e5e9ec;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  border-width: 1px;
  border-style: solid;
  color: #333;
  font-size: .85rem;
  font-weight: 400;
  padding: 10px;
  width: 100%; }

form textarea {
  min-height: 5rem;
  height: auto; }

form input[type="radio"],
form input[type="checkbox"] {
  display: inline-block;
  width: auto;
  height: 1rem;
  vertical-align: middle; }

form button,
form input[type="button"],
form input[type="submit"],
form input[type="reset"] {
  display: inline-block;
  width: auto;
  cursor: pointer; }

.grid-row:after,
.grid-inner-row:after {
  content: " ";
  display: table;
  clear: both; }

.grid-row {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start; }
  .grid-row > * {
    padding: 0 2rem;
    margin: 0px;
    float: left; }
  .grid-row .col-1-3 {
    width: calc( 33.33% - 0px ); }
  .grid-row .col-2-3 {
    width: calc( 66.66% - 0px ); }
  .grid-row .col-1-4 {
    width: calc( 24.99% - 0px ); }
  .grid-row .col-1-2, .grid-row .col-2-4 {
    width: calc( 49.99% - 0px ); }
  .grid-row .col-3-4 {
    width: calc( 74.99% - 0px ); }
  .grid-row .col-1-1, .grid-row .col-2-2, .grid-row .col-3-3, .grid-row .col-4-4, .grid-row .full-width {
    width: calc( 100% - 0px ); }
  .grid-row.alt {
    flex-direction: row-reverse; }
    .grid-row.alt .col-1-3, .grid-row.alt .col-2-3, .grid-row.alt .col-1-4, .grid-row.alt .col-1-2, .grid-row.alt .col-2-4, .grid-row.alt .col-3-4, .grid-row.alt .col-1-1, .grid-row.alt .col-2-2, .grid-row.alt .col-3-3, .grid-row.alt .col-4-4 {
      float: right; }
  .grid-row .grid-row > * {
    padding: 0;
    margin: 0; }

@media only screen and (max-width: 768px) {
  .grid-row {
    padding: 0 !important; }
    .grid-row > * {
      float: none;
      width: 100% !important;
      padding: 0 !important; } }

body, select, input, textarea {
  color: #333; }

.max-width {
  max-width: calc( 1100px  + 4rem); }

.outer-wrap {
  margin: 3rem 0;
  padding: 0 2rem; }

.inner-wrap {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem; }

.grid-row {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto; }

.content-wrap {
  max-width: 760px;
  margin: 0 auto; }

.background-yes {
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .background-yes .inner-wrap {
    padding-top: 0;
    padding-bottom: 0; }
  .background-yes + .background-yes {
    margin-top: -3rem; }

.article-layout .outer-wrap {
  padding: 0 2rem;
  margin: 3rem 0; }

.background-image {
  display: none; }

.background-yes {
  background-color: #e5e9ec;
  position: relative; }
  .background-yes + .background-yes:nth-child(odd) {
    background-color: #c8d0d6; }
  .background-yes > * {
    position: relative;
    z-index: 2; }
  .background-yes .background-image {
    display: flex;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    opacity: .5; }

.content-wrap .iframe-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }
  .content-wrap .iframe-video-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

body.category .content.outer-wrap {
  margin: 0 0 -3rem 0;
  padding: 0 2rem 3rem;
  background-color: #e9e9e9; }
  body.category .content.outer-wrap article.post {
    background-color: #fff; }

body.category .content-wrap .navigation {
  margin: 1rem 0; }

body.category .content-wrap > h2:first-of-type {
  font-size: 1.5rem;
  margin-top: 0;
  padding-top: 1rem; }

@media only screen and (max-width: 768px) {
  .outer-wrap {
    margin: 2rem 0;
    padding: 0 2rem; }
  .inner-wrap {
    padding: 0; }
  .background-yes {
    padding: 2rem 2rem; }
  .footer-contact .grid-row .col-1-2 form {
    margin-right: auto;
    margin-left: auto; } }

@media only screen and (max-width: 480px) {
  .outer-wrap {
    margin: 1rem 0;
    padding: 0 1rem; }
  .inner-wrap {
    padding: 0; }
  .background-yes {
    padding: 1rem 1rem; }
  .background-yes + .background-yes {
    margin-top: -1rem; } }

.noscroll {
  overflow: hidden; }

#wrapper {
  position: relative; }

#nav-icon3, #nav-icon3 * {
  margin: 0;
  padding: 0; }

#nav-icon3 {
  width: 1rem;
  height: 1rem;
  position: relative;
  margin: .35rem .35rem .1rem 0;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
  cursor: pointer; }

#nav-icon3 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: white;
  border-radius: 2px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: .25s ease-in-out; }

#nav-icon3 span:nth-child(1) {
  top: 0px; }

#nav-icon3 span:nth-child(2), #nav-icon3 span:nth-child(3) {
  top: 6.5px; }

#nav-icon3 span:nth-child(4) {
  top: 13px; }

#nav-icon3.open span:nth-child(1) {
  top: .33rem;
  width: 0%;
  left: 50%; }

#nav-icon3.open span:nth-child(2) {
  transform: rotate(45deg); }

#nav-icon3.open span:nth-child(3) {
  transform: rotate(-45deg); }

#nav-icon3.open span:nth-child(4) {
  top: .33rem;
  width: 0%;
  left: 50%; }

.site-navigation {
  border-top-width: 0px;
  background: linear-gradient(to top, transparent, black);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-evenly;
  position: fixed;
  z-index: 1000;
  top: 0;
  height: 6rem;
  width: 100%;
  padding: .25rem 1rem;
  transition: .25s ease-in-out; }
  .site-navigation .logo-nav {
    display: block; }
    .site-navigation .logo-nav svg {
      fill: #fff; }
    .site-navigation .logo-nav img {
      display: block;
      max-height: 2rem;
      max-width: 100%; }
  .site-navigation .nav-utility,
  .site-navigation .nav-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end; }
    .site-navigation .nav-utility a,
    .site-navigation .nav-main a {
      color: white;
      display: flex;
      align-items: center;
      padding: .88rem .75rem;
      letter-spacing: -1;
      border-radius: .15rem;
      transition: .25s ease-in-out; }
      .site-navigation .nav-utility a.toggle-menu,
      .site-navigation .nav-main a.toggle-menu {
        padding: .65rem .75rem;
        display: none; }
      .site-navigation .nav-utility a svg,
      .site-navigation .nav-main a svg {
        fill: white;
        margin-right: .25rem;
        height: 1rem;
        width: 1rem;
        overflow: hidden;
        transition: .25s ease-in-out; }
      .site-navigation .nav-utility a:hover,
      .site-navigation .nav-main a:hover {
        color: #fff;
        background-color: #BA1017;
        transition: .25s ease-in-out; }
        .site-navigation .nav-utility a:hover svg,
        .site-navigation .nav-main a:hover svg {
          fill: #fff; }
  .site-navigation .nav-utility a {
    transition: .25s ease-in-out; }
    .site-navigation .nav-utility a.toggle-menu {
      display: flex;
      cursor: pointer; }
    .site-navigation .nav-utility a:hover {
      transition: .25s ease-in-out; }
    .site-navigation .nav-utility a:hover #nav-icon3 span {
      background: #fff; }
  .site-navigation .nav-main {
    display: block;
    position: fixed;
    left: 0;
    width: 100%;
    background-color: #54070a;
    /* Fallback Color */
    background-image: -webkit-gradient(linear, left top, left bottom, from(#62080c), to(#54070a));
    /* Saf4+, Chrome */
    background-image: -webkit-linear-gradient(top, #62080c, #54070a);
    /* Chrome 10+, Saf5.1+, iOS 5+ */
    background-image: -moz-linear-gradient(top, #62080c, #54070a);
    /* FF3.6 */
    background-image: -ms-linear-gradient(top, #62080c, #54070a);
    /* IE10 */
    background-image: -o-linear-gradient(top, #62080c, #54070a);
    /* Opera 11.10+ */
    background-image: linear-gradient(top, #62080c, #54070a);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#62080c', EndColorStr='#54070a');
    overflow: auto;
    top: 6rem;
    height: calc(100% - 6rem );
    visibility: visible;
    opacity: 1;
    transition: .25s ease-in-out; }
    .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation,
    .site-navigation .nav-main .menu > ul {
      width: 100%;
      max-width: 480px;
      padding: 1rem;
      margin: 0 auto; }
      .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li,
      .site-navigation .nav-main .menu > ul li {
        display: block;
        width: 100%;
        border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 0; }
        .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li a,
        .site-navigation .nav-main .menu > ul li a {
          display: flex;
          width: 100%;
          padding: 1.25rem; }
          .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li a svg,
          .site-navigation .nav-main .menu > ul li a svg {
            height: 1.25rem;
            width: 1.25rem; }
        .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li.menu-item-has-children,
        .site-navigation .nav-main .menu > ul li.menu-item-has-children {
          display: block; }
          .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li.menu-item-has-children ul.sub-menu,
          .site-navigation .nav-main .menu > ul li.menu-item-has-children ul.sub-menu {
            display: none;
            margin: 0;
            width: 100%;
            position: relative !important;
            top: 0 !important; }
            .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li.menu-item-has-children ul.sub-menu li a,
            .site-navigation .nav-main .menu > ul li.menu-item-has-children ul.sub-menu li a {
              padding-left: 2.25rem; }
          .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li.menu-item-has-children.expand ul.sub-menu,
          .site-navigation .nav-main .menu > ul li.menu-item-has-children.expand ul.sub-menu {
            display: block; }
    .site-navigation .nav-main.hidden {
      visibility: hidden;
      opacity: 0;
      transition: .25s ease-in-out; }
  .site-navigation.smaller {
    height: 4rem;
    border-top: 0px;
    border-bottom-width: 0px;
    background: #7A0A0F;
    background-color: #7A0A0F;
    transition: .25s ease-in-out; }
    .site-navigation.smaller .nav-main {
      top: 4rem;
      transition: .25s ease-in-out;
      height: calc(100% - 4rem); }
  .site-navigation.filled {
    background: #7A0A0F;
    background-color: #7A0A0F;
    transition: .25s ease-in-out; }

.site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li a:before {
  content: "";
  display: inline-block;
  height: 14px;
  width: 45px;
  margin-right: .5rem;
  background-image: url("_/img/menu-key.png"); }

@media only screen and (min-width: 768px) {
  #wrapper {
    padding-top: 0; }
    #wrapper .site-navigation nav[role="navigation"] {
      min-width: 38.5rem; } }

@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .site-navigation .nav-utility a,
  .site-navigation .nav-main a {
    padding-right: .6rem;
    padding-left: .5rem; } }

@media only screen and (max-width: 768px) {
  #nav-icon3 span:nth-child(1) {
    top: 0px; }
  #nav-icon3 span:nth-child(2), #nav-icon3 span:nth-child(3) {
    top: 6px; }
  #nav-icon3 span:nth-child(4) {
    top: 11px; }
  .site-navigation {
    height: 4rem;
    justify-content: space-between; }
    .site-navigation .nav-utility a.phone-menu,
    .site-navigation .nav-utility a.envelope-menu,
    .site-navigation .nav-utility a.map-menu,
    .site-navigation .nav-utility a.login-menu,
    .site-navigation .nav-utility a.cart-menu {
      display: none; }
    .site-navigation .nav-main {
      top: 4rem;
      height: calc(100% - 4rem ); }
      .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation li,
      .site-navigation .nav-main .menu > ul li {
        padding-bottom: 0;
        border: 0px none; }
      .site-navigation .nav-main .menu-main-navigation-container > ul#menu-main-navigation.mobile-utility,
      .site-navigation .nav-main .menu > ul.mobile-utility {
        display: block !important;
        border-top: 1px solid rgba(255, 255, 255, 0.85); } }

.hero {
  position: relative;
  margin: 0 !important;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: auto;
  min-height: 460px;
  background-color: #301011; }
  .hero .background-image {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center; }
  .hero .background-overlay {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .hero .inner-wrap {
    position: relative;
    z-index: 3;
    color: #e5e9ec;
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center; }
    .hero .inner-wrap .logo-hero {
      margin-bottom: 1rem; }
      .hero .inner-wrap .logo-hero a {
        display: block; }
        .hero .inner-wrap .logo-hero a img {
          max-height: 10rem;
          width: auto; }
    .hero .inner-wrap .heading {
      font-family: "sweet_hipsterregular", serif;
      color: #e5e9ec;
      font-size: 7rem;
      line-height: 1em;
      font-weight: 400;
      margin-bottom: 0; }
    .hero .inner-wrap .tagline {
      font-size: 1.5rem;
      line-height: 1.25em; }
      .hero .inner-wrap .tagline .description {
        font-family: 'Droid Serif';
        font-style: italic;
        margin-bottom: 1.5rem; }
      .hero .inner-wrap .tagline .cta .cta-button-filled, .hero .inner-wrap .tagline .cta form button, form .hero .inner-wrap .tagline .cta button, .hero .inner-wrap .tagline .cta
      form input[type="button"],
      form .hero .inner-wrap .tagline .cta input[type="button"], .hero .inner-wrap .tagline .cta
      form input[type="submit"],
      form .hero .inner-wrap .tagline .cta input[type="submit"], .hero .inner-wrap .tagline .cta
      form input[type="reset"],
      form .hero .inner-wrap .tagline .cta input[type="reset"] {
        margin-bottom: 0; }

body.home .hero {
  height: 100vh;
  min-height: 600px; }
  body.home .hero .background-image {
    background-attachment: fixed;
    background-position-y: 0px; }

/* Portrait */
@media screen and (max-width: 768px) and (orientation: portrait) {
  body.home .hero .background-image {
    background-size: auto 140vh; } }

/* Landscape */
@media screen and (max-width: 768px) and (orientation: landscape) {
  body.home .hero .background-image {
    background-size: auto 220vh; } }

@media only screen and (max-width: 480px) {
  .hero .inner-wrap p.heading {
    font-size: 5rem; }
  .hero .inner-wrap p.tagline {
    font-size: 1.25rem; } }

.events .event {
  background-color: #e5e9ec;
  margin: 2rem 0; }
  .events .event.grid-row {
    justify-content: center !important;
    align-items: center !important;
    padding: 0; }
    .events .event.grid-row .col-1-3.date {
      padding: 0;
      position: relative;
      padding-bottom: 33.33%;
      background-color: #330406; }
      .events .event.grid-row .col-1-3.date .date-wrap {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        color: #e5e9ec; }
        .events .event.grid-row .col-1-3.date .date-wrap .month {
          width: 100%;
          text-align: center;
          font-size: 4.5rem;
          text-transform: uppercase;
          font-weight: 900;
          line-height: .85em; }
        .events .event.grid-row .col-1-3.date .date-wrap .day {
          width: 100%;
          text-align: center;
          font-size: 4rem;
          font-weight: 300;
          line-height: .85em; }
    .events .event.grid-row .col-2-3.details {
      padding: 0 2rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .events .event.grid-row .col-2-3.details h2 {
        min-width: 100%;
      }
      .events .event.grid-row .col-2-3.details h2 span, .events .event.grid-row .col-2-3.details h3 span {
        font-size: 1rem;
        display: block; }

.events.reduced {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto; }
  .events.reduced .event {
    min-height: 300px; }
    .events.reduced .event .date {
      min-height: 300px; }

.events.background-yes {
  background-color: #7A0A0F; }
  .events.background-yes .content-wrap > p,
  .events.background-yes .content-wrap > h2 {
    color: #fff; }

@media only screen and (max-width: 768px) {
  .events .event {
    margin: 1.25rem 0; }
    .events .event .col-1-3.date {
      padding-bottom: 100% !important; }
    .events .event .col-2-3.details {
      padding: 1rem !important; } }

.social-stripe .inner-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .social-stripe .inner-wrap h3, .social-stripe .inner-wrap h2 {
    display: flex;
    margin: 0; }
  .social-stripe .inner-wrap .social-icons {
    display: flex;
    flex-wrap: wrap;
    margin-left: .5rem; }
    .social-stripe .inner-wrap .social-icons a {
      display: flex;
      padding: 0 .25rem; }
      .social-stripe .inner-wrap .social-icons a svg {
        width: 2.5rem;
        height: 2.5rem; }

.featured-excerpts .inner-wrap .group {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end; }
  .featured-excerpts .inner-wrap .group .excerpt-wrap {
    z-index: 2;
    left: 0;
    width: 33.33%;
    height: 440px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #7A0A0F;
    border-left-width: 0px; }
  .featured-excerpts .inner-wrap .group .excerpt {
    text-align: center;
    padding: 2rem 1rem;
    color: #fff; }
    .featured-excerpts .inner-wrap .group .excerpt h2, .featured-excerpts .inner-wrap .group .excerpt h3 {
      margin-top: 0;
      margin-bottom: 1rem;
      color: inherit; }
    .featured-excerpts .inner-wrap .group .excerpt p:last-of-type {
      margin-bottom: 0; }
  .featured-excerpts .inner-wrap .group .image {
    width: 715px;
    height: 440px;
    max-width: 66.66%;
    max-height: 100%;
    overflow: hidden;
    background-color: #7A0A0F; }
    .featured-excerpts .inner-wrap .group .image img {
      opacity: .9;
      transition: .3s;
      display: block;
      height: 100%;
      width: 100%;
      object-fit: cover; }

.featured-excerpts.alt .group {
  justify-content: flex-start;
  flex-direction: row-reverse; }
  .featured-excerpts.alt .group .excerpt-wrap {
    left: auto;
    right: 0;
    border-left: 0px;
    border-right-width: 0px; }

@media only screen and (max-width: 768px) {
  .featured-excerpts.outer-wrap {
    padding: 0; }
  .featured-excerpts .inner-wrap .group {
    flex-direction: column-reverse; }
    .featured-excerpts .inner-wrap .group .excerpt-wrap {
      position: relative;
      width: 100%;
      height: auto;
      border-left: 0;
      border-right: 0;
      border-top: 4px solid #7A0A0F; }
    .featured-excerpts .inner-wrap .group .image {
      width: 100%;
      max-width: 100%;
      height: auto; } }

.featured-blocks .grid-row {
  padding: 0 1rem; }

.featured-blocks .col-1-3 {
  padding: 0 1rem;
  position: relative; }
  .featured-blocks .col-1-3 a {
    display: flex;
    position: relative;
    background-size: cover;
    align-items: center;
    text-align: center; }
    .featured-blocks .col-1-3 a img {
      display: block;
      position: relative;
      z-index: 1;
      width: 100%;
      height: auto; }
    .featured-blocks .col-1-3 a span {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      display: block;
      z-index: 2; }

@media only screen and (max-width: 768px) {
  .featured-blocks .grid-row .col-1-3 {
    margin: 1rem auto; } }

@media only screen and (max-width: 480px) {
  .featured-blocks .grid-row .col-1-3 {
    margin: .5rem auto; } }

.footer-contact form {
  max-width: 420px; }
  .footer-contact form label, .footer-contact form input, .footer-contact form select, .footer-contact form textarea {
    display: block;
    width: 100%;
    padding: .25rem;
    margin: 0 0 .5rem;
    background-color: #fff;
    font-family: "Lato", sans-serif;
    box-shadow: 0 0 0 transparent; }
  .footer-contact form textarea {
    height: 5rem;
    overflow: auto; }
  .footer-contact form label {
    position: relative;
    border-left: 4px solid #ff9b9a; }
    .footer-contact form label:active {
      outline: 0 0 20px #DC6C60; }
    .footer-contact form label .wpcf7-not-valid-tip {
      position: absolute;
      top: -3rem;
      left: 0;
      background-color: #fff;
      white-space: nowrap; }
  .footer-contact form input, .footer-contact form textarea {
    border: 0px none;
    padding: .25rem 0;
    margin: 0;
    background-color: #fff; }
    .footer-contact form input:focus, .footer-contact form textarea:focus {
      outline: 0; }
  .footer-contact form button {
    margin-top: 1rem;
    font-family: "Lato", sans-serif; }
  .footer-contact form div.wpcf7-response-output {
    margin: 0 0 0 0; }
  .footer-contact form div.wpcf7-response-output {
    position: absolute;
    border: 0px none;
    color: #fff;
    margin-top: -1rem;
    width: 420px;
    text-align: center; }
  .footer-contact form div.wpcf7-validation-errors {
    background-color: #c11018; }
  .footer-contact form div.wpcf7-mail-sent-ok {
    background-color: #00b300; }
  .footer-contact form p:last-of-type {
    margin-bottom: 0; }

@media only screen and (max-width: 480px) {
  .footer-contact form div.wpcf7-response-output {
    margin-top: -.75rem;
    top: inherit;
    left: inherit;
    position: relative;
    width: 100%; } }

.call-to-action.background-yes {
  background-color: rgba(255, 165, 0, 0.75); }

.call-to-action p:last-of-type {
  margin-bottom: 0; }

.footer-links.outer-wrap {
  margin-bottom: 0;
  color: #BA1017; }
  .footer-links.outer-wrap svg {
    width: 1.25rem;
    height: 1.25rem; }
  .footer-links.outer-wrap hr {
    border-color: #BA1017; }

.footer-links .copyright {
  font-size: .85rem; }

article.post .post-heading {
  margin-bottom: .35rem; }
  article.post .post-heading h1, article.post .post-heading h2 {
    margin-bottom: 0;
    text-transform: capitalize; }
    article.post .post-heading h1 a, article.post .post-heading h2 a {
      text-decoration: none; }
  article.post .post-heading .posted-on,
  article.post .post-heading .tags {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1px; }
    article.post .post-heading .posted-on .author {
      text-transform: none;
      font-style: italic;
      letter-spacing: 0px; }

body.category article.post {
  clear: both;
  overflow: hidden;
  background: #f9f9f9;
  padding: 0.01rem 1.5rem;
  margin-top: 1rem;
  border-radius: .25rem; }
  body.category article.post .entry h2 {
    font-size: 1.5rem; }

body.single-post article.post .post-heading {
  margin-bottom: 1.35rem; }

body.category .content-wrap > h2:first-of-type {
  font-size: 1.5rem; }

@media only screen and (max-width: 768px) {
  .footer-contact .grid-row .col-1-2 form {
    margin-right: auto;
    margin-left: auto; } }

/* Cart Styles 08-19-2019 */
p + .wp_cart_button_wrapper {
  margin-top: -.75rem;
}
.wp_cart_button_wrapper {
  display: block;
}
.wp_cart_variation_section {
  display: inline-block;
}
.wp_cart_variation_section span.wp_cart_variation_name {
  display: inline-block;
}
.wp_cart_variation_section select {
  display: inline-block;
  width: 180px;
  margin: 0 .5rem;
}
.wp_cart_button_wrapper form input[type="submit"] {
  padding: .5rem 1rem;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.shopping_cart table tr td,
.shopping_cart table tr th {
  background-color: #ffffff;
}

/* Special Post Styles 08-21-2019 */



body.postid-385 .hero .inner-wrap .heading {
display: none;
}
body.postid-385 .hero .inner-wrap:before {
  content: "";
  width: 287px;
  height: 170px;
  display: block;
  margin: 0 auto;
  background-image: url('https://www.planetbubble.org/wp-content/uploads/2019/08/YL-event-cover-transparent.png');
}
