.elementor-kit-108130{--e-global-color-primary:#3B77A5;--e-global-color-secondary:#78A937;--e-global-color-text:#41444D;--e-global-color-accent:#FFCD00;--e-global-color-d4cf39a:#FFFFFF;--e-global-color-becdaeb:#98BED9;--e-global-color-ea81799:#376F98;--e-global-color-13a8e12:#5E842B;--e-global-color-c1411a3:#E6E9F0;--e-global-color-9d70afd:#575C68;--e-global-color-686429a:#3B77A5;--e-global-color-925239d:#B2D682;--e-global-color-99e951a:#79AD5E;--e-global-typography-primary-font-family:"Lato";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:20px;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:normal;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Lato";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-d4cf39a );color:#41444D;font-family:"Lato", Sans-serif;font-size:18px;font-weight:500;font-style:normal;line-height:30px;}.elementor-kit-108130 button,.elementor-kit-108130 input[type="button"],.elementor-kit-108130 input[type="submit"],.elementor-kit-108130 .elementor-button{background-color:var( --e-global-color-primary );font-size:16px;font-weight:700;text-decoration:none;color:var( --e-global-color-d4cf39a );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );padding:16px 032px 16px 32px;}.elementor-kit-108130 button:hover,.elementor-kit-108130 button:focus,.elementor-kit-108130 input[type="button"]:hover,.elementor-kit-108130 input[type="button"]:focus,.elementor-kit-108130 input[type="submit"]:hover,.elementor-kit-108130 input[type="submit"]:focus,.elementor-kit-108130 .elementor-button:hover,.elementor-kit-108130 .elementor-button:focus{background-color:var( --e-global-color-13a8e12 );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-kit-108130 p{margin-block-end:25px;}.elementor-kit-108130 a{color:var( --e-global-color-ea81799 );font-family:"Lato", Sans-serif;font-weight:900;font-style:normal;text-decoration:underline;}.elementor-kit-108130 a:hover{color:var( --e-global-color-13a8e12 );}.elementor-kit-108130 h1{color:#41444D;font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );}.elementor-kit-108130 h2{color:#41444D;font-size:24px;font-weight:600;}.elementor-kit-108130 h3{color:#41444D;font-family:"Lato", Sans-serif;font-size:24px;font-weight:600;font-style:normal;}.elementor-kit-108130 h4{color:#41444D;font-size:21px;font-weight:600;}.elementor-kit-108130 h5{color:#41444D;font-size:18px;font-weight:600;}.elementor-kit-108130 h6{color:#41444D;font-family:"Lato", Sans-serif;font-size:16px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-108130 h1{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-108130 h1{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.home h1 {
    display: none !important;
}

/* Page Title - Small Caps*/
.elementor-widget-theme-page-title .elementor-heading-title {
    font-variant:small-caps;
    text-transform: none;
    font-family: Roboto Slab;
    font-size: 35px;
}

/* LibCal Event List */
.s-lc-ea-h3 {
  display: none;
}

/* h2 headings*/
.elementor-kit-108130 h2 {
    color: #41444D;
    font-size: 26px;
    font-weight: 600;
    line-height: 35px;
}
    
/* Links */
.a:visited {
  color: #5E842B;
  background: inherit;
}
    
/* ====== Library Search: responsive layout & accessibility ====== */

/* Base layout */
.library-search {
  display: flex;
  align-items: center;
  flex-wrap: wrap;            /* Allow wrapping on smaller widths */
  gap: 0.6rem;                /* Consistent spacing between elements */
  max-width: 100%;
}

/* Scope group (the radio group) */
.library-search__scope {
  display: inline-flex;
  flex-wrap: wrap;            /* Radios can wrap to a new line when needed */
  gap: 0.5rem 0.75rem;
  align-items: center;
}

/* Make the input grow, but never collapse below a readable width */
.library-search input[type="search"] {
  min-width: 12rem;           /* desktop minimum */
  flex: 1 1 280px;            /* grow to take remaining space; shrink to ~280px */
}

/* Button: keep it touch-friendly */
.library-search button[type="submit"] {
  padding: 0.55rem 0.9rem;
  line-height: 1.2;
  min-height: 44px;           /* WCAG touch target */
  min-width: 44px;            /* WCAG touch target */
  white-space: nowrap;        /* avoids cramped tiny buttons */
}

/* ---------- Small screens (phones) ---------- */
@media (max-width: 600px) {

  .library-search {
    gap: 0.5rem;
  }

  /* Stack everything in a single column for clarity */
  .library-search__scope,
  .library-search input[type="search"],
  .library-search button[type="submit"] {
    width: 100%;
  }

  /* Scope group: full-width row, align left */
  .library-search__scope {
    justify-content: flex-start;
  }

  /* Input: full width, comfortable height */
  .library-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;             /* allow true full width on tiny screens */
    height: 44px;             /* comfortable tap height */
  }

  /* Button: full-width for easy tapping */
  .library-search button[type="submit"] {
    width: 100%;
    text-align: center;
  }
}

/* ---------- Medium screens (phablets / small tablets) ---------- */
@media (min-width: 601px) and (max-width: 900px) {
  /* Put scope on its own row, then input + button on next row */
  .library-search__scope {
    width: 100%;
  }
  .library-search input[type="search"] {
    flex: 1 1 340px;
  }
}

/* Focus visibility (keep strong focus rings even if Elementor has global styles) */
.library-search input[type="search"]:focus-visible,
.library-search button[type="submit"]:focus-visible,
.library-search__scope input[type="radio"]:focus-visible + span,
.library-search__scope input[type="radio"]:focus-visible + label {
  outline: 3px solid #0ea5e9;
  outline-offset: 2px;
}

/* If you styled the radios as a segmented control using <span> wrappers,
   give the selected one a clear state (optional; remove if not used). */
.library-search__scope input[type="radio"] {
  position: relative;
}

/* Reduce motion for users who request it */
@media (prefers-reduced-motion: reduce) {
  .library-search * {
    transition: none !important;
  }
}


/* Remove fieldset border around scope radios */
.library-search fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-inline-size: 0;  /* Fix for some browsers that reserve fieldset space */
}

/* Add padding to the bottom of lists */


/* All lists get spacing */
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
  margin-bottom: 1.25em;
}

/* Nested lists do NOT */
.elementor-widget-theme-post-content ul ul,
.elementor-widget-theme-post-content ul ol,
.elementor-widget-theme-post-content ol ul,
.elementor-widget-theme-post-content ol ol {
  margin-bottom: 0;
}

/* Prevent double spacing before paragraphs */
.elementor-widget-theme-post-content ul + p,
.elementor-widget-theme-post-content ol + p {
  margin-top: 0;
}/* End custom CSS */