#r8_content h1,
#r8_content h2,
#r8_content h3,
#r8_content h4,
#r8_content h5,
#r8_content h6,
#r8_content h1 span,
#r8_content h2 span,
#r8_content h3 span,
#r8_content h4 span,
#r8_content h5 span,
#r8_content h6 span {
  font-family: Gabarito, sans-serif !important;
}

/* Restore the original desktop box styling and minimum heights. */
#r8_content .jh-solid-box {
  display: block;
  min-height: 50px;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 15px;
  background-color: rgb(30, 29, 61);
}

#r8_content .jh-solid-box1 {
  display: block;
  min-height: 50px;
  margin-top: 2em;
  margin-bottom: 2em;
  padding: 25px;
  background-color: rgb(38, 37, 65);
}

#r8_content .jh-solid-box2 {
  display: block;
  min-height: 50px;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 15px;
  background-color: #f1f1f1;
}

#r8_content .jh-border-box {
  display: block;
  min-height: 230px;
  margin-bottom: 1em;
  padding: 20px;
  border: 1px solid #eeeeee;
  background-color: #ffffff;
  box-shadow: -2px 2px 5px #e8e8e8;
}

#r8_content .jh-border-box2 {
  display: block;
  min-height: 100px;
  margin-bottom: 1em;
  padding: 15px;
  background-color: #ffffff;
}

#r8_content .jh-border-box3 {
  display: block;
  min-height: 540px;
  margin-bottom: 1em;
  padding: 20px;
  border: 1px solid #eeeeee;
  background-color: #ffffff;
  box-shadow: -2px 2px 5px #282828;
}

/* Exact minimum heights from the original page HTML.
   These are deliberately unscoped so the CMS wrapper cannot prevent them
   from applying, but they only target the page's custom jh box classes. */
@media only screen and (min-width: 768px) {
  .jh-solid-box {
    min-height: 50px !important;
  }

  .jh-solid-box1 {
    min-height: 50px !important;
  }

  .jh-solid-box2 {
    min-height: 50px !important;
  }

  .jh-border-box {
    min-height: 230px !important;
  }

  .jh-border-box2 {
    min-height: 100px !important;
  }

  .jh-border-box3 {
    min-height: 540px !important;
  }
}

@media only screen and (max-width: 767px) {
  #r8_content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Full-bleed parallax and coloured bands, independent of theme containers. */
  #r8_content .stripeOuter {
    position: relative !important;
    left: 50% !important;
    float: none !important;
    clear: both !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #r8_content .stripeOuter > article,
  #r8_content .stripeOuter > article > section,
  #r8_content .stripeOuter .ub,
  #r8_content .stripeOuter .parallax,
  #r8_content .stripeOuter .parallax-overlay {
    float: none !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Keep text comfortably inset while its background spans the screen. */
  #r8_content .stripeOuter .container,
  #r8_content .stripeOuter .stripeInner {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  #r8_content .colOuter,
  #r8_content article.row {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #r8_content section[class*="col-"],
  #r8_content div[class*="col-"] {
    display: block !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #r8_content .wow,
  #r8_content [class*="fadeIn"] {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }

  /* Hero. */
  #r8_content .parallax03 {
    min-height: 420px !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  #r8_content .parallax03 .parallax-overlay {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 420px !important;
    padding: 55px 20px !important;
  }

  #r8_content .parallax03 .stripeInner {
    padding: 0 !important;
  }

  #r8_content .parallax03 .stripeInner > p,
  #r8_content .parallax03 .col-md-2,
  #r8_content .parallax03 .col-md-8 > div > p:first-child,
  #r8_content .parallax03 .col-md-8 > div > p:last-child {
    display: none !important;
  }

  #r8_content .parallax03 h1,
  #r8_content .parallax03 h1 span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  #r8_content .parallax03 h1 {
    margin-bottom: 18px !important;
  }

  #r8_content .parallax03 h1 + p,
  #r8_content .parallax03 h1 + p span,
  #r8_content .parallax03 h1 + p strong {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Only images inside the editable page are made responsive. */
  #r8_content img:not(.noCollapse) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #r8_content img.noCollapse {
    display: none !important;
  }

  #r8_content h1,
  #r8_content h2,
  #r8_content h3,
  #r8_content h4,
  #r8_content p,
  #r8_content li {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  #r8_content h2 {
    margin: 24px 0 13px !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
  }

  #r8_content h3 {
    margin: 19px 0 10px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  #r8_content h3 span,
  #r8_content h3 span[style*="font-size"] {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  #r8_content h4 {
    margin: 16px 0 8px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  #r8_content p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    line-height: 1.55 !important;
  }

  #r8_content p .fa-2x,
  #r8_content div > .fa-2x {
    font-size: 1.25em !important;
  }

  #r8_content p .fa-1_5x,
  #r8_content div > .fa-1_5x {
    font-size: 1.1em !important;
  }

  #r8_content .jh-solid-box,
  #r8_content .jh-solid-box1,
  #r8_content .jh-solid-box2,
  #r8_content .jh-border-box,
  #r8_content .jh-border-box2,
  #r8_content .jh-border-box3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 12px 0 18px !important;
    padding: 18px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #r8_content .r8HideXXXX {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  #r8_content .r8HideXXXX + .jh-border-box2 {
    margin-top: 0 !important;
  }

  #r8_content .parallax02,
  #r8_content .parallax02 .parallax-overlay {
    height: auto !important;
    min-height: 0 !important;
    background-size: cover !important;
    background-position: center !important;
  }

  #r8_content .btn,
  #r8_content a.btn {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 10px 0 !important;
    padding: 13px 16px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  #r8_content a[href^="tel:"] {
    display: inline-block;
    white-space: nowrap !important;
  }

  #r8_content ul,
  #r8_content ol {
    margin: 8px 0 17px !important;
    padding-left: 24px !important;
  }

  #r8_content li {
    margin-bottom: 7px !important;
    line-height: 1.45 !important;
  }

  #r8_content .r8_map,
  #r8_content .r8_gallery,
  #r8_content .r8_faq,
  #r8_content .r8_form,
  #r8_content iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

@media only screen and (max-width: 420px) {
  #r8_content .parallax03,
  #r8_content .parallax03 .parallax-overlay {
    min-height: 390px !important;
  }

  #r8_content .parallax03 h1,
  #r8_content .parallax03 h1 span {
    font-size: 27px !important;
  }

  #r8_content .parallax03 h1 + p,
  #r8_content .parallax03 h1 + p span,
  #r8_content .parallax03 h1 + p strong {
    font-size: 16px !important;
  }

  #r8_content h2 { font-size: 23px !important; }
  #r8_content h3 { font-size: 19px !important; }
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
}
