.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-ccf2e6a4-d166-4da2-a5f8-d7281364ef33 {
  margin-left: auto;
margin-right: auto;
}

@media (min-width: 0px) {
[id="s-ccf2e6a4-d166-4da2-a5f8-d7281364ef33"] > .shg-row > .shg-c-xs-12 {
  width: 100%;
}

}

@media (min-width: 768px) {
[id="s-ccf2e6a4-d166-4da2-a5f8-d7281364ef33"] > .shg-row > .shg-c-sm-6 {
  width: calc(50.0% - 0.0px);
}

}

@media (min-width: 992px) {
[id="s-ccf2e6a4-d166-4da2-a5f8-d7281364ef33"] > .shg-row > .shg-c-md-6 {
  width: calc(50.0% - 0.0px);
}

}

@media (min-width: 1200px) {
[id="s-ccf2e6a4-d166-4da2-a5f8-d7281364ef33"] > .shg-row > .shg-c-lg-6 {
  width: calc(50.0% - 0.0px);
}

}

.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-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-repeat: no-repeat;
background-size: cover;
margin-left: auto;
margin-right: auto;
min-height: 450px;
background-position: center center;
}
@media (max-width: 767px){#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  min-height: 300px;
}
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/);
}

@media (max-width: 480px) and (-webkit-max-device-pixel-ratio: 1.9) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/480x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (max-width: 480px) and (-webkit-min-device-pixel-ratio: 2) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/960x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 481px) and (max-width: 768px) and (-webkit-max-device-pixel-ratio: 1.9) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/768x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 481px) and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/1536x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 769px) and (max-width: 1024px) and (-webkit-max-device-pixel-ratio: 1.9) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/1024x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 769px) and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/2048x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 1025px) and (-webkit-max-device-pixel-ratio: 1.9) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/1200x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}
@media (min-width: 1025px) and (-webkit-min-device-pixel-ratio: 2) {
#s-abceb038-1b5a-40ca-bd16-6a13775affc5 {
  background-image: url(https://i.shgcdn.com/45b9c47e-f603-4e28-9355-8caa9be952c6/-/resize/2048x/);
}
#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shogun-lazyload-bg-image {
  background-image: none;
}

}







#s-abceb038-1b5a-40ca-bd16-6a13775affc5 > .shg-box-overlay {
  background-color: #fff;
  opacity: 0;
  display: block;
}#s-abceb038-1b5a-40ca-bd16-6a13775affc5.shg-box.shg-c {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

#s-a42b6148-a33b-438a-af3d-6ac86e620b81 {
  margin-top: 0px;
margin-left: 2%;
margin-right: 5%;
}
@media (max-width: 767px){#s-a42b6148-a33b-438a-af3d-6ac86e620b81 {
  margin-top: 20px;
margin-left: 2%;
margin-bottom: 0px;
margin-right: 5%;
min-height: 350px;
}
}
#s-a42b6148-a33b-438a-af3d-6ac86e620b81 {
  background-image: url();
}








#s-a42b6148-a33b-438a-af3d-6ac86e620b81 > .shg-box-overlay {
  background-color: #fff;
  opacity: 0;
  display: block;
}#s-a42b6148-a33b-438a-af3d-6ac86e620b81.shg-box.shg-c {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.shg-rich-text {
  overflow-wrap: break-word;
}

.shg-rich-text img {
  margin: 0 20px;
}

@media (max-width: 768px) {
  .shg-rich-text img {
    display: block;
    float: none !important;
    margin: 0 auto;
  }
}

.shg-default-text-content *:first-child {
  margin-top: 0;
}

.shg-default-text-content {
  text-align: left;
}

.shg-default-text-content p,
.shg-default-text-content h1,
.shg-default-text-content h2,
.shg-default-text-content h3,
.shg-default-text-content h4,
.shg-default-text-content h5,
.shg-default-text-content h6,
.shg-default-text-content address,
.shg-default-text-content pre,
.shg-default-text-content div,
.shg-default-text-content ol,
.shg-default-text-content ul {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  color: #000000;
  font-family: inherit;
  font-style: normal;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-transform: none;
}

.shg-default-text-content h1,
.shg-default-text-content h2,
.shg-default-text-content h3,
.shg-default-text-content h4,
.shg-default-text-content h5,
.shg-default-text-content h6 {
  color: ;
  font-family: ;
  font-weight: ;
}

.shg-default-text-content a {
  background-color: inherit;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-style: inherit;
  text-decoration: underline;
  text-transform: inherit;
}

.shg-default-text-content strong,
.shg-default-text-content em {
  background-color: inherit;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: inherit;
  text-transform: inherit;
}

.shg-default-text-content em {
  font-weight: inherit;
}

.shg-default-text-content strong {
  font-style: inherit;
  font-weight: 700;
}

/* https://stackoverflow.com/a/16094931/3696652 */
.shg-default-text-content ::selection,
.shg-default-text-content *::selection {
  background: #accef7;
}

.shg-default-text-content p {
  font-size: 1em;
  font-weight: ;
  letter-spacing: -0.005em;
  line-height: 1.714;
  margin-top: 0.6em;
  color: ;
  font-family: ;
}

.shg-default-text-content h1 {
  font-size: 1.714em;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.166;
  margin-top: 0.67em;
}

.shg-default-text-content h2 {
  font-size: 1.43em;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-top: 0.83em;
}

.shg-default-text-content h3 {
  font-size: 1.142em;
  font-weight: 500;
  letter-spacing: -0.008em;
  line-height: 1.5;
  margin-top: 1em;
}

.shg-default-text-content h4 {
  font-size: 1em;
  font-weight: 600;
  letter-spacing: -0.006em;
  line-height: 1.428;
  margin-top: 1.33em;
}

.shg-default-text-content h5 {
  font-size: 0.857em;
  font-weight: 600;
  letter-spacing: -0.003em;
  line-height: 1.333;
  margin-top: 1.43em;
}

.shg-default-text-content h6 {
  font-size: 0.785em;
  font-weight: 600;
  letter-spacing: -0.003em;
  line-height: 1.454;
  margin-top: 1.42em;
  text-transform: uppercase;
}

.shg-default-text-content ul {
  list-style: disc;
}

.shg-default-text-content ol {
  list-style: decimal;
}

.shg-default-text-content ul,
.shg-default-text-content ol {
  margin-block-end: 1em;
  margin-block-start: 1em;
  margin-bottom: 0;
  margin-inline-end: 0;
  margin-inline-start: 0;
  margin-top: 0;
  padding-inline-start: 40px;
}

.shg-default-text-content li {
  font-size: 1em;
  font-weight: normal;
  letter-spacing: -0.005em;
  line-height: 1;
  list-style: inherit;
  margin-top: 0.67em;
}

.shg-default-text-content pre {
  font-family: monospace;
  font-size: 1em;
  font-weight: normal;
  letter-spacing: -0.005em;
  line-height: 1.714;
  margin-top: 1em;
  white-space: pre-wrap;
  word-break: normal;
}

.shg-default-text-content address {
  font-size: 1em;
  font-style: italic;
  font-weight: normal;
  letter-spacing: -0.005em;
  line-height: 1.714;
  margin-top: 0;
}

.shg-default-text-content div {
  font-size: 1em;
  font-weight: normal;
  letter-spacing: -0.005em;
  line-height: 1.714;
  margin-bottom: 0;
  margin-top: 0.67em;
}

.shg-theme-text-content h1,
.shg-theme-text-content h2,
.shg-theme-text-content h3,
.shg-theme-text-content h4,
.shg-theme-text-content h5,
.shg-theme-text-content h6 {
  color: ;
  font-family: ;
  font-weight: ;
}

.shg-theme-text-content p {
  color: ;
  font-family: ;
  font-weight: ;
}

#s-405ed0ef-9fb7-4e03-a354-488ee99f0353 {
  padding-top: 80px;
padding-bottom: 0px;
}
@media (max-width: 767px){#s-405ed0ef-9fb7-4e03-a354-488ee99f0353 {
  padding-top: 20px;
}
}
#s-405ed0ef-9fb7-4e03-a354-488ee99f0353 .shg-proportional-font-size,
#s-405ed0ef-9fb7-4e03-a354-488ee99f0353 .shg-proportional-font-size :is(h1, h2, h3, h4, h5, h6) span.shg-heading-span {
  
    --proportional-font-size: 100;
    
    
    font-size: 1.0em;
  
}

/*
  $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;
}
