/* Community Support Block ([re_roofing_community_block]).
   Converted from new-content-block/community-section.css. Scoped to .reCommunityBlock. */
.reCommunityBlock, .reCommunityBlock * { box-sizing: border-box; }
.reCommunityBlock {
  width: 100%;
  margin: 0;
  border-top: 4px solid #e60720;
  background:
    radial-gradient(ellipse 600px 380px at 90% 88%, rgba(218, 238, 250, .78), transparent 95%),
    linear-gradient(160deg, #eaf7fd 0%, #f9fcfe 68%, #f0f9fe 100%);
  padding: 64px 0 77px;
  font-family: 'Montserrat', Arial, sans-serif;
  color: #354a57;
}
.reCommunityBlock .reCommunityInner {
  width: calc(100% - 48px);
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 0;  /* theme .containerMedium adds 15px each side */
  padding-right: 0;
  display: flex;
  flex-wrap: nowrap; /* columns shrink rather than drop the logo below the text */
  column-gap: 50px;
  align-items: center;
}
.reCommunityBlock .reCommunityCopy { min-width: 0; flex: 0 1 700px; }
.reCommunityBlock.reCommunityNoLogo .reCommunityCopy { flex-basis: 100%; }
.reCommunityBlock .reCommunityKicker {
  margin: 0 0 12px;
  padding: 0;
  color: #e60720;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.reCommunityBlock .reCommunityHeading {
  margin: 0 0 21px;
  padding: 0;
  color: #23313a;
  font-family: inherit;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.5px;
  text-transform: none;
}
.reCommunityBlock .reCommunityBody p {
  margin: 0 0 15px;
  max-width: 630px;
  padding: 0;
  color: #354a57;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.reCommunityBlock .reCommunityBody p:last-child { margin-bottom: 0; }
.reCommunityBlock .reCommunityLink {
  margin: 22px 0 0;
  padding: 0;
  color: #354a57;
  font-size: 15px;
  line-height: 1.7;
}
.reCommunityBlock .reCommunityLink a {
  color: #095f90;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.reCommunityBlock .reCommunityLink a:hover { color: #06476c; }
.reCommunityBlock .reCommunityLink a:focus-visible {
  outline: 2px solid #095f90;
  outline-offset: 3px;
}
.reCommunityBlock .reCommunityLogoWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  flex: 0 1 410px;
}
.reCommunityBlock .reCommunityLogo {
  display: block;
  width: 100%;
  max-width: 400px;
  height: auto;
  margin: 0 auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}
@media (max-width: 1050px) {
  .reCommunityBlock .reCommunityInner { gap: 35px; }
  .reCommunityBlock .reCommunityHeading { font-size: 27px; }
}
@media (max-width: 767px) {
  .reCommunityBlock { padding: 43px 0 44px; }
  .reCommunityBlock .reCommunityInner {
    width: auto;
    max-width: none;
    margin-left: 16px;
    margin-right: 16px;
    display: block;
  }
  .reCommunityBlock .reCommunityKicker {
    line-height: 1.6;
    margin-bottom: 10px;
    letter-spacing: 1.8px;
  }
  .reCommunityBlock .reCommunityHeading {
    font-size: clamp(26px, 7vw, 30px);
    line-height: 1.18;
    letter-spacing: -.45px;
    margin-bottom: 19px;
  }
  .reCommunityBlock .reCommunityBody p {
    font-size: 15px;
    line-height: 1.72;
    margin-bottom: 17px;
  }
  .reCommunityBlock .reCommunityLink { margin-top: 24px; }
  .reCommunityBlock .reCommunityCopy,
  .reCommunityBlock .reCommunityLogoWrap { width: 100%; flex: none; }
  .reCommunityBlock .reCommunityLogoWrap { margin-top: 42px; }
  .reCommunityBlock .reCommunityLogo { max-width: 345px; }
}
