/* ==========================================================================
   Charter Senior Living — master brand styles

   Loaded by the SageAge child theme (see functions.php), after style.css.
   Previously hot-linked from charterseniorliving.com via Insert Headers and
   Footers; this copy is now the source for this site.

   Source order matters: many rules here intentionally override earlier ones,
   so add new rules to the matching section rather than the end of the file.

   1.  Global & typography
   2.  Header & navigation
   3.  Home page
   4.  Module & column spacing
   5.  Page sections
   6.  Utilities (overlays, mobile stacking, visibility)
   7.  Gravity Forms
   8.  Events
   9.  Landing pages & misc buttons
   10. Testimonials
   11. Snipe banner (#topNote)
   12. PPC landing pages
   13. Contact / RFI forms
   14. Responsive
   15. Single events
   16. Blog
   17. Professional referral page
   ========================================================================== */


/* 1. Global & typography
   ========================================================================== */

/* Visible keyboard focus (mouse clicks don't trigger :focus-visible) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #00bab3 !important;
  outline-offset: 2px;
}

/* Disable all Divi animations */
.et_animated {
  opacity: 1 !important;
}
body .et_pb_section,
body .et_pb_row,
body .et_pb_column,
body .et_pb_module {
  transition-property: none !important;
  transform: none !important;
  animation: none !important;
  animation-timing-function: unset !important;
  animation-duration: unset !important;
}

/* Divi bug */
body .et_pb_section_0 {
  min-height: 100%;
}

/* No UserWay widget in wp-admin */
.wp-admin .uai {
  display: none !important;
}

/* Header transparency */
body .et_pb_section_0_tb_header.et_pb_section {
  background-color: rgba(255, 255, 255, 0.92) !important;
}

body h1:not(.media-frame-title h1):not(.contactH1) {
  font-family: adobe-garamond-pro, serif !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  font-size: 48px;
}
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-weight: 600 !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  line-height: 1.3em !important;
  text-transform: uppercase !important;
}
body #main-content .contactH1 {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
}

body .et_pb_section:not(#relatedPosts.new-blog-design):not(
    #blogform.new-blog-design):not(
    .blog-infographic):not(
    #relatedPosts) {
  width: 100% !important;
}
body #relatedPosts {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
body #FAQ {
  padding-top: 0px !important;
  padding-bottom: 4% !important;
}
body #FAQ .et_pb_row {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

body h2:not(.media-attachments-filter-heading):not(
    .et_pb_toggle_title):not(
    #PPC-Services-Section h2):not(
    #ilPPCfix h2):not(
    .winder-h2-override) {
  font-size: 26px;
}

body #HomeHero,
#IntHero {
  margin-top: 140px !important;
  height: 100% !important;
  max-height: 600px !important;
}

/* Larger header */
body #compLargeHeader #HomeHero,
body #compLargeHeader #IntHero,
body #compLargeHeader.PPCHero,
body #compLargeHeader.singlePost,
body #EYObanner {
  margin-top: 116px !important;
}

body #HomeHero .et_pb_module {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}
body #et-main-area #main-content #IntHero .et_pb_text_0.et_pb_module {
  margin-right: 0px !important;
}

body p:not(.hustle-group-content p):not(p.form-disclaimer) {
  font-size: 16px !important;
  line-height: 1.9em !important;
}
body p a,
body p a:hover,
body .et_pb_text_1.et_pb_text a,
body .et_pb_text_1.et_pb_text a:hover,
body .et_pb_text_3.et_pb_text a:not(.btn-asl):not(.ev-more-btn),
body .et_pb_text_3.et_pb_text a:hover {
  color: #00bab3 !important;
  text-decoration: none !important;
}

body .form-disclaimer {
  font-size: 10px !important;
  text-align: left !important;
  line-height: 12px !important;
  height: 33px !important;
  margin-top: 14px !important;
}

body .sm {
  font-size: 0.5em;
  vertical-align: super;
}
body sup {
  bottom: 0.3em;
  font-size: 0.9em;
}

body .sa-box p {
  padding-bottom: 0;
}


/* 2. Header & navigation
   ========================================================================== */

@media only screen and (min-width: 981px) {
  body li.mobile-menu-social {
    display: inline-block;
    padding-left: 32px;
  }
}
body .last-menu-dropdown .sub-menu {
  left: auto !important;
  right: 0;
}
body .et-menu > li:last-child {
  padding-right: 11px !important;
}
body #menu-top-menu > li > a {
  padding-bottom: 2px !important;
}
body .menu-item i._mi {
  margin-top: 0;
  font-size: 36px !important;
  line-height: 1em;
}

/* Submenu caret */
.et-menu li li.menu-item-has-children > a:first-child:after {
  top: 5px !important;
}

/* Top menu drop-down phone button (e.g. Moline) */
body .et_pb_menu_0_tb_header.et_pb_menu .nav li ul {
  background-color: #fff !important;
}

body .et-l--body ul:not(#FloorPlanCreate ul) {
  line-height: 1.9em !important;
  margin-top: 10px !important;
}

/* Mobile menu */
#mobmenu .mobile_menu_bar {
  position: absolute;
  top: -60px;
}
body #mobmenu .mobile_menu_bar {
  margin-right: 8% !important;
}
body .et_mobile_menu {
  overflow-x: hidden !important;
  max-height: 84vh; /* match the viewport height */
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.3);
}


/* 3. Home page
   ========================================================================== */

/* Outline buttons (Further buttons + Services cards) */
body#NewHome #FurtherButtons .further-btn,
body#NewHome #FurtherButtons .further-btn-lifestyles,
body#NewHome #ServicesSection .text-card-button {
  display: inline-block;
  text-transform: uppercase;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 500;
  color: #212d65 !important;
  text-align: center;
  background-color: #fff !important;
  border-color: #212d65 !important;
  cursor: pointer;
  border: 2px solid;
  white-space: nowrap;
  line-height: 1.4;
  border-radius: 5px;
  align-content: center;
}
body#NewHome #FurtherButtons .further-btn:hover,
body#NewHome #FurtherButtons .further-btn-lifestyles:hover,
body#NewHome #main-content #ServicesSection .text-card-button:hover {
  color: #fff !important;
  text-align: center;
  background-color: #212d65 !important;
  border-color: #fff !important;
}

/* Further buttons (10/28/25) */
body#NewHome #FurtherButtons .further-btn {
  width: 350px;
  padding: 10px 30px;
  font-size: 20px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.2);
}
body#NewHome #FurtherButtons .further-btn-lifestyles {
  width: 300px;
  padding: 10px 10px;
  font-size: 16px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.2);
}
body#NewHome #FurtherButtons .further-btn.further-contact-us {
  margin-left: 30px;
}

/* Google reviews */
.ti-widget.ti-goog .ti-review-item > .ti-inner {
  border-style: solid !important;
  border-color: #f4f4f4 !important;
  background: #f4f4f4 !important;
  border-radius: 0px !important;
  padding: 20px !important;
  margin: 0 !important;
  display: block;
  position: relative;
}
.ti-widget.ti-goog .ti-controls .ti-next,
.ti-widget.ti-goog .ti-controls .ti-prev {
  position: absolute;
  width: 30px;
  height: 30px;
  display: block;
  opacity: 1;
  transition: all 200ms ease-out;
  background-color: #ffffff;
  outline-style: solid;
  outline-width: 2px;
  outline-color: #212d65 !important;
  border-radius: 0px !important;
}

body #Enhance4Col #CopyLinks .et_pb_column .et_pb_module {
  width: 75% !important;
  margin: 0px !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}

/* Services section */
body#NewHome #main-content #ServicesSection {
  margin-top: 0px !important;
}
body#NewHome #main-content #ServicesSection .text-card {
  margin-top: -150px;
}
body#NewHome #ServicesSection .text-card-button {
  width: 95%;
  padding: 10px 10px;
  font-size: 0.9em;
}


/* 4. Module & column spacing
   ========================================================================== */

body #main-content #FloorPlans2 .et_pb_column {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 6% !important;
  padding-right: 6% !important;
}

/* Reset column / text-module gutters, except in these sections */
body .et_pb_column:not(#HomeHero .et_pb_column):not(
    #IntHero .et_pb_column):not(
    #person1 .et_pb_column):not(
    #ilPPCfix .et_pb_column):not(
    #person2 .et_pb_column):not(
    #person3 .et_pb_column):not(
    #person4 .et_pb_column):not(
    #HumanSpirit .et_pb_column):not(
    #FloorPlanCreate .et_pb_column):not(
    #FloorPlans2 .et_pb_column):not(
    .sparkHero .et_pb_column):not(
    .spark .et_pb_column):not(
    .sparkFlex .et_pb_column):not(
    #ClinicalCapabilitiesBullets-Col-1):not(
    #newPPCFormCol):not(
    #PPC-New #PPCFloorPlans .et_pb_column):not(
    #PPC-New #Guidebook-Section .et_pb_column):not(
    .blog-infographic .et_pb_column),
body .et_pb_module.et_pb_text:not(#HomeHero .et_pb_module):not(
    #IntHero .et_pb_module):not(
    #ilPPCfix .et_pb_module):not(
    #askExpert .et_pb_module):not(
    #ServicesSection .et_pb_module):not(
    .privacy-policy .et_pb_module):not(
    .sparkHero .et_pb_module):not(
    .spark .et_pb_module):not(
    #sparkCopyBlocks):not(
    .ContactMap #RFI):not(
    #ContactMap #RFI):not(
    body #EYObanner .et_pb_column):not(
    #floorplan-row #SAppc):not(
    #ppcNewSecondaryForm) {
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}

body #main-content .PPCLinkBox {
  padding: 0px 0px 30px !important;
}
body #main-content #FlourishFirst {
  margin-bottom: 0px !important;
}

/* Home quiz */
body #et-main-area #main-content #HomeQuiz.et_pb_module {
  width: 80% !important;
  padding-left: 6% !important;
  padding-right: 6% !important;
}

/* 10% side padding on modules, except in these sections */
body #main-content .et_pb_module:not(#HomeHero .et_pb_module):not(
    #IntHero .et_pb_module):not(
    .et_pb_module.et_pb_post_content):not(
    .el_md_testimonial_extended):not(
    #HumanSpirit .et_pb_module):not(
    #ContactLast .et_pb_module):not(
    #WhoWeAre .et_pb_module):not(
    #ilPPCfix .et_pb_module):not(
    #askExpert .et_pb_module):not(
    #FAQ .et_pb_module):not(
    #ContactMap .et_pb_module):not(
    #BlogModule):not(
    body.single-post #main-content .et_pb_row):not(
    #EventList .et_pb_module):not(
    #EventpgHeader):not(
    #ServicesHeader):not(
    #PathTabs .et_pb_module):not(
    #renoBanner .et_pb_module):not(
    #SampleMenu .et_pb_module):not(
    #TourBar .et_pb_module):not(
    #TestimonyPG .et_pb_module):not(
    #ServicesSection .et_pb_module):not(
    #enhanceBlock .pac_dtm_child):not(
    #GuideTabs .et_pb_module):not(
    #HomeTabs .et_pb_module):not(
    #Thankyou):not(
    #FloorPlanCreate .et_pb_module):not(
    #FloorPlans2 .et_pb_module):not(
    .regionalMaps.et_pb_module):not(
    #topNote .et_pb_module):not(
    body.single-post .et_pb_module):not(
    .privacy-policy .et_pb_module):not(
    #GuideTabs):not(
    #HomeTabs):not(
    .sparkHero .et_pb_module):not(
    .sparkRow .et_pb_module):not(
    .sparkCopy):not(
    #sparkCopyBlocks):not(
    #Roobrik .et_pb_module):not(
    #ClinicalCapabilities .et_pb_image):not(
    #ClinicalCapabilities .et_pb_text):not(
    .ContactMap .et_pb_module):not(
    #AgeInPlace .AgeHeader .et_pb_module):not(
    body #EYObanner .et_pb_module):not(
    #SAppc.et_pb_module):not(
    #PPC-Services-Section #SAppc div.et_pb_button_module_wrapper):not(
    #ppcNewSecondaryForm):not(
    div:has(a.ppcButtonNew)):not(
    #PPC-New #PPCFloorPlans .et_pb_module):not(
    body.single-event .et_pb_post_title) {
  padding-left: 10% !important;
  padding-right: 10% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.single-post .et_pb_module:first-of-type:not(body.single-post #header-row .et_pb_module):not(
    body.single-post .et_pb_image.et_pb_image_0_tb_footer):not(
    #Blog-Head .et_pb_module):not(
    .blog-infographic .et_pb_blurb) {
  padding-left: 10% !important;
  padding-right: 10% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.privacy-policy .et_pb_module.et_pb_text_0 {
  padding-left: 10% !important;
  padding-right: 10% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* 5. Page sections
   ========================================================================== */

body #main-content #ContactMap {
  width: 100% !important;
  padding: 0px !important;
}

body #et-main-area #main-content #WhoWeAre > div > div > div.et_pb_module {
  padding: 0px !important;
}

/* MissionHome & WhoWeAre */
body #main-content #MissionHome,
body #main-content #WhoWeAre {
  padding: 4% 0 !important;
}
body #main-content #MissionHome .et_pb_row {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body #main-content #WhoWeAre .et_pb_row {
  width: 100% !important;
  max-width: 80% !important;
  margin: 0 auto !important;
  padding: 2% 3% !important;
}

html body #person1 .et_pb_column:last-child,
html body #person2 .et_pb_column:last-child,
html body #person3 .et_pb_column:last-child,
html body #person4 .et_pb_column:last-child {
  margin-top: 20px !important;
}
html body #person1 img,
html body #person2 img,
html body #person3 img,
html body #person4 img {
  padding-right: 30px !important;
}

body #et-main-area #main-content #WhoWeAre .et_pb_row .et_pb_module {
  margin: 0 auto !important;
  padding: 0px !important;
}
body #et-main-area #main-content #WhoWeAre .et_pb_column.bio-box .et_pb_module {
  margin-bottom: 40px !important;
}
body #et-main-area #main-content #WhoWeAre .et_pb_column.bio-box .et_pb_module a {
  color: #212d65 !important;
  border: 2px solid #212d65 !important;
  font-size: 20px;
  font-weight: 500;
  padding: 0.3em 1em;
  line-height: 1.7em !important;
  background-color: transparent;
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  border-radius: 3px;
  transition-duration: 0.2s;
  transition-property: all !important;
}

body #main-content #MissionHome .et_pb_row .et_pb_column .et_pb_module,
body #main-content #WhoWeAre .et_pb_row .et_pb_column .et_pb_module {
  max-width: 100% !important;
}

/* Human Spirit (home) */
body #main-content #HumanSpirit {
  padding: 4% 6% !important;
}
body #main-content #HumanSpirit .et_pb_row {
  margin: 0px auto !important;
  padding: 0px !important;
  width: 100% !important;
}
body #main-content #HumanSpirit .et_pb_row .et_pb_column.et-last-child {
  padding-left: 5% !important;
}

/* Ask an expert */
body #main-content #askExpert {
  padding-top: 50px !important;
}
body #main-content #askExpert .et_pb_row {
  width: 100% !important;
  max-width: 100% !important;
}
body #main-content #askExpert .et_pb_row .et_pb_module {
  padding-left: 10% !important;
  padding-right: 10% !important;
}

/* ContactLast (lifestyles pages) */
body #main-content #SecondContactLast {
  padding: 0px !important;
}
body #main-content #ContactLast {
  max-width: 100% !important;
  width: 85% !important;
  padding: 3% 0px !important;
}
body #main-content #SecondContactLast #ContactLast .et_pb_module:first-of-type {
  padding-bottom: 20px !important;
  margin-bottom: 0px !important;
}
body #main-content #SecondContactLast #ContactLast .et_pb_button_module_wrapper {
  margin-top: 0px !important;
}

/* Sample menu */
body #main-content #SampleMenu .et_pb_row:first-child {
  padding-top: 6% !important;
  padding-left: 6% !important;
  padding-right: 6% !important;
}
body #main-content #SampleMenu .et_pb_row:last-child {
  padding-bottom: 6% !important;
  padding-left: 6% !important;
  padding-right: 6% !important;
}
/* Columns have no gutter margins, so size them to fill the row: 4 across on desktop, 2 on tablet (1 on phone is set in Responsive) */
@media (min-width: 981px) {
  body #main-content #SampleMenu .et_pb_row_4col .et_pb_column_1_4 {
    width: 25% !important;
  }
}
@media (max-width: 980px) {
  body #main-content #SampleMenu .et_pb_row_4col .et_pb_column_1_4 {
    width: 50% !important;
  }
}

/* Testimonials, tour bar, renovation banner, path tabs, privacy */
body #main-content #TestimonySlider {
  padding: 0px 0px 30px !important;
}
body #main-content #TestimonyPG {
  padding-bottom: 8% !important;
}
body #main-content #TourBar .et_pb_module {
  width: 100% !important;
  text-align: center !important;
}
body #main-content #renoBanner .et_pb_module:first-of-type {
  margin-bottom: 20px !important;
}
body #main-content #PathTabs ul.pac_dtm_tabnav {
  margin: 0px 20px 0px 0px !important;
  padding: 0px !important;
}
body #main-content #PrivacyPageSection {
  margin-top: 4% !important;
}

body .owl-carousel .owl-item img {
  min-height: 210px !important;
  object-fit: contain !important;
}

/* Guidebook navigation buttons (brand standard) */
body .pac_dtm_parent_0 .pac_dtm-controls-single.pac_dtm-next,
body .pac_dtm_parent_0 .pac_dtm-controls-single.pac_dtm-prev {
  color: #212d65 !important;
  border-color: #212d65;
  background-color: #ffffff;
  padding: 0.3em 1em;
  line-height: 1.7em !important;
  border: 2px solid #212d65;
  border-radius: 3px;
  font-weight: 700;
}

body #et-main-area #main-content .et_pb_button_module_wrapper.et_pb_module a:not(.ppcButtonNew) {
  text-align: center !important;
  font-weight: 600 !important;
}

body .et_pb_module:not(#header-row .et_pb_module):not(
    #HomeHero .et_pb_module):not(
    #IntHero .et_pb_module):not(
    .et_pb_button_module_wrapper):not(
    #ServicesSection .et_pb_module):not(
    .sparkHero .et_pb_module):not(
    #sparkCopyBlocks):not(
    #Roobrik .et_pb_module):not(
    body #EYObanner .et_pb_module):not(
    #ppcNewSecondaryForm) {
  margin-left: auto !important;
  margin-right: auto !important;
}

#ppcNewSecondaryForm {
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding-left: 10% !important;
  padding-right: 10% !important;
}

body .et_pb_row_0.et_pb_row {
  margin-top: 0px !important;
}

/* No word breaks — IMPORTANT */
.et_pb_text {
  word-wrap: inherit !important;
}


/* 6. Utilities (overlays, mobile stacking, visibility)
   ========================================================================== */

/* Brand colour overlays */
.multiply:before,
.et_pb_section_video:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: multiply;
}
.v2multiply:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: normal;
}
.multiply.teal:before     { background: rgba(108, 200, 190, 1); }
.multiply.orange:before   { background: #ddad7c; }
.multiply.lemon:before    { background: #d9d68d; }
.multiply.mcblue:before   { background: #0075a3; }
.multiply.green:before    { background: #8bb46c; }
.multiply.darkteal:before { background: #00bab3; }
.multiply.blue:before     { background: #212d65; }
.multiply.gray:before     { background: #3b3b3b; }
.v2multiply.newBlue:before { background: rgba(33, 45, 101, 0.85); }

/* Divi stacking on mobile: vertical align + column order in .stacked_row */
.ds-vertical-align {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.first-on-mobile  { order: 1; }
.second-on-mobile { order: 2; }
.third-on-mobile  { order: 3; }
.fourth-on-mobile { order: 4; }

body #main-content {
  overflow: hidden !important;
}

/* Remove thin line */
body #main-content .container:before {
  background: none !important;
}

/* Hide sidebar */
body #sidebar {
  display: none !important;
}

body #WhoWeAre {
  padding: 60px 0 !important;
}

/* Hide anything with this class */
.hidden {
  display: none !important;
  visibility: hidden !important;
}

/* Pause/play button size */
body #myBtn img {
  height: 80px !important;
  width: 80px !important;
}

/* Bio row header and copy centred */
.bio-row h2,
.bio-row p {
  text-align: center;
}

/* Body ID for PPC pages */
#PPCpage .et_pb_section_0 {
  margin-top: 0px !important;
}

/* Four-column sections (e.g. Dining page) */
body #main-content .et_pb_gutters3 .et_pb_column_1_4:not(body #main-content #FlourishFour .et_pb_column_1_4):not(
    body#NewHome #main-content #ServicesSection .et_pb_row .et_pb_column_1_4):not(
    #ServicesSection #ServicesRow #ServicesCol):not(
    #SampleMenu .et_pb_column):not(
    #Three-Column-Infographic .et_pb_column):not(
    #Two-Column-Infographic .et_pb_column) {
  width: 25% !important;
}
body #main-content .et_pb_row_4col {
  padding-bottom: 30px !important;
}


/* 7. Gravity Forms
   ========================================================================== */

/* Force labels to left-align */
gform_wrapper.gravity-theme .gfield_label {
  text-align: left !important;
}
#RFI p {
  text-align: left !important;
}

body .gform_wrapper textarea.small {
  border: none !important;
  background-color: white !important;
}
::placeholder {
  color: #212d66;
  opacity: 1;
}

input.text,
input.title,
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="number"],
select,
textarea {
  padding: 2px;
  border: 1px solid #fff;
}

.gform_wrapper {
  margin-bottom: 0;
  margin-top: 0;
  max-width: 100%;
}
.gform_wrapper .gform_heading {
  width: 100%;
  margin-bottom: 0;
}
.gchoice {
  text-align: left !important;
}
.gform_wrapper li.hidden_label input {
  margin-top: 4px;
}
.gform_wrapper select {
  background-color: #fff;
  border: none;
  border-radius: 0 !important;
  color: #212d66;
  margin-top: 0;
  margin-left: 2px !important;
  max-width: 99% !important;
}
.ginput_container.ginput_container_select {
  background: #fff;
  padding: 3px 0px;
  margin-top: 0px !important;
}
.gform_wrapper textarea.small {
  border: 1px solid;
}

/* Submit buttons */
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer button.gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input.button,
.gform_wrapper .gform_page_footer input[type="submit"] {
  font-size: 1em;
  width: auto;
  margin: 0 16px 0 0;
  background: #212d66;
  border: none;
  padding: 12px 24px;
  color: #fff;
  text-transform: uppercase;
  transition: 0.3s all ease;
}
.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input.button:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover {
  background: #6cc8be;
}

.reverse-form-button .gform_wrapper .gform_footer input.button,
.reverse-form-button .gform_wrapper .gform_footer button.gform_button,
.reverse-form-button .gform_wrapper .gform_footer input[type="submit"],
.reverse-form-button .gform_wrapper .gform_page_footer input.button,
.reverse-form-button .gform_wrapper .gform_page_footer input[type="submit"] {
  background: #ffffff !important;
  color: #212d66 !important;
}
.reverse-form-button .gform_wrapper .gform_footer input.button,
.reverse-form-button .gform_wrapper .gform_footer button.gform_button:hover,
.reverse-form-button .gform_wrapper .gform_page_footer input[type="submit"]:hover,
.reverse-form-button .gform_wrapper .gform_page_footer input.button:hover,
.reverse-form-button .gform_wrapper .gform_page_footer input[type="submit"]:hover {
  background: #6cc8be !important;
  color: #ffffff !important;
}

.gform_wrapper span.gform_description {
  margin-bottom: 0;
}
body .gform_wrapper ul li.gfield {
  margin-top: 10px;
  padding-top: 0;
}
.gform_wrapper .gform_footer {
  padding: 16px 0 10px 0;
  margin: 10px 0 16px 0;
  clear: both;
  width: 100%;
}
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer button.gform_button,
.gform_wrapper .gform_footer input[type="submit"] {
  padding: 12px 42px;
}
.gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(
    .gfield_time_minute):not(
    .gfield_time_ampm):not(
    .ginput_container_date):not(
    .ginput_quantity):not(
    .datepicker):not(
    .gfield_signature_container),
.gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(
    .gfield_time_minute):not(
    .gfield_time_ampm):not(
    .ginput_container_date):not(
    .ginput_quantity):not(
    .datepicker):not(
    .gfield_signature_container) {
  margin: 0;
}

/* Legacy markup: Garamond inputs */
.gform_legacy_markup_wrapper input:not([type="radio"]):not([type="checkbox"]):not(
    [type="submit"]):not(
    [type="button"]):not(
    [type="image"]):not(
    [type="file"]) {
  font-size: inherit;
  padding: 5px 4px;
  letter-spacing: normal;
  font-family: "adobe-garamond-pro" !important;
  font-weight: 400 !important;
}
.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_left select,
.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_right select,
.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield select {
  margin-left: 1px;
  font-family: "adobe-garamond-pro" !important;
  font-weight: 400 !important;
}
.gform_legacy_markup_wrapper textarea.medium {
  height: 120px;
  width: 100%;
  font-family: "adobe-garamond-pro" !important;
  font-weight: 400 !important;
}


/* 8. Events
   ========================================================================== */

.eventsgrid {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  column-gap: 1%;
}
.eventslist {
  border: 1px #efefef solid;
  margin-top: 16px;
  background-color: #edf7f6 !important;
  padding: 5px 20px 32px !important;
}
.ev-img img {
  padding: 27px 0px 15px !important;
}
.em-location-map-container {
  width: 100% !important;
  height: 378px !important;
}

.ev-img,
.ev-date,
.ev-link,
.ev-time,
.ev-desc {
  text-align: center;
  line-height: 1em !important;
}
.ev-desc {
  padding: 32px 0px !important;
  margin-bottom: 0px !important;
}
.em-booking-form-details input {
  border: 1px solid #efefef;
}
.ev-more-btn:hover {
  background: #fff;
  border: 1px solid #00bab3;
}
.ev-location {
  padding: 0px;
  text-align: center;
  margin-top: -15px !important;
}
.ev-loc {
  text-align: center;
  padding-bottom: 32px;
}

.em-booking-form-details input,
.em-booking-form-details textarea {
  border: 1px solid #212d65 !important;
}

.event-map {
  position: relative !important;
  float: right;
  top: -17px !important;
  margin: 0px 0px 15px 15px !important;
  max-width: 50%;
}
.event-location {
  display: inline-block;
  width: 50%;
  margin-top: 2%;
}
.event-rsvp {
  background: #edf7f6;
  padding: 2%;
  margin-top: 2%;
  width: 48%;
  margin-right: 2%;
  float: left;
}
.event-rsvp .gfield_label {
  position: absolute;
  right: -99999px;
}
.event-template-default .entry-title {
  margin-top: 32px;
  font-size: 36px;
}
.event-template-default .ginput_container.ginput_container_select {
  background: transparent !important;
  margin-top: 0 !important;
}

/* Divi Filter Grid */
.dp-dfg-header.entry-header {
  text-transform: uppercase;
  font-size: 1.3em;
}
.dp-dfg-content.entry-summary:not(.dp-dfg-item .dp-dfg-content.entry-summary) {
  order: 2;
  text-align: center;
}
.dp-dfg-layout-grid .dp-dfg-item {
  grid-auto-rows: auto auto auto 1fr auto;
}
.dp-dfg-custom-content {
  order: 1;
  text-align: center;
}

body .em.pixelbones .ev-link h3 a {
  color: #212d65 !important;
}
.ev-link h2,
body .em.pixelbones .ev-link h3 {
  padding-top: 10px !important;
  margin-bottom: 10px !important;
}
.ev-link h2 a,
body .em.pixelbones .ev-link h3 {
  font-size: 21px !important;
  font-weight: 600 !important;
}
body .em.pixelbones .ev-more-btn,
body .ev-more-btn {
  background-color: #00bab3 !important;
  padding: 12px 24px;
  color: #ffffff !important;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7em !important;
  border-radius: 3px;
  transition: 0.3s ease all;
  transition-property: all !important;
}
body .em.pixelbones .ev-more-btn:hover,
body .ev-more-btn:hover {
  color: #00bab3 !important;
  background-color: #ffffff !important;
  padding: 12px 24px;
}


/* 9. Landing pages & misc buttons
   ========================================================================== */

/* AL and MC landing pages */
#landingPgForm input,
#landingPgForm select {
  border: none !important;
  margin: 0 !important;
}
#landingPgForm input[type="text"] {
  padding: 10px !important;
}
#landingPgForm select {
  padding: 5px 10px 5px 7px !important;
}
#landingPgForm .ginput_container_select {
  margin: 0px !important;
}
#landingPgForm .gform_footer input.button {
  font-weight: 600;
}

a.smallblue,
a.bigblue {
  color: #fff !important;
  background: #212e65 !important;
  border: none !important;
  border-radius: 0px !important;
}

#cookie-notice .cn-button:not(.cn-button-custom) {
  font-family: -apple-system, BlinkMacSystemFont, Arial, Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 16px !important;
  letter-spacing: 0.25px;
  margin: 0 0 0 10px;
  text-align: center;
  text-transform: none;
  display: inline-block;
  cursor: pointer;
  touch-action: manipulation;
  white-space: nowrap;
  outline: none;
  box-shadow: none;
  text-shadow: none;
  border: none;
  border-radius: 3px;
  text-decoration: none;
  padding: 8.5px 10px;
  line-height: 1;
  color: inherit;
}


/* 10. Testimonials
   ========================================================================== */

/* No border on Charter icon in testimonials carousel */
body .el-testimonial-portrait.rounded img {
  border-radius: 0 !important;
}

body .testimonialRow .et_pb_module,
body .testimonialRow {
  border: none !important;
}
body .testimonialRow {
  margin-bottom: 0px !important;
  padding-bottom: 0px;
}
body .testimonialRow .et_pb_text_inner {
  border-left: 3px solid #edf7f6 !important;
  border-bottom: 3px solid #edf7f6 !important;
  padding-left: 20px;
  padding-bottom: 20px;
}

.el_md_testimonial_extended .layout1 .el-testimonial-portrait {
  position: absolute;
  top: -50px;
  left: calc(50% - 50px);
  width: 100px;
  height: 100px;
  z-index: 9999 !important;
}
.el_md_testimonial_extended .layout1 .el-testimonial-meta {
  position: relative;
  border-radius: 0 0 8px 8px;
  padding: 50px 50px 10px;
}


/* 11. Snipe banner (#topNote)
   ========================================================================== */

/* Disable/enable snipe: the display/visibility lines hide it.
   Hero adjustment without snipe (comment out with snipe):
     #HomeHero, #IntHero { margin-top: 110px !important; }
     .et_pb_section_0:not(.PPCHero) { margin-top: 110px !important; } */
#topNote {
  display: none !important;
  visibility: hidden !important;
  margin-top: 100px !important;
  padding: 0px !important;
}

body .PPCHero {
  margin-top: 160px;
}

body #topNote {
  background-image: none !important;
}
body #topNote .et_pb_column:last-of-type {
  padding: 10px 0px !important;
}
#topNote .et_pb_button_0_wrapper {
  margin-top: 8px !important;
}
#topNote h2 {
  font-size: 16px !important;
  color: #ffffff !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.3em !important;
  text-align: center !important;
  padding: 5px 0px !important;
  margin-top: 3px !important;
  margin-bottom: 2px !important;
  text-transform: none !important;
}
#topNote .et_pb_column {
  margin-bottom: 0px !important;
}
#topNote .et_pb_column:last-of-type {
  margin-bottom: 20px !important;
}
#topNote .et_pb_row {
  padding: 5px 0px !important;
}


/* 12. PPC landing pages
   ========================================================================== */

body .et_pb_section_2.et_pb_section.PPCLinkBox {
  padding: 1% 0px 60px !important;
  margin: 0px !important;
}

body .PPCHero .et_pb_row.vidbg {
  height: 100% !important;
  padding-top: 3% !important;
  padding-bottom: 3% !important;
}

/* Special fonts in PPC hero */
.specialHero,
.ppcHeroSmall,
.ppcHeroLarge {
  line-height: 1.1em !important;
}
.specialHero {
  font-family: Qwigley !important;
  text-transform: none !important;
  font-size: 64px !important;
}
.ppcHeroSmall {
  font-size: 21px !important;
}
.ppcHeroLarge {
  font-size: 26px !important;
}


/* 13. Contact / RFI forms
   ========================================================================== */

.contactTitle {
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-family: "montserrat" !important;
  line-height: 30px !important;
  padding-bottom: 10px !important;
  -webkit-text-size-adjust: 100% !important;
  vertical-align: baseline !important;
  background: transparent !important;
  color: #212d65 !important;
  font-size: 18px !important;
}

/* Video hero */
body #video.et_pb_section_3.et_pb_section {
  padding-top: 60px;
  padding-bottom: 60px;
}
body #video .et_pb_section_video_bg .mejs-video {
  top: -3%;
}

body #RFI:not(.single-event #RFI):not(#FooterMapForm #RFI),
body #rfi {
  padding-bottom: 4% !important;
  padding-top: 4% !important;
  max-width: 775px !important;
}
body #FooterMapForm #RFI {
  max-width: 80% !important;
}

@media only screen and (max-width: 767px) {
  body .et_pb_column_1:not(.et_pb_column_3_5.et_pb_column_1):not(#newPPCFormCol):not(.blog-infographic .et_pb_column) {
    padding-top: 8% !important;
    padding-bottom: 0 !important;
  }

  body #compLargeHeader #HomeHero,
  body #compLargeHeader #IntHero,
  body #compLargeHeader .PPCHero,
  body #compLargeHeader.singlePost,
  body #EYObanner {
    margin-top: 171px !important;
  }

  body .sparkHero h1,
  body .sparkHero h2 {
    font-size: 38px !important;
    line-height: 38px !important;
  }
  body .sparkFlex {
    display: block !important;
  }
  html body #main-content #sparkCopyBlocks {
    padding-left: 4% !important;
    padding-right: 4% !important;
  }
}

#rfi input[type="submit"],
#RFI:not(.event-rsvp) input[type="submit"] {
  margin: 0 auto !important;
}
#RFI.event-rsvp input[type="submit"] {
  margin: 0 16px 0 0 !important;
}

/* Team images (Corp) */
#TeamImages img {
  max-width: 200px;
}


/* 14. Responsive
   Kept in their original order — later queries override earlier ones.
   ========================================================================== */

/* Blog grid: two columns below 1390px */
@media (max-width: 1390px) {
  .dpdfg_filtergrid_0 .dp-dfg-container.dp-dfg-layout-grid .dp-dfg-items {
    grid-template-columns: repeat(auto-fill, minmax(40%, 1fr)) !important;
  }
}

/* Home page: Services 4-column and other fixes, 980px–1420px */
@media (max-width: 1420px) and (min-width: 980px) {
  body#NewHome #ServicesSection .et_pb_row_4col .et_pb_column {
    width: 50% !important;
  }
  body#NewHome #ServicesSection .text-card {
    min-height: 241px !important;
  }
  body#NewHome #ServicesSection .et_pb_row_4col .et_pb_column .loc-4-col {
    height: 241px;
  }
  body#NewHome #main-content #ServicesSection .text-card {
    margin-bottom: 30px;
  }

  /* Joe Bella buttons */
  body#NewHome #JoeBellaShop a {
    width: 100%;
    display: block;
    text-align: center;
    margin-left: 0px !important;
  }
  body#NewHome #JoeBellaShop a:last-of-type {
    margin-top: 30px;
  }

  body#NewHome #HomeTabs #GuideTabs {
    width: 90% !important;
  }
}

@media all and (max-width: 1180px) {
  body#NewHome #ServicesSection .text-card-button {
    width: 175px;
    font-size: 0.9em;
  }
}

/* ---------- Tablet & mobile (≤ 980px) ---------- */
@media all and (max-width: 980px) {
  /* Fit the mobile menu to the space below the fixed header (~160px) so it can
     scroll to the end without extra blank padding after the last item */
  body ul.et_mobile_menu {
    max-height: calc(100vh - 170px) !important;
    max-height: calc(100dvh - 170px) !important;
    padding-bottom: 20px !important;
  }

  /* Wrap stacked rows in a flex box (see .first-on-mobile etc.) */
  .stacked_row {
    display: flex;
    flex-wrap: wrap;
  }

  body h1 {
    font-size: 32px !important;
  }
  body h2:not(#ilPPCfix h2):not(#PPC-New h2),
  body #GuideTabs h2 {
    font-size: 26px !important;
  }

  body .et_pb_column.et_pb_column_empty.hide-on-mobile,
  body .hide-on-mobile {
    display: none !important;
    visibility: hidden !important;
  }

  body .et_pb_menu_2_tb_header .mobile_nav .mobile_menu_bar:before {
    font-size: 42px !important;
  }
  body .et_pb_row_1.et_pb_row:not(.sparkRow) {
    padding: 0px !important;
  }
  body .et_pb_section_0_tb_header.et_pb_section {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  body .PPCHero {
    margin-top: 210px;
  }
  body .newPPCHero {
    margin-top: 236px;
  }
  body #HomeHero,
  body #IntHero,
  body #EYObanner {
    margin-top: 160px !important;
  }
  body #HomeHero.second {
    min-height: 450px !important;
  }
  body #HomeHero.second .et_pb_row {
    padding-top: 66px !important;
    padding-bottom: 40px !important;
  }
  body #main-content #ContactMap #RFI {
    padding-left: 10% !important;
    padding-right: 10% !important;
  }

  /* Further buttons */
  body#NewHome #FurtherButtons .further-btn {
    width: 100% !important;
  }
  body#NewHome #FurtherButtons .further-btn.further-contact-us {
    margin-left: 0px;
    margin-top: 20px;
  }

  /* Home services */
  body#NewHome #main-content #ServicesSection {
    margin-top: 30px !important;
  }
  body#NewHome #main-content #ServicesSection .text-card-button {
    width: 250px;
    font-size: 18px;
  }
  body#NewHome #main-content #ServicesSection .ServiceHeader,
  body#NewHome #main-content #AgeInPlace .AgeHeader {
    padding-left: 10% !important;
    padding-right: 10% !important;
    width: 100% !important;
  }
  body#NewHome #main-content #ServicesSection .ServiceHeader .et_pb_module {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0px !important;
    width: 100% !important;
    margin-bottom: 30px !important;
  }
  body#NewHome #main-content #AgeInPlace .AgeHeader .et_pb_module {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0px !important;
    width: 100% !important;
    margin-top: 30px !important;
  }

  body #main-content #TestimonyPG {
    padding-top: 10% !important;
  }
  body #IntHero.Gallery {
    padding-top: 6%;
    padding-bottom: 6%;
    margin-bottom: 8%;
  }

  /* Column spacing */
  body #main-content .et_pb_column_1:only-child:not(.blog-infographic .et_pb_column) {
    padding-top: 4% !important;
    padding-right: 8% !important;
    padding-bottom: 0% !important;
    padding-left: 8% !important;
  }
  body #main-content .et_pb_column:not(.et_pb_column.et_pb_css_mix_blend_mode_passthrough):not(:only-child):nth-last-of-type(1),
  body #main-content .et_pb_column:not(:only-child):nth-last-of-type(1) .et_pb_text_9 {
    padding-bottom: 4% !important;
  }
  body.home .et_pb_section_7 .et_pb_row .et_pb_column.et-last-child:not(.et_pb_column.et_pb_css_mix_blend_mode_passthrough),
  .et_pb_row .et_pb_column:last-child:not(.et_pb_column.et_pb_css_mix_blend_mode_passthrough) {
    margin-bottom: 6% !important;
  }
  body #main-content .et_pb_column_16:not(.sparkFlex .et_pb_column):not(#HomeTabs .et_pb_column) {
    padding-bottom: 6% !important;
  }

  body #main-content .sparkFlex .et_pb_column {
    width: 100% !important;
    padding: 150px 0px 40px !important;
    margin: 0px !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  /* Events */
  .eventsgrid {
    grid-template-columns: 100%;
    display: grid;
    row-gap: unset !important;
  }
  .eventsgrid .eventslist:last-child {
    margin-bottom: 0px !important;
  }
  #EventList {
    margin-top: 30px !important;
  }
  body .em.pixelbones .ev-img,
  body .em.pixelbones .ev-date,
  body .em.pixelbones .ev-link,
  body .em.pixelbones .ev-time,
  body .em.pixelbones .ev-desc,
  body .em.pixelbones .ev-location {
    text-align: left !important;
    margin-bottom: 0px !important;
  }

  .reverse {
    display: flex;
    flex-direction: column-reverse;
  }
  body.home .et_pb_section_4.et_pb_section {
    padding: 0px !important;
  }
  body #main-content .et_pb_section:not(#HomeHero):not(
      #IntHero):not(
      .PPCHero):not(
      #FAQ):not(
      #TourBar):not(
      #FloorPlans):not(
      #ClinicalCapabilities):not(
      #EYObanner):not(
      #FilterGallery):not(
      #New-Blog-Design-Body .et_pb_section) {
    padding-bottom: 0%;
  }

  /* #IntHero already gets a top margin that clears the header */
  .privacy-policy .et_pb_section_0.et_pb_section:not(#IntHero) {
    padding-top: 160px !important;
  }

  /* Heroes */
  body #HomeHero .et_pb_row_0.et_pb_row,
  body #IntHero .et_pb_row_0.et_pb_row:not(#IntHero.Gallery .et_pb_row):not(#IntHero .EOYBanner):not(body #EYObanner) {
    padding: 6% 3% 0% !important;
  }
  body #et-main-area #main-content #IntHero .et_pb_text_0.et_pb_module {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0px !important;
  }
  body #main-content #FAQ {
    padding-top: 8% !important;
    padding-bottom: 8% !important;
  }
  body #et-main-area #main-content #HomeQuiz.et_pb_module h2 {
    text-align: left !important;
  }

  /* All content, including buttons, left-aligned on tablet and mobile */
  body #et-main-area #main-content .et_pb_module:not(#HomeHero .et_pb_module):not(
      .et_pb_image):not(
      #FloorPlanSlider .et_pb_button_module_wrapper):not(
      #SampleMenu .et_pb_module):not(
      .spark .et_pb_module):not(
      .sparkRow .et_pb_module):not(
      #sparkCopyBlocks):not(
      .headingSA h2):not(
      #ServicesSection .et_pb_module.text-card):not(
      #HomeTabs .et_pb_module.pac_dtm_child):not(
      #ContactMap #RFI):not(
      #FooterMapForm #RFI):not(
      #SocialPPC):not(
      #ppc-reviews-section *):not(
      div:has(.ppcButtonNew)):not(
      #ilPPCfix .et_pb_module):not(
      #FloorPlans #FloorPlans-Row *):not(
      #renoBanner *) {
    text-align: left !important;
    margin-left: 0px !important;
  }

  /* Home tabs & services cards */
  html body #main-content #HomeTabs .et_pb_module.pac_dtm_child {
    width: 100% !important;
    padding: 0px !important;
  }
  body #main-content #ServicesSection .et_pb_row .et_pb_column .et_pb_module.text-card {
    margin-top: -97px !important;
    margin-left: auto !important;
    width: 80% !important;
    margin-bottom: 40px !important;
  }
  body #main-content #HomeTabs .pac_dtm_parent_0 .pac_dtm_tabnav li.pac_dtm_tabnav-tab,
  body #main-content #HomeTabs .pac_dtm_parent_0 .pac_dtm_tabnav li.pac_dtm_tabnav-tab.active {
    padding: 20px;
    margin: 10px 0px 10px 0px;
  }
  body #main-content #HomeTabs .pac_dtm-child div {
    display: block !important;
    width: 100% !important;
  }
  body #et-main-area #main-content #HomeHero .et_pb_module {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 90% !important;
  }

  body #et-main-area #main-content .et_pb_module h2:not(#IntHero h2):not(
      #HomeHero h2):not(
      #SampleMenu h2):not(
      #PPCNumAddyCTA h2):not(
      #FloorPlans h2):not(
      #headingSA h2):not(
      .headingSA h2):not(
      .sparkHero h2):not(
      #ClinicalCapabilities h2):not(
      #FPslider h2):not(
      #SAppc div.owl-stage h2):not(
      #ilPPCfix h2) {
    text-align: left !important;
    margin-left: 0px !important;
  }
  body #et-main-area #main-content #HomeHero .et_pb_module h2 {
    text-align: center !important;
  }

  /* RFI form */
  body #RFI,
  body #rfi {
    max-width: 100% !important;
  }
  body #RFI:not(.single-event #RFI):not(#FooterMapForm #RFI),
  body #rfi {
    max-width: 100% !important;
  }
  body #FooterMapForm #RFI {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Mission / Who we are */
  body #main-content #MissionHome {
    padding: 8% 0 !important;
  }
  body #main-content #MissionHome .et_pb_module,
  body #main-content #MissionHome .et_pb_module h2,
  body #main-content #WhoWeAre .et_pb_module {
    text-align: left !important;
  }

  /* Human Spirit */
  body #main-content #HumanSpirit {
    padding: 6% 10% !important;
  }
  body #main-content #HumanSpirit h2,
  body #main-content #HumanSpirit .et_pb_module.et_pb_text_align_center {
    text-align: left !important;
  }
  body #main-content #HumanSpirit .et_pb_column {
    margin-bottom: 0px !important;
  }
  body #main-content #HumanSpirit .et_pb_row:first-child {
    padding-bottom: 0px !important;
  }
  body #main-content #HumanSpirit .et_pb_row .et_pb_column.et-last-child {
    padding-left: 0% !important;
  }
  body #main-content #HumanSpirit .et_pb_button_module_wrapper {
    margin-top: 0px !important;
  }
  body #main-content #HumanSpirit h3 {
    padding-top: 20px !important;
  }
  body #main-content #HumanSpirit p {
    padding-bottom: 0px !important;
  }

  /* Services section */
  body #main-content #ServicesSection {
    padding-bottom: 6% !important;
  }
  body #main-content #ServicesSection .et_pb_row:nth-child(2) {
    padding-bottom: 10% !important;
  }
  body#NewHome #main-content #ServicesSection .et_pb_row:nth-child(2) {
    padding-bottom: 0px !important;
  }
  body #main-content #ServicesSection .et_pb_row,
  body #main-content #ServicesSection .et_pb_column,
  body #main-content #ServicesSection .et_pb_row .et_pb_column .et_pb_module {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
    padding-right: 4% !important;
    padding-left: 4% !important;
  }

  /* Who we are bios */
  body #main-content #WhoWeAre .bio-row {
    margin: 0px auto !important;
    padding: 7% 7% !important;
    width: 100% !important;
  }
  body #main-content #WhoWeAre .et_pb_row {
    max-width: 90% !important;
  }
  body #et-main-area #main-content #WhoWeAre .et_pb_column.bio-box .et_pb_module:first-of-type {
    margin-top: 20px !important;
  }
  body #et-main-area #main-content #WhoWeAre .et_pb_column.bio-box .et_pb_module:last-of-type {
    margin-bottom: 20px !important;
  }
  body #et-main-area #main-content #ContactLast .et_pb_module {
    padding: 0px !important;
    text-align: left !important;
  }
  body #et-main-area #main-content #WhoWeAre > div > div > div.et_pb_module {
    padding: 0px !important;
    margin: 20px 7% !important;
    width: 95% !important;
  }
  body #et-main-area #main-content #WhoWeAre > div > div > div.et_pb_module p,
  body #et-main-area #main-content #WhoWeAre > div > div > div.et_pb_module h2 {
    text-align: left;
  }

  body #main-content #renoBanner {
    padding: 30px 0px !important;
  }
  body #FAQ .et_pb_row {
    padding-left: 5% !important;
    padding-right: 5% !important;
    padding-top: 0px !important;
  }
  body #main-content #TourBar {
    padding-bottom: 6% !important;
  }
  body #main-content #SampleMenu {
    padding-bottom: 6% !important;
  }
  body #main-content #PathTabs ul.pac_dtm_tabnav {
    margin: 0px !important;
  }
  body .et_pb_column_9:not(#ilPPCfix .et_pb_column) {
    margin: 0% auto !important;
  }

  /* Footer */
  footer .et_pb_module:not(.et_pb_social_media_follow):not(.et_pb_image_0_tb_footer),
  footer .et_pb_module p {
    text-align: center !important;
  }
  footer .et_pb_row {
    padding: 8% 0px 0px !important;
  }

  /* Blog grid */
  body .dp-dfg-layout-grid .dp-dfg-items {
    display: block !important;
  }
  body #BlogModule .dp-dfg-items:last-child {
    margin-bottom: 10% !important;
  }
  body.single-post #main-content .et_pb_section_0 {
    margin-top: 40px !important;
  }

  .single-event #RFI {
    padding: 10% !important;
    max-width: 570px !important;
  }

  body #main-content .LastColumn {
    margin-bottom: 30px !important;
  }

  /* Keep empty columns visible so their background images still show */
  .et_pb_column.et_pb_column_empty:not(#ClinicalCapabilitiesBullets .et_pb_column):not(.hide-col-on-mobile) {
    display: block !important;
    height: 400px !important;
    width: 100% !important;
  }

  /* Four-column sections (e.g. Dining page) */
  body #main-content .et_pb_gutters3 .et_pb_column_1_4:not(body #main-content #FlourishFour .et_pb_column_1_4):not(
      body#NewHome #main-content #ServicesSection .et_pb_row .et_pb_column_1_4):not(
      #Three-Column-Infographic .et_pb_column):not(
      #Two-Column-Infographic .et_pb_column):not(
      #SampleMenu .et_pb_column) {
    width: 50% !important;
  }
  body #main-content #ServicesSection .et_pb_column_1_4 {
    width: 100% !important;
  }
  body #main-content .et_pb_gutters3.et_pb_row .et_pb_column_1_4 .et_pb_image {
    margin: 0px !important;
    text-align: center !important;
  }

  body #main-content #SampleMenu .et_pb_row {
    padding: 6% 6% 0 !important;
  }
  body #main-content #ContactLast {
    width: 100% !important;
    padding: 5% 10% !important;
  }
  body #main-content .sparkFlex {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
}

/* ---------- Mobile (≤ 768px) ---------- */
@media (max-width: 768px) {
  body h1:not(#Blog-Head.new-blog-design h1) {
    font-size: 30px !important;
  }
  body h2:not(#ilPPCfix h2):not(#PPC-New h2):not(#New-Blog-Design-Body.new-blog-design h2.garamond-font),
  body #GuideTabs h2 {
    font-size: 21px !important;
  }
  body p a,
  body p a:hover,
  body .et_pb_text_1.et_pb_text a,
  body .et_pb_text_1.et_pb_text a:hover,
  body .et_pb_text_3.et_pb_text a:not(.btn-asl),
  body .et_pb_text_3.et_pb_text a:hover {
    word-wrap: break-word !important;
  }

  /* Full-width content */
  #left-area {
    width: 100%;
    padding-right: 0px !important;
  }

  .gform_wrapper .gform_footer {
    margin: 30px 0 16px 0 !important;
  }

  body .PPCHero {
    margin-top: 145px;
  }

  .et_pb_section_0_tb_footer.et_pb_section {
    padding-top: 6% !important;
    padding-bottom: 6% !important;
  }

  /* Four-column sections (e.g. Dining page) */
  body #main-content .et_pb_gutters3 .et_pb_column_1_4:not(body #main-content #FlourishFour .et_pb_column_1_4):not(
      body#NewHome #main-content #ServicesSection .et_pb_row .et_pb_column_1_4) {
    width: 100% !important;
  }

  body #main-content #SampleMenu .et_pb_row {
    width: 90% !important;
  }

  body #et-main-area #main-content #HomeQuiz.et_pb_module {
    width: 95% !important;
    padding-left: 8% !important;
    padding-right: 6% !important;
  }

  body #main-content #MissionHome {
    padding: 10% 0 !important;
  }
  body #main-content #HumanSpirit {
    padding: 10% !important;
  }
  body #FAQ {
    padding-top: 3% !important;
  }

  /* ContactLast */
  body #et-main-area #main-content #ContactLast .et_pb_module {
    padding: 0px !important;
    text-align: left !important;
  }
  body #et-main-area #main-content #ContactLast .et_pb_module.et_pb_button_module_wrapper {
    padding: 0% 0% 6% !important;
    text-align: left !important;
  }
  body #et-main-area #main-content #SecondContactLast {
    padding: 10% 0 !important;
  }
  body #et-main-area #main-content #SecondContactLast #ContactLast .et_pb_module:first-of-type {
    padding-bottom: 20px !important;
  }
  body #et-main-area #main-content #SecondContactLast #ContactLast .et_pb_module {
    padding: 0px !important;
  }

  html body #person1 .et_pb_column:last-child,
  html body #person2 .et_pb_column:last-child,
  html body #person3 .et_pb_column:last-child,
  html body #person4 .et_pb_column:last-child {
    margin: 20px 10% !important;
  }
  html body #person1 img,
  html body #person2 img,
  html body #person3 img,
  html body #person4 img {
    padding-right: 0px !important;
  }

  body #main-content #PathTabs .et_pb_module_inner .pac_dtm_child_container .et_pb_module {
    padding: 0px 4% !important;
    margin: 30px 0px 20px !important;
  }

  body #main-content #SecondContactLast #ContactLast {
    padding: 0px 10% !important;
  }
  body #main-content #SecondContactLast #ContactLast .et_pb_module.et_pb_text_6 h2 {
    text-align: left !important;
  }
  body #main-content .et_pb_text_2 h2,
  body #main-content .et_pb_module.et_pb_text_6 h2:not(#ilPPCfix h2):not(#SampleMenu h2),
  body #main-content .et_pb_cta_0.et_pb_promo .et_pb_button_wrapper {
    text-align: left !important;
  }

  body #HomeQuiz a {
    text-align: center;
  }

  #main-content #FloorPlans div > h2,
  #main-content #FloorPlans #FloorPlans-Row div > h2 {
    text-align: center !important;
    margin-top: 20px !important;
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }

  body #main-content #ContactLast {
    padding: 10% 10% 6% !important;
  }
}

@media (max-width: 980px) {
  body #main-content #SampleMenu .et_pb_row_4col .et_pb_module,
  body #main-content #SampleMenu .et_pb_row_4col .et_pb_module h2 {
    text-align: center !important;
  }
}

@media (max-width: 641px) {
  #landingPgForm select {
    padding: 10px 10px 10px 7px !important;
  }
  .gform_wrapper.gravity-theme .gfield {
    grid-column: 1 / -1 !important;
  }
}

#blogform .et_pb_text_inner {
  max-width: 1000px;
  text-align: center;
  margin: auto;
}

@media only screen and (min-width: 641px) {
  .gform_legacy_markup_wrapper ul.gform_fields li.gfield {
    padding-right: 16px !important;
  }
}

div.gform_wrapper.gravity-theme div.gform_validation_errors h2,
div.gform_wrapper.gravity-theme div.gfield_validation_message,
div.gform_wrapper.gravity-theme div.validation_message {
  color: #c02b0a !important;
}

@media screen and (max-width: 992px) {
  .event-map {
    float: none !important;
    position: relative !important;
    display: block !important;
    margin: 0 -20px !important;
    margin-left: -45px !important;
  }
  .event-rsvp {
    width: 100%;
    display: block;
    float: none;
    margin-right: 0;
  }
  .event-location {
    float: none;
    display: block;
    width: 100%;
  }
  .em-location-map-container {
    width: 100% !important;
  }
}

@media only screen and (max-width: 1024px) {
  body #WhoWeAre {
    padding: 0px 0 !important;
  }
}

/* ---------- Tablet & up (≥ 768px) ---------- */
@media (min-width: 768px) {
  body #ppc-hero {
    margin-top: 176px !important;
    padding-top: 0px !important;
  }

  #topNote {
    margin-top: 18% !important;
  }
  #topNote .et_pb_column:last-of-type {
    margin-bottom: 0px !important;
  }

  .ppcHeroSmall {
    font-size: 32px !important;
  }
  .ppcHeroLarge {
    font-size: 44px !important;
  }

  .contactTitle {
    font-size: 21px !important;
  }
}

@media (min-width: 981px) {
  body .et_pb_gutters2 .et_pb_column_2_5,
  .et_pb_gutters2.et_pb_row .et_pb_column_2_5 {
    width: 41.2% !important;
  }
}

/* ---------- Desktop (≥ 980px) ---------- */
@media (min-width: 980px) {
  body #ppc-hero {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }
  body .vidbg {
    height: 413px !important;
  }
  #topNote {
    margin-top: calc(10vh + 41px) !important;
  }
  #topNote h2 {
    font-size: 18px !important;
    text-align: left !important;
  }

  /* All home heroes the same height */
  body #HomeHero,
  body #IntHero:not(.single-post #IntHero) {
    height: 600px !important;
  }
  body #IntHero.contactMap {
    height: 100% !important;
  }
  body #IntHero.Gallery {
    height: 400px !important;
  }
  body #compLargeHeader.singlePost {
    height: 480px !important;
  }

  /* Large hero logo compensation (e.g. Dartmouth, Usually Cottages) */
  body #compLargeHeader #HomeHero,
  body #compLargeHeader #IntHero,
  body #compLargeHeader .PPCHero,
  body #compLargeHeader #ServicesSection,
  body #compLargeHeader.singlePost {
    margin-top: 166px !important;
  }

  body .home .et_pb_section_2 {
    margin-top: 0 !important;
  }

  /* Wider snipe button */
  #topNote .et_pb_column:last-of-type {
    width: 25% !important;
  }

  .specialHero {
    font-size: 95px !important;
  }
  .ppcHeroSmall {
    font-size: 58px !important;
  }
  .ppcHeroLarge {
    font-size: 78px !important;
  }

  body #RFI,
  body #rfi {
    max-width: 90% !important;
  }
  .contactTitle {
    font-size: 26px !important;
  }
}

/* Menu wraps below 1352px — push heroes down */
@media (max-width: 1352px) {
  body #HomeHero,
  body #IntHero,
  body #ServicesSection,
  body #EYObanner {
    margin-top: 118px !important;
  }
}

@media screen and (max-width: 980px) {
  .et_pb_column .et_pb_text_2 .eoy-text {
    margin-left: 0px;
  }
  body #BlogModule,
  body #BlogModule .dp-dfg-item {
    margin-bottom: 40px !important;
  }
}


/* 15. Single events
   ========================================================================== */

body.single-event .et_pb_post_title_0_tb_body .et_pb_title_featured_container {
  max-width: 500px !important;
  margin: 0 !important;
}
body.single-event .et_pb_post_title,
body.single-event .et_pb_post_content_0_tb_body {
  width: 80%;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media screen and (max-width: 980px) {
  body.single-event .et_pb_post_title,
  body.single-event .et_pb_post_content {
    width: 100%;
    padding: 0px !important;
  }
}


/* 16. Blog
   ========================================================================== */

body.single-post #main-content .et_pb_row:not(.singlePost .et_pb_row):not(#Blog-Head .et_pb_row):not(.blog-infographic .et_pb_row) {
  padding: 0px !important;
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
}
body.single-post #main-content .et_pb_section_0:not(#New-Blog-Design-Body .et_pb_section) {
  margin-top: 0px !important;
}
.single-post #main-content {
  margin-bottom: 0% !important;
}

/* New blog design */
#Blog-Head.new-blog-design *,
#New-Blog-Design-Body.new-blog-design *,
#relatedPosts.new-blog-design *,
#blogform.new-blog-design * {
  text-transform: none !important;
  line-height: 1.5em !important;
}
#Blog-Head.new-blog-design h1 {
  font-weight: 600 !important;
  line-height: 1.2em !important;
}
#Blog-Head div.et_pb_title_featured_container img {
  max-height: 500px;
  object-fit: cover;
}

#Three-Column-Infographic-Section,
#Two-Column-Infographic-Section {
  width: 110% !important;
  margin-left: -5% !important;
}
#Three-Column-Infographic-Section h2,
#Three-Column-Infographic-Section h3,
#Three-Column-Infographic-Section h4,
#Two-Column-Infographic-Section h2,
#Two-Column-Infographic-Section h3,
#Two-Column-Infographic-Section h4 {
  color: #00bab3 !important;
}

#New-Blog-Design-Body.new-blog-design h2.garamond-font {
  font-family: adobe-garamond-pro, serif !important;
  font-size: 36px !important;
  line-height: 1.2em !important;
}
#New-Blog-Design-Body.new-blog-design h3.garamond-font {
  font-family: adobe-garamond-pro, serif !important;
  font-size: 28px !important;
  line-height: 1.2em !important;
}
#New-Blog-Design-Body.new-blog-design h4.garamond-font {
  font-family: adobe-garamond-pro, serif !important;
  font-size: 24px !important;
  line-height: 1.2em !important;
}
#New-Blog-Design-Body img:not(.et_pb_main_blurb_image img) {
  float: right;
  max-width: 600px;
  padding-left: 25px;
}
#New-Blog-Design-Body ol li:has(h3)::marker {
  font-size: 22px !important;
}
#New-Blog-Design-Body ol li:has(h2)::marker {
  font-size: 26px !important;
}

@media (max-width: 980px) {
  #New-Blog-Design-Body.new-blog-design h2.garamond-font {
    font-size: 30px !important;
  }
  #New-Blog-Design-Body.new-blog-design h3.garamond-font {
    font-size: 24px !important;
  }
  #New-Blog-Design-Body.new-blog-design img:not(.et_pb_main_blurb_image img) {
    display: block !important;
    float: none !important;
    padding: 15px 0px !important;
    margin: 0px !important;
    width: 100%;
  }
  #Three-Column-Infographic-Section #Three-Column-Infographic div.et_pb_column,
  #Two-Column-Infographic-Section #Two-Column-Infographic div.et_pb_column {
    width: 100% !important;
    margin: 0px 0px 30px !important;
  }
  #Three-Column-Infographic-Section #Three-Column-Infographic div.et_pb_column:last-of-type,
  #Two-Column-Infographic-Section #Two-Column-Infographic div.et_pb_column:last-of-type {
    margin-bottom: 0px !important;
  }
  #New-Blog-Design-Body ol li:has(h2)::marker {
    font-size: 21px !important;
  }
}
@media (max-width: 767px) {
  #Blog-Head div.et_pb_title_featured_container img {
    max-height: 300px;
  }
}

#New-Blog-Design-Body .blog-infographic .et_pb_blurb h4 {
  font-weight: 700 !important;
}
#Three-Column-Infographic-Section ul,
#Three-Column-Infographic-Section ol,
#Two-Column-Infographic-Section ul,
#Two-Column-Infographic-Section ol {
  list-style-position: outside !important;
  padding-left: 15px !important;
  margin-top: 10px !important;
}

/* Show empty columns on tablet and mobile so background images still show */
.et_pb_column.et_pb_column_empty:not(.hide-col-on-mobile) {
  display: block !important;
}


/* 17. Professional referral page
   ========================================================================== */

#ProfHero .prof-referral-heading-top {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  text-transform: none !important;
  font-weight: 500;
  color: #ffffff;
  font-size: 36px;
  line-height: 1.1em;
}
#ProfHero .prof-referral-heading-bottom {
  font-family: adobe-garamond-pro, serif !important;
  text-transform: none !important;
  font-weight: 400;
  color: #ffffff;
  font-size: 65px;
  line-height: 1.1em;
}

@media (max-width: 980px) {
  #ProfHero .prof-referral-heading-top {
    font-size: 30px;
  }
  #ProfHero .prof-referral-heading-bottom {
    font-size: 48px;
  }
}
@media (max-width: 767px) {
  #ProfHero .prof-referral-heading-top {
    font-size: 24px;
  }
  #ProfHero .prof-referral-heading-bottom {
    font-size: 36px;
  }
}
