/*
	Theme Name: Betty Ford
	Description: Twentytwenty Child Theme
	Author: 6600team
	Template: twentytwenty
	Version: 3.48
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Tags: classes, courses, education, education center, learning center, tutoring, teaching, study, studying, learning, lessons, instructor, teacher, mentor
	Text Domain: masterstudy-child
*/
@font-face {
  font-family: "Scout-Regular";
  src: url("./fonts/Scout-Regular.eot");
  src:
    url("./fonts/Scout-Regular.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("./fonts/Scout-Regular.woff") format("woff"),
    /* Modern Browsers */ url("./fonts/Scout-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Scout";
  src: url("./fonts/Scout-Light.eot");
  src:
    url("./fonts/Scout-Light.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("./fonts/Scout-Light.woff") format("woff"),
    /* Modern Browsers */ url("./fonts/Scout-Light.ttf") format("truetype");
}
#site-footer {
  background-image: url(./img/footer.png) !important;
  min-height: 600px;
  background-position: 50% 70%;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 0px;
  padding-top: 0;
  position: relative;
  z-index: 4;
}
.footer-div {
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0) 30%
  );
}
.footer-div .footer-logo {
  display: flex;
  justify-content: flex-end;
  margin: 0px 4rem;
  /* 	margin-top: 10rem; */
}
.footer-bar-inner-div {
  background: #000000b0;
  margin-top: 30rem;
  padding: 1.6rem 4rem;
}
.footer-bar-inner-div ul {
  display: flex;
  justify-content: center;
}
.footer-bar-inner-div li {
  display: flex;
  justify-content: center;
  margin: 0px !important;
}
.footer-bar-inner-div a {
  font-size: 2rem;
  font-family: "Scout-Regular";
  font-weight: 500;
  letter-spacing: 1px;
  margin: 0 1rem;
  text-transform: uppercase;
}
.footer-div .footer-title {
  display: flex;
  justify-content: center;
  background-color: #00000077;
  padding-bottom: 2rem;
}
.footer-div .footer-title h2 {
  font-size: 2.4rem;
  font-family: "Scout-Regular";
  color: #fff;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 2rem 1rem 0;
}
.footer-div .footer-title.footer-google p {
  font-size: 1.8rem;
  font-family: "Scout-Regular";
  color: #fff;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 1rem 2rem 0;
}
.footer-div .footer-title span {
  font-size: 1.6rem;
  font-family: "Scout-Regular";
  color: #fff;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 4rem 1rem;
}
.social-list {
  display: flex;
}
.social-list img {
  max-width: 40px;
  margin: 0 1rem;
}
.sticky_header {
  height: 75vh;
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.home .sticky_header {
  height: 100vh;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero {
  height: 75vh !important;
  margin-top: -75vh !important;
}
@media screen and (max-width: 1024px) {
  .sticky_header {
    height: 50vh;
  }
  .hero {
    height: 50vh !important;
    margin-top: -50vh !important;
  }
}
#header_background {
  position: fixed;
  width: 100%;
  top: 0px;
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 99999;
}
.sticky #header_background {
  background-color: #000000c7;
}
.menu-modal.active {
  z-index: 999999;
}
.section-inner {
  width: calc(100% - 10rem);
}
.site-logo img {
  max-height: 16rem;
  margin-top: -11rem;
}
#site-header {
  background-color: #00000077;
}
.top-bar-inner {
  padding-bottom: 5px;
  padding-top: 5px;
}

.primary-bar-inner {
  padding-top: 0px;
}

.top-bar-inner-div {
  background: linear-gradient(90deg, #00000000 0%, #000000b0 100%);
}
.header-inner {
  padding-bottom: 1rem;
}

.header-navigation-wrapper {
  width: 120%;
}

@media (min-width: 1000px) and (max-width: 1200px) {
  .header-navigation-wrapper {
    width: 1100px;
    margin: 0 auto; /* Optional: centers it horizontally */
  }
}

/* .primary-menu span.icon{
	display: none;
} */
.primary-menu ul a {
  text-transform: uppercase;
}

.primary-menu li.menu-item-has-children a {
  position: relative;
}
.primary-menu .icon:before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 6px solid #fff;
  background-color: transparent;
  right: 0px;
  top: calc(100% - 6px);
  transform: rotate(45deg);
}
body:not(.overlay-header)
  .cs-line-menu.primary-menu.primary-menu
  > li
  > ul:after {
  border-bottom-color: #26522dd9;
}
/* .primary-menu li.menu-item-has-children a::after {
	content: "";
	position: absolute;
	border: 6px solid transparent;
	border-top: 6px solid #fff;
	background-color: transparent;
	right: 0px;
	top: calc(100% - 20px);
} */
.primary-menu .icon::after {
  display: none;
}
body:not(.overlay-header) .primary-menu > li.menu-item > a {
  color: #fff;
}
.header-inner
  .primary-menu-wrapper
  + .header-toggles
  .toggle-wrapper:first-child::before {
  display: none;
}
.header-toggles .toggle-inner {
  color: #fff;
}
.header-toggles .toggle-text {
  display: none;
}
.header-navigation-wrapper .header-toggles {
  margin-left: 0px;
}
body:not(.overlay-header) .primary-menu.cs-line-menu ul {
  background-color: #26522dd9;
}
.primary-menu > li > .icon {
  right: 0.7rem;
}
/*****************/
.primary-menu.cs-line-menu .menu-item-has-children {
  position: relative;
}
.primary-menu.cs-line-menu .menu-item-has-children {
  margin-left: 0px;
  z-index: 0;
}
.primary-menu.cs-line-menu .menu-item-has-children:hover {
  background-color: #37704d;
  z-index: 999;
}
.primary-menu.cs-line-menu .menu-item-has-children .sub-menu {
  max-width: 350px;
  width: 200px;
  display: flex;
  margin-top: -20px;
  border-radius: 0px;
  flex-direction: column;
  left: 0px;
}
.primary-menu.cs-line-menu .menu-item-has-children .sub-menu{
  display: none;
}
.primary-menu.cs-line-menu .menu-item-has-children:hover .sub-menu{
 display: flex;
}
.primary-menu.cs-line-menu .menu-item-has-children .sub-menu::after,
.primary-menu.cs-line-menu .menu-item-has-children .sub-menu::before {
  display: none;
}
/* body:not(.overlay-header) .cs-line-menu.primary-menu>li>.icon{
	display: none;
} */
/*****************/
body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a {
  font-size: 3rem;
  font-family: "Scout-Regular";
  margin-left: 1.8rem;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}
body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a:hover,
body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a:focus-visible {
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 2px;   /* <-- KNOB: line weight */
  text-underline-offset: 6px;       /* <-- KNOB: distance below the text */
}

/* the "you are here" tab — Customizer pins it to none!important */
body:not(.overlay-header) .cs-primary-menu.cs-line-menu > li.bfg-current-section > a:hover,
body:not(.overlay-header) .cs-primary-menu.cs-line-menu > li.bfg-current-section > a:focus-visible {
  text-decoration: underline !important;
  text-decoration-color: #fff;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
body:not(.overlay-header)
  .top-bar-inner-div
  .cs-line-menu.primary-menu
  > li.menu-item
  > a {
  font-size: 1.6rem;
  font-family: "Scout-Regular";
  margin-left: 4.6rem;
  font-weight: 500;
  letter-spacing: 1px;
}
#site-header .top-bar-inner-div .cs-line-menu .menu-item:first-child a:after {
  display: none;
}
#site-header .top-bar-inner-div .cs-line-menu .menu-item a:after {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 6px solid #fff;
  background-color: transparent;
  right: -19px;
  top: calc(100% - 14px);
  transform: rotate(270deg);
}
.cs-parallax {
  height: 100vh !important;
  margin-top: -100vh !important;
}
button.toggle {
  background: none !important;
}
.cs-icon-circle-border .elementor-icon {
  position: relative;
  vertical-align: middle;
}
.cs-icon-circle-border .elementor-icon:after {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  right: -6px;
  bottom: -6px;
  border: 3px solid #cccccc;
  border-radius: 50%;
}
.cs-img-circle-border img {
  box-shadow: 0 0 0 3px #cccccc !important;
}
@media screen and (max-width: 1024px) {
  .cs-icon-circle-border .elementor-icon {
    padding: 6px !important;
  }
}
.dialog-type-lightbox {
  z-index: 99999 !important;
}
.title-caret-right .infobox-content .title {
  position: relative;
}
.title-caret-right .infobox-content .title:after {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 6px solid #ffffff;
  background-color: transparent;
  margin-left: 5px;
  top: calc(100% - 20px);
  transform: rotate(270deg);
}
/*wp forms*/
.wpforms-form button[type="submit"] {
  background-color: #37704d !important;
  border: none !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 5px 15px !important;
}
.wpforms-form button[type="submit"]:hover {
  background-color: #323232 !important;
}
@media only screen and (max-width: 1700px) {
  .footer-bar-inner-div {
    margin-top: 25rem;
  }
  #site-footer {
    background-position: 50% 100%;
  }
}
@media (max-width: 1250px) {
  body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 1200px) {
  body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a {
    font-size: 1.2rem !important;
  }
  .primary-menu.cs-line-menu .menu-item-has-children .sub-menu {
    max-width: 80vw;
    width: 80vw;
    display: flex;
    margin-top: -10px;
    border-radius: 0px;
  }
  .primary-menu ul {
    background: #000;
    background-color: rgb(0, 0, 0);
    border-radius: 0.4rem;
    color: #fff;
    font-size: 1.5rem;
    opacity: 0;
    margin-top: 20px;
    padding: 0.3rem;
    position: absolute;
    right: 9999rem;
    top: calc(100% + 2rem);
    transition:
      opacity 0.15s linear,
      transform 0.15s linear,
      right 0s 0.15s;
    transform: translateY(0.6rem);
    width: 20rem;
    z-index: 1;
  }
  .site-logo img {
    max-height: 15rem;
    margin-top: -8px;
  }
  .header-inner {
    padding-bottom: 0.5rem;
    padding-top: 1.25rem;
  }
}

@media only screen and (max-width: 1000px) {
  .toggle-inner {
    height: 6rem;
  }
  .nav-toggle .toggle-inner {
    padding-top: 0px;
  }
  .nav-toggle .toggle-icon,
  .nav-toggle svg {
    height: 6rem;
    width: 8rem;
    margin-left: -2rem;
  }
  .header-inner .toggle path {
    fill: #fff;
  }
  .header-inner .toggle.mobile-search-toggle {
    display: none;
  }
  .header-titles-wrapper {
    justify-content: space-between;
    padding-left: 0px;
  }
  .top-bar-inner {
    display: none;
  }
  .site-logo img {
    margin-top: 10px;
    max-height: 9rem;
  }
  .menu-modal-inner.modal-inner {
    background: #37704d;
  }
  .menu-wrapper-mobile-header-background {
    background-color: #2c5a3e;
  }
  .menu-wrapper-mobile-header {
    display: flex;
  }
  .modal-menu {
    position: relative;
    left: calc(50% - 48vw);
    width: 96vw;
  }
  .menu-modal-inner .menu-wrapper.section-inner {
    width: 100%;
  }
  nav.mobile-menu {
    overflow-x: hidden;
  }
  .mobile-top-bar {
    background: linear-gradient(90deg, #00000000 0%, #000000b0 100%);
  }
  .mobile-top-bar ul.primary-menu {
    justify-content: flex-start;
  }
  body:not(.overlay-header)
    .mobile-top-bar
    .cs-line-menu.primary-menu
    > li.menu-item
    > a {
    font-size: 1.2rem;
    margin: 1rem 0.5rem;
  }
  .menu-wrapper-mobile-header {
    margin: 0.5rem 2rem;
  }
  button.close-nav-toggle {
    padding: 2.1rem 0;
  }
  .menu-modal-mobile ul.primary-menu {
    margin-top: 0px;
  }
  .section-inner {
    width: calc(100% - 4rem);
  }
  .menu-modal .toggle {
    color: #fff !important;
  }
  button.close-nav-toggle svg {
    height: 3rem;
    width: 3rem;
    fill: #fff !important;
  }
  .modal-menu .menu-item {
    border: none;
  }
  .modal-menu .menu-item {
    border-bottom: 2px dotted black;
  }
  .modal-menu .menu-item:last-child {
    border-bottom: none;
  }
  .modal-menu .active .menu-item {
    border-bottom: none;
  }
  .modal-menu .active .menu-item:first-child {
    border-top: 2px dotted black;
  }
  .modal-menu .ancestor-wrapper {
    width: auto;
  }
  button.sub-menu-toggle {
    border: none;
    padding: 0px;
    margin: 0px;
  }
  button.sub-menu-toggle:before {
    content: "";
    position: absolute;
    border: 6px solid transparent;
    border-top: 6px solid #fff;
    background-color: transparent;
    right: 0px;
    transform: rotate(-90deg);
    top: 15px;
  }
  button.sub-menu-toggle.active:before {
    transform: rotate(0deg);
  }
  button.sub-menu-toggle svg {
    display: none;
  }
  .modal-menu > li > .ancestor-wrapper > a {
    font-family: "Scout-Regular";
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
  }
  .modal-menu ul li a {
    font-family: "Scout-Regular";
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
  }
  .footer-div .footer-logo {
    display: none;
  }
  .footer-bar-inner-div .primary-menu-wrapper {
    display: flex;
  }
  .footer-bar-inner-div ul {
    flex-direction: column;
  }
  .footer-bar-inner-div {
    display: inline-flex;
    width: 40%;
    align-items: center;
  }
  .footer-title-div {
    width: 60%;
  }
  .footer-div {
    flex-direction: row;
    align-items: stretch;
  }
  #site-footer {
    min-height: 300px;
  }
  .footer-list {
    display: flex;
    flex-direction: column;
  }
  .mobile-hidden {
    display: none;
  }
  .footer-div .footer-title .footer-list span {
    margin: 1rem 1rem;
  }
  .footer-bar-inner-div {
    margin-top: 0px;
  }
  .footer-bar-inner-div li {
    justify-content: flex-start;
  }
  .footer-bar-inner-div a {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }
  .footer-div .footer-title h2 {
    font-size: 2.2rem;
    margin-left: 2rem;
  }
  .footer-div .footer-title .footer-list span {
    margin: 1rem 2rem;
  }
  .footer-div .footer-title span {
    font-size: 1.7rem;
  }
  .footer-title.social {
    justify-content: flex-start;
    padding: 1rem 2rem;
  }
  .social-list img {
    margin: 0 0rem;
  }
  .menu-bottom {
    padding: 0rem 0;
  }
  .menu-bottom .footer-div .footer-title h2 {
    margin: 1rem 2rem;
  }
  .menu-bottom .footer-div .footer-title {
    padding-bottom: 0rem;
  }
  .menu-bottom .footer-div .footer-title .footer-list span {
    margin: 0.5rem 2rem;
  }
  .menu-bottom .footer-title-div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #00000077;
  }
  .menu-bottom .footer-bar-inner-div a {
    margin: 0 1rem;
  }
  .menu-bottom .social-list img {
    margin-bottom: 1rem;
  }
  .modal-menu a {
    padding: 1rem 2.5rem;
  }
  .menu-modal-mobile .footer-div .primary-menu li.menu-item {
    max-width: 35vw;
  }
  .menu-wrapper.is-animating.is-toggling .toggling-target.active {
    opacity: 0;
  }
}
@media only screen and (max-width: 768px) {
  .footer-bar-inner-div {
    padding: 1.6rem 2rem;
  }
  .footer-div .footer-title h2 {
    font-size: 2rem;
  }
}
/*Events Calendar*/
.cs-event-round-img .mec-event-image img {
  border-radius: 50%;
}
.mec-event-list-classic .mec-event-article {
  padding: 10px 0 0;
  margin-bottom: 5px;
}
.mec-event-list-classic .mec-event-title a {
  position: relative;
  margin-right: 10px;
}
.mec-event-list-classic .mec-event-title a:after {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 6px solid #37704d;
  background-color: transparent;
  margin-left: 5px;
  top: calc(100% - 0.8em);
  transform: rotate(270deg);
}

.persistent-subnav {
  background-color: #2d5f2f;
  padding: 12px 0;
  text-align: center;
}
.subnav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.subnav-menu li {
  display: inline-block;
  margin: 0 20px;
}
.subnav-menu li a {
  color: white;
  text-decoration: none;
  font-weight: 600;
}
.subnav-menu li a:hover {
  text-decoration: underline;
}

.mec-book-field-select[data-field-id="number_of_people"] {
  margin-left: 0px;
}

@keyframes light {
  0% {
    left: -80%;
  }
  100% {
    left: 80%;
  }
}

@media (max-width: 767px) {
  .cs-banner {
    padding: 0.5em 0em;
  }
}

.top-bar-header-div {
  background: linear-gradient(211deg, #00000000 0%, #000000b0 100%);
}
.header-inner.top-header-inner {
  display: flex;
  justify-content: end;
  padding-top: 0px;
}
.top-header-inner .top-header-menu {
  display: flex;
}
.head-toggle-inner {
  display: flex;
  align-items: center;
}
.top-header-inner .top-header-menu li a,
.head-toggle-inner .toggle-text {
  font-size: 2.4rem;
  font-family: "Scout-Regular";
  margin-left: 4.5rem;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  padding: 2.1rem 0rem 2.1rem 0rem;
}
.head-toggle-inner .toggle-text {
  margin-left: 1rem;
}
.search-toggle-wrapper button.head-search-toggle,
.search-toggle-wrapper button.head-search-toggle:hover {
  background-color: transparent;
  padding: 0px;
}
.head-toggle-inner .toggle-text {
  font-size: 2.4rem;
  font-family: "Scout-Regular";
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}
.header-inner {
  max-width: 224rem;
}
.cs-banner {
  padding: 2.1rem 0.9rem 2.1rem 0.9rem;
  background: #c3963f;
}
a .cs-banner button,
a .cs-banner button:hover {
  background: #c3963f;
}
.header-menu-wrapper {
  margin-right: 3.5rem;
}
.cs-primary-menu {
  padding: 1.8rem 0px 1.8rem 0px;
}
.primary-menu.cs-line-menu .menu-item-has-children {
  margin-left: 4.5rem;
}
.header-titles-wrapper {
  position: relative;
}
.wp-custom-logo .header-titles {
  position: absolute;
  width: 26rem;
  height: 18rem;
  left: -2rem;
  top: -7rem; /* was -12rem — lowered so the taller logo isn't clipped - pf 10/19/26 */
}


.top-header-inner .top-header-menu li a,
.head-toggle-inner .toggle-text {
  font-size: 1.6rem;
  margin-left: 2rem;
  padding: 1.1rem 0rem 1.1rem 0rem;
}
.head-toggle-inner {
  margin-bottom: -0.2em;
}
.head-toggle-inner .toggle-text {
  margin-left: 0.4rem;
  font-size: 1.6rem;
}
.head-toggle-inner .svg-icon {
  max-width: 16px;
}
.cs-banner {
  padding: 1.1rem 0rem 1.1rem 0rem;
}
a .cs-banner button {
  font-size: 1.6rem;
}
.header-inner {
  max-width: 91vw;
  padding: 0px;
}
.header-menu-wrapper {
  margin-right: 2.2rem;
}
.primary-menu > li {
  margin: 0px;
}
body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a {
  font-size: 2rem;
}
.primary-menu.cs-line-menu .menu-item-has-children {
  margin-left: 0.5rem;
}
.cs-primary-menu {
  padding: 0.8rem 0px 0.8rem 0px;
}
.cs-primary-menu {
  padding: 1.6rem 0px 1.6rem 0px; /* taller header band - pf 10/19/26 */
}
ul.primary-menu {
  margin: 0px;
}

.primary-menu li {
  position: relative;
}
.primary-menu.cs-line-menu .menu-item-has-children .sub-menu .sub-menu {
  left: 180px;
}
.footer-primary-menu{
	display: flex;
	justify-content: center;
}
.footer-primary-menu .menu-item-has-children{
      display: flex;
  flex-direction: column;
  padding: 3rem;
  align-items: flex-start;
      color: #000;
  font-size: 1.6rem;
  font-weight: bold;
  text-transform: uppercase;
}
.footer-primary-menu .sub-menu .menu-item-has-children{
  padding-left: 0px;
  padding-top: 0px;
}
.footer-primary-menu .menu-item-has-children li a{
  font-size: 1.4rem;
  font-weight: normal;
  color: #191616;
}
#site-footer .footer-bar-inner-div-new .primary-menu-wrapper{
  margin-left: 2rem;
  margin-right: 2rem;
  width: auto;
  padding-top: 0rem;
  padding-bottom: 0rem;
}
#site-footer .footer-bar-inner-div-new a{
	color: #000;
}
.footer-div div.footer-logo{
  justify-content: center;
}
div.footer-div{
  background: transparent;
}
.footer-list span{
  text-transform: uppercase;
}
.footer-div .footer-title{
  background: transparent;
}
#wpadminbar{
  z-index: 99999999;
}
.footer-bottom{
  background: #000;
  padding: 0.5rem;
}
.footer-bottom ul{
  display: flex;
  justify-content: center;
  margin: 0px;
  list-style: none;
}
.footer-bottom ul li{
  margin: 0px;
  display: flex;
  align-items: center;
}
.footer-bottom ul li a{
  padding-right: 1rem;
  padding-left: 1rem;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.8rem;
}
.footer-bottom ul li:not(:last-child)::after {
    content: "|";
    margin: 0 10px;
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
}
footer#site-footer{
  background-position-y: 4rem;
}
#mc_embed_signup{
    max-width: 100%;
  }
.footer-primary-menu .menu-item-has-children{
  font-size: 2.1rem;
}
div.header-inner{
  padding-bottom: 0rem;
  padding-top: 0rem;
}
div.header-inner ul.primary-menu{
  padding-top: 0px;
  padding-bottom: 0px;
}
.primary-menu.cs-line-menu >.menu-item-has-children{
  padding-top: 1.8rem;
  padding-bottom: .8rem;
}
.primary-menu>li>.icon{
  top: calc(50% - 0.01rem);
}
.primary-menu  li.current-menu-item{
  background-color: #37704d;
}
.primary-menu li.current-menu-item > a{
  text-decoration: none;
}

@media (max-width: 999px) {
  .top-bar-header-div .header-inner {
    display: none;
  }
  #header_background {
    min-height: 6rem;
    background: #000000e0;
  }
  .nav-toggle .toggle-inner {
    padding-top: 0px;
  }
  .wp-custom-logo .header-titles {
    position: relative;
    width: 6rem;
    height: 6rem;
    left: 0rem;
    top: 0rem;
  }
  .nav-toggle .toggle-icon,
  .nav-toggle svg {
    margin-left: 2rem;
  }
  .modal-menu > li > a,
  .modal-menu > li > .ancestor-wrapper > a {
    padding: 0.5rem;
  }

  div.footer-div{
    display: flex;
    background: #1212124f;
  }

  .footer-bottom ul li a{
    font-size: 2rem;
    font-weight: normal;
  }
  .footer-bottom ul li:not(:last-child)::after {
    content: "";
  }
  .footer-bottom {
    width: 50%;
    padding-top: 3rem;
    background: #00000094;
  }
  .footer-bottom ul{
    flex-direction: column;
  }
  .footer-title-div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  body:not(.overlay-header) #site-header .toggle{
    position: relative;
  }
  

}

body:not(.overlay-header) .cs-line-menu.primary-menu > li.menu-item > a {
  font-size: 20px;
  line-height: 24px;
}


.primary-menu li.menu-item-has-children a{
	font-size: 17px;
  	line-height: 20px;
	font-family: "Scout", sans-serif;
}

/* Taller dark header band; nav links anchored to the bottom - pf 10/19/26 */
div.header-inner.primary-bar-inner {
  padding-top: 5rem;
  padding-bottom: 0.5rem;
}

/* Taller dark header band; nav links anchored to the bottom - desktop only - pf 10/19/26 */
@media (min-width: 1000px) {
  div.header-inner.primary-bar-inner {
    padding-top: 5rem;
    padding-bottom: 0.5rem;
  }
}

/* Mobile header: larger logo - pf 10/19/26 */
@media (max-width: 999px) {
  .wp-custom-logo .header-titles {
    width: 12rem;
    height: 5rem;      /* flow height: keeps the bar slim */
  }
  .site-logo img {
    max-height: 12rem;  /* actual logo size: overflows below the bar */
    margin-top: -1rem;
  }
  #header_background {
    min-height: 4.5rem;
  }
  .toggle-inner {
    height: 4.5rem;
  }
  .nav-toggle .toggle-icon,
  .nav-toggle svg {
    height: 4.5rem;
    width: 6rem;
  }
}
/* ============================================================
   Header customizations - pf 10/19/26
   Desktop: taller dark band, nav links anchored at the bottom
   Mobile:  black bar matches green menu header (10rem strip,
            centered logo), slim hamburger, menu overlay fixes
   ============================================================ */

@media (min-width: 1000px) {
  div.header-inner.primary-bar-inner {
    padding-top: 5rem;
    padding-bottom: 0.5rem;
  }
}

@media (max-width: 999px) {
  /* black header bar: same strip height + centered logo as green menu */
  .wp-custom-logo .header-titles {
    width: 16rem;
    height: 10rem;
    display: flex;
    align-items: center;
  }
  .site-logo img {
    max-height: 12rem;
    margin-top: -1rem;
  }
  #header_background {
    min-height: 4.5rem;
  }

  /* hamburger: slim and vertically centered */
  button.nav-toggle .toggle-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.5rem;
    padding-top: 0;
  }
  .nav-toggle .toggle-icon,
  .nav-toggle svg {
    height: 4.5rem;
    width: 6rem;
  }

  /* hero title clears the fixed bar */
 .hero h1.elementor-heading-title,
  .elementor > .elementor-section:first-of-type h1.elementor-heading-title {
    margin-top: 16rem;
  }


  /* green menu overlay */
  .menu-wrapper-mobile-header {
    min-height: 10rem;
    align-items: center;
  }
  .modal-menu {
    left: 0;
    width: 100%;
  }
  .modal-menu > li > .ancestor-wrapper > a,
  .modal-menu a {
    padding: 1.2rem 2rem;
  }
  .hero h1.elementor-heading-title,
  .elementor > .elementor-section:nth-child(-n+2) h1.elementor-heading-title {
    margin-top: 16rem;
  }
}
  /* green menu header: identical geometry to the black bar */
  .menu-wrapper-mobile-header {
    min-height: 10rem;
    align-items: center;
    margin: 0;
    padding: 0 2rem;
  }
  .menu-wrapper-mobile-header .site-logo {
    width: 16rem;
    height: 10rem;
    display: flex;
    align-items: center;
  }
/* ============================================================
   Footer nav, tablet only: top-level links in a clean wrapping
   row, sub-pages hidden, no mid-word breaks - pf 10/19/26
   ============================================================ */
@media (min-width: 700px) and (max-width: 1199px) {
  .footer-primary-menu {
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-primary-menu > li {
    padding: 1rem 1.8rem;
    word-break: normal;      /* undo the theme's break-anything default */
  }
  .footer-primary-menu > li > a {
    white-space: nowrap;     /* "JOIN AND DONATE" stays on one line */
  }
 
}

/* MEC event pages: headings inherit the kit's white H1/heading colors
   meant for hero overlays - force site green - pf 10/19/26 */
body .mec-wrap h1,
body .mec-wrap h2,
body .mec-wrap h3,
body .mec-wrap h4 {
  color: #37704d;
}

/* ============================================================
   Tablet-landscape fixes (1000-1249px): contained logo,
   normal-width dropdowns - pf 10/19/26
   ============================================================ */
@media (min-width: 1000px) and (max-width: 1249px) {
  /* smaller logo, contained in the band */
  .site-logo img {
    max-height: 13rem;
    margin-top: 0;
  }
  .wp-custom-logo .header-titles {
    width: 18rem;
    height: 13rem;
    top: -9rem;
  }
  div.header-inner.primary-bar-inner {
    padding-top: 2rem;
    padding-bottom: 0.5rem;
  }

  /* dropdown panels: proper menu width, not 80% of the screen */
  .primary-menu.cs-line-menu .menu-item-has-children .sub-menu {
    width: 26rem;
    max-width: 30rem;
  }
}

/* Search results: green EVENT badge on event entries */
.search-results .elementor-post.type-mec-events .elementor-post__title a::after {
    content: "EVENT";
    display: inline-block;
    margin-left: 10px;
    padding: 2px 9px;
    font-size: 11px;
    letter-spacing: 1.5px;
    background: #37704d;
    color: #fff;
    vertical-align: middle;
}

ul,
ol {
	margin: 0 0 3rem .5rem;
}

/* ===== Mobile layout normalization - pf 10/19/26 ===== */
@media (max-width: 767px) {

  /* widgets with custom desktop widths fill the column */
  .elementor-widget__width-initial,
  .elementor-widget-mobile__width-initial,
  .elementor-widget-tablet__width-initial {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* images: edge-to-edge, uniform 16:9 crop */
  .elementor-widget-image {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .elementor-widget-image img {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    height: auto;
  }

  /* all columns stack to full width */
  /* exempt a column with class keep-mobile-width */
  .elementor-column:not(.keep-mobile-width) {
    width: 100% !important;
  }

  /* inner sections: no desktop side-padding, no width caps */
  .elementor-inner-section:not(.keep-mobile-padding){padding-left:0 !important;padding-right:0 !important;}
  .elementor-inner-section{max-width:100% !important;}
  .elementor-widget:not(.elementor-widget-image){max-width:100% !important;}

  /* image-right rows flip on mobile: image above its text */
  /* case 1: empty background-image columns */
  .elementor-section > .elementor-container:has(
    > .elementor-column:last-child[data-settings*="background_background"]
    > .elementor-widget-wrap:not(.elementor-element-populated)
  ) {
    display: flex;
    flex-direction: column-reverse;
  }
  /* case 2: real image-widget columns */
  .elementor-section > .elementor-container:has(
    > .elementor-column:last-child .elementor-widget-image
  ):not(:has(
    > .elementor-column:first-child .elementor-widget-image
  )) {
    display: flex;
    flex-direction: column-reverse;
  }

  /* uniform vertical rhythm: 1.5rem top+bottom per section */
  .elementor-top-section:not(.keep-mobile-padding) {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

}
/* ============================================================
   Mailchimp signup on green bands: off-white fields
   - pf 10/21/26
   ============================================================ */
#mc_embed_signup input[type="text"],
#mc_embed_signup input[type="email"] {
  color: #f5f2ea;
  background: transparent;
  border: 1px solid rgba(245, 242, 234, 0.8);
}
#mc_embed_signup input[type="text"]::placeholder,
#mc_embed_signup input[type="email"]::placeholder {
  color: rgba(245, 242, 234, 0.8);
  opacity: 1;
}
#mc_embed_signup input[type="text"]:focus,
#mc_embed_signup input[type="email"]:focus {
  border-color: #ffffff;
  outline: none;
}
/* ============================================================
   Bloom signup form on green bands (optin_3): off-white
   field text, placeholders, borders - pf 10/21/26
   ============================================================ */
.et_bloom_fields:has(button[data-optin_id="optin_3"]) input {
  color: #f5f2ea !important;
  background: transparent !important;
  border: 1px solid rgba(245, 242, 234, 0.8) !important;
}
.et_bloom_fields:has(button[data-optin_id="optin_3"]) input::placeholder {
  color: rgba(245, 242, 234, 0.85) !important;
  opacity: 1 !important;
}
.et_bloom_fields:has(button[data-optin_id="optin_3"]) input:focus {
  border-color: #ffffff !important;
  outline: none !important;
}
/* ============================================================
   Footer survey banner - pf 10/24/26
   Asana: "Add link to Survey in Footer" (Phyllis)

   PASTE INTO: Appearance > Theme File Editor >
               Betty Ford (twentytwenty-child) > style.css
   at the bottom of the file, next to the other dated
   pf blocks. (Customizer > Additional CSS also works if you
   would rather not touch style.css.)

   Reproduces the Elementor mock from the Landscaping page
   (section b180fad):
     background #3B6E8D  = Elementor global --e-global-color-3e33afe
     text/link #FFFFFF   = --e-global-color-143736d
   Phyllis asked for it shorter and vertically centred, so the
   old Elementor padding (0 0 0 20px, height from the <p>'s own
   margins) is replaced with flex centring and a fixed 1.1rem
   of breathing room top and bottom.
   ============================================================ */

.footer-survey-bar {
  display: flex;
  align-items: center;      /* vertical centring Phyllis asked for */
  justify-content: center;
  min-height: 4.4rem;       /* was ~5.5rem as an Elementor section */
  padding: 1.1rem 2rem;
  background-color: #3B6E8D;
  text-align: center;
}

.footer-survey-bar p {
  margin: 0;                /* the <p>'s own margins were most of the old height */
  color: #fff;
  font-family: "Scout", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.5px;
}

/* beat .footer-menu a / .header-footer-group a (#cd2653) from the
   Twenty Twenty parent inline CSS */
#site-footer .footer-survey-bar p a,
#site-footer .footer-survey-bar p a:hover,
#site-footer .footer-survey-bar p a:focus {
  color: #fff;
  text-decoration: underline;

  /* Taller tap target on touch screens. At line-height 1.35 the bare
     inline link is only ~20px high; this takes it to ~34px. WCAG 2.2
     exempts inline links from the 24px minimum, but 20px is genuinely
     fiddly with a thumb. inline-block also keeps the four words from
     breaking across lines - they fit in 288px even on a 320px screen. */
   display: inline-block;
  padding: 0.6rem 0;
  margin: -0.6rem 0;       /* keeps the tap-target padding out of the line box */
}
#site-footer .footer-survey-bar p a:hover {
  text-decoration: none;
}

/* Phones: the sentence wraps to two or three lines, so let the bar
   grow instead of squeezing. The Elementor mock was set to
   elementor-hidden-mobile - this version SHOWS on mobile. If Phyllis
   would rather hide it there, add  display: none;  here. */
@media (max-width: 767px) {
  .footer-survey-bar {
    min-height: 0;
    padding: 1.2rem 1.6rem;
  }
  .footer-survey-bar p {
    /* html is font-size:62.5% (parent theme), so 1rem = 10px.
       1.4rem/weight 300 was Scout Light at 14px, white on blue -
       too thin to read comfortably on a phone. */
 font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
  }
}
/* ============================================================
   Image-over-text content rows - symmetric L/R insets
   pf 10/25/26
   Asana: "Gray/white rows right margin - Mobile & Tablet" (Phyllis)

   A row = a full-width top section whose single 100% column holds
   an image widget IMMEDIATELY followed by an inner section.
   Checked against every page in the sitemap:
   66 pages, 118 rows, 118 matches, 0 false positives.

   Elementor's own rules are (0,4,0) for the column and (0,3,0)
   for the inner section. The selectors below are (0,6,0) and
   (0,5,0), so they win outright - no !important needed, and
   source order does not matter.
   ============================================================ */


/* --- tablet and below ------------------------------------- */
@media (max-width: 1024px) {

  .elementor-top-section > .elementor-container
    > .elementor-col-100
    > .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-inner-section) {
    padding-left: .5em !important;   /* <-- THE KNOB. 0 = flush to the edge */
    padding-right: .5em !important;
  }

  .elementor-top-section > .elementor-container
    > .elementor-col-100
    > .elementor-widget-wrap
    > .elementor-widget-image + .elementor-inner-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
}

/* --- phones ----------------------------------------------- */
@media (max-width: 767px) {
  .elementor-top-section > .elementor-container
    > .elementor-col-100
    > .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-inner-section) {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }
}

/* === Images sitting directly above their text - close the gap - pf 10/25/26 === */

/* kill the baseline gap + the widget spacing below */
.elementor-widget-image:has(+ .elementor-widget-text-editor) img,
.elementor-widget-image:has(+ .elementor-widget-heading) img {
  display: block !important;
  margin-inline: auto !important;
}

.elementor-widget-image:has(+ .elementor-widget-text-editor),
.elementor-widget-image:has(+ .elementor-widget-heading) {
  margin-block-end: 0 !important;   /* <-- KNOB: space UNDER the image */
}

/* the space ABOVE the image */
.elementor-widget-wrap:has(> .elementor-widget-image:first-child + .elementor-widget-text-editor),
.elementor-widget-wrap:has(> .elementor-widget-image:first-child + .elementor-widget-heading) {
  padding-top: 0 !important;        /* <-- KNOB: space ABOVE the image */
}

/* === Mobile footer spacing - pf 10/25/26 === */
@media only screen and (max-width: 1000px) {

  /* left column: one even gap between every line */
  #site-footer .footer-div .footer-title {
    padding-bottom: 0;
  }
  #site-footer .footer-div .footer-title h2,
  #site-footer .footer-div .footer-title .footer-list span {
    margin: 0 2rem 1.2rem 2rem;   /* <-- KNOB: gap between lines */

  }

  #site-footer .footer-div .footer-title h2 {
    margin-top: 3rem;             /* <-- KNOB: space above the heading */
  }
	
  #site-footer .footer-div .footer-title h2	.footer-title h2 {
		margin-top: 3rem;
    }	

  /* the four social icons: one even gap */
  #site-footer .footer-title.social {
    padding: 2rem 2rem 1rem;
  }
  #site-footer .footer-title.social .social-list {
    align-items: center;
    gap: .6rem;                  /* <-- KNOB: gap between icons */
  }
  #site-footer .footer-title.social .social-list img,
  #site-footer .footer-title.social .social-list svg.social-icon {
    margin: 0 !important;         /* beats the inline margin on the YouTube + Email SVGs */
  }
}
/* ============================================================
   Search results: post-type badges   - pf 10/31/26
   Replaces the single "EVENT badge" block currently at ~line 1235
   of twentytwenty-child/style.css. Paste over that block.

   post type        badge    colour
   mec-events       EVENT    #37704D (global green)  [existing]
   post             BLOG     #BC9435 (global gold)   [new]
   page             none              - pages are the "regular" content

   Why dark text on the gold badge: white on #BC9435 is only 2.8:1
   contrast and fails WCAG AA for small text. #1F1F1F on gold is 5.0:1
   and passes. White on the green is 5.9:1, so that one stays white.
   ============================================================ */

/* shared badge styling */
.search-results .elementor-post.type-mec-events .elementor-post__title a::after,
.search-results .elementor-post.type-post .elementor-post__title a::after {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 9px;
    font-size: 11px;
    letter-spacing: 1.5px;
    vertical-align: middle;
}

/* events - unchanged from the existing rule */
.search-results .elementor-post.type-mec-events .elementor-post__title a::after {
    content: "EVENT";
    background: #37704d;
    color: #fff;
}

/* blog posts - new */
.search-results .elementor-post.type-post .elementor-post__title a::after {
    content: "BLOG";
    background: #BC9435;
    color: #1F1F1F;
}

/* ---- OPTIONAL: split press/news out of "BLOG" ------------------
   The site has 66 posts spread over 43 categories, incl. Top News (6)
   and What's New (2). If Phyllis wants press items labelled separately
   rather than all lumped as BLOG, uncomment this - it wins on
   specificity because it comes later in the file.

.search-results .elementor-post.type-post.category-top-news .elementor-post__title a::after,
.search-results .elementor-post.type-post.category-news .elementor-post__title a::after {
    content: "NEWS";
    background: #37704D;
    color: #fff;
}
------------------------------------------------------------------ */
