:root{
  --msu-purple:#463066;
  --msu-gold:#FEBD11;
}

html, body{
  height:100%;
  background:#fff;
}

header{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:12px 24px 16px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

header hr,
header .divider{
  display:none !important;
}

header h1{
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

.site-title{
  width:280px;
  height:72px;
  margin-right:auto !important;
  display:block !important;
  overflow:hidden;
  white-space:nowrap;
  text-indent:-9999px;
  background:url("https://exhibits.lib.mnsu.edu/files/MNSU_Logos/Primary_RGB_purple_gold.png") no-repeat left center;
  background-size:contain;
}

#search-form{
  margin-left:auto !important;
  display:flex !important;
  align-items:stretch !important;
}

#search-form input[type="text"],
#search-form input[type="search"],
#search-form button{
  height:34px !important;
  box-sizing:border-box !important;
}

#search-form input[type="text"],
#search-form input[type="search"]{
  width:320px;
  min-width:320px;
  padding:0 12px !important;
  line-height:34px !important;
  background:#f6f6f6 !important;
  color:#000 !important;
  border:1px solid #bfbbbb !important;
}

#search-form input::placeholder{
  color:#595559 !important;
  opacity:.85 !important;
}

#search-form button{
  min-width:130px;
  padding:0 20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  background:var(--msu-purple) !important;
  color:#fff !important;
  border:1px solid var(--msu-purple) !important;
}

#search-form input:focus{
  background:#fff !important;
  border-color:var(--msu-purple) !important;
}

#search-form button:hover,
#search-form button:focus{
  background:var(--msu-gold) !important;
  color:var(--msu-purple) !important;
  border-color:var(--msu-gold) !important;
}

#oc-trigger{
  margin-left:16px !important;
}

#menu-button{
  background:var(--msu-purple) !important;
  color:#fff !important;
  border:1px solid var(--msu-purple) !important;
}

#menu-button .icon{
  color:#fff !important;
}

#menu-button:hover,
#menu-button:focus{
  background:var(--msu-gold) !important;
  color:var(--msu-purple) !important;
  border-color:var(--msu-gold) !important;
}

#menu-button:hover .icon,
#menu-button:focus .icon{
  color:var(--msu-purple) !important;
}

.site_pages.results a,
.oc-content a,
.mm-menu a,
.mm-menu a:visited,
.mm-menu a:hover,
.mm-menu a:active,
.mm-menu a:link{
  color:var(--msu-purple) !important;
}

.results>a:last-child,
input[type=submit],
button,
.button,
a.advanced-search{
  background-color:var(--msu-gold) !important;
  color:var(--msu-purple) !important;
}

.mm-menu{
  --mm-color-background:#fff !important;
  --mm-color-border:transparent;
}

#content{
  width:100% !important;
  max-width:1600px !important;
  margin:0 auto 0 0 !important;
  padding-inline:clamp(24px, 6vw, 240px) !important;
  text-align:left !important;
}

@media (min-width:1800px){
  #content{
    margin:0 auto !important;
  }
}

nav.pagination,
.pagination{
  display: flex !important;
  justify-content: flex-start !important;
}


footer{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:32px !important;
  background:var(--msu-purple) !important;
  color:#fff !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:220px 1fr 260px !important;
  align-items:start !important;
}

footer > :first-child{
  font-size:16px !important;
  line-height:1.6 !important;
  white-space:nowrap;
}

footer .footer-links{
  justify-self:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  gap:10px !important;
  max-width:600px;
  font-size:16px !important;
  line-height:1.6 !important;
}

footer .footer-links a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:500 !important;
}

footer .footer-links a:hover,
footer .footer-links a:focus{
  text-decoration:underline !important;
}

footer{
  position: relative !important;
}

footer .footer-links{
  grid-column: 2 !important;
  justify-self: center !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;

  max-width: calc(100% - 260px - 64px) !important;
}

footer .footer-links a:last-child{
  position: absolute !important;
  right: 32px !important;
  top: 32px !important;
  margin: 0 !important;
}

footer .footer-logo{
  width: 260px !important;
  height: 80px !important;
  object-fit: contain !important;
  display: block !important;
}

#oc-container,
#oc-container > .oc-pusher{
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
}

#oc-container > .oc-pusher > .oc-content,
#oc-container > .oc-pusher > .oc-content > .oc-content-inner,
#oc-container > .oc-pusher > .oc-content > .oc-content-inner > #content{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}

#oc-container > .oc-pusher > .oc-content > .oc-content-inner > footer{
  margin-top:auto !important;
}

@media (max-width:768px){
  header{
    padding:12px 16px 16px !important;
    flex-wrap:wrap !important;
    gap:12px !important;
  }

  .site-title{
    width:200px;
    height:50px;
  }

  #search-form input[type="text"],
  #search-form input[type="search"]{
    width:220px;
    min-width:220px;
  }

  #search-form button{
    min-width:110px;
  }

  footer{
    grid-template-columns:1fr !important;
    gap:20px !important;
    text-align:center;
  }

  footer > :first-child{
    order:1;
  }

  footer .footer-links{
    order:2;
  }

  footer::after{
    order:3;
    margin:0 auto;
    width:220px;
    height:70px;
    background-position:center;
  }
}

@media (max-width:980px){

  footer{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    text-align: center !important;
  }

  footer .footer-links{
    grid-column: 1 !important;
    max-width: 600px !important;
    justify-self: center !important;
  }

  footer .footer-links a:last-child{
    position: static !important;
    margin: 16px auto 0 !important;
    display: inline-block !important;
  }

  footer .footer-logo{
    margin: 0 auto !important;
  }
}