.shg-box {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  flex-direction: column;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  /**
   * While `flex: 1` is enough here, we need to supply the rest
   * of the parameters (`1 auto`) to keep compatibility with IE11.
   * Otherwise, IE11 flex would break.
   */
  flex: 1 1 auto;
}

.shg-box > .shg-box-content {
  z-index: 4;
  position: relative;
}

.shg-box-vertical-align-wrapper, .shg-box-vertical-center-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.shg-box-vertical-align-top {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.shg-box-vertical-align-center, .shg-box-vertical-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.shg-box-vertical-align-bottom {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.shg-box-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  pointer-events: none;
}

.shg-box-video-wrapper {
  /*
    It's very important we don't create a new containing block for shg-box-video-wrapper
    Jarallax uses transforms + position: fixed to achieve it's parallaxing effect

    https://developer.mozilla.org/en-US/docs/Web/CSS/position

    position: fixed
    The element is removed from the normal document flow, and no space is created for the element in the page layout. 
    It is positioned relative to the initial containing block established by the viewport, 

    *
      except when one of its ancestors has a transform, perspective, or filter property set to something other than none 
      (see the CSS Transforms Spec), or the will-change property is set to transform, 
      in which case that ancestor behaves as the containing block. 
    *
  */

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

#s-df1b11a9-cc5b-4b14-bfea-f803748b95ef {
  margin-left: auto;
margin-right: auto;
min-height: 50px;
}








#s-df1b11a9-cc5b-4b14-bfea-f803748b95ef > .shg-box-overlay {
  background-color: #fff;
  opacity: 0;
  display: block;
}#s-df1b11a9-cc5b-4b14-bfea-f803748b95ef.shg-box.shg-c {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.shg-row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  min-height: inherit;
  max-height: inherit;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.shg-row > * {
  min-height: inherit;
  max-height: inherit;
}

[class*=shg-c-xs],
[class*=shg-c-sm],
[class*=shg-c-md],
[class*=shg-c-lg] {
  position: relative;
}

/* 
  Shopify base css adds display none to empty divs
  This causes items in the second column position to shift when
  the first column is empty. In order to overwrite that style,
  we have to manually set empty divs in the column to display block 
  so the whole element holds its positioning on published pages.
*/

.shg-row > div:empty {
  display: block;
}

#s-fa3de7a3-0602-427b-b70f-91edd1611dcb {
  margin-top: 5px;
margin-left: 1%;
margin-bottom: 5px;
margin-right: 1%;
}
@media (min-width: 992px) and (max-width: 1199px){#s-fa3de7a3-0602-427b-b70f-91edd1611dcb {
  margin-left: 1%;
margin-right: 1%;
}
}@media (min-width: 768px) and (max-width: 991px){#s-fa3de7a3-0602-427b-b70f-91edd1611dcb {
  margin-left: 1%;
margin-right: 1%;
}
}@media (max-width: 767px){#s-fa3de7a3-0602-427b-b70f-91edd1611dcb {
  margin-left: 1%;
margin-right: 1%;
}
}
@media (min-width: 0px) {
[id="s-fa3de7a3-0602-427b-b70f-91edd1611dcb"] > .shg-row > .shg-c-xs-12 {
  width: 100%;
}

}

@media (min-width: 768px) {
[id="s-fa3de7a3-0602-427b-b70f-91edd1611dcb"] > .shg-row > .shg-c-sm-6 {
  width: calc(50.0% - 5.0px);
}

}

@media (min-width: 992px) {
[id="s-fa3de7a3-0602-427b-b70f-91edd1611dcb"] > .shg-row > .shg-c-md-6 {
  width: calc(50.0% - 5.0px);
}

}

@media (min-width: 1200px) {
[id="s-fa3de7a3-0602-427b-b70f-91edd1611dcb"] > .shg-row > .shg-c-lg-6 {
  width: calc(50.0% - 5.0px);
}

}

#s-26d6beb0-71d2-48c7-b57d-b4e9034c8c4e {
  margin-top: 5px;
margin-left: 0%;
margin-bottom: 5px;
margin-right: 0%;
}

@media (min-width: 0px) {
[id="s-26d6beb0-71d2-48c7-b57d-b4e9034c8c4e"] > .shg-row > .shg-c-xs-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 768px) {
[id="s-26d6beb0-71d2-48c7-b57d-b4e9034c8c4e"] > .shg-row > .shg-c-sm-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 992px) {
[id="s-26d6beb0-71d2-48c7-b57d-b4e9034c8c4e"] > .shg-row > .shg-c-md-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 1200px) {
[id="s-26d6beb0-71d2-48c7-b57d-b4e9034c8c4e"] > .shg-row > .shg-c-lg-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

#s-5998d549-ad2d-419d-bfe1-1e97965b77e9 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-a6c5675a-73f8-4908-9d68-673d5e856aaf {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-47fd6d9c-8923-4623-a11c-8a017ea5c959 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-6224a74a-e6d7-476f-a752-2465a8195e61 {
  margin-top: 5px;
margin-left: 0%;
margin-bottom: 5px;
margin-right: 0%;
}

@media (min-width: 0px) {
[id="s-6224a74a-e6d7-476f-a752-2465a8195e61"] > .shg-row > .shg-c-xs-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 768px) {
[id="s-6224a74a-e6d7-476f-a752-2465a8195e61"] > .shg-row > .shg-c-sm-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 992px) {
[id="s-6224a74a-e6d7-476f-a752-2465a8195e61"] > .shg-row > .shg-c-md-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 1200px) {
[id="s-6224a74a-e6d7-476f-a752-2465a8195e61"] > .shg-row > .shg-c-lg-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

#s-1da03611-f466-48ae-9883-0fec394fa3f9 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-4e78aee3-17a9-4973-9f86-a0560a686cc9 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-013ef02e-b5db-4488-87a9-85f96b2ee031 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-746d8d2d-812c-4edb-98c4-7b7954f76da7 {
  margin-top: 5px;
margin-left: 1%;
margin-bottom: 5px;
margin-right: 1%;
}
@media (min-width: 992px) and (max-width: 1199px){#s-746d8d2d-812c-4edb-98c4-7b7954f76da7 {
  margin-left: 1%;
margin-right: 1%;
}
}@media (min-width: 768px) and (max-width: 991px){#s-746d8d2d-812c-4edb-98c4-7b7954f76da7 {
  margin-left: 1%;
margin-right: 1%;
}
}@media (max-width: 767px){#s-746d8d2d-812c-4edb-98c4-7b7954f76da7 {
  margin-left: 1%;
margin-right: 1%;
}
}
@media (min-width: 0px) {
[id="s-746d8d2d-812c-4edb-98c4-7b7954f76da7"] > .shg-row > .shg-c-xs-12 {
  width: 100%;
}

}

@media (min-width: 768px) {
[id="s-746d8d2d-812c-4edb-98c4-7b7954f76da7"] > .shg-row > .shg-c-sm-6 {
  width: calc(50.0% - 5.0px);
}

}

@media (min-width: 992px) {
[id="s-746d8d2d-812c-4edb-98c4-7b7954f76da7"] > .shg-row > .shg-c-md-6 {
  width: calc(50.0% - 5.0px);
}

}

@media (min-width: 1200px) {
[id="s-746d8d2d-812c-4edb-98c4-7b7954f76da7"] > .shg-row > .shg-c-lg-6 {
  width: calc(50.0% - 5.0px);
}

}

#s-bab43d23-cff7-48df-ab23-5126aea58c60 {
  margin-top: 5px;
margin-left: 0%;
margin-bottom: 5px;
margin-right: 0%;
}

@media (min-width: 0px) {
[id="s-bab43d23-cff7-48df-ab23-5126aea58c60"] > .shg-row > .shg-c-xs-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 768px) {
[id="s-bab43d23-cff7-48df-ab23-5126aea58c60"] > .shg-row > .shg-c-sm-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 992px) {
[id="s-bab43d23-cff7-48df-ab23-5126aea58c60"] > .shg-row > .shg-c-md-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 1200px) {
[id="s-bab43d23-cff7-48df-ab23-5126aea58c60"] > .shg-row > .shg-c-lg-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

#s-66748971-cb73-4e68-af97-3a2a48419c03 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-8cc026b3-f48a-43be-9c24-0b69f399ed26 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-0bf8b36c-85c1-4f9b-817e-34e42416451d {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-25550db6-c622-4b95-a3ee-3587d8564cbf {
  margin-top: 5px;
margin-left: 0%;
margin-bottom: 5px;
margin-right: 0%;
}

@media (min-width: 0px) {
[id="s-25550db6-c622-4b95-a3ee-3587d8564cbf"] > .shg-row > .shg-c-xs-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 768px) {
[id="s-25550db6-c622-4b95-a3ee-3587d8564cbf"] > .shg-row > .shg-c-sm-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 992px) {
[id="s-25550db6-c622-4b95-a3ee-3587d8564cbf"] > .shg-row > .shg-c-md-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

@media (min-width: 1200px) {
[id="s-25550db6-c622-4b95-a3ee-3587d8564cbf"] > .shg-row > .shg-c-lg-4 {
  width: calc(33.333333333333336% - 3.3333333333333335px);
}

}

#s-344c6a4c-cb07-4b89-8ddb-a4155c5cb3df {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-fa3f566a-d692-4905-be1c-13e5581fc98b {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

#s-18ad5a8a-ed1e-49b7-bede-138497b0ac90 {
  margin-left: auto;
margin-right: auto;
text-align: left;
}

/*
  $vgutter : 20px
  $hgutter : 10px;
*/

.shg-c:before,
.shg-c:after {
  content: " ";
  display: table;
}

/**
  Ref:
  https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
  https://dnf.slack.com/archives/C0514HB79/p1538741509000100
**/
.shogun-root {
  z-index: 1;
  position: relative;
  isolation: isolate;
}

.shogun-root iframe {
  display: initial;
}

#mc_embed_signup .clear {
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
}

.shg-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.shogun-image {
  max-width: 100%;
  min-height: inherit;
  max-height: inherit;
  display: inline !important;
  border: 0;
  vertical-align: middle;
}

.shg-fw {
  margin-left: calc(50% - 50vw);
  width: 100vw;
}

.shg-fw .shg-fw {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

div[data-shg-lightbox-switch] {
  cursor: pointer;
}

.shg-lightbox {
  position: fixed;
  z-index: 999999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.85);
}

.shg-lightbox.hidden {
  display: none !important;
}

.shg-lightbox .shg-lightbox-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.shg-lightbox .shg-lightbox-close {
  position: absolute;
  right: 0;
  padding: 5px 0;
  color: #fff;
  font-size: 45px;
  margin-right: 10px;
  line-height: 30px;
  user-select: none;
  cursor: pointer;
  z-index: 1;
}

.shg-lightbox .shg-lightbox-image-container {
  padding: 25px;
}

.shg-lightbox .shg-lightbox-image {
  margin: auto;
  max-height: 90vh;
  max-width: 100%;
}

.shg-lightbox .shg-lightbox-close:hover,
.shg-lightbox .shg-lightbox-close:focus {
  color: #a2a2a2;
  text-decoration: none;
  cursor: pointer;
}

.shg-lightbox .shg-lightbox-nav {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: 35px;
  height: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(0%, -50%);
  z-index: 1;
}

.shg-lightbox .shg-lightbox-nav.hidden {
  display: none !important;
}

.shg-lightbox .shg-lightbox-nav.shg-nav-left {
  left: 0;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMjAzIDU0NHEwIDEzLTEwIDIzbC0zOTMgMzkzIDM5MyAzOTNxMTAgMTAgMTAgMjN0LTEwIDIzbC01MCA1MHEtMTAgMTAtMjMgMTB0LTIzLTEwbC00NjYtNDY2cS0xMC0xMC0xMC0yM3QxMC0yM2w0NjYtNDY2cTEwLTEwIDIzLTEwdDIzIDEwbDUwIDUwcTEwIDEwIDEwIDIzeiIvPjwvc3ZnPg==);
}

.shg-lightbox .shg-lightbox-nav.shg-nav-right {
  right: 0;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMTcxIDk2MHEwIDEzLTEwIDIzbC00NjYgNDY2cS0xMCAxMC0yMyAxMHQtMjMtMTBsLTUwLTUwcS0xMC0xMC0xMC0yM3QxMC0yM2wzOTMtMzkzLTM5My0zOTNxLTEwLTEwLTEwLTIzdDEwLTIzbDUwLTUwcTEwLTEwIDIzLTEwdDIzIDEwbDQ2NiA0NjZxMTAgMTAgMTAgMjN6Ii8+PC9zdmc+);
}

@media screen and (min-width: 769px) {
  .shg-lightbox .shg-lightbox-image-container {
    padding: 50px;
  }
}

.shogun-lazyload:not([src]),
.shogun-lazyloading:not([src]) {
  opacity: 0;
}

.shogun-lazyloaded {
  opacity: 1;
  transition: opacity 300ms;
}

.shogun-root a:empty,
.shogun-root article:empty,
.shogun-root dl:empty,
.shogun-root h1:empty,
.shogun-root h2:empty,
.shogun-root h3:empty,
.shogun-root h4:empty,
.shogun-root h5:empty,
.shogun-root h6:empty,
.shogun-root p:empty,
.shogun-root section:empty,
.shogun-root ul:empty {
  display: unset;
}

.shogun-root div:empty:not(.shopify-section *):not([id^="wistia"]) {
  display: inline-block;
}

/* User Content Animations --> */
[data-animations*="enterviewport"][data-animations*="fadeIn"],
[data-animations*="enterviewport"][data-animations*="zoomIn"] {
  opacity: 0;
}

/* <-- User Content Animations */

.shogun-form-error-msg,
.shogun-form-field-error-msg {
  display: flex;
  align-items: center;
  color: #dc143c;
}

.shogun-badge {
  margin-bottom: 50px;
}

.shogun-badge-container {
  position: fixed;
  right: 0;
  bottom: 0;
  margin-bottom: -10px;
}
