.elementor-4013 .elementor-element.elementor-element-8938df3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-8938df3 *//* ================================
   HEADERS
================================ */

/* SECTION TITLES (H1/H2) */
.whlk-section-title,
.whlk-service-detail h2 {
  font-family: "Merriweather", serif;
  font-size: 28px;
  font-weight: 700;
  color: #003F80;
  margin-bottom: 16px;
  line-height: 1.3;
  text-align: center; /* centered */
  position: relative;
  display: block;
}

/* Gold underline accent */
.whlk-section-title::after,
.whlk-service-detail h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #C9A635;
  margin: 10px auto 0 auto;
  border-radius: 2px;
}

/* Subheaders (H3 inside service detail + accordions) */
.whlk-service-detail h3,
.custom-library-accordion .accordion-header {
  text-align: center;
  font-family: "Merriweather", serif;
  font-size: 20px;
  font-weight: 600;
  color: #003F80;
  margin-bottom: 12px;
}

/* ================================
   INTRO TEXT
================================ */
.whlk-intro {
  font-family: "Nunito Sans", sans-serif;
  font-size: 18px;
  color: #363636;
  margin-bottom: 30px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* ================================
   CARD GRID LAYOUT
================================ */
.whlk-grid,
.whlk-resource-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

/* ================================
   SERVICE & RESOURCE CARDS
================================ */
.whlk-service-card,
.whlk-resource-card {
  background: #EEF5FB;
  border-radius: 12px;
  padding: 24px;
  text-decoration: none;
  color: #363636;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.whlk-service-card:hover,
.whlk-resource-card:hover {
  background: #EEF5FB;
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/* Card Titles */
.whlk-service-card h3,
.whlk-resource-card h3 {
  font-family: "Merriweather", serif;
  font-size: 20px;
  font-weight: 700;
  color: #003F80;
  margin-bottom: 10px;
  text-align: left; /* keep card titles left-aligned */
}

.whlk-service-card p,
.whlk-resource-card p {
  flex-grow: 1;
  font-size: 15px;
  margin-bottom: 20px;
}

/* ================================
   BUTTONS
================================ */
.whlk-btn,
.whlk-btn:link,
.whlk-btn:visited {
  display: inline-block;
  background: #003F80;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 6px;
  transition: background 0.3s ease;
  text-decoration: none !important;
  text-align: center; /* centered text */
}

.whlk-btn:hover {
  background: #005BAA;
  color: #fff !important;
}

/* Button spacing inside Tax Info & Election Info sections */
#tax-info .whlk-btn,
#election-info .whlk-btn {
  display: inline-block;
  margin: 8px 6px;      /* adds even spacing between buttons */
  padding: 10px 20px;   /* ensures readable click area */
  min-width: 220px;     /* keeps a consistent button width */
}

/* Optional: center-align button groups cleanly */
#tax-info,
#election-info {
  text-align: center;
}

/* ================================
   SERVICE DETAIL SECTIONS
================================ */
.whlk-service-detail {
  margin: 60px 0;
  padding: 30px 20px;
  background: #F5F6F3;
  border-radius: 12px;
}

/* Tax & Election Info – centered */
#tax-info,
#election-info {
  text-align: center;
}

/* Election Info links – no bullets */
#election-info ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
#election-info ul li {
  margin-bottom: 8px;
}

/* Tech Help – left-aligned */
#tech-help {
  text-align: left;
}
#tech-help .whlk-resource-card h3,
#tech-help .whlk-resource-card p {
  text-align: left;
}

/* ================================
   INLINE LINKS
================================ */
.whlk-service-detail a {
  color: #003F80;
  font-weight: 600;
  text-decoration: none;
}
.whlk-service-detail a:hover {
  color: #005BAA;
  text-decoration: underline;
}

/* ================================
   ACCORDION STYLING
================================ */
.custom-library-accordion .accordion-item {
  border-bottom: 1px solid #ddd;
}

.custom-library-accordion .accordion-header {
  width: 100%;
  background: #EEF5FB;
  border: none;
  padding: 14px 18px;
  font-family: "Merriweather", serif;
  font-size: 18px;
  font-weight: 600;
  color: #003F80;
  text-align: center; /* center subheaders */
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: 8px;
  transition: background 0.3s ease;
}

.custom-library-accordion .accordion-header:hover {
  background: #e0ecf8;
}

.custom-library-accordion .accordion-content {
  display: none;
  padding: 12px 18px;
  font-size: 15px;
  background: #fff;
  border-left: 3px solid #003F80;
  margin-bottom: 10px;
  border-radius: 0 0 6px 6px;
}

.custom-library-accordion .accordion-item.active .accordion-content {
  display: block;
}



/* ================================
   INLINE GRID LAYOUTS
================================ */
.whlk-inline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin: 40px 0;
}

/* ================================
   GLOBAL LINK STYLING
   Override Hello Theme Defaults
================================ */

/* Normal link state */
a,
a:link,
a:visited {
  color: #003F80;               /* brand blue */
  text-decoration: none;        /* remove underline */
  transition: color 0.3s ease;
  font-weight: 600;
}

/* Hover + focus state */
a:hover,
a:focus {
  color: #005BAA;               /* lighter blue on hover */
  text-decoration: underline;   /* optional underline for accessibility */
}

/* Active link (clicking) */
a:active {
  color: #002B55;               /* slightly darker blue */
}

/* Inline links inside content areas */
.whlk-service-detail a,
.whlk-intro a {
  color: #003F80;
  font-weight: 600;
  text-decoration: none;
}
.whlk-service-detail a:hover,
.whlk-intro a:hover {
  color: #005BAA;
  text-decoration: underline;
}

/* Reset Hello Theme button-like anchors */
a.button,
a.elementor-button,
a.wp-block-button__link {
  background: #003F80;
  color: #fff !important;
  border-radius: 6px;
  padding: 10px 18px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.3s ease;
}

a.button:hover,
a.elementor-button:hover,
a.wp-block-button__link:hover {
  background: #005BAA;
  color: #fff !important;
}



/* ================================
   LIBRARY BOARD DIRECTORY
================================ */

.whlk-board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto 60px auto;
  padding: 0 20px;
  justify-items: center;
}

.whlk-board-card {
  background: #EEF5FB;
  border-radius: 12px;
  text-align: center;
  padding: 24px 18px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  width: 100%;
  max-width: 280px;
}

.whlk-board-card:hover {
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
  background: #f9fbff;
}

/* Member Photos */
.whlk-board-photo {
  width: 160px;
  height: 160px;
  margin: 0 auto 14px;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid #C9A635;
  display: flex;
  justify-content: center;
  align-items: center;
}

.whlk-board-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Member Info */
.whlk-board-name {
  font-family: "Merriweather", serif;
  color: #003F80;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

.whlk-board-title {
  font-size: 15px;
  color: #555;
  margin-bottom: 10px;
}

.whlk-board-email {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #003F80;
  text-decoration: none;
  transition: color 0.3s ease;
}

.whlk-board-email:hover {
  color: #005BAA;
  text-decoration: underline;
}

/* Responsive Tuning */
@media (max-width: 600px) {
  .whlk-board-photo {
    width: 130px;
    height: 130px;
  }

  .whlk-board-name {
    font-size: 16px;
  }

  .whlk-board-card {
    max-width: 260px;
  }
}


/* ================================
   LIBRARY BOARD MEETINGS
================================ */
.whlk-meeting-list {
  list-style: none;
  padding: 0;
  margin: 30px auto;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.whlk-meeting-item {
  background: #EEF5FB;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.whlk-meeting-item:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
  background: #f9fbff;
}

.whlk-meeting-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.whlk-meeting-header h3 {
  font-family: "Merriweather", serif;
  color: #003F80;
  font-size: 20px;
  margin: 0;
}

.whlk-meeting-date {
  font-weight: 600;
  color: #555;
  font-size: 15px;
}

.whlk-meeting-notes {
  font-size: 15px;
  color: #333;
  margin: 10px 0 16px;
}

.whlk-meeting-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.whlk-board-links {
  text-align: center;
  margin-bottom: 40px;
}

.whlk-board-links .whlk-btn {
  margin: 0 6px;
}

#library-board {
  text-align: center;
}

#library-board .whlk-intro {
  margin-bottom: 40px;
}

/* ================================
   FRIENDS OF THE LIBRARY (inherits Board styles)
================================ */
#friends-of-the-library {
  text-align: center;
  margin-bottom: 60px;
}

#friends-of-the-library .whlk-section-title {
  margin-bottom: 12px;
}

#friends-of-the-library .whlk-intro {
  margin-bottom: 40px;
}

#friends-support,
#friends-meetings {
  margin-top: 60px;
}

#friends-support .whlk-inline-grid {
  margin-top: 40px;
}

#friends-support .whlk-resource-card h3 {
  text-align: left;
}

#friends-meetings .whlk-meeting-list {
  margin-top: 30px;
}/* End custom CSS */