/*
Theme Name: Alum Rock Counseling Center
Theme URI: https://alumrockcc.org/
Description: Custom Theme for desktop and mobile devices
Author: Somethumb Company
Author URI: https://somethumb.com/
Version: 1.0
Date: 20251030
License: Private, Copyright 2003-2025
Text Domain: arcc
*/
/* ===== Root tokens (rem-based) ===== */ :root {
  /* Colors */
  --sty-green: #009EA0;
  --sty-blue: #005B99;
  --sty-gold: #FCD116;
  --txt-color: #6f6d60;
  --bg-color: #fff;
  --ttl-color: #000;
  --ttl-color-alt: #fff;
  --btn-color: #fff;
  --btn-color-h: var(--txt-color);
  --btn-bgcolor: var(--sty-green);
  --btn-bgcolor-h: #fff;
  --btn-bdr-color: #000;
  --btn-bdr-color-h: var(--sty-green);
  --bdr-color: var(--sty-green);
  --bdr-radius: 0.25rem; /* 4px */
  --bdr-width: 1px;
  --nav-color: var(--txt-color);
  --nav-color-h: var(--sty-green);
  --sep-color: #dbdcd6;
  --box-shadow: 0.5rem 0.5rem 0.313rem rgba(0, 0, 0, 0.12);
  /* Type scale (1rem = 16px) */
  --fs-75: 0.875rem; /* 14px */
  --fs-90: 0.938rem; /* 15px */
  --fs-100: 1rem; /* 16px body */
  --fs-150: 1.063rem; /* 17px */
  --fs-200: 1.125rem; /* 18px */
  --fs-300: 1.25rem; /* 20px */
  --fs-400: 1.5rem; /* 24px */
  --fs-500: 2rem; /* 32px */
  --fs-600: 2.5rem; /* 40px */
  --fs-700: 3rem; /* 48px */
  /* Line-height */
  --line-height: 1.313;
  --lh-body: 1.313;
  --lh-tight: 1.25;
  /* Spacing */
  --sp-8: 0.5rem;
  --sp-12: 0.75rem;
  --sp-16: 1rem;
  --sp-20: 1.25rem;
  --sp-24: 1.5rem;
  --sp-32: 2rem;
  --sp-44: 2.75rem; /* 44px */
  /* Layout */
  --site-padding: var(--sp-44);
  --site-margin: var(--sp-44);
  --top-margin: 1.313rem;
  --bot-margin: 1.4rem;
  --max-width: 80rem; /* 1280px */
  /* Buttons */
  --btn-pad-y: 0.5rem; /* 8px */
  --btn-pad-x: 1.5rem; /* 24px */
  --btn-radius: 0.25rem; /* 4px */
  /* Mission overlap */
  --mission-drop: clamp(31.25rem, 26vw, 31.25rem); /* 260–420px */
  --mission-overhang: 12rem; /* 96px */
}
html {
  background-color: #fff;
  scroll-behavior: smooth;
  font-size: 100%; /* 1rem = 16px */
}
body {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: var(--fs-100);
  line-height: var(--lh-body);
  letter-spacing: .02em;
  color: var(--txt-color);
  background-color: #fff;
  margin: 0 auto;
}
.hamburger, .hamburger-label {
  display: none;
}
p {
  margin: 0 0 var(--bot-margin);
  line-height: var(--lh-body);
}
ul {
  margin: 0 0 var(--bot-margin);
}
li {
  line-height: var(--lh-body);
}
li:not(.wp-block-group li) {
  line-height: var(--lh-body);
}
b, strong {
  font-weight: 500;
}
a {
  color: var(--sty-green);
  text-decoration: underline;
}
a:hover {
  color: var(--sty-blue);
  text-decoration: underline;
}
a.btn:hover {
  color: var(--sty-green);
  text-decoration: none;
}
input::placeholder {
	color: #aaa !important;
}
/* Headings (rem-based) */
h1 {
  color: var(--sty-green);
  font-size: var(--fs-400);
  margin: 0 0 var(--bot-margin);
  font-weight: 700;
}
h2 {
  color: var(--sty-green);
  font-size: var(--fs-300);
  line-height: var(--lh-tight);
  margin: 0 0 calc(var(--bot-margin));
  font-weight: 700;
}
h3 {
  color: var(--sty-green);
  font-size: var(--fs-200);
  line-height: var(--lh-tight);
  margin: 0 0 calc(var(--bot-margin) - .5rem);
  font-weight: 700;
}
/* desktop/mobile toggles */
.dsk {
  display: block;
}
.mob {
  display: none;
}
/* Containers */
.inner-section {
  margin: auto;
  padding: var(--site-padding);
  max-width: var(--max-width);
  overflow: visible;
}
/* Buttons */
.btn, .single-tribe_events .tribe-events-c-subscribe-dropdown__button, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button, .tribe-events .tribe-events-c-search__button, .tribe-events button.tribe-events-c-search__button, .gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input[type="submit"].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  background-color: var(--btn-bgcolor);
  color: var(--btn-color);
  border: 0.125rem solid var(--btn-bgcolor); /* 2px */
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border-radius: var(--btn-radius);
  text-decoration: none;
  font-weight: 700;
  display: inline-block;
  text-transform: uppercase;
  transition: color .125s ease-in-out, background-color .125s ease-in-out, border-color .125s ease-in-out;
  line-height: 1;
}
.btn:hover, .single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-search__button:focus, .tribe-events .tribe-events-c-search__button:hover, .tribe-events button.tribe-events-c-search__button:focus, .tribe-events button.tribe-events-c-search__button:hover, .gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, .gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, .gform-theme.gform-theme--framework.gform_wrapper input[type="submit"].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, .gform_wrapper .sponsorship-cards-field .gfield-choice-input:checked + .sponsorship-card .sponsorship-card__button {
  background-color: #fff;
  color: var(--btn-bgcolor);
  border: 0.125rem solid var(--btn-bgcolor);
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border-radius: var(--btn-radius);
}
.btn.btn-blue {
  background-color: #005c99;
  border: 0.125rem solid #005c99;
  border-radius: 0;
  padding: calc(var(--btn-pad-y) * .75) calc(var(--btn-pad-x) * .5);
}
.btn.btn-blue:hover {
  background-color: #fff;
  color: var(--txt-color);
  border: 0.125rem solid #005c99;
  border-radius: 0;
  padding: calc(var(--btn-pad-y) * .75) calc(var(--btn-pad-x) * .5);
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: 100%;
}
.wp-block-separator {
	border-bottom: 1px solid;
}
.arr a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.arr a::after {
  content: "\f061"; /* arrow-right */
  font-family: "Font Awesome 7 Pro";
  font-weight: 900; /* solid */
  transition: transform 200ms ease;
}

.arr a:hover::after {
  transform: translateX(4px);
}
/* Header */
header {
  /*box-shadow: 0 4px 8px rgba(0,0,0,0.05);*/
}
header .inner-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: auto;
  padding: calc(var(--site-padding) - 1.75rem) calc(var(--site-padding));
  max-width: var(--max-width);
  align-items: center;
}
header figure {
  min-width: 6.25rem; /* 100px */
  max-width: 13.75rem; /* 220px */
  flex-basis: 100%;
  margin-right: 1rem;
}
body:not(.home) header figure {
  max-width: 10.75rem; /* smaller logo on all other pages */
}
header figure a {
  display: inline-block;
  line-height: 1;
}
header .header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
}
header nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  flex-grow: 1;
  z-index: 99;
  margin-right: 1rem;
  order: 1;
}
header nav ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  margin-bottom: 0;
}
header nav li {
  margin: 0 auto;
}
header nav li a {
  font-size: var(--fs-100);
  font-weight: 700;
  color: var(--nav-color);
  padding: 0.5rem 0.625rem; /* 8px 10px */
  display: inline-block;
  white-space: nowrap;
  text-decoration: none;
  transition: color .125s ease-in-out;
  line-height: 1;
}
header nav li a:hover, header nav li.current-menu-parent > a, header nav li.current-menu-item > a {
  color: var(--nav-color-h);
  border-bottom-color: var(--btn-bgcolor);
}
header nav ul.sub-menu {
  flex-direction: column;
}
.arcc-donate-btn-wrap {
  display: flex;
  align-self: flex-end;
  order: 2;
}
.arcc-donate-btn-wrap a {
  padding: var(--btn-pad-y) var(--btn-pad-x);
  text-transform: uppercase;
  line-height: 1;
}
#site-mobile-menu {
  display: none
}
/* Main */
body main {
  position: relative;
}
body:not(.home) main {
  padding-top: 1.5rem;
}
main #ctnt, main section {
  width: 100%;
  margin: 0 auto;
  z-index: 2;
  position: relative;
}
main #ctnt, .tribe-common .tribe-common-l-container, #tribe-events-pg-template {
  max-width: calc(var(--max-width) - calc(var(--site-padding)*2));
  margin: 0 auto var(--bot-margin);
  padding: var(--site-padding);
  box-shadow: var(--box-shadow);
  border: 1px solid rgba(0, 0, 0, .05);
  background-color: #fff;
  min-height: 234px;
}
main #sidebar {
  min-width: 12.5rem; /* 200px */
  font-size: 0.75rem;
  margin-left: 2rem;
}
main > hr {
  background-color: #e6f6f6;
  height: 234px;
  position: absolute;
  top: 0;
  width: 100%;
  border: 0;
  margin: 0;
}
main ul {
  list-style: disc;
  margin-left: var(--bot-margin);
}
.home ul {
	list-style: none;
}
#featured {
  margin: 0 auto var(--bot-margin);
  max-width: var(--max-width);
  position: relative;
}
#featured img {
  width: 100%;
}
#hero .slickm-caption {
  padding-left: 5rem;
}
#hero .slickm-capline.cap-2 {
  margin-left: 5rem;
  font-size: 2rem;
}
/* Stats */
#stats ul {
  display: flex;
  justify-content: space-between;
  max-width: var(--site-width);
  margin: 0 auto;
}
#stats li {
  flex-basis: calc(100%/3);
  max-width: calc(var(--site-width)/3);
  padding: 0 .5rem; /* 8px */
	list-style: none;
}
#stats li:first-child {
  padding-left: 0;
}
#stats li:last-child {
  padding-right: 0;
}
#stats dl {
  display: flex;
  flex-direction: row;
  width: 100%;
  line-height: var(--line-height);
}
#stats dt {
  margin: 1rem 1rem 0 0;
}
#stats .fa-circle {
  color: var(--btn-bgcolor);
}
#stats .fa-head-side-heart {
  margin-left: .1em;
}
#stats .fa-messages {
  margin-top: .0175em;
}
#stats figure span {
  font-size: 3rem;
  font-weight: 500;
  color: var(--btn-bgcolor);
}
/* Mission */
#mission {
  --drop: var(--mission-drop);
  --overhang: var(--mission-overhang);
  --reserve: calc(var(--drop) - var(--overhang));
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  min-height: 25rem; /* 400px */
  position: relative;
  padding-bottom: var(--reserve);
  z-index: 1;
  overflow: visible;
}
#mission .panel {
  width: min(60%, 75rem); /* cap ~1200px */
  box-sizing: border-box;
  background-color: #005c99;
  color: #fff;
  padding: 1.5rem;
  position: relative;
  z-index: 2;
  transform: translateY(var(--drop));
  box-shadow: var(--box-shadow);
}
#mission .panel h2 {
  color: #fff;
}
#mission .panel .btn {
  background: #fff;
  border: none;
  color: var(--btn-bgcolor);
}
#mission .panel .btn:hover {
  background: var(--btn-bgcolor);
  color: #fff;
}
/* Events */
#events {
  position: relative;
  z-index: 0;
  overflow: visible;
  background: #e6f6f6;
  padding-bottom: var(--site-padding);
}
#events .inner-section {
  padding-top: 1px;
}
#events .panel {
  width: 100%;
  box-sizing: border-box;
  background-color: #fff;
  padding: 1.75rem;
  box-shadow: var(--box-shadow);
  margin-top: var(--mission-overhang);
}
/* Grid container */
#events .panel > ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
}
/* Items */
#events .panel > ul > li {
  list-style: none;
  min-width: 0;
  border-right: 1px solid var(--sep-color);
  padding: 0 1.75rem;
}
#events .panel > ul > li:last-child {
  border-right: 0;
}
/* Card */
#events .panel figure {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
}
/* Media */
#events .panel figure > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 1rem;
}
/* Content */
#events .panel figure > figcaption {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  flex: 1;
}
#events .panel h4 {
  font-size: var(--fs-300);
  line-height: var(--lh-tight);
  margin: 0 0 .25rem 0;
}
/* Button footer pinned to bottom */
#events .panel .btn-wrap {
  margin-top: auto;
}
/* Header responsive */
@media (max-width: 1055px) {
  header .inner-header {
    padding: 1rem;
  }
  header figure {
    width: 100%;
    margin-bottom: 0.125rem;
  }
  header nav {
    align-items: flex-start;
    margin-right: 0;
    order: 2;
  }
  header .header-actions {
    flex-direction: column;
  }
  .arcc-donate-btn-wrap {
    margin-bottom: 1rem;
    order: 1;
  }
}
/* Buttons (forms) */
.form-submit-button {
  background-color: #009ea0 !important;
  border-color: #009ea0 !important;
  color: white !important;
}
.form-submit-button:hover, .form-submit-button:focus {
  outline: none;
  box-shadow: 0 1.5rem 2rem 0 rgba(0, 0, 0, 0.16) inset;
  filter: brightness(0.9);
  transition: .2s ease;
}
/* Sections */
#stats {
  background: #e6f6f6;
}
#program_sponsors {
	background-color: var(--sty-green);
	color: #fff;
}
#program_sponsors i, #program_sponsors img {
	display: block;
	margin: auto;
}
#program_sponsors h3 {
  color: #fff;
}
#program_sponsors h4 {
	margin-bottom: calc(var(--bot-margin) / 2);
	font-size: 1.125rem;
}
#program_sponsors p:last-of-type {
	/*margin-bottom: 0;*/
}
#gform_wrapper_5 {
	margin-bottom: calc(var(--bot-margin) * 2);
}
/* Footer */
footer {
  background: #525246;
  color: #fff;
}
footer .inner-section {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
footer #social-menu {
  display: flex;
  flex-direction: row;
}
footer #social-menu a {
  color: #fff;
}
footer #social-menu a:hover {
  color: #b4e1e4;
}
footer .footer-primary {
  border-right: 2px solid #9b9b9b;
  flex-basis: 30%;
}
footer .footer-widgets {
  padding-right: var(--site-padding);
  flex-basis: 70%;
  font-size: 0.875rem;
  padding-left: var(--site-padding);
}
footer a {
  text-decoration: none;
  color: #b4e1e4;
  font-size: 0.875rem;
}
footer a:hover {
  color: #fff;
}
footer h2 {
  color: #b4e1e4;
  font-weight: 500;
}
footer #site-contact-nav a {
  color: #fff;
  font-size: 1rem;
}
footer #site-contact-nav a i {
  margin-right: .25rem;
}
footer #site-contact-nav a:hover, footer #site-contact-nav svg:hover {
  color: #b4e1e4;
}
footer h3 {
  font-weight: 700;
}
footer .arcc-donate-btn-wrap, footer nav, footer .textwidget {
  margin-bottom: 2rem;
}
footer > .textwidget {
  font-size: 0.75rem;
  margin: auto;
  padding: 0 var(--site-padding) var(--site-padding);
  max-width: var(--max-width);
}
footer > .textwidget p {
  margin-bottom: .375rem;
}
footer > .textwidget p:last-child {
  margin-bottom: 0;
}
/* Overwrite GMaps*/
.wpgmza-infowindow .wpgmza_infowindow_title, .wpgmza-infowindow .wpgmza_infowindow_address {
  margin-bottom: 0;
}
.wpgmza_map {
  margin-bottom: var(--bot-margin);
}
/* Keep required asterisk inline with the label text */
.gform_wrapper .gfield_label .gfield_required, .gform_wrapper .gfield_label .gfield_required .gfield_required_asterisk {
  display: inline !important;
  white-space: nowrap;
  line-height: inherit;
  vertical-align: baseline;
}
/* Small spacing between text and star */
.gform_wrapper .gfield_label .gfield_required {
  margin-left: 0.25em;
  padding: 0;
  border: 0;
}
/* Make sure the label itself isn't forcing a break */
.gform_wrapper .gfield_label {
  display: inline-block; /* left-aligned labels still work */
}
/*The Events Calendar*/
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 10px;
  padding: .5rem .4rem;
  min-width: 64px;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
}
/* Stop the date column from stretching to match the event wrapper height */
.tribe-events-calendar-list__event-row {
  align-items: flex-start;
}
/* Extra safety: make sure the date tag itself doesn't stretch */
.tribe-events-calendar-list__event-date-tag {
  align-self: flex-start;
  height: auto;
}
#mc-fundraise {
  width: 100%;
  height: 1419px;
  border: 0;
  overflow: hidden; /* key */
  display: block; /* avoids tiny gaps */
}
#mc-donation {
  width: 100%;
  height: 1862px;
  border: 0;
  overflow: hidden;
  display: block;
}
.gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label {
  font-weight: 700;
}
.page-id-5770 #ctnt h2 {
	text-transform: uppercase;
	margin-bottom: 2.5rem;
}
.page-id-5770 #ctnt h3 {
	margin-bottom: var(--bot-margin);
	font-size: var(--fs-300);
	padding: 0 30px;
}
.page-id-5770 #ctnt .wp-block-group.supgroup {
	text-align: center;
	margin-bottom: 2.5rem;
}
  .line-title {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    color: #0ea5a8;
    font-weight: 600;
    font-family: sans-serif;
  }

  .line-title::before,
  .line-title::after {
    content: "";
    flex: 1;
    height: 2px;
    background: #67d5d8;
  }

  .line-title span {
    position: relative;
    display: inline-block;
    padding: 0 30px;
    line-height: 1;
  }

  .line-title span::before,
  .line-title span::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 2px;
    height: 22px;
    background: #0ea5a8;
    transform: translateY(-50%);
  }

  .line-title span::before {
    left: -6px;
  }

  .line-title span::after {
    right: -6px;
  }