/* Existing page content, independent of the former framework. */
.entry-content {
  min-width: 0;
  color: #212529;
  font-family: "Baskervville", Georgia, serif;
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: break-word;
}

.entry-content :where(.wpb-content-wrapper, .wpb_wrapper, .vc_column_container, .vc_column-inner) {
  min-width: 0;
}

/* Full-width page templates already reach the viewport edges. */
.pts-content-full .entry-content > .vc_section,
.pts-content-full .entry-content > .wpb-content-wrapper > .vc_section {
  margin-inline: 0;
}

.entry-content :where(p, ul, ol) {
  margin-block: 0 1rem;
}

.entry-content p {
  margin-bottom: 1rem;
}

.entry-content :where(ul, ol) {
  padding-inline-start: 20px;
}

.entry-content :where(ul) {
  list-style-type: circle;
}

.entry-content :where(ul, ol) li {
  margin-top: 10px;
}

.entry-content :where(ul ul, ul ol, ol ul, ol ol) {
  margin-block-end: 0;
}

.entry-content :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.entry-content h1 { font-size: 40px; }
.entry-content h2 { font-size: 32px; }
.entry-content h3 { font-size: 28px; }
.entry-content h4 { font-size: 24px; }
.entry-content h5 { font-size: 20px; }
.entry-content h6 { font-size: 16px; }

.entry-content :where(img, iframe, video) {
  max-width: 100%;
}

.entry-content img {
  height: auto;
}

.entry-content :where(a, td, th) {
  overflow-wrap: anywhere;
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
}

/* Stored HTML and Caldera Forms still use these column class names. */
.entry-content .row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-inline: -15px;
}

.entry-content .row::before,
.entry-content .row::after {
  display: none;
}

.entry-content .row > * {
  grid-column: 1 / -1;
  min-width: 0;
}

.entry-content .row > :is([class^="col-"], [class*=" col-"]) {
  float: none;
  width: auto;
  max-width: none;
  padding-inline: 15px;
}

.entry-content .row > .col-1 { grid-column: span 1; }
.entry-content .row > .col-2 { grid-column: span 2; }
.entry-content .row > .col-3 { grid-column: span 3; }
.entry-content .row > .col-4 { grid-column: span 4; }
.entry-content .row > .col-5 { grid-column: span 5; }
.entry-content .row > .col-6 { grid-column: span 6; }
.entry-content .row > .col-7 { grid-column: span 7; }
.entry-content .row > .col-8 { grid-column: span 8; }
.entry-content .row > .col-9 { grid-column: span 9; }
.entry-content .row > .col-10 { grid-column: span 10; }
.entry-content .row > .col-11 { grid-column: span 11; }
.entry-content .row > .col-12 { grid-column: span 12; }

@media (min-width: 576px) {
  .entry-content .row > .col-sm-1 { grid-column: span 1; }
  .entry-content .row > .col-sm-2 { grid-column: span 2; }
  .entry-content .row > .col-sm-3 { grid-column: span 3; }
  .entry-content .row > .col-sm-4 { grid-column: span 4; }
  .entry-content .row > .col-sm-5 { grid-column: span 5; }
  .entry-content .row > .col-sm-6 { grid-column: span 6; }
  .entry-content .row > .col-sm-7 { grid-column: span 7; }
  .entry-content .row > .col-sm-8 { grid-column: span 8; }
  .entry-content .row > .col-sm-9 { grid-column: span 9; }
  .entry-content .row > .col-sm-10 { grid-column: span 10; }
  .entry-content .row > .col-sm-11 { grid-column: span 11; }
  .entry-content .row > .col-sm-12 { grid-column: span 12; }
}

@media (min-width: 768px) {
  .entry-content .row > .col-md-1 { grid-column: span 1; }
  .entry-content .row > .col-md-2 { grid-column: span 2; }
  .entry-content .row > .col-md-3 { grid-column: span 3; }
  .entry-content .row > .col-md-4 { grid-column: span 4; }
  .entry-content .row > .col-md-5 { grid-column: span 5; }
  .entry-content .row > .col-md-6 { grid-column: span 6; }
  .entry-content .row > .col-md-7 { grid-column: span 7; }
  .entry-content .row > .col-md-8 { grid-column: span 8; }
  .entry-content .row > .col-md-9 { grid-column: span 9; }
  .entry-content .row > .col-md-10 { grid-column: span 10; }
  .entry-content .row > .col-md-11 { grid-column: span 11; }
  .entry-content .row > .col-md-12 { grid-column: span 12; }
}

@media (min-width: 992px) {
  .entry-content .row > .col-lg-1 { grid-column: span 1; }
  .entry-content .row > .col-lg-2 { grid-column: span 2; }
  .entry-content .row > .col-lg-3 { grid-column: span 3; }
  .entry-content .row > .col-lg-4 { grid-column: span 4; }
  .entry-content .row > .col-lg-5 { grid-column: span 5; }
  .entry-content .row > .col-lg-6 { grid-column: span 6; }
  .entry-content .row > .col-lg-7 { grid-column: span 7; }
  .entry-content .row > .col-lg-8 { grid-column: span 8; }
  .entry-content .row > .col-lg-9 { grid-column: span 9; }
  .entry-content .row > .col-lg-10 { grid-column: span 10; }
  .entry-content .row > .col-lg-11 { grid-column: span 11; }
  .entry-content .row > .col-lg-12 { grid-column: span 12; }
}

@media (min-width: 1200px) {
  .entry-content .row > .col-xl-1 { grid-column: span 1; }
  .entry-content .row > .col-xl-2 { grid-column: span 2; }
  .entry-content .row > .col-xl-3 { grid-column: span 3; }
  .entry-content .row > .col-xl-4 { grid-column: span 4; }
  .entry-content .row > .col-xl-5 { grid-column: span 5; }
  .entry-content .row > .col-xl-6 { grid-column: span 6; }
  .entry-content .row > .col-xl-7 { grid-column: span 7; }
  .entry-content .row > .col-xl-8 { grid-column: span 8; }
  .entry-content .row > .col-xl-9 { grid-column: span 9; }
  .entry-content .row > .col-xl-10 { grid-column: span 10; }
  .entry-content .row > .col-xl-11 { grid-column: span 11; }
  .entry-content .row > .col-xl-12 { grid-column: span 12; }
}

.entry-content .h-100 { height: 100%; }
.entry-content .align-items-center { align-items: center; }
.entry-content .text-center { text-align: center; }
.entry-content .text-left { text-align: left; }
.entry-content .text-right { text-align: right; }
.entry-content .margin_custom { margin-bottom: 30px; }

/* People profiles retain their existing WPBakery composition. */
.entry-content :is(.people_item, .people_small_box_item) {
  position: relative;
  margin-bottom: 30px;
  padding: 0;
  border: 1px solid #d9d9d9;
  background: #fff;
}

.entry-content :is(.people_pic, .people_small_box_pic) {
  position: relative;
  margin-inline: 0;
  overflow: hidden;
}

.entry-content :is(.people_pic, .people_small_box_pic) img {
  width: 100%;
  transition: transform 0.3s ease;
}

@media (hover: hover) {
  .entry-content :is(.people_item, .people_small_box_item):hover :is(.people_pic, .people_small_box_pic) img {
    transform: scale(1.2);
  }
}

.entry-content .people_text {
  display: block;
  padding: 40px 20px;
}

.entry-content .people_small_box_text {
  display: block;
  padding: 15px;
}

.entry-content :is(.people_text, .people_small_box_text) h4 {
  margin: 0;
  padding: 0;
  color: var(--pts-charcoal);
  font-family: "Baskervville", Georgia, serif;
  font-size: 36px;
}

.entry-content .people_small_box_text h4 {
  font-size: 30px;
}

.entry-content :is(.people_text, .people_small_box_text) span {
  position: relative;
  display: block;
  margin-bottom: 6px;
  color: var(--pts-pink);
  font-family: "Baskervville", Georgia, serif;
  font-size: 30px;
}

.entry-content .people_small_box_text span {
  font-size: 18px;
}

.entry-content :is(.people_text, .people_small_box_text) span::after {
  position: absolute;
  inset-inline-start: 0;
  bottom: 0;
  width: 115px;
  height: 1px;
  background: #ced3d8;
  content: "";
}

.entry-content .people_small_box_text span::after {
  width: 80px;
}

.entry-content :is(.people_text, .people_small_box_text) p {
  margin-bottom: 22px;
  color: #231f20;
  font-size: 13px;
  letter-spacing: 0.2px;
}

.entry-content :is(.people_email_css, .people_small_box_email_css) {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: #707980;
  font-family: "Baskervville", Georgia, serif;
  font-size: 25px;
  text-decoration: none;
}

.entry-content .people_small_box_email_css {
  font-size: 16px;
}

.entry-content :is(.people_email_css, .people_small_box_email_css) svg {
  flex: 0 0 auto;
  width: 1.25em;
  height: 1em;
}

/* Legacy title blocks may still appear in saved page content. */
.entry-content .bradcam_area {
  padding-block: 30px;
}

.entry-content .bradcam_area h1 {
  position: relative;
  margin: 10px 0;
  padding-bottom: 10px;
  color: var(--pts-charcoal);
  font-family: "Baskervville", Georgia, serif;
  font-size: 50px;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.entry-content .bradcam_area h1::after {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  width: 150px;
  height: 1px;
  margin-inline: auto;
  background: var(--pts-pink);
  content: "";
}

/* Form plugin markup and conditional fields remain plugin controlled. */
.entry-content .caldera-grid {
  padding-top: 0;
  line-height: 30px;
}

.entry-content .caldera-grid .row {
  display: grid;
  margin-inline: 0 !important;
}

.entry-content .caldera-grid .row > :is([class^="col-"], [class*=" col-"]) {
  width: auto;
  float: none;
}

.entry-content .caldera-grid .form-group {
  margin-bottom: 15px;
}

.entry-content .caldera-grid label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
}

.entry-content .caldera-grid .form-control {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 15px;
  padding: 5px 10px;
  border: 1px solid #afb0b1;
  border-radius: 0;
  background: #fff;
  color: #2d353d;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.5;
  box-shadow: none;
}

.entry-content .caldera-grid textarea.form-control {
  resize: vertical;
}

.entry-content .caldera-grid select.form-control:not([size]):not([multiple]) {
  min-height: 34px;
}

.entry-content .caldera-grid :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--pts-pink);
  outline-offset: 2px;
}

.entry-content .caldera-grid :is(input[type="radio"], input[type="checkbox"]) {
  width: auto;
  min-height: 0;
  accent-color: var(--pts-pink);
}

.entry-content .caldera-grid input[type="file"] {
  display: block;
  max-width: 100%;
}

.entry-content .caldera-grid .btn-default {
  display: inline-block;
  width: auto;
  padding: 5px 25px;
  border: 0;
  border-radius: 0;
  background: var(--pts-pink);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.entry-content .caldera-grid .btn-default:hover {
  background: #231f20;
  color: #fff;
}

.entry-content .caldera-grid .help-block {
  display: block;
  margin-block: 5px 10px;
  color: #b42318;
  font-size: 13px;
  line-height: 1.4;
}

.entry-content .caldera-grid .has-error .form-control {
  border-color: #b42318;
}

.entry-content .caldera-grid .hide {
  display: none;
}

@media (min-width: 768px) and (max-width: 991px) {
  .entry-content .people_text :is(h4, span) {
    font-size: 20px;
  }

  .entry-content .people_small_box_text h4 {
    font-size: 20px;
  }

  .entry-content .people_small_box_text span {
    font-size: 17px;
  }

  .entry-content .people_email_css { font-size: 18px; }
  .entry-content .people_small_box_email_css { font-size: 12px; }
}

@media (max-width: 767px) {
  .entry-content > .wpb-content-wrapper > .vc_row.wpb_column-gap {
    margin-inline: -15px;
  }

  .entry-content .caldera-grid .row > :is([class^="col-sm-"], [class*=" col-sm-"]) {
    grid-column: 1 / -1;
  }

  .entry-content :is(.people_text, .people_small_box_text) {
    text-align: center;
  }

  .entry-content :is(.people_item, .people_small_box_item) {
    border-width: 0 !important;
  }

  .entry-content :is(.people_text, .people_small_box_text) span::after {
    display: none;
  }

  .entry-content :is(.people_pic, .people_small_box_pic) img {
    max-width: 350px;
  }

  .entry-content .bradcam_area {
    padding-block: 20px;
  }

  .entry-content .bradcam_area h1 {
    font-size: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .entry-content :is(.people_pic, .people_small_box_pic) img,
  .entry-content .caldera-grid .btn-default {
    transition: none;
  }

  .entry-content :is(.people_item, .people_small_box_item):hover :is(.people_pic, .people_small_box_pic) img {
    transform: none;
  }
}
