:root{
  --oc-primary: #003262;
  --oc-secondary: #f84600;
  --oc-accent: #004c95;
  --oc-background: #ffffff;
  --oc-surface: #f8f9fa;
  --oc-text: #212529;
  --oc-muted-text: #6c757d;
  --oc-nav-background: #003262;
  --oc-nav-text: #ffffff;
  --oc-footer-background: #333333;
  --oc-footer-text: #ffffff;
  --oc-prefooter-background: #E9ECEF;
  --oc-heading-primary: #003262;
  --oc-heading-secondary: #f84600;
  --oc-font-heading: "Poppins", sans-serif;
  --oc-font-body: "Poppins", sans-serif;
  --oc-button-radius: 8px;
  --oc-button-background: #f84600;
  --oc-button-text: #ffffff;

}

body.oc{
  background-color: var(--oc-background);
  color: var(--oc-text);
  font-family: var(--oc-font-body);
}

.site-header{
  background-color: var(--oc-nav-background);
}

.site-name, .site-wordmark-name{
  margin: 0;
  font-family: var(--oc-font-heading);
  color: var(--oc-heading-primary);
  font-weight: 800;
  line-height: 1.1;
}

.site-tagline, .site-wordmark-office, .site-wordmark-slogan{
  color: var(--oc-muted-text);
}

.site-wordmark-for{
  font-style: italic;
  margin-right: .25rem;
}

.site-header .nav-link,
.site-header .nav-link:visited,
.site-header a,
.site-header a:visited{
  color: var(--oc-nav-text);
}

.site-header .container,
.site-footer .container{
  position: relative;
}

.site-header .site-brand{
  color: inherit;
}

.main-nav .nav-link-button,
.nav-link-button {
  display: inline-block;
  padding: 0.55rem 1rem;
  border-radius: var(--oc-button-radius);
  background-color: var(--oc-button-background);
  border: 1px solid var(--oc-button-background);
  color: var(--oc-button-text) !important;
  text-decoration: none;
  line-height: 1.2;
}

.main-nav .nav-link-button:hover,
.main-nav .nav-link-button:hover,
.main-nav .nav-link-button:focus,
.nav-link-button:focus,
.main-nav .nav-link-button:visited,
.nav-link-button:visited {
  background-color: var(--oc-button-background);
  border-color: var(--oc-button-background);
  color: var(--oc-button-text) !important;
  text-decoration: none;
  opacity: 0.92;
}


.main-nav .nav-link-box, .nav-link-box  {
  display: inline-block;
  padding: 0.55rem 1rem;
  border: 1px solid currentColor;
  border-radius: var(--oc-button-radius);
  background: transparent;
  color: var(--oc-nav-text) !important;
  text-decoration: none;
  line-height: 1.2;
}

.main-nav .nav-link-box:hover,
.nav-link-box:hover,
.main-nav .nav-link-box:focus,
.nav-link-box:focus,
.main-nav .nav-link-box:visited,
.nav-link-box:visited {
  color: var(--oc-nav-text) !important;
  text-decoration: none;
}

.site-header .main-nav .nav-link-box:hover,
.site-header .main-nav .nav-link-box:focus {
  background: rgba(255,255,255,0.08);
}




.site-logo{
  max-width: 100%;
  height: auto;
  display: block;
}

.site-main{
  color: var(--oc-text);
}

.site-main h1,
.site-main h2,
.site-main h3{
font-family: var(--oc-font-heading);
color: var(--oc-heading-primary);
}

.site-main h4,
.site-main h5,
.site-main h6{
  font-family: var(--oc-font-heading);
  color: var(--oc-heading-secondary);
}

.site-footer{
  background-color: var(--oc-footer-background);
  color: var(--oc-footer-text);
}

.site-footer a,
.site-footer a:visited{
  color: var(--oc-footer-text);
}

.site-prefooter{
  background-color: var(--oc-prefooter-background);
}

.site-main .btn,
.site-main .btn,
.site-main button,
.site-main input[type="submit"],
.site-main .btn-primary,
.site-main a.btn-primary,
.site-main button.btn-primary,
.site-main input[type="submit"].btn-primary {
  border-radius: var(--oc-button-radius) !important;
}

.site-main .btn-primary,
.site-main .btn-primary:visited,
.site-main button.btn-primary,
.site-main input[type="submit"].btn-primary,
.site-main a.btn-primary,
.site-main a.btn-primary:visited {
  padding: 15px;
  margin-bottom: 10px;
  font-size: 1.25em;
  border-width: 1px;
  border-style: solid;
}


.site-main .btn-primary,
.site-main .btn-primary:visited,
.site-main button.btn-primary,
.site-main input[type="submit"].btn-primary,
.site-main a.btn-primary,
.site-main a.btn-primary:visited {
  background-color: var(--oc-button-background) !important;
  border-color: var(--oc-button-background) !important;
  color: var(--oc-button-text) !important;
}

.site-main .btn-primary:hover,
.site-main .btn-primary:focus,
.site-main button.btn-primary:hover,
.site-main button.btn-primary:focus,
.site-main input[type="submit"].btn-primary:hover,
.site-main input[type="submit"].btn-primary:focus,
.site-main a.btn-primary:hover,
.site-main a.btn-primary:focus {
  background-color: var(--oc-button-background) !important;
  border-color: var(--oc-button-background) !important;
  color: var(--oc-button-text) !important;
  opacity: 0.92;
}


.site-header-alt-theme .site-header-branding-wrap {
  width: 100%;
  text-align: center;
  padding: 0;
}

.site-header-alt-theme .site-header-image-link,
.site-header-alt-theme .theme-header-branding-link {
  display: block;
  text-align: center;
}

.site-header-alt-theme .site-header-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.site-header-alt-theme .site-header-logo {
  display: block;
  margin: 1.25rem auto;
}

.site-header-alt-theme .theme-header-branding-text {
  display: flex;
  justify-content: center;
  padding: 1.25rem 1rem;
}

.site-header-alt-theme .theme-header-branding-text .site-wordmark {
  justify-content: center !important;
  text-align: center !important;
}

.site-header-alt-theme .site-header-nav-wrap .nav {
  justify-content: center !important;
}



.site-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.site-wordmark-text {
  display: flex;
  flex-direction: column;
}

.site-wordmark-office {
  font-family: var(--oc-font-body);
}



.site-wordmark-icon {
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 0.35rem;

}
.site-wordmark--sheriff .site-wordmark-icon {
  font-size: 3rem;
}

.site-wordmark--vote .site-wordmark-icon {
  margin-bottom: 1rem;
  font-size: 2rem;
}

.site-wordmark--judicial .site-wordmark-icon,
.site-wordmark--school-board .site-wordmark-icon,
.site-wordmark--civic-modern .site-wordmark-icon,
site-wordmark--sheriff .site-wordmark-icon{
  margin-right: 0.1rem;
}

.site-wordmark-for {
  font-style: italic;
  margin-right: 0.25rem;
   opacity: 0.85;
}


.site-wordmark-slogan {
  font-size: 0.7rem;
  opacity: 0.9;
}

.site-wordmark-name,
.site-wordmark-office,
.site-wordmark-slogan {
  display: block;
}

/* civic-modern */
.site-wordmark--civic-modern .site-wordmark-name {
  font-family: var(--oc-font-heading);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.site-wordmark--civic-modern .site-wordmark-office {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: var(--oc-heading-secondary);
}

/* classic-formal */
.site-wordmark--classic-formal .site-wordmark-name {
  font-family: var(--oc-font-heading);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.site-wordmark--classic-formal .site-wordmark-office {
  font-style: italic;
  
  color: var(--oc-muted-text);
}

/* bold-campaign */
.site-wordmark--bold-campaign .site-wordmark-name {
  font-family: var(--oc-font-heading);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.site-wordmark--bold-campaign .site-wordmark-office {
  font-weight: 700;
  text-transform: uppercase;
  color: var(--oc-accent);
}

/* judicial */
.site-wordmark--judicial {
  border-left: 4px solid var(--oc-heading-primary);
  padding-left: 0.8rem;
}

.site-wordmark--judicial .site-wordmark-icon {
  color: var(--oc-heading-primary);
}

.site-wordmark--judicial .site-wordmark-name {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.site-wordmark--judicial .site-wordmark-office {
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--oc-muted-text);
}

/* community */
.site-wordmark--community .site-wordmark-name {
  font-family: var(--oc-font-heading);
  font-weight: 800;
}

.site-wordmark--community .site-wordmark-office {
  color: var(--oc-heading-secondary);
  font-weight: 600;
}

/* school-board */
.site-wordmark--school-board {
  border-bottom: 3px solid var(--oc-heading-primary);
  padding-bottom: 0.35rem;
}

.site-wordmark--school-board .site-wordmark-icon {
  color: var(--oc-heading-primary);
}

.site-wordmark--school-board .site-wordmark-name {
  font-family: var(--oc-font-heading);
  font-weight: 800;
  letter-spacing: 0.01em;
}

.site-wordmark--school-board .site-wordmark-office {
  font-weight: 700;
  color: var(--oc-heading-secondary);
}

.site-wordmark.site-wordmark-color--default .site-wordmark-name {
  color: var(--oc-heading-primary);
}

.site-wordmark.site-wordmark-color--default .site-wordmark-office,
.site-wordmark.site-wordmark-color--default .site-wordmark-slogan {
  color: var(--oc-muted-text);
}

.site-wordmark.site-wordmark-color--nav-text .site-wordmark-name,
.site-wordmark.site-wordmark-color--nav-text .site-wordmark-office,
.site-wordmark.site-wordmark-color--nav-text .site-wordmark-slogan,
.site-wordmark.site-wordmark-color--nav-text .site-wordmark-icon {
  color: var(--oc-nav-text);
}

.site-wordmark.site-wordmark-color--white .site-wordmark-name,
.site-wordmark.site-wordmark-color--white .site-wordmark-office,
.site-wordmark.site-wordmark-color--white .site-wordmark-slogan,
.site-wordmark.site-wordmark-color--white .site-wordmark-icon {
  color: #ffffff;

}

.site-header .dropdown-menu{
  background-color: var(--oc-nav-background);
  border-color: var(--oc-nav-background);
}

.site-header .dropdown-item,
.site-header .dropdown-item:visited{
  color: var(--oc-nav-text);
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus{
  background-color: var(--oc-nav-background);
  color: var(--oc-nav-text);
  opacity: .85;
}
.news-card a{ color: var(--oc-heading-primary); text-decoration:none;}
.news-sidebar-categories a{ color: var(--oc-heading-primary); text-decoration:none;}
.news-sidebar-item a{ color: var(--oc-heading-primary); text-decoration:none;}




/* Event Calendar */
.oc-event-calendar-wrap{
border:1px solid #d9dee5;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:1.25rem;margin:1.5rem 0
}

.oc-event-calendar-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  margin-bottom:1rem;
}

.oc-event-calendar-title{
  font-size:1.5rem;
  line-height:1.2;
  margin:0;
  color:var(--oc-heading-primary);
}

.oc-event-calendar-subtitle,
.oc-event-calendar-count{
  color:var(--oc-muted-text);
  font-size:.95rem;
}

.oc-event-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.5rem;
}

.oc-event-calendar-dow{
font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6c757d;padding:.25rem .35rem
}

.oc-event-calendar-day{
min-height:122px;border:1px solid #e4e8ee;border-radius:14px;padding:.5rem;background:#fcfdff;display:flex;flex-direction:column
}

.oc-event-calendar-day--empty{
  background:#f7f8fa;
  border-style:dashed;
}

.oc-event-calendar-day--today{
  border-color:var(--oc-accent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--oc-accent) 18%, white) inset;
  background:color-mix(in srgb, var(--oc-accent) 8%, white);
}

.oc-event-calendar-date{
  font-weight:700;
  font-size:.95rem;
  margin-bottom:.35rem;
  color:var(--oc-heading-primary);
}

.oc-event-calendar-events{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}

.oc-event-pill{
  display:block;
  text-decoration:none;
  border-radius:10px;
  padding:.4rem .5rem;
  border:1px solid color-mix(in srgb, var(--oc-heading-primary) 10%, white);
  background:#fff;
  color:var(--oc-heading-primary);
}

.oc-event-pill:hover{
  background:color-mix(in srgb, var(--oc-surface) 65%, white);
}

.oc-event-pill--virtual{
  border-color:color-mix(in srgb, var(--oc-secondary) 35%, white);
  background:color-mix(in srgb, var(--oc-secondary) 12%, white);
}

.oc-event-pill--hybrid{
  border-color:color-mix(in srgb, var(--oc-accent) 35%, white);
  background:color-mix(in srgb, var(--oc-accent) 14%, white);
}

.oc-event-pill--in-person{
  border-color:color-mix(in srgb, var(--oc-primary) 35%, white);
  background:color-mix(in srgb, var(--oc-primary) 12%, white);
}

.oc-event-pill-title{
  display:block;
  font-size:.82rem;
  font-weight:600;
  line-height:1.2;
}

.oc-event-pill-time{
  display:block;
  font-size:.75rem;
  color:var(--oc-muted-text);
  margin-top:.15rem;
}

.oc-event-pill-more{
  font-size:.78rem;
  color:var(--oc-muted-text);
  padding:.15rem .1rem;
}

.oc-event-calendar-noevents{
  flex:1;
}

.oc-event-calendar-list{
  margin-top:1.25rem;
  border-top:1px solid color-mix(in srgb, var(--oc-heading-primary) 10%, white);
  padding-top:1rem;
}

.oc-event-calendar-list-title{
  font-size:1.05rem;
  margin:0 0 .75rem;
  color:var(--oc-heading-primary);
}

.oc-event-calendar-list-item{
  padding:.65rem 0;
  border-bottom:1px solid color-mix(in srgb, var(--oc-heading-primary) 7%, white);
}

.oc-event-calendar-list-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.oc-event-calendar-list-main a{
  text-decoration:none;
  font-weight:600;
  color:var(--oc-heading-primary);
}

.oc-event-calendar-nav{
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
  margin-bottom:1rem;
}

.oc-event-calendar-panel{
  display:block;
}

.oc-event-calendar-list-meta,
.oc-event-calendar-list-location{
  font-size:.88rem;
  color:var(--oc-muted-text);
  margin-top:.15rem;
}

@media (max-width:991px){
  .oc-event-calendar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .oc-event-calendar-dow{
    display:none;
  }
  .oc-event-calendar-day--empty{
    display:none;
  }
}

@media (max-width:575px){
  .oc-event-calendar-grid{
    grid-template-columns:1fr;
  }
  .oc-event-calendar-day{
    min-height:auto;
  }
}
