/* Shared opt-in text styles. Keep admin chrome and unstyled site text untouched. */
:is(.ck-content, .component) :is(p, span).lead {
  font-size: 24px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  color: #000 !important;
  margin: 0 0 13px !important;
}
:is(.ck-content, .component) :is(p, span).intro-contact {
  display: block;
  margin: 18px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 400;
  color: #4d5966 !important;
}
:is(.ck-content, .component) .intro-contact a {
  display: inline;
  color: #000 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
:is(.ck-content, .component) :is(a, span).text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #000 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
:is(.ck-content, .component) :is(a, span).text-link::after {
  content: '\2197';
  font-size: 16px;
}
:is(.ck-content, .component) :is(p, div).info-row {
  display: block;
  padding: 0 0 20px;
  margin: 0;
  border-bottom: 1px solid #d5dfe6;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #4b5865;
}
:is(.ck-content, .component) .info-row p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0;
}
:is(.ck-content, .component) h3.info-heading {
  font-size: 17px !important;
  line-height: 1.42857143;
  font-weight: 700 !important;
  margin: 0 0 7px !important;
  color: #000;
}
:is(.ck-content, .component) h3.font-normal {
  font-weight: 400 !important;
}
:is(.ck-content, .component) .info-row a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* The editing canvas uses the site's existing font stack without styling body. */
.ck.ck-content {
  font-family: 'Gotham SSm 4r', 'Gotham SSm A', 'Gotham SSm B', Montserrat, Arial, sans-serif;
}
.ck-content .fullwidth img { width: 100%; height: auto; }
.ck-content .centered img { display: block; width: 50%; margin-inline: auto; }
.ck-content .floatleft50 img { float: left; width: 50%; margin-right: 5%; }
.ck-content .floatright50 img { float: right; width: 50%; margin-left: 5%; }
.ck-content .floatleft25 img { float: left; width: 25%; margin-right: 5%; }
.ck-content .floatright25 img { float: right; width: 25%; margin-left: 5%; }
@media (max-width: 760px) {
  :is(.ck-content, .component) :is(p, span).lead { font-size: 22px !important; }
}

/* CKEditor 5 text size option styles */
:is(.ck-content, .component) :is(p, span, div, h1, h2, h3, h4, h5, h6, li).text-large,
.text-large {
  font-size: 28px !important;
  line-height: 1.35 !important;
}
:is(.ck-content, .component) :is(p, span, div, h1, h2, h3, h4, h5, h6, li).text-medium,
.text-medium {
  font-size: 22px !important;
  line-height: 1.4 !important;
}
:is(.ck-content, .component) :is(p, span, div, h1, h2, h3, h4, h5, h6, li).text-small,
.text-small {
  font-size: 18px !important;
  line-height: 1.5 !important;
}
