#r8_content h3, .cke_editable h2, .infoBlock h3 {
    font-family: 'Crete Round', serif;
}
 
.jh-solid-box {
  background-color: #960909;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 0px;
  display: block;
}
 
.jh-solid-box2 {
  background-color: #ffffff;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 300px;
  display: block;
}
 
.jh-solid-box3 {
  background-color: #f1f1f1;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 350px;
  display: block;
}
 
.jh-solid-box4 {
  background-color: #f1f1f1;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 0px;
  display: block;
}
 
.jh-solid-box5 {
  background-color: #ffffff;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 0px;
  display: block;
}
 
.jh-solid-box7 {
  background-color: #ffffff;
  margin-bottom: 1em;
  padding: 15px;
  min-height: 0px;
  display: block;
}
 
/* Original scrolling accreditation banner */
.logo-banner {
  --logo-height: 82px;
  --logo-width: 176px;
  --logo-gap: 54px;
  --scroll-speed: 30s;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
  overflow: hidden;
  background: transparent;
}
.logo-banner__track {
  display: flex;
  width: max-content;
  animation: logo-banner-scroll var(--scroll-speed) linear infinite;
  will-change: transform;
}
.logo-banner__group {
  display: flex;
  align-items: center;
  gap: var(--logo-gap);
  padding-right: var(--logo-gap);
  flex-shrink: 0;
}
.logo-banner__item {
  width: var(--logo-width);
  height: var(--logo-height);
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
@keyframes logo-banner-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
 
.r8_form {
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px;
  display: table;
  background: #ffffff;
  color: #000000;
}
.r8_form_title {
  text-align: center;
  font-size: 2.5em;
  padding-bottom: 0.5em;
  padding-top: 0.5em;
}
.r8_form .r8_form_para {
  line-height: 1.35;
  padding-bottom: 0.5em;
}
.r8_form label {
  margin-top: 3px;
  margin-bottom: 3px;
  font-size: 1.2em;
  line-height: 1.8em;
}
 
 
/* ==========================================================
   MOBILE OPTIMISATION - ADDED
   Everything below fires at 767px and under only.
   Desktop is untouched.
   ========================================================== */
 
/* Sticky mobile bar - hidden by default */
.jh-mobile-bar {
  display: none;
}
 
@media (max-width: 767px) {
 
  /* ------------------------------------------------------
     1. KILL THE FORCED BOX HEIGHTS
     The min-heights exist so desktop 3-across grids line up.
     Stacked on mobile they just add dead space. Several are
     set inline, hence !important.
     ------------------------------------------------------ */
  #r8_content .jh-solid-box,
  #r8_content .jh-solid-box2,
  #r8_content .jh-solid-box3,
  #r8_content .jh-solid-box4,
  #r8_content .jh-solid-box5,
  #r8_content .jh-solid-box7 {
    min-height: 0 !important;
    padding: 14px !important;
    margin-bottom: 0.65em;
  }
 
  /* ------------------------------------------------------
     2. BUTTONS - stop the overlap
     Buttons separated by   in the editor give no
     reliable gap once they wrap. Stack them full width.
     ------------------------------------------------------ */
  #r8_content .btn,
  #r8_content .btn-lg {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 14px 12px !important;
    font-size: 1.05em !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-align: center;
    float: none !important;
  }
 
  #r8_content .btn + a[href^="tel:"],
  #r8_content .btn-lg + a[href^="tel:"] {
    display: inline-block;
    margin-top: 4px;
  }
 
  /* ------------------------------------------------------
     3. HIDE THE INLINE FORM EMBEDS
     Driven by the jh-hide-mobile class on the two form
     columns. Every CTA button still opens the popup form.
     ------------------------------------------------------ */
  #r8_content .jh-hide-mobile {
    display: none !important;
  }
 
  /* ------------------------------------------------------
     4. STRIP OUT DEAD VERTICAL SPACE
     Spacer gifs only stop desktop columns collapsing.
     ------------------------------------------------------ */
  #r8_content img.noCollapse {
    display: none !important;
  }
 
  #r8_content .stripeInner {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
 
  #r8_content .stripeOuter {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
 
  #r8_content .colOuter {
    margin-bottom: 0 !important;
  }
 
  #r8_content p {
    margin-bottom: 0.7em;
  }
 
  #r8_content ul,
  #r8_content ol {
    padding-left: 20px;
    margin-bottom: 0.7em;
  }
 
  #r8_content li {
    margin-bottom: 4px;
  }
 
  /* ------------------------------------------------------
     5. TYPOGRAPHY
     ------------------------------------------------------ */
  #r8_content h1 {
    font-size: 1.95em !important;
    line-height: 1.2 !important;
    margin-bottom: 10px;
  }
 
  #r8_content h2 {
    font-size: 1.55em !important;
    line-height: 1.25 !important;
    margin-bottom: 10px;
  }
 
  #r8_content h3 {
    font-size: 1.28em !important;
    line-height: 1.3 !important;
    margin-bottom: 8px;
  }
 
  #r8_content h4 {
    font-size: 1.18em !important;
    line-height: 1.3 !important;
  }
 
  /* r8_small shrinks heading text - cancel it inside headings on mobile */
  #r8_content h1 .r8_small,
  #r8_content h2 .r8_small,
  #r8_content h3 .r8_small,
  #r8_content h4 .r8_small {
    font-size: inherit !important;
  }
 
  /* Neutralise inline 1.5em pull-quotes and fa-1_5x spans */
  #r8_content p[style*="1.5em"],
  #r8_content .fa-1_5x {
    font-size: 1em !important;
    line-height: 1.5 !important;
  }
 
  /* ------------------------------------------------------
     6. IMAGES - override the inline pixel widths
     ------------------------------------------------------ */
  #r8_content .colOuter img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    max-height: 180px;
    object-fit: cover;
    margin: 0 0 8px 0 !important;
  }
 
  /* ------------------------------------------------------
     7. PARALLAX
     background-attachment: fixed is broken on iOS Safari.
     It causes the zoomed, juddering hero.
     ------------------------------------------------------ */
  #r8_content .parallax01,
  #r8_content .parallax02 {
    background-attachment: scroll !important;
    background-position: center center !important;
    background-size: cover !important;
  }
 
  #r8_content .parallax-light {
    margin-top: 0 !important;
    padding: 20px 0 !important;
  }
 
  /* ------------------------------------------------------
     8. LOGO BANNER - scale down
     ------------------------------------------------------ */
  .logo-banner {
    --logo-height: 46px;
    --logo-width: 100px;
    --logo-gap: 26px;
    --scroll-speed: 20s;
  }
 
  /* ------------------------------------------------------
     9. WOW ANIMATIONS
     fadeInLeftBig / fadeInRightBig translate horizontally
     and cause sideways scroll on narrow screens.
     ------------------------------------------------------ */
  #r8_content .wow {
    animation-name: none !important;
    visibility: visible !important;
  }
 
  body {
    overflow-x: hidden;
  }
 
  /* ------------------------------------------------------
     10. FORM SIZING (for pages that keep the form visible)
     ------------------------------------------------------ */
  .r8_form {
    display: block;
    padding: 12px;
  }
 
  .r8_form_title {
    font-size: 1.5em;
    padding-bottom: 0.3em;
    padding-top: 0.3em;
  }
 
  .r8_form label {
    font-size: 1em;
    line-height: 1.4em;
  }
 
  /* ------------------------------------------------------
     11. STICKY CALL BAR
     Replaces the hidden form as the mobile conversion path.
     ------------------------------------------------------ */
  .jh-mobile-bar {
    display: flex !important;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
  }
 
  .jh-mobile-bar a {
    flex: 1 1 50%;
    padding: 14px 6px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: #ffffff;
  }
 
  .jh-mobile-bar a:first-child {
    background: #960909;
  }
 
  .jh-mobile-bar a:last-child {
    background: #333333;
  }
 
  .jh-mobile-bar a:hover,
  .jh-mobile-bar a:focus {
    color: #ffffff;
    text-decoration: none;
  }
 
  /* Stop the bar covering the final CTA */
  #r8_content {
    padding-bottom: 56px;
  }
}

.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;
}
