/* =========================
   HEADER
========================= */
header {
  background: #FAF7EE !important;
  text-align: center !important;
  padding: 0.75rem 0rem 0.25rem 0rem;
  top: 0;
  z-index: 1000;
}

/* Remove focus outlines from menu links */
#main-menu a:focus,
#main-menu a:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Top-level menu links */
#main-menu > li > a {
    color: #ffffff !important;
    position: relative;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

#main-menu > li > a:hover {
    background-color: #c3c7a7 !important;
    color: #000 !important;
}

/* Active menu item */
#main-menu > li.current-menu-item > a,
#main-menu > li.current_page_item > a {
    background: none !important;
    color: #000 !important;
}

/* Submenu links */
#main-menu .sub-menu a {
    color: #000 !important;
}

#main-menu .sub-menu a:hover {
    background-color: #ddd !important;
    color: #000 !important;
}

/* Full-width header container fixes */
.site-header,
.site-header .container,
.site-header .container-fluid,
.site-header .grid-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.site-header .main-navigation {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background-color: #757862 !important;
}

/* Hover red line */
#main-menu > li > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 2px;
    background-color: #9f0000;
    opacity: 0;
    transition: opacity 0.2s ease;
}

#main-menu > li > a:hover::before {
    opacity: 1 !important;
}

/* Active red line */
#main-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 2px;
    background-color: #9f0000;
    opacity: 0;
}

#main-menu > li.current-menu-item > a::after,
#main-menu > li.current_page_item > a::after {
    opacity: 1 !important;
}

/* =========================
   FOOTER
========================= */
.site-footer {
  background-color: #757862 !important;
  color: #ffffff !important;
  padding: 2rem 1rem 0 1rem;
  font-family: 'Montserrat', sans-serif;
}

/* Footer links */
.site-footer a,
.site-footer a:visited {
  color: #7ebec5 !important;
  text-decoration: none;
}

.site-footer a:hover {
  color: #800080 !important;
  text-decoration: underline;
}

/* Footer grid layout */
.site-footer .footer-top {
  display: grid;
  grid-template-columns: 1fr 1fr !important;
  max-width: 1100px;
  margin: 0 auto 2rem auto;
  gap: 2rem;
  text-align: left;
}

/* Footer bottom bar */
.site-footer .footer-bottom {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #757862 !important;
  color: #ffffff !important;
  text-align: center !important;
  padding: 2rem 1rem;
}

.site-footer,
.site-footer .footer-bottom,
.site-footer .widget,
.site-footer .widget_text,
.site-footer .footer-widget-area {
    text-align: center !important;
}

.site-footer .footer-bottom a {
    display: inline-block;
    text-align: center !important;
}

/* Footer accent override */
.site-footer {
    --accent: #800080 !important;
}
