/* ══ FONT OVERRIDES ══ */
#r8_content h1,
#r8_content h2,
#r8_content h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  letter-spacing: 0.02em !important;
  line-height: 1.15 !important;
}
#r8_content h1 {
  font-size: 52px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
#r8_content h2 {
  font-size: 38px !important;
  font-weight: 700 !important;
}
#r8_content h3 {
  font-size: 24px !important;
  font-weight: 700 !important;
}
#r8_content p,
#r8_content li,
#r8_content a {
  font-family: 'DM Sans', sans-serif !important;
}

/* ══ TICKER — breaks out of CMS container to full viewport width ══ */
.rm-ticker-outer {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow: hidden;
  background-color: #FF8C00;
}
.rm-ticker-inner {
  display: flex;
  width: max-content;
  animation: rm-scroll 32s linear infinite;
  white-space: nowrap;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 11px 0;
  color: #000000;
}
.rm-ticker-set { display: flex; }
.rm-ticker-item { padding: 0 32px; }
@keyframes rm-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ══ STATS STRIP ══ */
.rm-stats {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  text-align: center;
  padding: 8px 0;
}
.rm-stat { flex: 1 1 22%; padding: 20px 10px; box-sizing: border-box; }
.rm-stat-num {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 46px;
  font-weight: 800;
  color: #FF8C00;
  line-height: 1;
  margin-bottom: 4px;
}
.rm-stat-label { font-family: 'DM Sans', sans-serif; font-size: 0.82em; color: #cccccc; line-height: 1.4; display: block; }
.rm-stat-icon { font-size: 1.3em; color: #FF8C00; display: block; margin-bottom: 6px; }
@media only screen and (max-width: 799px) { .rm-stat { flex: 1 1 50%; } }
.d0count { display: inline; }

/* ══ HERO FORM BOX ══ */
.rm-form-box {
  background-color: rgba(12,13,17,0.94) !important;
  border: 1px solid rgba(255,140,0,0.4);
  border-radius: 10px;
  padding: 0;
  min-height: 0;
  display: block;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6);
}
.rm-form-header {
  background-color: #FF8C00 !important;
  border-radius: 9px 9px 0 0;
  padding: 14px 24px;
  text-align: center;
  margin: 0;
}
.rm-form-header p {
  margin: 0 !important;
  color: #000000 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.rm-form-body { padding: 24px; }
.rm-form-body h2 {
  color: #FFFFFF !important;
  font-size: 26px !important;
  margin: 0 0 4px !important;
}
.rm-form-sub {
  color: #888888 !important;
  font-size: 13px !important;
  margin: 0 0 18px !important;
  font-family: 'DM Sans', sans-serif !important;
}
.rm-form-footer {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 13px 24px;
  text-align: center;
  font-size: 13px;
  color: #888888;
  font-family: 'DM Sans', sans-serif;
}
.rm-form-footer a { color: #FF8C00 !important; font-weight: 600; }

/* ══ HERO CHECKLIST ══ */
.rm-hero-check p {
  margin-bottom: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

/* ══ SECTION LABEL ══ */
.rm-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #FF8C00 !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* ══ HEADING ACCENT BAR ══ */
.rm-accent {
  display: block;
  width: 44px;
  height: 3px;
  background: #FF8C00;
  margin: 8px 0 20px 0;
}
.rm-accent-center {
  display: block;
  width: 44px;
  height: 3px;
  background: #FF8C00;
  margin: 8px auto 20px;
}

/* ══ SERVICE CARDS ══ */
.rm-service-card {
  background-color: #FFFFFF !important;
  border-radius: 8px;
  padding: 26px 22px;
  min-height: 180px;
  display: block;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: all .22s ease-in-out;
  cursor: default;
  border-top: 3px solid #FF8C00;
}
.rm-service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(255,140,0,0.16);
}
.rm-service-icon-wrap {
  width: 46px;
  height: 46px;
  background-color: rgba(255,140,0,0.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.rm-service-icon { font-size: 1.2em; color: #FF8C00; }
.rm-service-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important;
  color: #111111 !important;
  margin: 0 0 6px !important;
  font-weight: 700 !important;
}
.rm-service-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #555555 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ══ JH BOXES — defined with !important to win against stripe colours ══ */
.jh-solid-box {
  background-color: #FFFFFF !important;
  padding: 30px !important;
  min-height: 0 !important;
  display: block !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
}
.jh-solid-box h3 { color: #111111 !important; }
.jh-solid-box p  { color: #333333 !important; font-family: 'DM Sans', sans-serif !important; }

.jh-solid-box2 {
  background-color: rgba(255,255,255,0.06) !important;
  border-left: 4px solid #FF8C00 !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 18px 22px !important;
  min-height: 0 !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.jh-solid-box2 p { font-family: 'DM Sans', sans-serif !important; font-size: 14px !important; }

.jh-solid-box3 {
  background-color: #0f0f0f !important;
  border-top: 3px solid #FF8C00 !important;
  border-radius: 8px !important;
  padding: 36px 30px !important;
  min-height: 0 !important;
  display: block !important;
}
.jh-solid-box3 h3 { color: #FF8C00 !important; }
.jh-solid-box3 p  { color: #cccccc !important; font-family: 'DM Sans', sans-serif !important; }

/* ══ AUDIENCE CARDS ══ */
.rm-audience-card {
  background-color: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,140,0,0.2) !important;
  border-top: 3px solid #FF8C00 !important;
  border-radius: 8px !important;
  padding: 26px 20px !important;
  text-align: center !important;
  min-height: 0 !important;
  display: block !important;
  transition: all .2s ease-in-out !important;
}
.rm-audience-card:hover {
  background-color: rgba(255,140,0,0.06) !important;
  border-color: rgba(255,140,0,0.45) !important;
}
.rm-audience-icon { font-size: 2em; color: #FF8C00; display: block; margin-bottom: 12px; }
.rm-audience-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin: 0 0 8px !important;
  font-weight: 700 !important;
}
.rm-audience-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #aaaaaa !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ══ CTA SECTION — palette stripe override ══ */
.rm-cta-inner {
  background-color: #181818 !important;
  border-top: 3px solid #FF8C00 !important;
  border-radius: 8px !important;
  padding: 36px 30px !important;
  text-align: center !important;
}
.rm-cta-inner h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #FF8C00 !important;
  margin-bottom: 10px !important;
}
.rm-cta-inner p {
  font-family: 'DM Sans', sans-serif !important;
  color: #cccccc !important;
  font-size: 15px !important;
  margin-bottom: 20px !important;
}

/* ══ MOBILE CARD SPACING ══ */
@media only screen and (max-width: 799px) {
  .rm-service-card,
  .rm-audience-card,
  .jh-solid-box,
  .jh-solid-box2,
  .jh-solid-box3 {
    margin-bottom: 16px !important;
  }
}

#r8_content .ub .container {
    padding-left: 11px;
    padding-right: 11px;
}

#r8_content .parallax-overlay .container {
    padding-left: 5px;
    padding-right: 5px;
}

@media (max-width: 767px) {
    #body .r8_col3 h1 {
        text-align: left;
        font-size: 38px !important;
    }
}

#r8_content .parallax01 {background-image: url(/shared/images/content/bus_55688/general-electrician.jpg); 
background-attachment: fixed; 
background-position-x: right; 
background-position-y: top;}
.parallax-light {background-color: rgba(0,0,0,0.5); color:#FFF;}

#r8_content .parallax02 {background-image: url(/shared/images/content/bus_55688/general-electrician-2.jpg); 
background-attachment: fixed; 
background-position-x: right; 
background-position-y: top;}
.parallax-light {background-color: rgba(0,0,0,0.5); color:#FFF;}
