/* GOOGLE FONTS IMPORT */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* SITEWIDE FONT - ALL ELEMENTS */
body, h1, h2, h3, h4, p, a, li, 
nav, input, button, label {
  font-family: 'Montserrat', Tahoma, sans-serif;
}

/* MENU CENTERING */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel {
  margin-left: auto;
  margin-right: auto;
}

/* MEMBER SOCIAL LOGIN BUTTONS HIDE */
#socialLoginContainer, #idSocialLoginContainer {
  display: none;
}

/* SOCIAL LOGIN BUTTONS HIDE */
.WaGadgetAuthorizationRequired .openAuthFormContainer {
  border-right: none;
  max-width: 0px;
  padding-right: 40px;
  display: none;
}

/* PADDING TO SOCIAL LOGIN BUTTONS HIDE */
.WaGadgetAuthorizationRequired .authFormContainer {
  padding-left: 0;
}

/* IMAGE CAPTION STYLING */
.captionOuterContainer .captionContainer .fieldBody h4 {
  font-size: 40px;
  font-weight: bold;
  color: #FFFFFF;
}

/* REMOVE LINK OUTLINE */
a, a:focus, a:active {
  outline: none;
  border: none;
  box-shadow: none;
}

/* FOOTER LINK COLORS */
.footerContainer a, 
.WaFooter a,
footer a,
.footer a,
#footer a {
  color: #FFFFFF !important;
}

.footerContainer a:hover,
.WaFooter a:hover,
footer a:hover,
.footer a:hover,
#footer a:hover {
  color: #8CC756 !important;
}

/* ALL BUTTONS - CONSISTENT TEAL ROUNDED RECTANGLE */
.field input[type='submit'],
.WaGadget .button,
.btn,
a.buttonLink,
.registrationLink,
input[type='button'],
input[type='submit'],
.loginBoxLinkButton,
.WaGadgetLoginButton a,
.WaGadgetLoginButton .loginBoxLinkButton,
.WaGadgetMembershipRenewal input[type='button'],
.WaGadgetMembershipRenewal input[type='submit'],
button {
  background-color: #246F83 !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
}

/* CONTENT AREA LINK COLORS */
.zoneContent a:not(.btn):not(.button):not(.buttonLink):not(.registrationLink) {
  color: #246F83;
}
.zoneContent a:not(.btn):not(.button):not(.buttonLink):not(.registrationLink):hover {
  color: #8CC756;
}

/* DATE NUMBER BOXES - teal, white text, compact */
.EventListCalendar td[class*=EventListCalendarItem] a:not([data-tags]) {
  background-color: #246F83 !important;
  color: #FFFFFF !important;
  border-radius: 4px !important;
  display: inline-block !important;
  padding: 2px 8px 2px 6px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* CALENDAR EVENTS - LIGHT GREEN WITH TEAL TEXT */
.EventListCalendar td[class*=EventListCalendarItem] a[data-tags] {
  background-color: #8CC756 !important;
  color: #246F83 !important;
  border-radius: 4px !important;
  display: block !important;
  padding: 2px 4px !important;
  text-decoration: none !important;
}

/* EVENT HOVER STATE */
.EventListCalendar td[class*=EventListCalendarItem] a[data-tags]:hover {
  background-color: #0B7F3D !important;
  color: #FFFFFF !important;
}

/* REMOVE LIGHT BLUE BACKGROUND ONLY */
.WaGadgetEventsStateCalendar .EventListCalendar td[colspan],
.WaGadgetEventsStateCalendar .EventListCalendar td[colspan] div {
  background: transparent !important;
}

/* DIVIDER LINES - ACTUAL DAY CELLS ONLY */
.EventListCalendar td[style="width:14%;"] {
  border-right: 1px solid #CCCCCC !important;
}

/* EVENT TIME */
.EventListCalendar .eventTime {
  color: #246F83 !important;
  font-weight: 600 !important;
}

/* CALENDAR NAVIGATION LINKS */
.WaGadgetEventsStateCalendar a {
  color: #246F83 !important;
}

/* YEAR VIEW - ALTERNATING ROW COLORS */
#idEventListCalendar.yearViewType .EventListCalendar tr:nth-child(odd) {
  background-color: #F5F5F5 !important;
}

#idEventListCalendar.yearViewType .EventListCalendar tr:nth-child(even) {
  background-color: #FFFFFF !important;
}

/* EVENT TITLE LINK HOVER - LIST VIEW */
.WaGadgetEventsStateList .boxHeaderTitle a.eventDetailsLink:hover {
  color: #8CC756 !important;
}

/* FAQ SECTION DIVIDER LINE */
.WaContentDivider.dividerStyle003 {
  background: #8CC756 !important;
}

/* DIRECTORY HEADER ROW */
.membersTable thead td,
.membersTable thead th {
  background-color: #8CC656 !important;
  color: #246F83 !important;
  font-weight: 600 !important;
  padding: 12px 10px !important;
}

/* DIRECTORY ALTERNATING ROWS */
.membersTable tbody tr.normal:nth-child(odd) {
  background-color: #F5F5F5 !important;
}

.membersTable tbody tr.normal:nth-child(even) {
  background-color: #FFFFFF !important;
}

/* DIRECTORY ROW DIVIDER */
.membersTable tbody tr.normal {
  border-bottom: 1px solid #CCCCCC !important;
}

/* MEMBER PROFILE - FIELD ROW SEPARATORS */
.fieldContainer {
  border-bottom: 1px solid #DDDDDD !important;
}

/* MEMBER PROFILE - LABEL TEXT BOLD */
.fieldSubContainer .fieldLabel span {
  font-weight: 600 !important;
}

/* HIDE EMPTY FIELD ROW SEPARATORS */
.fieldContainer:not(:has(.fieldLabel span)) {
  border-bottom: none !important;
}

/* MEMBERSHIP LEVEL CARDS */
.fieldBody .groupBodyVertical .fieldItem {
  background-color: #EAF3F6 !important;
  border: 1px solid #246F83 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 12px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

/* MEMBERSHIP LEVEL CARDS - HOVER STATE */
.fieldBody .groupBodyVertical .fieldItem:hover {
  background-color: #D0E8EE !important;
  border-color: #0B7F3D !important;
}

/* MEMBERSHIP LEVEL CARDS - SELECTED STATE */
.fieldBody .groupBodyVertical .fieldItem:has(input[type="radio"]:checked) {
  background-color: #246F83 !important;
  color: #FFFFFF !important;
}

/* MEMBERSHIP LEVEL CARDS - SELECTED TEXT */
.fieldBody .groupBodyVertical .fieldItem:has(input[type="radio"]:checked) * {
  color: #FFFFFF !important;
}

/* MEMBERSHIP LEVEL SUMMARY BOX - OUTER CONTAINER */
.infoOuterContainer {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* MEMBERSHIP LEVEL SUMMARY BOX - INNER */
.infoOuterContainer .infoContainer {
  background-color: #EAF3F6 !important;
  border: 1px solid #246F83 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  color: #246F83 !important;
}

/* MEMBERSHIP LEVEL SUMMARY BOX - TEXT */
.infoOuterContainer .infoContainer * {
  color: #246F83 !important;
}

/* HIDE EVENT PREVIEW BOX IN LIST VIEW */
.WaGadgetEventsStateList .boxBodyContentContainer {
  display: none !important;
}

/* EVENT LIST - DIVIDER BETWEEN EVENTS */
.WaGadgetEventsStateList ul.boxesList li {
  border-bottom: 2px solid #246F83 !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
}

/* EVENT LIST - REMOVE INTERNAL ROW LINES */
.WaGadgetEvents .boxInfoContainer ul.boxInfo li {
  border-bottom: none !important;
  padding: 2px 0 !important;
  margin: 0 !important;
}

/* EVENT LIST - BOLD FIELD LABELS */
.WaGadgetEvents .boxInfoContainer ul.boxInfo li label.eventInfoBoxLabel {
  font-weight: 700 !important;
  font-size: 14px !important;
}

/* EVENT LIST - FIELD VALUES */
.WaGadgetEvents .boxInfoContainer ul.boxInfo li .eventInfoBoxValue {
  font-size: 14px !important;
}

/* GREEN BORDER BOXES - UPCOMING EVENTS AND CONTACT */
div[style*="background-color:#8CC756"] {
  border: 2px solid #8CC756 !important;
  border-radius: 5px !important;
  padding: 2px !important;
}

/* SHOW DETAILS LINK COLOR */
.WaGadgetEventsStateList .eventDetailsLink,
.WaGadgetEventsStateList a[href*="event"] {
  color: #246F83 !important;
}

/* ABOUT DROPDOWN - FIX COLOR ON MOBILE */
@media only screen and (max-width: 767px) {
  .WaGadgetMenuHorizontal .menuInner ul.firstLevel li ul.secondLevel {
    background-color: #0B7F3D !important;
  }
}

/* ADDITIONAL COMMITTEE MEMBERS - REDUCE HEADER SIZE ON MOBILE */
@media only screen and (max-width: 767px) {
  .WaGadgetContent h1 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
}

/* MEMBERSHIP LEVEL DESCRIPTORS - ITALICIZE */
.fieldBody .groupBodyVertical .fieldItem .levelDescription {
  font-style: italic !important;
  color: #246F83 !important;
}

/* BACK TO TOP BUTTON */
.backToTop {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  background-color: #246F83 !important;
  color: #FFFFFF !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  text-align: center !important;
  line-height: 40px !important;
  cursor: pointer !important;
  display: none !important;
}
