@charset "UTF-8";

/* @import url("//fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,600i&display=swap"); */
/* @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;1,400;1,600&display=swap'); */
* {
  margin: 0;
}

body,
html {
  height: 100%;
  min-height: 100%;
  -webkit-font-smoothing: subpixel-antialiased;

  /* -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility; */
}

body {
  position: relative;
  font-size: 90%;
  font-family: 'Open Sans', Helvetica, 'Segoe UI', Arial, sans-serif;

  /* font-family: -system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";  */
  line-height: 1;
}

/*
h1, h2{
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

span h1,
.audience-widgets h2{
font-family: -system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
} */

@media (min-width: 881px) {
  body {
    font-size: 100%;
  }
}

input[type='submit'] {
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
}

.sr-only {
  position: absolute;
  left: -625rem;
}

.show-for-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  line-height: 1.2;
}

h2 {
  font-weight: 600;
  font-size: 1.6em;
}

.full-width .h1,
.h1 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 400;
}

.full-width .h1,
.full-width .h1-like,
.h1,
.h1-like {
  font-size: 1.875rem;
}

.full-width .h2,
.h2 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 400;
}

.full-width .h2,
.full-width .h2-like,
.full-width .card-heading.h2-like,
.full-width .card-header.h2-like,
/* overwrite .card .card-header */
.h2,
.h2-like {
  font-size: 1.25rem;
}

.full-width .h3,
.h3 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 400;
}

.full-width .h3,
.full-width .h3-like,
/* overwrite .card .card-header */
.h3,
.h3-like {
  font-size: 1.1875rem;
}

/* TODO: this is weak, we should revisit heading sizes in general */
.card-heading.h3-like,
.card-header.h3-like {
  font-size: 1.9375rem;
}

.full-width .h4,
.h4 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  color: #000;
  font-weight: 400;
}

.full-width .h4,
.full-width .h4-like,
.h4,
.h4-like {
  font-size: 1.125rem;
}

.full-width .h5,
.h5 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  color: #000;
  font-weight: 400;
}

.full-width .h5,
.full-width .h5-like,
.h5,
.h5-like {
  font-size: 1.0625rem;
}

.full-width .h6,
.h6 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 400;
}

.full-width .h6,
.full-width .h6-like,
.h6,
.h6-like {
  font-size: 1rem;
}

.audience-widget h2 {
  margin-bottom: 1em;
  font-weight: 400;
}

p {
  margin-bottom: 1em;
  line-height: 1.5;
}

.small {
  font-size: 0.9em;
}

.center {
  text-align: center;
}

/* sorry for the confusion */
.hide {
  display: none;
}

.hidden {
  opacity: 0;
}

ul.none {
  padding-left: 0;
  list-style-type: none;
}

a,
a:visited {
  color: #000;
  /* text-decoration: none; */
}

a:active,
a:focus,
a:hover {
  text-decoration: underline;
}

a.yellow,
a.yellow:visited {
  padding: 0 0.125em;
  color: inherit;
  text-decoration: underline;
  /* border-bottom: 1px solid #fc0;
  box-shadow: inset 0 -0.125rem 0 hsl(50, 100%, 50%); */
  text-decoration: solid underline #222 2px;
  transition: box-shadow 0.2s, text-decoration 0.2s 0s;
}

a.yellow:hover,
a.yellow:focus,
a.yellow:active {
  text-decoration: none;
  text-decoration: solid underline transparent 2px;
  box-shadow: inset 0 -1.5em 0 hsl(50, 100%, 50%), 0 2px 0 0 hsl(50, 100%, 50%);
  transition: box-shadow 0.2s, text-decoration 0.2s 0.1s;
}

.clearer {
  clear: both;
}

.stack-x > * + * {
  margin-left: 1rem;
  margin-left: var(--stack-x-gutter, 1rem) !important;
}

.stack > * + * {
  margin-top: 1rem;
  margin-top: var(--stack-y-gutter, 1rem) !important;
}

/* Spacing classes */
.section-padding {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.section-padding-2x {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.padding-top {
  padding-top: 1rem;
}

.padding-top-2x {
  padding-top: 2rem;
}

.padding-bottom-2x {
  padding-bottom: 2rem;
}

/* --- Outline styles --- */

*:focus {
  outline: 1px dashed #000;
}

*:hover:focus {
  outline: none;
}

#header-logo a:focus {
  outline: dashed 1px hsl(50, 100%, 50%);
  outline-offset: 0.25rem;
}

#header-logo a:focus:hover {
  outline: dashed 1px transparent;
}

nav.main-nav *:focus {
  text-decoration: underline;
  outline: dashed 1px #000;
  outline-offset: -1px;
}

nav.main-nav *:focus:hover {
  outline: dashed 1px transparent;
}

nav.main-nav .nav-apply a:focus,
nav.main-nav .nav-give a:focus {
  text-decoration: underline;
  outline-offset: -0.125rem;
}

@media only screen and (min-width: 881px) {
  nav.main-nav *:focus {
    outline: dashed 1px hsl(50, 100%, 50%);
    outline-offset: -1px;
  }
}

.mt-logo:focus {
  outline-offset: 0.25rem;
}

nav.main-nav .sub ul > li a:focus {
  outline: dashed 1px #fff;
  outline-offset: -1px;
}

nav.main-nav .sub ul.sub-nav-open > li a:focus {
  outline: dashed 1px #000;
  outline-offset: -1px;
}

.quick-links a:focus,
nav.main-nav .audience-menu a:focus,
.quick-links button:focus,
nav.main-nav .audience-menu button:focus {
  outline: dashed 1px hsl(50, 100%, 50%);
  outline-offset: -4px;
}

@media only screen and (min-width: 881px) {
  nav.main-nav .audience-menu .sub ul > li a:focus {
    outline: dashed 1px hsl(50, 100%, 50%);
  }

  nav.main-nav .quick-links ul > li a:focus,
  nav.main-nav .audience-menu ul > li a:focus {
    outline: dashed 1px #000;
    outline-offset: -4px;
  }
}

nav.main-nav .sub ul > li a:focus:hover,
nav.main-nav .audience-menu .sub ul > li a:focus:hover {
  outline: dashed 1px transparent;
}

.search-box form:focus-within {
  outline: 1px dashed #000 !important;
}

/* --- skip links --- */

.skip-link,
.skip-link:visited {
  position: absolute;
  left: -625rem;
  z-index: 700;
  width: 1px;
  height: 1px;
  padding: 0.25rem;
  border: 1px solid #fff;
  color: #000;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: underline;
  background: hsl(50, 100%, 50%);
}

.skip-link:focus {
  left: 6.25rem;
  width: 12.5rem;
  height: 1.125rem;
  outline: 1px solid #000;
}

.top-banner a {
  text-decoration: none;
}

/* --- search box --- */

.search-box,
.search-box *,
.site-header,
.site-header *,
.site-header *::before,
.site-header *::after {
  box-sizing: border-box;
}

.search-box {
  position: absolute;
  top: -12.5rem;
  left: 0;
  z-index: 2;
  display: block;
  width: 100%;
  border-bottom: 0.3125rem solid hsl(50, 100%, 50%);
  background: #fff;
  transition: top 0.3s ease;
}

@media (prefers-reduced-motion) {
  .search-box {
    transition: top 0s;
  }
}

.search-box.shrink {
  position: fixed;
}

@media only screen and (min-width: 881px) {
  .search-box {
    top: -3.75rem;
    background: #ececec;
  }
}

.search-box.search-open {
  top: 0.25rem;
}

@media only screen and (min-width: 881px) {
  .search-wrap {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
  }

  .search-box.search-open {
    top: 0;
  }
}

.field-wrap {
  /* width:; */
  margin: 1.5%;
  padding: 1%;
  padding-bottom: 0.5em;
  border: 1px solid #ececec;
}

@media only screen and (min-width: 881px) {
  .field-wrap {
    flex: 1;
    margin: 0 0.75em;
    padding: 0;
  }
}

.field-wrap form {
  display: flex;
  border: 1px solid #666;
  font-size: 1rem;
}

.field-wrap form .search-input {
  display: block;
  flex-grow: 1;
  float: left;
  width: 92%;
  margin: 0.25rem 0;
  padding: 0.25em 0.5em;
  border: none;
  font-size: 1rem;
  outline: none;
}
/*
.field-wrap form .search-input:focus {
  outline: 1px dashed #000;
  outline-offset: -2px;
}
*/
.search-submit-icon {
  display: block;
  float: right;
  width: 2.125rem;
  height: 2.125rem;
  border: none;
  color: transparent;
  text-transform: capitalize;
  text-indent: -5000em;
  background: hsl(50, 100%, 50%)
    url(https://www.mtu.edu/mtu_resources/images/n/search-black.svg) center
    no-repeat;
  background-size: 1.25rem;
  outline: none;
  cursor: pointer;
}

@media only screen and (min-width: 881px) {
  .search-submit-icon {
    width: 2.125rem;
  }
}

.q,
.q2 {
  display: block;
  float: left;
  width: 92%;
  height: 1.625rem;
  margin: 0.25rem 0;
  padding: 0 0.5rem;
  border: none;
  font-size: 1rem;
  outline: 0;
}

.sa,
.sa2 {
  display: block;
  float: right;
  width: 8%;
  height: 2.125rem;
  border: none;
  border-left: 1px solid #000;
  color: transparent;
  text-transform: capitalize;
  text-indent: -5000em;
  background: hsl(50, 100%, 50%)
    url(https://www.mtu.edu/mtu_resources/images/n/search-black.svg) center
    no-repeat;
  background-size: 1.25rem;
  outline: none;
  cursor: pointer;
}

/* --- site header --- */

.site-header {
  position: relative;
  top: 0;
  z-index: 8;
  width: 100%;
  transition: top 0.3s ease;
}

@media (prefers-reduced-motion) {
  .site-header {
    transition: top 0s;
  }
}

.site-header.shrink {
  position: fixed;
}

@media only screen and (min-width: 881px) {
  .search-box.search-open + .site-header {
    top: 4.0625rem;
  }
}

.top-banner-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: #000;
}

.top-banner-wrap::before,
.top-banner-wrap::after {
  display: table;
  clear: both;
  content: '';
}

.top-banner {
  width: 60%;
}

@media only screen and (min-width: 881px) {
  .top-banner-wrap {
    position: static;
  }

  .top-banner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
}

.header-logo {
  float: left;
  width: 100%;
  line-height: 0;
}

@media only screen and (min-width: 881px) {
  .header-logo {
    width: 30%;
  }
}

.mt-logo,
img.mt-logo[src$='.svg'] {
  width: auto;
  max-width: 100%;
  height: 2.25rem;
}

@media only screen and (min-width: 881px) {
  .header-logo {
    /* margin-top: 1.5625rem;
        margin-bottom: 1.5625rem; */
  }

  .shrink .header-logo {
    margin-top: 0;
    margin-bottom: 0;
  }

  .mt-logo,
  img.mt-logo[src$='.svg'] {
    height: 3.45em;
  }

  .shrink .mt-logo,
  .shrink img.mt-logo[src$='.svg'] {
    height: 2.8em;
  }
}

/* --- main nav --- */

/*  Needed to target nav.main-nav explicitly so old header will work
it puts .main-nav on li items and it will break */

.navwrap {
  /* background: rgba(0, 0, 0, 0.8); */

  /* This is a background image because SightImprove is stupid */
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
}

nav.main-nav {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 1em;
  transition: top 0.3s ease;
}

/* --- Header triggers -- */

.header-dropdown-trigger,
.search-trigger {
  position: fixed;
  width: 3.25rem;
  height: 3.25rem;
  border: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.5rem 1.5rem;
}

.header-dropdown-trigger {
  top: 0;
  right: 0;
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/meatnav.svg);
}

nav.main-nav .header-dropdown-trigger:focus {
  outline-color: #fc0;
  outline-offset: -4px;
}

nav.main-nav .header-dropdown-trigger[aria-expanded='true']:focus {
  outline-color: #000;
}

@media only screen and (min-width: 881px) {
  .header-dropdown-trigger,
  .search-trigger {
    width: 3.75rem;
    height: 3.75rem;
  }

  .search-trigger.search-open {
    background-color: hsl(50, 100%, 50%);
    background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg);
  }

  .header-dropdown-trigger {
    display: none;
  }
}

.toggled .header-dropdown-trigger {
  background-color: hsl(50, 100%, 50%);
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg);
}

.search-trigger {
  top: 0;
  right: 3.75rem;
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/search.svg);
}
/* temp fix till js is implemented 1/4/2021 */
.primary-menu-wrap > ul > li.search-trigger a {
  border-top: none;
}

.search-trigger a {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

nav.main-nav .search-trigger a:focus {
  outline: 1px dashed #fc0;
  outline-offset: -4px;
}

.primary-menu-wrap .search-trigger a:focus {
  outline-color: #fc0;
}

/* --- position site title below the fixed header --- */

@media only screen and (min-width: 881px) {
  .site-header + .sitetitle {
    padding-top: 10.625rem;
  }
}

/* --- primary menu --- */

.primary-menu-wrap {
  position: fixed;
  top: 3.25rem;
  right: -75%;
  display: flex;
  flex-direction: column;
  width: 75%;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
  transition: right 0.3s ease;
}

@media only screen and (min-width: 881px) {
  .primary-menu-wrap {
    position: relative;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    border: none;
    background: rgba(0, 0, 0, 0);
    transition: right 0s;
  }

  .primary-menu-wrap .audience-menu a {
    padding: 1em 0.625rem;
    color: hsl(50, 100%, 50%);
  }

  .primary-menu-wrap .audience-menu .sub ul {
    display: flex;
    font-size: 0.95em;
    background: none;
  }
}

.toggled .primary-menu-wrap {
  right: 0;
  max-height: 75vh;
  overflow-y: scroll;
}

.main-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.primary-menu-wrap button {
  width: 100%;
  border: none;
  text-align: left;
  background: #fff;
  cursor: default;
}

.primary-menu-wrap a,
.primary-menu-wrap button,
.nav-section-head button {
  display: block;
  padding: 1rem;
  color: #000;
  text-decoration: none;
}

.primary-menu-wrap .sub ul a {
  line-height: 1.2;
}

.primary-menu-wrap a:hover {
  text-decoration: underline;
}

.primary-menu-wrap > ul > li > a,
.primary-menu-wrap button,
.nav-section-head > button,
.primary-menu-wrap .sub ul {
  position: relative;
  border-top: 1px solid #ccc;
}

@media only screen and (min-width: 881px) {
  .primary-menu-wrap .search-trigger {
    position: absolute;
    top: 0.5em;
    right: 2.75rem;
    width: 2.5rem;
    height: 2.5rem;
  }

  .primary-menu-wrap .search-trigger a {
    width: auto;
    height: 2.5rem;
  }

  .primary-menu-wrap > ul > li > a,
  .nav-section-head > button,
  .primary-menu-wrap .sub ul {
    border: none;
  }
}

@media only screen and (max-width: 880px) {
  .primary-menu-wrap > ul > li.top-nav-item a {
    border: none;
  }

  .primary-menu-wrap .sub > a {
    padding-right: 4.125rem;
  }
}

.primary-menu-wrap .sub ul {
  display: none;
  background: #f1f1f1;
}

.primary-menu-wrap .sub ul.sub-nav-open {
  display: block;
}

.primary-menu-wrap .sub > a::after,
/* .primary-menu-wrap .sub > button::after, */
.nav-section-head > button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 4.125rem;
  border-left: 1px solid #ccc;
  background: url(https://www.mtu.edu/mtu_resources/images/n/arrow-down-black.svg)
    no-repeat center center;
  background-size: 1.5rem;
  content: '';
}

@media only screen and (max-width: 881px) {
  /* 2/19/20 TODO: remove the `.toggle-open` selector when javascript updated */
  .primary-menu-wrap .sub [aria-expanded='true']::after,
  .primary-menu-wrap .sub .toggle-open::after {
    background: url(https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg)
      no-repeat center center;
    background-size: 1.25rem;
  }
}

@media only screen and (min-width: 881px) {
  .primary-menu-wrap .sub a::after,
  .primary-menu-wrap button::after,
  .nav-section-head > button::after {
    display: none;
  }
}

.primary-menu-wrap .sub > button::after {
  border-left: none;
}

.search-quick,
.audience-menu {
  order: 1;
}

.search-quick {
  position: relative;
}

@media only screen and (min-width: 881px) {
  .shrink .audience-menu {
    top: -3.4375rem;
  }

  .shrink .search-quick {
    top: -3.75rem;
  }

  .search-quick,
  .audience-menu {
    position: absolute;
    top: -4.25rem;
    right: 0;
    order: unset;
    width: auto;
  }

  .search-quick {
    top: -4.5625rem;
    right: 18%;
  }

  .audience-menu {
    right: 6.25rem;
  }

  .audience-menu > li > button {
    display: none;
  }
}

/* -- Boxed Section -- */

.boxed-section {
  box-sizing: border-box;
}

.boxed-section * {
  box-sizing: inherit;
}

.boxed-section > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

/* .boxed-section>div::after {
content: '';
flex: 0 1 auto;
min-width: 12.5rem;
} */

.boxed-section .item {
  display: flex;
  flex: 1 1 100%;
  flex-direction: column;
  width: 100%;
  min-width: 12.5rem;
  margin-bottom: 0.75rem;
  padding: 0 0.5rem;
  overflow: hidden;
}

.boxed-section .item p:not(:first-of-type):last-of-type {
  margin-top: auto;
}

.boxed-section > div .item {
  position: relative;
}

@media only screen and (min-width: 650px) {
  .boxed-section.two > div > .item {
    flex: 1 1 48%;
  }

  .boxed-section.three > div > .item {
    flex: 1 1 31%;
  }

  .boxed-section.four > div > .item {
    flex: 1 1 23%;
  }

  .boxed-section.five > div > .item {
    flex: 1 1 18%;
  }

  .boxed-section.to > div > .item:first-of-type,
  .boxed-section.ot > div > .item:last-of-type {
    flex: 1 1 68%;
  }

  .boxed-section.to > div > .item:last-of-type,
  .boxed-section.ot > div > .item:first-of-type {
    flex: 1 1 30%;
  }

  .boxed-section.to > div > .item:first-of-type,
  .boxed-section.ot > div > .item:first-of-type {
    padding-left: 0;
  }

  .boxed-section.to > div > .item:last-of-type,
  .boxed-section.ot > div > .item:last-of-type {
    padding-right: 0;
  }

  .boxed-section.to .feed-import .events-list .item,
  .boxed-section.ot .feed-import .events-list .item {
    flex: 1 1 50%;
  }

  .feed-import .events-list .item {
    flex: 1 1 33%;
  }

  .boxed-section .focus .item {
    flex-direction: row;
  }
}

.boxed-section div[style*='background'] {
  position: relative;
  overflow: hidden;
  background-size: cover;
}

/* audience menu */

.audience-menu > li button,
.quick-links > a {
  background: #000;
}

.audience-menu > li:first-of-type > button,
.quick-links > a {
  color: hsl(50, 100%, 50%);
}

.quick-links > a::after {
  pointer-events: none;
}

.quick-links-nav a,
.quick-links-nav a:visited {
  color: #222;
}

@media (max-width: 881px) {
  .quick-links button {
    pointer-events: none;
  }
}

.quick-links-toggle.quick-links-toggle-open[aria-expanded='true']::after {
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-down.svg);
  background-size: 24px;
}

.quick-links .quick-links-nav.quick-links-nav-open {
  display: block;
}

@media only screen and (min-width: 881px) {
  .quick-links .quick-links-toggle {
    position: absolute;
    top: 0.5em;
    right: 0;
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    text-indent: -10rem;
    background-color: transparent;
    background-image: url(https://www.mtu.edu/mtu_resources/images/n/meatnav.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.5rem 1.5rem;
  }

  .quick-links .quick-links-toggle-open {
    background-color: hsl(50, 100%, 50%);
    background-image: url(https://www.mtu.edu/mtu_resources/images/n/meatnav-black.svg);
  }

  .quick-links .quick-links-nav.quick-links-nav-open {
    position: absolute;
    top: 3rem;
    right: 0;
    z-index: 20;
    display: block;
    border: 0.1875rem solid hsl(50, 100%, 50%);
    background: #fff;
  }

  .quick-links-nav li {
    border-bottom: 1px solid #ccc;
  }

  .quick-links-nav a {
    position: relative;
    padding-right: 3.125rem;
    padding-left: 2.625rem;
  }

  .quick-links-nav a::before {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    width: 1.5rem;
    height: 1.5rem;
    vertical-align: middle;
    background-image: url(https://www.mtu.edu/mtu_resources/images/n/sprite.svg);
    background-repeat: no-repeat;
    background-size: 9.4375rem 1.3125rem;
    content: '';
  }

  /* Quick Links Sprite map Styles */
  .link-az::before {
    background-position: 0 0;
  }

  .link-banweb::before {
    background-position: -8.25rem 0;
  }

  .link-map::before {
    background-position: -3rem 0;
  }

  .link-canvas::before {
    background-position: -6rem 0;
  }

  .link-email::before {
    background-position: -1.5rem 0;
  }

  .link-mymt::before {
    background-position: -4.5rem 0;
  }
}

.audience-menu .nav-section-head > button::after,
.primary-menu-wrap .quick-links > a::after {
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-down.svg);
}

/* General menu styles */

.category-nav-bar {
  display: grid;
  grid-template-columns: 4.125rem 1fr 1fr 4.125rem;
}

@media only screen and (min-width: 881px) {
  /* remove mobile sub menu toggle for desktop */
  .sub button.mobile-nav-open-sub {
    display: none;
    outline-offset: 0.25rem;
  }

  /* category dropdown nav */
  .category-nav-bar {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 3.125rem;
  }

  .category-nav-bar > li {
    flex: 1 0 auto;
  }

  .category-nav-bar > li > a {
    text-align: center;
  }

  /* change the arrow for desktop */
  .category-nav-bar .sub button.mobile-nav-open-sub,
  .category-nav-bar .sub > button::after {
    position: absolute;
    top: 50%;
    right: 0.3125rem;
    display: block;
    width: 0.625rem;
    height: 0.625rem;
    padding: 0;
    border-top: 0.3125rem solid hsl(50, 100%, 50%);
    border-right: 0.3125rem solid transparent;
    border-left: 0.3125rem solid transparent;
    overflow: hidden;
    background: transparent;
    transform: translateY(-50%);
    opacity: 0;
  }

  .category-nav-bar .sub.primary-highlight button.mobile-nav-open-sub,
  .category-nav-bar .sub.primary-highlight > button::after {
    border-top: 0.3125rem solid #000;
  }

  .category-nav-bar .sub button.mobile-nav-open-sub:active,
  .category-nav-bar .sub button.mobile-nav-open-sub:focus,
  .category-nav-bar .sub > button:active::after,
  .category-nav-bar .sub > button:focus::after {
    opacity: 1;
  }

  .category-nav-bar .main-nav-item > a,
  .category-nav-bar button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0.5rem;
    color: #fff;
    font-size: 1em;
    text-align: center;
  }

  .category-nav-bar button {
    flex-direction: initial;
    border: none;
    background: none;
  }

  .category-nav-bar .main-nav-item a:hover,
  .category-nav-bar .main-nav-item button:hover,
  .category-nav-bar .sub:hover > a,
  .category-nav-bar .sub.active > a,
  .category-nav-bar .sub:hover > button,
  .category-nav-bar .sub.active > button {
    color: #222;
    background-color: #ececec;
  }

  .category-nav-bar .sub > ul {
    position: absolute;
    width: 100%;
    min-width: 12.5rem;
    border-bottom: 0.3125rem solid hsl(50, 100%, 50%);
    background: #fff;
  }

  .category-nav-bar .sub:last-of-type > ul {
    right: 0;
  }

  .category-nav-bar .sub:hover > ul,
  .category-nav-bar .sub.active > ul {
    display: block;
  }

  .category-nav-bar .sub ul a {
    color: #000;
  }

  .category-nav-bar .sub ul a:hover,
  .category-nav-bar .sub ul a:focus {
    background: #ececec;
  }

  .primary-highlight {
    flex: 0.5;
  }

  .category-nav-bar .main-nav-item.primary-highlight:last-of-type > a,
  .category-nav-bar .main-nav-item.primary-highlight:last-of-type > button {
    color: #222;
    background-color: hsl(50, 100%, 50%);
    transition: background-color 0.2s ease;
  }

  .category-nav-bar .main-nav-item.primary-highlight:last-of-type > a:focus,
  .category-nav-bar
    .main-nav-item.primary-highlight:last-of-type
    > button:focus {
    outline-color: #000;
  }

  .category-nav-bar .main-nav-item.primary-highlight:last-of-type > a:hover,
  .category-nav-bar
    .main-nav-item.primary-highlight:last-of-type
    > button:hover {
    color: #222;
    background-color: #ececec;
  }
}

.main-nav-item {
  position: relative;
  grid-column-end: span 4;
}

/* Navigation Apply and Give buttons */

.give-apply {
  line-height: 0.5;
}

.give-apply .top-nav-item a {
  text-transform: none;
}

.nav-apply,
.nav-give {
  grid-column-end: span 2;
  order: -1;
}

.nav-give {
  padding: 0.5em 0.25em 0.5em 0.5em;
}

.nav-apply {
  padding: 0.5em 0.5em 0.5em 0.25em;
}

@media only screen and (min-width: 881px) {
  .give-apply {
    position: absolute;
    top: -3.9375rem;
    right: 0.625rem;
    order: unset;
    width: auto;
    width: 100%;
    max-width: 9.375rem;
    line-height: 1;
  }

  .shrink .give-apply {
    top: -3.125rem;
  }

  .audience-menu {
    right: 26.5%;
  }

  .give-apply > li {
    width: 50%;
    height: 2.5rem;
  }

  .nav-give {
    background-color: #333;
  }

  .category-nav-bar .nav-give a {
    color: hsl(50, 100%, 50%);
  }

  /* reset mobile items - these are moved to the top in mobile */
  .nav-apply,
  .nav-give {
    order: 0;
    padding: 0;
  }
}

.top-nav-item a {
  padding: 0.75em;
  border: none;
  font-size: 1.1em;
  text-align: center;
  text-transform: uppercase;
  background: hsl(50, 100%, 50%);
  box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.1);
}

@media only screen and (min-width: 881px) {
  .top-nav-item a {
    padding: 1em;
    font-size: inherit;
    text-transform: inherit;
    background: none;
    box-shadow: none;
  }
}

.main-nav ul ul {
  font-size: 0.8em;
}

/* buttons used in mobile nav where anchor is a parent and also a link */
@media (max-width: 880px) {
  .primary-menu-wrap .sub button,
  .mobile-nav-open-sub {
    max-height: 3rem;
  }
}

.primary-menu-wrap button.mobile-nav-open-sub {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 4.125rem;
  border: none;
  text-indent: -100rem;
  background: transparent;
}

#navwrap a {
  color: #666;
}

.main {
  padding-top: var(--mtu-header-height, 58px);
  margin-bottom: 2em;
}

.site-header + .main {
  margin-top: 3rem;
}

@media only screen and (min-width: 881px) {
  .site-header + .main {
    margin-top: -3.4375rem;
  }
}

.body_section {
  width: auto;
  margin-top: 0;
}

.full-width.border {
  border-top: 0.3125rem solid hsl(50, 100%, 50%);
}

.reverse-order {
  display: flex;
  flex-direction: column-reverse;
}

/* --- NEW MEDIA --- */

.hero *:focus {
  outline: 1px dashed hsl(50, 100%, 50%);
  outline-offset: 1px;
}

.hero *:focus:hover {
  outline: none;
}

.hero {
  position: relative;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 40vw;
  min-height: 15.625rem;
  max-height: 34.375rem;
  overflow: hidden;
  line-height: 1.5;
  background: center no-repeat;
  background-color: #666;
  background-size: cover;
}

@media only screen and (min-width: 881px) {
  .hero {
    height: 45vw;
    max-height: 43.75rem;
  }
}

.hero * {
  box-sizing: inherit;
}

.hero::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 6.25rem;
  background-image: linear-gradient(
    rgba(255, 255, 255, 0),
    rgba(0, 0, 0, 0.75)
  );
  content: '';
  pointer-events: none;
}

.hero__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: auto auto 0;
}

.hero.hero__overlay-wrapper {
  justify-content: center;
  min-height: 30rem;
  height: auto;
  max-height: none;
}

.hero__overlay-wrapper .hero__inner {
  height: auto;
  margin: 0;
}

.hero__overlay {
  display: flex;
  width: 100%;
  height: 100%;
  margin: auto;
  color: white;
  text-align: center;
}

.hero__overlay .hero__overlay__header {
  font-size: 3.5rem;
  font-weight: 300;
}

.hero__overlay-inner .button {
  width: auto;
  display: inline-block;
  padding: 1rem 0.75rem;
  border-radius: 5px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}

.hero__overlay-inner .button:hover {
  background-color: #000;
  color: #fff;
  border-color: #000;
}

.hero__overlay-inner .button.hollow {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  border-color: #fff;
}

.hero__overlay-inner .button.hollow:hover {
  background-color: #fc0;
  border-color: #fc0;
  color: #000;
}

.hero__overlay-inner {
  z-index: 1;
  margin: auto;
  padding: 2rem;
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 90%,
    transparent
  );
  max-width: 100%;
}

@media (min-width: 640px) {
  .hero__overlay-inner {
    background-color: rgba(0, 0, 0, 0.5);
    background-image: none;
  }
}

.hero__overlay .hero-video {
  height: unset;
}

.hero__popover-buttons-wrapper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 100%;
}

.hero__popover-button {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  margin: auto 0 0;
  padding: 1rem;
  border: 0;
  color: #fff;
  font-size: 1em;
  font-style: italic;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
  background-color: transparent;
  cursor: pointer;
}

.hero__popover-button:hover {
  text-decoration: underline;
}

.hero__popover-button::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-left: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  color: #000;
  font-size: 1em;
  font-family: 'Times New Roman', Georgia, serif;
  font-style: normal;
  text-align: center;
  text-shadow: none;
  background-color: #fff;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
  content: 'i';
}

.hero__popover-wrapper {
  position: absolute;
  top: 62.5rem;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition: top 0.25s ease;
}

@media (prefers-reduced-motion) {
  .hero__popover-wrapper {
    transition: top 0s;
  }
}

@media (min-width: 881px) {
  .hero__popover-wrapper {
    z-index: 1;
  }
}

.hero__popover-wrapper[data-expanded='true'] {
  top: 0;
}

.hero__popover {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: 1rem auto;
  padding: 0 2%;
  color: #fff;
  font-size: 1.75vw;
  font-size: calc(0.4rem + 0.5vw);
}

@media (min-width: 881px) {
  .hero__popover {
    margin: 5rem auto 1rem;
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  .hero__popover {
    font-size: 1em;
  }
}

.hero__popover__caption a {
  padding: 0 0.125rem;
  border-bottom: 1px solid #fc0;
  color: inherit;
  text-decoration: none;
  background-color: transparent;
  box-shadow: inset 0 -0.125rem 0 0 hsl(50, 100%, 50%);
  transition: background-color 0.2s, color 0.2s;
}

.hero__popover__caption a:hover {
  color: #000;
  background-color: hsl(50, 100%, 50%);
  transition: background-color 0.2s, color 0.2s;
}

.hero__popover__title,
.hero__popover__caption {
  font-family: Georgia, Times New Roman, serif;
}

.hero__popover__title {
  width: 100%;
  margin-bottom: 0.75rem;
  padding: 0 0.5rem;
  font-weight: 400;
  font-size: 2.5em;
  text-align: center;

  /* text-transform: uppercase; */
}

.hero__popover__caption {
  font-size: 1.75em;
}

.hero__popover__extras {
  position: relative;
  display: flex;
  width: 100%;
  margin-top: auto;
  margin-bottom: 2.5rem;
}

@media (min-width: 881px) {
  .hero__popover__extras {
    margin-bottom: 5.9375rem;
  }
}

.hero__popover__extras__button {
  flex: 10 1 33.33%;
  text-align: left;
}

.hero__popover__extras__button a {
  display: inline-block;
  margin-left: 1rem;
  padding: 0.5rem 1rem;
  border: 1px solid #fff;
  color: inherit;
  font-size: 1em;
  text-align: center;
  text-decoration: none;
}

@media (min-width: 881px) {
  .hero__popover__extras__button a {
    font-size: 100%;
  }
}

.hero__popover__extras__close {
  display: flex;
  flex: 1 1 50%;
}

@media (min-width: 881px) {
  .hero__popover__extras__close {
    flex: 1 1 66.66%;
  }

  .hero__popover__extras__close::after {
    flex: 0 0 50%;
    content: '';
  }
}

.hero__popover__extras__close:only-of-type {
  display: flex;
  flex: 1 0 100%;
}

.hero__popover__extras__close:only-of-type::before,
.hero__popover__extras__close:only-of-type::after {
  flex: 1 0 auto;
  height: 2.5rem;
  content: '';
}

.hero__popover__extras__close__button {
  width: 100%;
  min-width: 6.25rem;
  max-width: 12.5rem;
  min-height: 2.5rem;
  margin: 0 auto;
  padding: 1rem;
  border: none;
  background: transparent
    url(https://www.mtu.edu/mtu_resources/images/n/arrow-down.svg) center
    no-repeat;
  background-size: 2rem;
  cursor: pointer;
}

.hero__popover__extras__close__button:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.hero__popover__extras__button a:hover {
  color: #fff;
  text-decoration: underline;
  background: rgba(255, 255, 255, 0.2);
}

.hero__popover-button--special {
  margin-right: auto;
  background: rgba(0, 0, 0, 0.75);
}

.hero__popover-button--special::after {
  content: '!';
}

.hero__popover-button--special--alert {
  background: rgba(240, 0, 0, 0.75);
}

@media (min-width: 881px) {
  /* Hero Special popup modifiers */
  .hero__popover-wrapper--special {
    left: 50%;
    display: flex;
    max-width: 1200px;
    background-color: transparent;
    transform: translateX(-50%);
  }

  .hero__popover-wrapper--special .hero__popover {
    align-self: flex-end;
    width: 50%;
    height: auto;
    margin: 0;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.75);
  }

  .hero__popover-wrapper--special .hero__popover__title {
    margin-bottom: 0;
    padding: 0;
    font-size: 1em;
    text-align: left;
    text-transform: capitalize;
    text-decoration: underline;
  }

  .hero__popover-wrapper--special .hero__popover__caption {
    margin-bottom: 1rem;
    font-size: 1em;
  }

  .hero__popover-wrapper--special .hero__popover__extras {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0;
  }

  .hero__popover-wrapper--special .hero__popover__extras::before {
    flex: 1 0 36%;
    content: '';
  }

  .hero__popover-wrapper--special .hero__popover__extras__close {
    flex: 1 1 3%;
  }

  .hero__popover-wrapper--special .hero__popover__extras__close::after {
    flex: 0 0 0;
  }
}

.hero__popover-wrapper.hero__popover-wrapper--special {
  top: 200%;
}

.hero__popover-wrapper.hero__popover-wrapper--special[aria-expanded='true'] {
  top: 100%;
  background: none;
  transform: none;
  bottom: 0;
}

.hero__popover-wrapper--special .hero__popover {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  height: 100%;
  margin-top: 0;
}

@media (min-width: 881px) {
  .hero__popover-wrapper.hero__popover-wrapper--special {
    height: auto;
  }

  .hero__popover-wrapper--special .hero__popover {
    top: auto;
    width: 50%;
    left: auto;
    height: auto;
    right: 0;
  }
}

/* --- END NEW MEDIA --- */

/* --- HERO VIDEO --- */

.hero-video {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 50vw;
  min-height: 21.875rem;
  max-height: 80vh;
  overflow: hidden;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.hero-video::after {
  position: absolute;
  top: -5%;
  left: 0;
  width: 100%;
  height: 105%;
  background-color: rgba(0, 0, 0, 0);
  content: '';
}

@media (min-width: 881px) {
  .hero-video {
    height: 55vw;
    min-height: 31.25rem;
  }
}

.hero-player {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  min-width: 38.75rem;
  height: 56vw;
  min-height: 21.875rem;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: opacity 1s 0.25s;
}

.hero-player-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  background-color: #ececec;
  transform: translate(-50%, -50%);

  /* height: 100%; */
}

.hero-player__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  border: 0 transparent solid;
  background: transparent;
}

.fade {
  opacity: 0;
  transition: opacity 0.5s;
}

.hero-player-play-pause {
  position: absolute;
  right: 1em;
  bottom: 1em;
  z-index: 2;
  display: block;
  padding-left: 0;
  list-style-type: none;
  cursor: pointer;
  transition: opacity 0.5s;
}

.hero-player-play-pause div {
  display: block;
}

.hero-player-play-pause div svg {
  width: 1em;
  max-width: 100%;
  height: 1em;
}

.hero-player-play-pause .loader {
  width: 1.5em;
  height: 1.5em;
  border: 0.1875rem solid #252525;
  border-top-color: #fff;
  border-radius: 50%;
  animation: spinner 1s linear infinite;
}

@media (min-width: 881px) {
  .hero-player-play-pause {
    display: block;
  }
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(359deg);
  }
}

.hero__header-wrapper {
  position: relative;
  z-index: 1;
  margin: auto;
  padding: 2em;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 649px) {
  .hero__header-wrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0;
  }
}

.hero__header-wrapper .hero__header {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 100;
  font-size: 3em;
  line-height: 1.25;
}

.hero__header-dynamic {
  display: inline-block;
  overflow: hidden;
  line-height: inherit;
  white-space: nowrap;
  vertical-align: bottom;
}

.hero__header-dynamic.typing {
  display: inline-block;
  overflow: hidden;
  animation: 2s type 0s both;
}

.hero__header-dynamic.deleting {
  animation: 1s delete 0s both;
}

@keyframes delete {
  0% {
    max-width: 100%;
    border-right: 0.1875rem solid transparent;
  }

  25% {
    border-right: 0.1875rem solid #fc0;
  }

  50% {
    border-right: 0.1875rem solid transparent;
  }

  75% {
    border-right: 0.1875rem solid #fc0;
  }

  100% {
    max-width: 0%;
    border-right: 0.1875rem solid transparent;
  }
}

@keyframes type {
  0% {
    max-width: 0%;
    border-right: 0.1875rem solid transparent;
  }

  25% {
    border-right: 0.1875rem solid #fc0;
  }

  50% {
    border-right: 0.1875rem solid transparent;
  }

  75% {
    border-right: 0.1875rem solid #fc0;
  }

  100% {
    max-width: 100%;
    border-right: 0.1875rem solid transparent;
  }
}

.hero__header-buttons .button {
  display: block;
  width: 100%;
  max-width: 75%;
  margin: 0 auto;
  padding: 1rem 0.5rem;
  border-color: currentColor;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.3125rem;
  color: #000;
  background-color: #fc0;
}

.hero__header-buttons .button.hollow {
  color: #fff;
  background-color: transparent;
}

.hero__header-buttons .button:hover {
  color: #fff;
  background-color: #000;
}

.hide {
  display: none;
}

@media only screen and (max-width: 650px) {
  .show-for-tablet {
    display: none;
  }
}

@media only screen and (max-width: 881px) {
  .show-for-desktop {
    display: none;
  }
}

.responsive-embed {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}

.responsive-embed.widescreen {
  padding-bottom: 56.25%;
}

.responsive-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

iframe {
  border: none;
}

.video-popup {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  width: 100%;
  height: 100%;
  background-color: hsla(0, 0%, 0%, 0.5);
  content: '';
}

.video-popup.open {
  display: block;
}

.video-popup-inside {
  width: 100%;
  margin: 10% auto 0;
  margin-top: calc(var(--alertbarheight, 10%) + 15%);
}

@media (min-width: 881px) {
  .video-popup-inside {
    width: 80%;
    margin: 3em auto 0;
    margin-top: calc(var(--alertbarheight, 3rem) + 10rem);
  }
}

/* --- END HERO VIDEO --- */

.intro {
  padding: 2.5em 0.625rem;
  border-bottom: 1px solid #aaa;
  text-align: center;
  background: #ececec;
}

.intro span {
  display: inline;
}

.intro div {
  font-size: 1.0625rem;
  line-height: 1.5;
}

/*	==========================================================================
	#INFORMATION AND ALERT BANNER
	========================================================================== */
/* ---------------- */
/* ## Alert Sliver  */
/* ---------------- */
.alert-sliver,
.alert-sliver ~ .search-box,
.alert-sliver ~ .site-header {
  --zindex: 75;
}

.alert-sliver {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 75;
  z-index: var(--zindex);
  box-sizing: border-box;
  width: 100%;
  /* min-height: 3.5rem;
	min-height: var(--alertbarheight, 3.5rem); */
  max-height: 20rem;
  overflow: hidden;
  color: #000;
  font-weight: 400;
  font-size: 0.9rem;
  background-color: #fff;
}

.alert-sliver * {
  box-sizing: inherit;
}

.alert-sliver h2 {
  padding-right: 2rem;
  font-size: 1.35rem;
}

.alert-sliver p {
  font-size: inherit;
}

.alert-sliver h2,
.alert-sliver a {
  color: inherit;
  font-weight: inherit;
}

.alert-sliver a {
  display: inline-block;
  padding: 0 2px;
  border-bottom: 2px solid #000;
  text-decoration: none;
}

.alert-sliver a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #000;
}

.alert-sliver a:focus {
  outline: 1px dashed #000;
}

.alert-sliver-inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

@media (min-width: 881px) {
  .alert-sliver-inner {
    padding: 0.75rem 1rem;
  }
}

.alert-sliver .notice,
.alert-sliver .notice > * {
  margin: 0;
}

.alert-sliver .notice > * + * {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

/* ----------------------- */
/* ## Alert Dimiss Button  */
/* ----------------------- */
.alert-sliver-dismiss {
  position: absolute;
  top: 0.75rem;
  right: 0.5rem;
  display: block;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-color: #000;
  border-style: solid;
  border-width: 2px;
  border-radius: 100%;
  font-size: 1.5rem;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
/*
@media (min-width: 881px) {
  .alert-sliver-dismiss {
    top: 0.75rem;
    right: 0.5rem;
  }
}
*/

.alert-sliver-dismiss:focus {
  outline: 1px dashed #000;
}

.alert-sliver-dismiss:hover {
  color: #fff;
  background-color: #000;
}

.alert-sliver-dismiss::before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: auto;
  content: '\002B';
}

.alert-sliver-dismiss.alert-closed::before {
  content: '\00D7';
}

/* ----------------------- */
/* End Alert Dimiss Button */
/* ----------------------- */

/* --------------------------- */
/* ## Alert Nav Modifications  */
/* --------------------------- */
/**
 * Modifcations that need to happen to the nav and its components when there is an alert bar.
 * There are a lot of rules for desktop and mobile so be wary when adding rules. 
 * `--alertbarheight` - Alert Bar Height set by javascript on the html element.
 * It changes the padding an heights needed to accomodate the new alert.
 * `--zindex` - Setup the z-index of all the comonentes to the alert is over the search box but under the mobile menu.
 */
.alert-sliver ~ .site-header {
  /* margin-top: 3.25rem; */
  z-index: calc(var(--zindex) + 1);
}

@media (min-width: 881px) {
  .alert-sliver ~ .site-header {
    z-index: var(--zindex);
  }
}

.alert-sliver ~ .sitetitle {
  padding-top: calc(var(--alertbarheight) + 0.5rem);
}

.alert-sliver ~ .search-box {
  z-index: calc(var(--zindex) - 3);
}

.alert-sliver ~ .search-box.search-open {
  top: 0;
  z-index: calc(var(--zindex) - 2);
}

@media (min-width: 881px) {
  .alert-sliver ~ .site-header {
    z-index: calc(var(--zindex) - 3);
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 3.5rem;
    padding-top: var(--alertbarheight, 3.25rem);
  }

  .alert-sliver ~ .sitetitle {
    padding-top: 0;
  }

  .alert-sliver ~ .search-box {
    top: calc(var(--alertbarheight) - 4rem);
  }

  .alert-sliver ~ .search-box.search-open {
    top: 3.5rem;
    top: var(--alertbarheight, 3.25rem);
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10+ CSS styles go here */
  .alert-sliver ~ .site-header.shrink {
    padding-top: 0;
  }
}
@media (max-width: 880px) {
  .alert-sliver ~ .search-box {
    top: -13rem;
  }

  .alert-sliver ~ .search-box,
  .alert-sliver ~ .search-box.search-open {
    z-index: var(--zindex);
  }

  .alert-sliver ~ .main {
    padding-top: var(--alertbarheight, 82px);
  }
}

/* --------------------------- */
/* End Alert Nav Modifications */
/* --------------------------- */

/* ---------------- */
/* End Alert Sliver */
/* ---------------- */
#intro .inline-notice,
.inline-notice {
  width: auto;
  margin-bottom: 1rem;
  padding: 2rem;
  border: 1px solid #ccc;
  border-bottom-width: 3px;
  border-bottom-color: #fc0;
  background-color: #fff;
  color: #000;
  line-height: 1.5;
}

#intro .inline-notice a,
#intro .inline-notice a:visited,
.inline-notice a,
.inline-notice a:visited {
  color: #000;
  text-decoration: underline;
}

.inline-notice a:hover {
  color: #000;
  text-decoration: none;
}

#intro .inline-notice a:hover {
  color: #000;
  text-decoration: none;
}

/* 
.alert h2 {
  font-size: 1em;
  line-height: 1em;
}

.alert p {
  line-height: 1.35em;
}

.alert p a {
  font-weight: 600;
} */
/* 
.notice.alert {
  left: 0;
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 1rem;
  color: white;
  text-align: left;
  background: #e00000;
}

.notice.alert * {
	box-sizing: inherit;
}

@media (min-width: 1200px){
	.notice.alert {
		left: auto;
	}
}

.notice.alert h2 {
  font-size: 2em;
}

.notice.alert a {
  text-decoration: underline;
}

.notice.alert a,
.notice.alert a:visited,
.notice.alert a:hover {
  border-bottom: none;
  color: white;
  text-shadow: none;
  box-shadow: none;
  font-weight: inherit;
}

.notice.alert a:hover {
  text-decoration: none;
}

.notice.alert p {
  margin: 0;
  padding: 0.5em 0;
}

.notice .close-message {
  cursor: pointer;
}

.notice .close-message:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 881px) {
  .notice.alert {
    position: absolute;
    top: 12.5rem;
    z-index: 1;
  }
} */

.intro h1 {
  display: inline;
  font-size: 1em;
}

.intro a {
  padding-right: 0.125rem;
  padding-left: 0.125rem;
  color: #000;
  text-decoration: underline;
  text-decoration: solid underline #222 2px;
  transition: box-shadow 0.2s, text-decoration 0.2s 0s;
}

.intro a:hover {
  text-decoration: none;
  text-decoration: solid underline transparent 2px;
  box-shadow: inset 0 -1.5em 0 hsl(50, 100%, 50%), 0 2px 0 0 hsl(50, 100%, 50%);
  transition: box-shadow 0.2s, text-decoration 0.2s 0.1s;
}

@media (prefers-reduced-motion) {
  .intro a,
  .intro a:hover {
    transition: box-shadow 0s, text-decoration 0.2s;
  }
}

.desktop-only {
  display: none;
}

.audience-widgets {
  display: flex;
  flex-basis: 45%;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 1em;
  padding: 0.5em 0;
  overflow: hidden;
}

@media only screen and (min-width: 881px) {
  .audience-widgets {
    flex-direction: row;
    justify-content: space-between;
  }
}

.audience-widget {
  margin: 0.125rem;
  text-align: center;
}

.audience-widgets a {
  float: left;
  width: 100%;
  color: #000;
  font-weight: 400;
  text-decoration: none;
}

.audience-widget > div {
  position: relative;
  width: 100%;
  margin-bottom: 1em;
  padding-bottom: 54.55%;
  overflow: hidden;
}

.audience-widget > div[role='img'] {
  box-shadow: 0 1px 0.1875rem rgba(0, 0, 0, 0.12),
    0 1px 0.125rem rgba(0, 0, 0, 0.24);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.undergrad > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/homepage-undergrad.jpg)
    center no-repeat;
  background-size: cover;
}

.grad > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/homepage-grad.jpg)
    center no-repeat;
  background-size: cover;
}

.schedule > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/schedule.jpg)
    center no-repeat;
  background-size: cover;
}

.career > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/homepage-undergraduate.jpg)
    center no-repeat;
  background-size: cover;
}

.scholarships > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/homepage-graduate.jpg)
    center no-repeat;
  background-size: cover;
}

.life > div {
  background: url(https://www.mtu.edu/mtu_resources/images/n/homepage-online.jpg)
    center no-repeat;
  background-size: cover;
}

.audience-widget div.black,
.news-widget .black {
  position: absolute;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.news-events,
.news-events .left {
  margin-bottom: 1em;
}

.news-events .left {
  margin-top: 2em;
  margin-bottom: 2.5em;
}

@media only screen and (min-width: 881) {
  .news-events .left {
    margin-top: 0;
    margin-bottom: 1em;
  }
}

.audience-widget div.black div,
.news-widget .black div {
  display: table-cell;
  padding-top: 20%;
}

.audience-widget div.black div span,
.news-widget .black div span {
  padding: 0.5em 1.5em;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1em;
}

.news-events {
  width: 100%;
  overflow: hidden;
}

/* Tabbed Component */

.tabs-wrapper {
  box-sizing: border-box;
  width: auto;
  max-width: 1200px;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media only screen and (min-width: 881px) {
  .tabs-wrapper {
    width: 100%;
    margin: 0 auto 1rem;
  }
}

.tabs-wrapper * {
  box-sizing: inherit;
}

.tabs {
  display: table;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.tabs-title {
  position: relative;
  display: table-cell;
  border-right: 1px solid #aaa;
  font-size: 0.8rem;
  text-align: center;
  vertical-align: middle;
  background-color: #e0e0e0;
  box-shadow: inset 0 0 0 #000;
  transition: background-color 0.1s linear;
}

.three-tabs .tabs-title {
  width: 33.33%;
}

.tabs-title:last-of-type {
  border-right: none;
}

.tabs-title:hover,
.tabs-title:focus-within {
  background-color: #ccc;
  box-shadow: inset 0 -0.125rem 0 #999;
}

@media (min-width: 881px) {
  .tabs-title {
    font-size: 1rem;
  }
}

.tabs-title.is-active {
  background-color: hsl(50, 100%, 50%);
}

.tabs-title::after {
  position: absolute;
  bottom: 1.125rem;
  border-top: 0.9375rem solid transparent;
  border-right: 1.5625rem solid transparent;
  border-left: 1.5625rem solid transparent;
  transform: translateX(-50%);
  transition: all 0.1s;
  content: '';
}

.tabs-title.is-active::after {
  position: absolute;
  bottom: -0.9375rem;
  left: 50%;
  border-top: 1.25rem solid hsl(50, 100%, 50%);
  transform: translateX(-50%);
  transition: all 0.1s 0.1s;
  content: '';
}

.tab-control {
  display: block;
  width: 100%;
  padding: 1rem 15%;

  /* cursor: default; */
  border: none;
  color: #000;
  font-weight: 700;
  text-decoration: none;
  background: transparent;
}

.tab-control:focus {
  outline: 1px dashed #000;
  outline-offset: -1px;
}

.tab-control:focus:hover {
  outline: none;
}

/* Tabbed Component Panels */

.tabs-panel {
  position: relative;
  display: none;
  padding-top: 0.5rem;
  overflow: hidden;
}

.tabs-panel.is-active {
  display: block;
}

.panel-content {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

/* -- HEADER CTA -- */
.header-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  box-sizing: border-box;
  width: 100%;
  padding-left: 0;
  text-align: center;
  list-style-type: none;
}

.header-cta * {
  box-sizing: inherit;
}

[id='program-sorter'] .header-cta > li {
  max-width: none;
  width: 100%;
  border: none;
  display: block;
  flex: 0;
}

[id='program-sorter'] .header-cta {
  justify-content: space-evenly;
}

[id='program-sorter'] .header-cta__button {
  font-size: 1rem;
  border-radius: 5px;
  padding: 1rem;
  background-color: #fc0;
}

[id='program-sorter'] .section-fit > * {
  z-index: auto;
}

@media only screen and (min-width: 881px) {
  .header-cta {
    flex-wrap: nowrap;
  }

  .header-cta > li {
    max-width: 33.33%;
  }
}

@media only screen and (min-width: 1230px) {
  .header-cta {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}

.header-cta > li {
  display: inline-flex;
  flex: auto;
  flex-wrap: wrap;
  justify-content: center;
  border: none;
  border-bottom: 1px solid #aaa;
}

@media only screen and (max-width: 880px) {
  .header-cta > li {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid hsl(50, 100%, 40%);
  }
}

.header-cta__button,
.header-cta__button:visited {
  color: #000;
}

.header-cta__button {
  display: block;
  width: 100%;
  height: auto;
  padding: 1rem;
  font-size: 1.05rem;
  line-height: 1.25;
  text-decoration: underline transparent;
  background-color: hsl(50, 100%, 50%);
  transition: background-color 0.15s, text-decoration 0.1s;
}

@media only screen and (min-width: 881px) {
  .header-cta__button {
    padding: 2.25rem;
    font-size: 1.25rem;
  }
}

.header-cta__button:focus {
  outline-offset: -0.125rem;
}

.header-cta__button:hover,
.header-cta > li:nth-of-type(even) .header-cta__button:hover {
  text-decoration: underline #000;
  background-color: #ececec;
}

@media only screen and (min-width: 881px) {
  .header-cta > li:nth-of-type(even) .header-cta__button {
    background-color: hsl(48, 100%, 50%);
  }
}

/* -- END HEADER CTA -- */

/* Hold on to , in case it is approved 10/9/2018
.panel-content::after {
content: '';
position: absolute;
right: 1.25rem;
top: -1.875rem;
background-image: url(https://blogs.mtu.edu/business/files/2013/09/Crazy-Smart.png);
width: 100%;
height: 100%;
opacity: 0.15;
background-repeat: no-repeat;
background-position: right bottom;
z-index: -1;
}

@media only screen and (min-width:55.0625rem) {
.panel-content::after {
    content: none;
}
}
*/

.tab-image,
.tab-text {
  flex: 1 1 auto;
  float: left;
  width: 50%;
}

.tab-image {
  display: none;
}

@media (min-width: 881px) {
  .tab-image {
    display: block;
    padding-top: 1rem;
    padding-right: 0.5rem;
  }
}

.tab-text {
  display: flex;
  flex-direction: column;

  /* justify-content: center; */
  padding: 1em;
}

@media (min-width: 881px) {
  .tab-text {
    padding: 1.5em;
  }
}

.tab-image img {
  width: 100%;
}

/* Tabbed Component Button Group */

.tabs-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media (min-width: 881px) {
  .tabs-buttons {
    flex-direction: row;
    margin-top: auto;
  }
}

.button {
  display: block;

  /* margin: 0 auto; */
  /* width: 45%; */
  padding: 0.375rem 0.5625rem 0.5rem;
  border: 1px solid transparent;
  border-bottom: none;
  border-bottom-color: transparent;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  color: #333;
  font-weight: 600 !important;
  line-height: 1.4em;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  background: hsl(50, 100%, 50%);
  box-shadow: 0 1px 0.1875rem rgba(0, 0, 0, 0.17),
    0 1px 0.1875rem rgba(0, 0, 0, 0.24);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.button:visited {
  color: #000;
}

.button:hover {
  color: #333;
  text-decoration: underline;
  background-color: #d6d6d6;
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.18),
    0 0.25rem 0.25rem rgba(0, 0, 0, 0.22);
}

.news-widget article {
  width: 92%;
  margin: 1em auto;
}

.news-widget article time {
  font-weight: 700;
  font-size: 0.8em;
}

.news-widget article h3 {
  margin: 0.6em 0;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.3em;
}

.news-events .left a,
.news-events .right a {
  float: none;
  width: 100%;
  color: #000;
  text-decoration: none;
}

.news-events a.story {
  display: block;
  margin: 1em 0;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid #ccc;
  background: #ececec;
  box-shadow: inset 0 -0.25rem 0 rgba(255, 204, 0, 0),
    0 0 0 0 rgba(0, 0, 0, 0.22);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

a.story:active,
a.story:focus,
a.story:hover {
  text-decoration: none;
  background-color: #e5e5e5;
  box-shadow: inset 0 -0.25rem 0 hsl(50, 100%, 50%),
    0 0.625rem 0.25rem -0.3125rem rgba(0, 0, 0, 0.22);
  transition: 0.2s ease;
}

a.story:active {
  box-shadow: none;
}

.news-events .news-widget > div {
  position: relative;
  height: 9.1875rem;
  overflow: hidden;
  text-align: center;
  background-color: hsl(50, 100%, 50%);
  background-position: center;
  background-size: cover;
}

.news-events .events {
  margin-top: 1em;
}

.events .item {
  margin-bottom: 2em;
  overflow: hidden;
}

.events .photo {
  float: left;
  width: 40%;
  margin-right: 5%;
}

.events .photo img {
  width: 100%;
}

.events .description {
  display: none;
}

.events .text {
  float: left;
  width: 54%;
  padding-bottom: 0.3em;
}

.events .date {
  display: inline-block;
  width: 100%;
  padding: 0.5em;
  font-size: 0.81em;
  line-height: 1.3em;
  background: #ececec;
}

.events .text h3 {
  margin: 0.75em 0 0.5em;
  font-weight: 600;
  font-size: 1em;
}

.events .text .location {
  color: #296aa3;
  font-size: 0.81em;
}

.events-list .item:focus-within {
  outline: 1px dashed #000;
  outline-offset: -1px;
}

.events-list .item a:focus {
  outline: none;
}

.facebook {
  /* background-color: #3b5998 !important; */
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/facebook.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.twitter {
  /* background-color: #55acee !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/twitter.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.linkedin {
  /* background-color: #0077b5 !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/linkedin.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.instagram {
  /* background-color: #125688 !important; */

  /* background-color: #d03275 !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/instagram.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.youtube {
  /* background-color: #e52d27 !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/youtube.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.flickr {
  /* background-color: #ff0084 !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/flickr.svg);
  background-repeat: no-repeat;
  background-position: center !important;
  background-size: 70%;
}

.pinterest {
  background: url(https://www.mtu.edu/mtu_resources/images/n/pinterest.svg);
  /* background-color: #e60023 !important; */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.tiktok {
  background: url(https://www.mtu.edu/mtu_resources/images/n/tiktok.svg);
  /* background-color: #e60023 !important; */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.snapchat {
  /* background-color: #fffb00 !important; */
  background: url(https://www.mtu.edu/mtu_resources/images/n/snapchat.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

#scrollerBar::-webkit-scrollbar {
  -webkit-appearance: none;
}

#scrollerBar::-webkit-scrollbar:vertical {
  width: 0.6875rem;
}

#scrollerBar::-webkit-scrollbar-thumb {
  border: 0.125rem solid #fff;
  border-radius: 0.5rem;
  background-color: rgba(0, 0, 0, 0.5);
}

#scrollerBar::-webkit-scrollbar-track {
  border-radius: 0.5rem;
  background-color: #fff;
}

.connect figure {
  margin: 0;
}

.connect figure.left {
  max-width: 37.5rem;
}

.connect figure img {
  max-width: 100%;
  margin-bottom: 1em;
}

/* -- Ad and Email Signup -- */
.border-box {
  box-sizing: border-box;
}

.border-box * {
  box-sizing: inherit;
}

.row-responsive {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 881px) {
  .row-responsive {
    flex-direction: row;
  }
}

.row-responsive > *:nth-child(1) {
  margin-left: 0;
}

.signup-form {
  flex: 1 1 66%;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 881px) {
  .signup-form {
    margin-bottom: 0;
  }
}

.signup-form-intro__title {
  padding-bottom: 0.5rem;
}

.signup-form__form {
  display: flex;

  /* flex-wrap: wrap; */
}

.signup-form__email-label {
  flex: 1 1 auto;
}

.signup-form__email-field {
  width: 100%;
  height: 3rem;
  padding-left: 1rem;
  border: 1px solid #000;
}

.signup-form__button {
  padding-right: 2rem;
  padding-left: 2rem;
  border: 1px solid #000;
  border-left: 0 solid transparent;
  font-weight: 600;
  text-decoration: underline transparent solid;
  background-color: hsl(50, 100%, 50%);
  transition: background-color 0.2s, color 0.2s, text-decoration 0.2s;
}

.signup-form__button:hover,
.signup-form__button:focus {
  color: #fff;
  text-decoration: underline #fff solid;
  background-color: #000;
}

.signup-form__button:focus {
  outline-color: hsl(50, 100%, 50%);
  outline-offset: -0.125rem;
}

.linked-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 33%;
  align-items: center;
  justify-content: center;
  min-width: 15.625rem;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1.6rem;
  background-color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.linked-card:last-of-type {
  margin-bottom: 0;
}

@media only screen and (min-width: 881px) {
  .linked-card {
    margin-bottom: 0;
    margin-left: 2.5rem;
  }
}

.linked-card svg {
  width: 50%;
}

@media only screen and (min-width: 881px) {
  .linked-card svg {
    width: 75%;
  }
}

.linked-card p {
  margin-bottom: 0;
  line-height: 1.25;
}

.linked-card:hover {
  /* text-decoration: none; */
}

.linked-card:hover .linked-card__button {
  color: #333;
  text-decoration: underline;
  background-color: #d6d6d6;
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.18),
    0 0.25rem 0.25rem rgba(0, 0, 0, 0.22);
}

.linked-card-image {
  background-color: transparent;
}

.linked-card-image::before {
  display: none;
}

.linked-card-image img {
  width: 100%;
  max-width: 70%;
}

.linked-card-image:hover img {
  filter: grayscale(75%);
}

a:hover .button.linked-card__button {
  text-decoration: underline #000;
}

a:visited:hover .button.linked-card__button {
  text-decoration: underline #000;
}

.button.linked-card__button {
  /* margin-top: auto; */
  width: 100%;
  font-size: 1.2rem;
}

.linked-card-inner {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.linked-card-inner::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  content: '';
}

.linked-card-content {
  display: flex;
  align-items: center;
  height: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.linked-card::before {
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: 1;
  width: 6rem;
  height: 1rem;
  background-color: hsl(50, 100%, 50%);
  content: '';
}

/* -- End Ad and Email Signup -- */

.footer .inner,
.footer-sections {
  max-width: 1200px;
  overflow: hidden;
}

.connect figcaption {
  margin-bottom: 1em;
  font-size: 1em;
  line-height: 1.5em;
}

.connect figcaption span.time {
  color: #444;
  font-size: 1em;
}

.connect .position {
  position: absolute;
  width: 2.1875rem;
  height: 2.1875rem;
}

.connect .instagram span {
  color: #fff;
}

footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  background-color: #333;
}

footer#mtu-footer {
  margin-top: -4rem;
}

footer a {
  text-decoration: none;
}

.footer-fixed {
  position: static;
  bottom: 0;
  z-index: 899;
  width: 100%;
  background: #000;
  outline: 0;
}

.footer-fixed a {
  color: #fff;
  font-weight: 400;
}

.footer-fixed a,
.footer-fixed a:visited {
  padding: 0;
  border: none;
  color: #fff;
  box-shadow: none;
}

.footer-fixed a:active,
.footer-fixed a:hover {
  text-decoration: underline;
  background: transparent;
}

.footer-fixed a:focus {
  text-decoration: underline;
  background: none;
  outline: dotted 1px hsl(50, 100%, 50%);
  outline-offset: 1px;
}

.footer-sections {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem 0;
  font-size: 1.25em;
  cursor: default;
}

.footer {
  overflow: hidden;
  font-size: 0.79em;
  background: #333;
  cursor: default;
}

.footer-sections div {
  display: none;
  padding-left: 1%;
  color: hsl(50, 100%, 50%);
}

.footer .footer-sections div {
  display: block;
  padding-left: 0;
  font-size: 1em;
}

.footer .footer-sections div > span {
  display: block;
  width: 96%;
  margin: 4% 0;
  padding: 2%;
  font-size: 1em;
  background: #424242;
}

.footer .footer-sections div:first-child span {
  margin-top: 0;
}

.footer .footer-sections div ul {
  margin: 0;
  padding: 0 0 0 1em;
  list-style-type: none;
}

.footer .footer-sections div ul li {
  margin: 1em 0;
}

.footer-budget a {
  display: block;
  width: 9.375rem;
  margin: 0 auto;
  overflow: hidden;
}

.footer-budget a::before {
  display: block;
  float: none;
  height: 9.375rem;
  background: url(https://www.mtu.edu/mtu_resources/images/n/budget-transparency.png);
  content: '';
}

.footer-budget p {
  display: none;
}

.footer-contact p {
  margin-bottom: 0.5em;
  margin-left: 1em;
  color: #fff;
  font-size: 1em;
  line-height: 1.5em;
}

.footer-contact p.dept-name,
.footer-contact p.dept-name a {
  font-weight: 600;
}

.footer .footer-orau a {
  display: inline-block;
  width: 5.125rem;
  height: 1.6875rem;
  margin: 1em 0;
  white-space: none;
  text-indent: -9999em;
  background: url(https://www.mtu.edu/mtu_resources/images/n/orau.jpg);
}

.footer-budget,
.footer-eos,
.footer-orau {
  display: block;
  float: none;
  width: auto;
  margin: 0 0.625rem;
  text-align: center;
}

.footer-eos {
  padding-bottom: 0.9375rem;
}

.right-copy p {
  color: #fff;
}

.footer .footer-contact {
  text-transform: none;
  cursor: auto;
}

.footer-contact address {
  font-style: normal;
}

.footer .inner {
  width: 100%;
  margin: 0.625rem auto 0;
  padding: 1.25rem 0;
  border-top: 1px solid #808084;
  text-align: center;
}

.footer-eos a,
.footer-eos a:visited {
  color: hsl(50, 100%, 50%);
  font-size: 1em;
  font-style: italic;
  line-height: 1.25em;
}

.footer p.right.footer-equity {
  display: inline-block;
  float: initial;
  font-size: 1em;
}

p.right.footer-equity span.grey {
  color: hsl(50, 100%, 50%);
  background: 0 0;
}

@media only screen and (min-width: 415px) {
  .mobile-only {
    display: none;
  }

  .desktop-only {
    display: block;
  }

  .audience-widgets a {
    width: 100%;

    /* margin: 0 3%; */
  }

  a:active .audience-widget div[role='img'],
  a:focus .audience-widget div[role='img'],
  a:hover .audience-widget div[role='img'] {
    box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.17),
      0 0.25rem 0.25rem rgba(0, 0, 0, 0.22);
  }

  a:active .audience-widget div[role='img'] {
    box-shadow: none;
  }

  a:active .audience-widget div.black,
  a:active .news-widget div.black,
  a:focus .audience-widget div.black,
  a:focus .news-widget div.black,
  a:hover .audience-widget div.black,
  a:hover .news-widget div.black {
    display: table;
    padding-bottom: 50%;
  }
}

/* -- New Tout Styles -- */

/* need to overwrite full-width ul */
ul.tout-row,
.tout-row {
  box-sizing: border-box;
  width: 100%;
  padding-left: 0;
}

.sidebar-content .tout-row {
  flex-direction: column;
  align-items: center;
}

.tout-row * {
  box-sizing: inherit;
}

@media (min-width: 650px) {
  ul.tout-row,
  .tout-row {
    display: flex;
    justify-content: space-around;
    margin-top: 2rem;
    margin-bottom: 2rem;
    overflow: auto;
  }
}

.full-width li.tout-cell {
  padding-right: 0;
}

.tout-cell {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.tout-cell p {
  margin-bottom: 0;
}

.tout-cell p,
.tout-cell {
  font-weight: 600;
  line-height: 1.5;
}

@media (min-width: 650px) {
  .tout-cell {
    flex-direction: column;
    width: 100%;
    min-width: 0;
    margin-right: 3%;
    margin-bottom: 0;
    border-bottom: 0;
  }

  .tout-cell::before,
  .tout-cell::after {
    content: none;
  }

  .tout-cell:last-of-type {
    margin-right: 0;
  }
}

.tout-stat,
.tout-stat:visited {
  color: #000;
}

.tout-stat {
  flex: 1 0 40%;
  max-width: 10.9375rem;
  overflow: hidden;
  color: #000;
  font-weight: 600;
  font-size: 1.75rem;
  text-align: center;
  background-color: #fc0;
  transition: background-color 0.2s, color 0.2s;
}

.tout-black .tout-stat,
.tout-black .tout-stat:visited {
  color: #fc0;
}

.tout-black .tout-stat {
  background-color: #000;
}

/* Tout colors */
.tout-blue .tout-stat,
.tout-blue .tout-stat:visited {
  border-color: #00bfd5;
  background-color: #00bfd5;
}

.tout-green .tout-stat,
.tout-green .tout-stat:visited {
  border-color: #6ca438;
  background-color: #6ca438;
}

.tout-light-green .tout-stat,
.tout-light-green .tout-stat:visited {
  border-color: #a0ba42;
  background-color: #a0ba42;
}

.tout-burgundy .tout-stat,
.tout-burgundy .tout-stat:visited {
  border-color: #860e25;
  color: #fff;
  background-color: #860e25;
  box-shadow: 0 0 0 0 #860e25;
}

.tout-orange .tout-stat,
.tout-orange .tout-stat:visited {
  border-color: #ff4611;
  background-color: #ff4611;
}

.tout-gray .tout-stat,
.tout-gray .tout-stat:visited {
  border-color: #8a8b8c;
  background-color: #8a8b8c;
}

/* End tout colors */

/* Only on mobile */
@media (max-width: 650px) {
  a.tout-stat:hover {
    color: #fc0;
    background-color: #000;
    box-shadow: inset 0 0 0 1px #fc0;
  }

  .tout-black a.tout-stat:hover {
    color: #000;
    background-color: #fc0;
    box-shadow: inset 0 0 0 1px #000;
  }
}

@media (min-width: 650px) {
  /* Tout stat styles */
  .tout-stat {
    position: relative;
    flex: 0 1 auto;
    width: 100%;
    height: auto;
    margin-bottom: 0.25rem;
    border-radius: 100%;
    font-size: 2.25rem;
  }

  .tout-stat,
  .tout-stat:visited {
    border: 0.5rem solid #fc0;
    color: #000;
  }

  .tout-stat:focus,
  .tout-stat.tout-stat:focus {
    border-style: solid;
    border-width: 0.5rem;
    outline: none;
  }

  .tout-row:not(.tout-hollow) .tout-stat:focus,
  .tout-row:not(.tout-hollow) .tout-stat.tout-stat:focus {
    border-color: rgba(0, 0, 0, 0.5);
  }

  .tout-row.tout-hollow .tout-stat:focus,
  .tout-row.tout-hollow .tout-stat.tout-stat:focus {
    border-style: dashed;
  }

  .tout-black .tout-stat,
  .tout-black .tout-stat:visited {
    border-color: #000;
    background-color: #000;
  }

  .tout-hollow .tout-stat,
  .tout-hollow .tout-stat:visited {
    color: #000;
    background-color: transparent;
  }

  /* make this account for other classes that are actually used in the CMS */
  .background-dark-gray .tout-stat,
  .background-dark-gray .tout-stat:visited,
  .background-black .tout-stat,
  .background-black .tout-stat:visited {
    color: #fff;
  }

  .tout-stat::before {
    float: left;
    width: 0;
    padding-top: 100%;
    content: '';
  }

  #main a.tout-stat::after,
  .tout-stat::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: none;
    padding: 0.5em;
    border: 1px solid currentColor;
    color: #000;
    font-size: 0.75em;
    text-decoration: underline;
    background-color: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
    content: 'Go';
  }

  /* base.css overrides */
  #main a.tout-stat::after {
    width: unset;
    height: unset;
    margin: unset;
    background-image: unset;
  }

  .background-dark-gray .tout-stat::after,
  .background-dark-gray .tout-stat::after:visited,
  .background-black .tout-stat::after,
  .background-black .tout-stat::after:visited {
    color: #fff;
  }
}

.tout-hollow .tout-stat[style*='background-image'] .tout-stat-inner {
  color: #fff;
}

.tout-stat[style*='background-image'] {
  border: 0 solid transparent;
  color: #fc0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.tout-stat[style*='background-image']:focus {
  border-width: 0;
}

.tout-stat[style*='background-image'],
.tout-stat-inner {
  /* background-color: rgba(0, 0, 0, 0.5); */
}

/* make this account for other classes that are actually used in the CMS */
.background-black .tout-text {
  color: #fff;
}

.tout-stat-inner {
  padding: 0.5rem;
}

@media (min-width: 650px) {
  .tout-stat-inner {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}

/* Linked tout styles */
a.tout-stat {
  display: block;
}

a.tout-stat .tout-stat-inner {
  text-decoration: underline;
}

a.tout-stat:hover,
a.tout-stat:focus,
a.tout-stat:hover .tout-stat-inner,
a.tout-stat:focus .tout-stat-inner {
  text-decoration: none;
}

/* Tout Text Styles */
.tout-text {
  width: 100%;
  padding: 0.5rem;
  text-align: left;
}

/* make this account for other classes that are actually used in the CMS */
.background-dark-gray .tout-text,
.background-black .tout-text {
  color: #fff;
}

@media (min-width: 650px) {
  .tout-text {
    height: auto;
    text-align: center;
  }
}

/* -- End New Tout Styles -- */

@media only screen and (min-width: 650px) {
  .audience-widgets a {
    width: 31%;
    margin: 0;
  }

  .left-equity {
    float: right;
    max-width: 48%;
    padding-right: 0.625rem;
  }

  .right-copy {
    float: left;
    max-width: 48%;
    padding-left: 0.625rem;
  }

  .right-copy p {
    margin-top: 0.9375rem;
  }

  .left-equity,
  .right-copy {
    margin-top: 1.5em;
  }
}

@media only screen and (750px) {
  .flex {
    display: flex;
    flex-wrap: wrap;
  }

  /* .news-events .left a:hover, */
  .news-events .right a:active,
  .news-events .right a:focus,
  .news-events .right a:hover {
    text-decoration: underline;
  }
}

@media only screen and (min-width: 881px) {
  div.field-wrap {
    float: right;
    width: 32%;
    margin: 0.6875rem 0.83%;
    padding: 0;
    background: #fff;
  }

  .q,
  .q2 {
    width: 85.5%;
    padding-left: 4%;
  }

  .sa,
  .sa2 {
    width: 1.8125rem;
  }

  .main {
    overflow: hidden;
  }

  .stat-slide {
    overflow: visible;
    overflow-y: scroll;
  }

  .body_section {
    margin: 0 auto 2em;
  }

  .intro div {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .news-events div.left {
    float: left;
    width: 65%;
  }

  .news-events div.left.research {
    width: 100%;
  }

  .news-events a.story {
    width: 48.5%;
  }

  .news-events .research a.story {
    width: 31.33%;
  }

  .news-events a.story:nth-child(2),
  .news-events a.story:nth-child(4) {
    margin-left: 3%;
  }

  .news-events .research a.story:nth-child(even) {
    margin-right: 3%;
  }

  .news-events .right {
    float: right;
    width: 31%;
    margin-top: 2em;
  }

  .stat-slide + .scroll-bar.stat {
    display: none;
  }

  .connect .item:nth-child(even) {
    position: relative;
    height: 25rem;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .footer-sections {
    margin: 0 auto;
    padding: 1rem 0;
  }

  .footer .footer-sections div,
  .footer-sections div {
    display: block;
    float: left;
    width: 18.5%;
    padding-left: 1%;
    font-size: 1em;
  }

  .footer-budget,
  .footer-eos,
  .footer-orau {
    float: none;
    width: 99%;
  }

  .footer .footer-sections div > span {
    display: none;
  }

  .footer .footer-sections {
    padding: 0.5rem 0;
    font-weight: 400;
    font-size: 1em;
  }

  .footer .footer-sections div ul,
  .footer-sections ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer .footer-sections div ul li {
    margin: 0;
    font-size: 1em;
    line-height: 1.6em;
  }

  .footer p.right.footer-equity,
  .footer-orau {
    margin: 0 0 2em;
  }

  .footer .footer-contact {
    float: left;
    width: 21%;
    min-height: 6.375rem;
    margin: 0;
    font-weight: 400;
    text-align: left;
  }

  .footer-contact p {
    margin-left: 0;
    font-size: 1em;
  }

  .footer-contact p.dept-name {
    font-size: 1em;
  }

  .footer-contact p a {
    word-break: break-all;
  }

  .footer-budget,
  .footer-orau a {
    margin: 0;
  }

  .footer-eos {
    margin: 0 0 1em;
    font-style: italic;
    line-height: 1.25em;
    text-align: center;
  }

  .footer-orau {
    padding: 0;
  }

  .left-equity,
  .left-equity p,
  .right-copy,
  .right-copy p {
    margin-top: 0;
  }

  .footer-eos a {
    position: relative;
  }

  .footer p.right.footer-equity {
    display: inline-block;
    float: right;
    margin-right: 0.625rem;
    color: #fff;
  }
}

.full-width {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

@media only screen and (min-width: 1201px) {
  .full-width {
    padding: 2rem 0;
  }

  .left-equity,
  .right-copy {
    padding: 0;
  }
}

@media only screen and (1230px) {
  .footer p.right.footer-equity {
    margin-right: 0;
  }

  .footer-eos a {
    position: initial;
  }

  .body_section {
    padding: 0;
  }
}

/* Top title styles */

.top-title > h2 {
  float: left;
  margin-right: auto;
  margin-bottom: 0.15em;
  padding: 0.1em 0;
  font-size: 1.8em;
  line-height: 1.1em;
}

.top-title {
  box-sizing: border-box;
  border-bottom: 1px solid #000;
}

.top-title * {
  box-sizing: inherit;
}

.top-title::before,
.top-title::after {
  display: table;
  clear: both;
  content: '';
}

.top-title > div,
.top-title .stacked {
  float: left;
  width: 100%;
}

@media only screen and (min-width: 415px) {
  .top-title > div,
  .top-title .stacked {
    float: right;
    width: auto;
  }
}

.top-title > div a,
.top-title .stacked a,
.news-events .top-title a {
  display: inline-block;
  max-width: none;
  margin: 0.25em;
  padding: 0.25em 1em;
  border: 1px solid #000;
  color: #000;
  line-height: 1.5;
}

.top-title > div a:first-of-type,
.top-title .stacked a:first-of-type,
.news-events .top-title a:first-of-type {
  margin-left: 0;
}

.top-title > div a:last-of-type,
.top-title .stacked a:last-of-type,
.news-events .top-title a:last-of-type {
  margin-right: 0;
}

.top-title > div:not(.social-wrapper) a:hover,
.top-title .stacked a:hover,
.news-events .top-title a:hover {
  text-decoration: underline;
  background-color: #ececec;
}

.top-title > div a:focus,
.top-title .stacked a:focus,
.news-events .top-title a:focus {
  text-decoration: underline;
  background-color: #ececec;
  outline-offset: -0.1875rem;
}

#social-widget .top-title {
  margin-bottom: 0.5em;
}

.top-title .social-wrapper,
.social-links {
  display: inline-flex;
  width: 100%;
  margin-left: auto;
}

.social-links {
  justify-content: space-between;
  margin-left: 0.75rem;
}

@media only screen and (min-width: 415px) {
  .top-title .social-wrapper,
  .social-links {
    width: auto;
  }

  .social-links {
    justify-content: flex-start;
    margin-left: 0.25rem;
  }
}

.top-title .social-wrapper a {
  width: auto;
}

.top-title .social-links a {
  max-width: 1em;
  border-color: transparent;
}

.top-title .social-links a span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.top-title .social-links a:hover {
  opacity: 0.5;
}

.top-title .social-links a:focus {
  outline-color: #fff;
}

.top-title .social-links a.snapchat:focus {
  outline-color: #000;
}

.widget .black div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-top: 0;
  font-size: 1.7em;
}

.widget .black {
  display: block;
  opacity: 0;
  transition: opacity 0.15s;
}

.widget:hover .black {
  opacity: 1;
}

.widget .black div span {
  padding: 0.5em 1.5em;
  border: 1px solid #fff;
  color: #fff;
}

.widget .black div span:hover {
  text-decoration: underline;
}

.person .photo {
  float: left;
  clear: none;
  width: 21.5%;
}

@media only screen and (min-width: 881px) {
  .person .photo {
    width: 17%;
  }
}

.person .content,
.person_bio {
  float: right;
  clear: none;
  width: 75%;
}

/* -- Overwites -- */
/* stylelint-disable */
footer {
  position: static !important;
  box-sizing: border-box;
  height: auto !important;
  font-size: 90%;
}

footer * {
  box-sizing: inherit;
}

.footer {
  overflow: visible;
  font-size: 1em;
  background-color: transparent;
}
/* stylelint-enable */

/* --------------- */

/* -- General Styles -- */

.row {
  max-width: 1200px;
  margin: 0 auto;
}

footer .no-bullet {
  padding-left: 0;
  list-style-type: none;
}

@media only screen and (max-width: 1080px) {
  ul.social-icons.no-bullet {
    margin: 1.25rem auto 0 0;
  }
}

.bar-separator li {
  display: block;
  color: #fff;
}

.bar-separator li:last-of-type::after {
  display: none;
}

@media (min-width: 650px) {
  .bar-separator li {
    display: inline-block;
  }

  .bar-separator li::after {
    position: relative;
    top: 0.1em;
    display: inline-block;
    height: 0.8em;
    margin: 0 0.25em 0 0.5em;
    border-right: 1px solid hsl(50, 100%, 50%);
    content: '';
  }
}

a.text-gold,
a:visited.text-gold,
a:active.text-gold,
.text-gold {
  color: hsl(50, 100%, 50%);
}

a.text-black,
a:visited.text-black,
a:active.text-black,
.text-black {
  color: #000;
}

/* ------------------- */

/* -- Footer General Styles -- */

/* stylelint-disable */
footer {
  /* font-weight: 100; */
  color: #fff;
  line-height: 1.5;
  text-decoration: none !important;
  background-color: #000;
}
/* stylelint-enable */

footer h2 {
  color: #fff;
  font-size: 1.35em;
}

footer a,
footer a:visited,
footer a:active {
  color: #fff;
}

footer a:hover,
footer a:focus {
  text-decoration: underline !important;
  outline-color: hsl(50, 100%, 50%);
  outline-offset: 0.125rem;
}

/* -------------------------- */

/* -- PRE FOOTER -- */

.footer__pre-nav-wrapper {
  min-height: 1em;
  background-color: #444;
}

.footer__pre-nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  font-size: 1.25em;
}

@media (min-width: 881px) {
  .footer__pre-nav {
    flex-direction: row;
  }
}

.footer__pre-nav li {
  display: inline-block;
  flex: 1 0 auto;
  line-height: 1;
  text-align: center;
}

.footer__pre-nav li a {
  border-top: 1px solid #000;
  line-height: 1;
}

@media only screen and (min-width: 881px) {
  .footer__pre-nav li a {
    border-top: 0 solid transparent;
  }

  .footer__pre-nav li:first-of-type a {
    /* box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000; */
  }

  .footer__pre-nav li:last-of-type a {
    /* box-shadow: none; */
  }

  .footer__pre-nav li:only-of-type {
    max-width: 25%;
    background-color: #333;
  }
}

.footer__pre-nav a {
  display: inline-block;
  width: 100%;
}

/* -- PRE FOOTER A TAG STYLES -- */

@media only screen and (min-width: 881px) {
  li.footer-button,
  li.footer-button-give,
  li.footer-button-apply {
    max-width: 34%;
  }
}

.footer-button a,
.footer-button-give a,
.footer-button-apply a {
  padding: 1em 3em;
  border: 0 solid transparent;

  /* font-weight: 400; */
}

footer .footer-button a,
footer .footer-button a:visited,
footer .footer-button a:active,
footer .footer-button-give a,
footer .footer-button-give a:visited,
footer .footer-button-give a:active {
  color: hsl(50, 100%, 50%);
  background-color: transparent;
}

@media (min-width: 881px) {
  .footer-button,
  .footer-button-give,
  .footer-button-apply {
    box-shadow: inset -2px 0 0 #000, -2px 0 0 #000;
  }
}

.footer-button-apply a,
.footer-button-apply a:visited,
.footer-button-apply a:active {
  color: #000;
  background-color: hsl(50, 100%, 50%);
}

.footer-button a:hover,
.footer-button a:visited:hover,
.footer-button a:active:hover,
.footer-button a:focus,
.footer-button a:visited:focus,
.footer-button a:active:focus,
.footer-button-give a:hover,
.footer-button-give a:visited:hover,
.footer-button-give a:active:hover,
.footer-button-give a:focus,
.footer-button-give a:visited:focus,
.footer-button-give a:active:focus,
.footer-button-apply a:hover,
.footer-button-apply a:visited:hover,
.footer-button-apply a:active:hover,
.footer-button-apply a:focus,
.footer-button-apply a:visited:focus,
.footer-button-apply a:active:focus {
  color: #222;
  background-color: #ececec;
  outline-color: #222;
  outline-offset: -0.125rem;
}

/* ---------------- */

.footer,
.footer__contact-info,
.footer__contact-social,
.footer__post-info {
  padding: 0 1em;
}

@media (min-width: 1200px) {
  .footer,
  .footer__post-info {
    padding: 0;
  }
}

/* -- FOOTER MENUS -- */
/* stylelint-disable */
.footer {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
/* stylelint-enable */

@media (min-width: 501px) {
  .footer {
    max-width: 1200px;
  }
}

.footer-menu__title {
  margin: 0.75em 0;
}

.footer-menu {
  display: flex;
  flex: 1 0 50%;
  flex-direction: column;
  margin-top: 1rem;
  margin-bottom: 1em;
  padding-right: 1em;
  line-height: 1.25;
}

.footer-menu ul {
  font-size: 0.9em;
}

.footer-menu:last-of-type {
  padding-right: 0;
}

.footer-menu li {
  margin-bottom: 1em;
  line-height: 1.4;
}

footer .aside li {
  font-size: 85%;
}

.bar-separator.aside li {
  display: inline-block;
}

.bar-separator.aside li::after {
  position: relative;
  top: 0.1em;
  display: inline-block;
  margin: 0 0.25em 0 0.5em;
  border-right: 1px solid hsl(50, 100%, 50%);
  content: '';
}

.bar-separator.aside li::after,
.bar-separator li::after {
  height: 1em;
}

.bar-separator.aside li:last-of-type::after {
  margin: 0;
  border-right: 0 solid transparent;
}

@media (min-width: 501px) {
  .footer-menu {
    flex: 1 0 50%;
  }
}

@media (min-width: 881px) {
  .footer-menu {
    flex: 1 0 25%;
    min-width: 0;
  }
}

/* ---------------- */

/* -- CONTACT INFO -- */

.footer__contact {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.footer__contact-info {
  flex: 1 1 100%;
  margin-bottom: 2rem;
  margin-top: 1em;
  line-height: 2;
}

.footer__contact-info li {
  margin-top: 0;
}

@media (min-width: 881px) {
  .footer__contact-info {
    flex: 1 1 70%;
    text-align: right;
  }
}

/* ------------------ */

/* -- LOGO AND SOCIAL -- */

.footer__contact-social {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2em;
  gap: 1rem;
}

/* -- Logo -- */
.header-logo a {
  display: flex;
  max-height: 2.1875rem;
}

.shrink .header-logo a {
  max-height: 2.8125rem;
}

.mtu-logo {
  display: block;
  color: hsl(50, 100%, 50%);
}

.mtu-logo:visited {
  color: hsl(50, 100%, 50%);
}

.mtu-logo:hover {
  color: hsl(50, 100%, 100%);
}

.mtu-logo svg {
  width: 100%;
  height: auto;
  fill: currentColor;
}

@media only screen and (min-width: 881px) {
  .header-logo a {
    max-height: 9.375rem;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .mtu-logo svg {
    height: 2.5rem;
  }
}

@media screen and (-ms-high-contrast: active),
  (-ms-high-contrast: none) and (min-width: 881px) {
  .mtu-logo svg {
    height: 4.375rem;
  }

  .shrink .mtu-logo svg {
    height: 2.8125rem;
  }
}

/* ---------- */

/* -- Social -- */

.social-icons,
ul[class*='social-'] {
  flex: 0 1 auto;
  padding: 1em 0;
}

.social-icons > li {
  display: inline-block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-right: calc(0.5em + 0.5vw);
}

.social-icons > li:last-of-type {
  margin-right: 0;
}

.social-icons > li a {
  display: inline-block;
  width: 3.5em;
  height: 3.5em;
  border-radius: 50%;
  overflow: hidden;
  color: #000;
  text-indent: 100em;
  background-color: #666;
  background-size: 50%;
  transition: background-color 0.2s, filter 0.2s;
}

@media (min-width: 881px) {
  .social-icons > li a {
    width: 3em;
    height: 3em;
  }
}

.social-icons > li a.facebook {
  color: #000;
  background-color: #1778f2;
}

.social-icons > li a.twitter {
  background-color: #2494e8;
}

.social-icons > li a.youtube {
  color: #000;
  background-color: #ff0000;
}

.social-icons > li a.vimeo {
  background-color: #00a2cd;
}

.social-icons > li a.snapchat {
  background-color: #fffc00;
}

.social-icons > li a.tiktok {
  background-color: #222222;
}

.social-icons > li a.linkedin {
  color: #fff;
  background-color: #0e76a8;
}

.social-icons > li a.pinterest {
  color: #fff;
  background-color: #e60023;
}

.social-icons > li a.flickr {
  background-color: #ff0084;
}

.social-icons > li a.instagram {
  color: #fff;
  background-color: #d03275;
}

.social-icons > li a.soundcloud {
  background-color: #ff3a00;
}

.social-icons > li a.apple {
  background-color: #666;
}

/*
.social-icons>li a.facebook:hover,
.social-icons>li a.facebook:focus,
.social-icons>li a.pinterest:hover,
.social-icons>li a.pinterest:focus,
.social-icons>li a.twitter:hover,
.social-icons>li a.twitter:focus,
.social-icons>li a.instagram:hover,
.social-icons>li a.instagram:focus,
.social-icons>li a.youtube:hover,
.social-icons>li a.youtube:focus,
.social-icons>li a.vimeo:hover,
.social-icons>li a.vimeo:focus,
.social-icons>li a.snapchat:hover,
.social-icons>li a.snapchat:focus,
.social-icons>li a.linkedin:hover,
.social-icons>li a.linkedin:focus,
.social-icons>li a.apple:hover,
.social-icons>li a.apple:focus {
background-color: #555 !important;
filter: invert(1);
} */

.social-icons > li a:hover,
.social-icons > li a:focus {
  background-color: #555 !important;
  filter: invert(1) !important;
}

/* .social-icons>li a.facebook:focus,
.social-icons>li a.pinterest:focus,
.social-icons>li a.twitter:focus,
.social-icons>li a.instagram:focus,
.social-icons>li a.youtube:focus,
.social-icons>li a.vimeo:focus,
.social-icons>li a.snapchat:focus,
.social-icons>li a.linkedin:focus,
.social-icons>li a.apple:focus {
outline: 1px dashed #0033ff;
outline-offset: 0.125rem;
} */

.social-icons > li a:focus {
  outline: 1px dashed #03f;
  outline-offset: 0.125rem;
}

/* .social-icons>li a.facebook:hover:focus,
.social-icons>li a.pinterest:hover:focus,
.social-icons>li a.twitter:hover:focus,
.social-icons>li a.instagram:hover:focus,
.social-icons>li a.youtube:hover:focus,
.social-icons>li a.vimeo:hover:focus,
.social-icons>li a.snapchat:hover:focus,
.social-icons>li a.linkedin:hover:focus,
.social-icons>li a.apple:hover:focus {
outline: none;
} */

.social-icons > li a:hover:focus {
  outline: none;
}

/* ------------ */

/* -- POST FOOTER -- */
.footer__disclaimer {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 0.9em;
  font-style: italic;
  text-align: center;
  padding: 0 2.5em 1em;
}

.footer__contact + .footer__disclaimer {
  margin-top: -2rem;
}

@media (min-width: 881px) {
  .footer__disclaimer {
    padding: 0 1em 2em;
  }

  .footer__contact + .footer__disclaimer {
    margin-top: 0;
  }
}

.footer__disclaimer a {
  text-decoration: underline;
}

.footer__disclaimer a:focus,
.footer__disclaimer a:hover {
  text-decoration: none !important; /* override of `.footer a{... !important}` */
}

.footer__post-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 1em;
  padding-bottom: 1rem;
  border-top: 1px solid #6d6d6d;
  text-align: center;
}

.footer__post-info > div {
  margin-bottom: 1em;
}

@media (min-width: 881px) {
  .footer__post-info {
    flex-direction: row;
    text-align: center;
  }
}

#directedit:hover,
#directedit:focus {
  text-decoration: none !important;
}

/* ----------------- */

.phone::before {
  content: 'Ph: ';
}

.tollfree::before {
  content: 'Toll-Free: ';
}

.fax::before {
  content: 'Fax: ';
}

.to-top {
  position: fixed;
  right: 0;
  bottom: -3rem;
  z-index: 100000;
  box-sizing: border-box;
  width: 3rem;
  height: 2.75rem;
  border: 1px solid transparent;
  border-bottom: 0 solid transparent;
  border-top-left-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem;
  vertical-align: text-top;
  background-color: hsl(50, 100%, 50%);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: bottom 0.5s;
}

.to-top * {
  box-sizing: inherit;
}

.to-top.to-top-show {
  bottom: 2rem;
}

@media (min-width: 881px) {
  .to-top.to-top-show {
    bottom: 0;
  }
}

.to-top:focus-within {
  border: 1px dashed #000;
  border-bottom: 0 solid transparent;
}

.to-top:focus-within:hover {
  border: 1px solid transparent;
  border-bottom: 0 solid transparent;
}

@media (min-width: 881px) {
  .to-top {
    right: 1rem;
    border-top-left-radius: 0.3125rem;
    border-top-right-radius: 0.3125rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

@media (min-width: 1200px) {
  .to-top {
    right: 2rem;
  }
}

.to-top-icon::before {
  position: absolute;
  top: 35%;
  left: 50%;
  display: block;
  width: 1em;
  height: 1em;
  border-top: 0.25rem solid black;
  border-right: 0 solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 0.25rem solid black;
  color: #000;
  transform: translate(-50%, -30%) rotate(45deg);
  content: '';
}

a.to-top-icon,
a.to-top-icon:visited,
a.to-top-icon:active,
a.to-top-icon span,
a.to-top-icon:visited span,
a.to-top-icon:active span {
  color: #000;
}

.top-label {
  position: relative;
  top: 1.5625rem;
  display: block;
  font-weight: 600;
  font-size: 0.8rem;
  text-align: center;
}

.section-fit {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 20rem;
  padding: 3rem 4%;
}

.section-fit.full-section {
  padding-right: 0;
  padding-left: 0;
}

.section-fit.section-fit-collapse {
  min-height: 0;
}

.section-fit > * {
  z-index: 0;
  margin: auto;
}

/* Boxed section using grid for news feeds */

/* todo: remove rules that are causing me to make these importants */

/* todo: pull out all this column-inner bandaid stuff when the new cards get put into the snippet */
.feed-import {
  justify-content: space-between;
  width: 102%;
  margin: 0 0 0 -2%;
  padding: 2rem 0 0 0 !important;
}

@supports (display: grid) {
  .feed-import {
    width: 100%;
    margin: 0;
  }

  .news.feed-import,
  .events.feed-import {
    display: grid !important;
    grid-gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    width: 100%;
    margin: 0;
  }

  .news.feed-import {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }

  @media (min-width: 640px) {
    .news.feed-import {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1000px) {
    .news.feed-import {
      grid-template-columns: repeat(4, 1fr);
    }
  }
}

.column-inner .feed-import [role='img'] {
  position: relative;
}

.column-inner .feed-import a:hover .black {
  display: table;
}

.column-inner .feed-import a:hover .black > div {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.column-inner .feed-import .black span {
  padding: 0.5em 1.5em;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1.7em;
}

.feed-import .card,
.feed-import > a {
  width: 100% !important;
  margin-left: 2%;
}

.feed-import time {
  font-weight: bold;
}

@media (min-width: 881px) {
  .feed-import .card,
  .feed-import > a {
    width: 48% !important;
  }
}

@supports (display: grid) {
  .feed-import .card,
  .feed-import > a {
    grid-column-start: auto;
    grid-column-end: auto;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* like all of that stuff above will be deleted after the new cards get put in */

/* -------------------- */

/* -- Start Basic Card -- */

/* Todo: remove once cards have card-no-bar on them. */

/* override */
.column > .card,
.column > li > .card {
  height: 100%;
  border: none;
  outline: none;
}

.column > .card:hover,
.column > li > .card:hover,
.column > .card:focus,
.column > li > .card:focus {
  box-shadow: none;
}

.column-inner > .card,
.column-inner > .card ~ * {
  flex: 1;
}

.column-inner > .card ~ * {
  margin-top: 0.5rem;
}

/* TODO: quick fix for report a concern, need to put a class on boxed-section grid to play better */
.section-border .column-inner {
  padding-right: 1rem;
  padding-left: 1rem;
}

.section-border .card {
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 0.3125rem solid #fc0;
}

.full-width li.card {
  left: 0;
  padding-right: 0;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 0.3125rem solid #fc0;
  overflow: hidden;
  font-size: 1rem;
  box-shadow: 0 0.75rem 0.25rem -0.5rem rgba(0, 0, 0, 0);
  transition: box-shadow 0.5s;
  transition-delay: 0.05s;
}

.card,
.card:visited,
.card:active {
  color: inherit;
  text-decoration-color: currentColor;
}

.card:hover,
.card:focus {
  text-decoration: none;
  box-shadow: 0 0.75rem 0.25rem -0.5rem rgba(0, 0, 0, 0.22);
  transition-delay: 0s;
}

/* TODO: reomve all card-header classes keep only card-heading */
.card:focus-within {
  outline: 1px dashed #000;
}

a.card:hover .card-header,
a.card:focus .card-header,
.card-link:hover .card-header,
.card-link:focus .card-header,
a.card:hover .card-heading,
a.card:focus .card-heading,
.card-link:hover .card-heading,
.card-link:focus .card-heading {
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.card a.card-heading:hover {
  text-decoration: none;
}

.card * {
  box-sizing: inherit;
}

.card .card-link {
  display: inline-flex;
  flex-direction: column;
  justify-content: stretch;
  width: 100%;
}

.card a.card-link {
  color: inherit;
  text-decoration-color: currentColor;
}

.card a::after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.card-hero {
  position: relative;
  width: 100%;
}

/* date for calednar cards */
.card-hero .noimg {
  width: 100%;
}

/* TODO: figure out way to not have .column img override this rule */
.card-image,
.column .card-image {
  height: 10rem;
  object-fit: cover;
}

.column > .movie-wrapper {
  margin-bottom: 0;
}

.card-image {
  display: block;
  width: 100%;
  outline: 1px solid rgba(0, 0, 0, 0.05);
  outline-offset: -1px;
}

.card-image[src=''] {
  color: transparent;
}

.card-image[src='']::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: url('http://www.mtu.edu/mtu_resources/images/logos/michigan-tech-logo-square.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7.125rem 7.25rem;
  filter: grayscale(1);
  content: '';
}

/* overwrite full-width img {
margin-bottom:.5em
}
 */
.full-width .card-image {
  margin-bottom: 0;
}

.card-hero + * {
  margin-top: 0.5em;
}

.card-heading,
.card-header {
  margin: 0;
  padding: 0;
  color: inherit;
}

.card-section {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 1rem;
}

.card-section > * + * {
  margin: 0;
  margin-top: 0.75rem;
  padding-bottom: 0;
}

.card-section > * + *:empty {
  margin-top: 0;
}

.card-collapse .card-section {
  padding: 0;
}

.card-link + .card-section,
.card-section + .card-section {
  flex-grow: 1;
  padding-top: 0;
}

.card-description {
  margin: 0;
  padding: 0;
}

.news-source,
.card-date,
.card-category {
  margin-bottom: 0.5rem;
  font-weight: 300;
}

.news-source::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background-image: url('https://www.mtu.edu/mtu_resources/images/svg/open-in-browser.svg');
  background-repeat: no-repeat;
  content: '';
}

.card-play-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin-right: -1.5em;
  margin-left: 0.5em;
  border-radius: 0.125rem;
  font-size: 0.95em;
  vertical-align: middle;
  background-color: #fc0;
  transform: translateY(-0.05em);
}

.card-play-button::after {
  display: block;
  border-top: 0.25em solid transparent;
  border-bottom: 0.25em solid transparent;
  border-left: 0.5em solid white;
  content: '';
}

.card-no-border {
  border: none;
}

.card-no-border:hover {
  box-shadow: none;
}

.card-no-bar {
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

/* -- End Basic Card -- */

/* -- Go Card -- */
.card-go {
  color: #000;
  text-decoration: none;
}

.card-go .card-hero {
  position: relative;
}

.card-go .card-hero::before,
.card-go .card-hero::after {
  position: absolute;
  display: block;
  opacity: 0;
  transition: opacity 0.2s, background-color 0.2s;
  content: '';
}

.card-go .card-hero::after {
  background-color: rgba(0, 0, 0, 0.5);
}

.card-go a:hover .card-hero::before {
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 1;
  content: '';
}

.card-go a:hover .card-hero::after {
  top: 50%;
  left: 50%;
  z-index: 1;
  padding: 1rem 1.5rem;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1.25em;
  transform: translate(-50%, -50%);
  opacity: 1;
  content: 'Go';
  content: var(--text, 'Go');
}

.card-hero:hover::after {
  text-decoration: underline;
  background-color: rgba(255, 255, 255, 0.025);
}

/* -- End Go Card -- */

/* -- News Card -- */
.card-featured-heading {
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.card-featured-heading .card-section {
  position: relative;
  border-left: 0.3125rem solid #fc0;
}

.card-featured-heading .card-heading::before,
.card-featured-heading .card-header::before {
  position: absolute;
  left: 0;
  display: block;
  border-top: 0.5em solid transparent;
  border-bottom: 0.5em solid transparent;
  border-left: 0.5em solid #fc0;
  content: '';
}

/* -- End News Card -- */

/* -- Background Image card -- */
.card-background-image {
  position: relative;
  z-index: 0;
  min-height: 12.5rem;
  border: none;
  color: #fff;
  text-decoration: none;
  background-color: #000;
}

a.card-background-image:hover,
a.card-background-image:hover .card-heading,
a.card-background-image:focus,
a.card-background-image:focus .card-heading {
  text-decoration: underline;
}

@media (min-width: 650px) {
  .card-background-image {
    min-height: 16.25rem;
  }
}

.card-background-image.background-yellow .card-hero::after,
.card-background-image.background-gold .card-hero::after,
.card-background-image.background-medium-gray .card-hero::after {
  display: none;
}

.card-background-image.background-medium-gray {
  color: #000;
}

.card-background-image,
.card-background-image:visited,
.card-background-image:active,
.card-background-image a,
.card-background-image a:visited,
.card-background-image a:active {
  color: #fff;
}

.card-background-image .card-hero,
.card-background-image .card-hero::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.card-background-image .card-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.card-background-image .card-hero::after {
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.35);
  transition: background-color 0.25s;
  content: '';
}

.card-background-image:hover .card-hero::after,
.card-background-image:focus .card-hero::after {
  background-color: rgba(0, 0, 0, 0.25);
}

/* -- End Background Image card -- */

/* -- Card Detail -- */
.card-detail {
  flex-direction: row;
}

a:hover .card-detail,
a:focus .card-detail {
  text-decoration: none;
}

a:hover .card-detail .card-heading,
a:focus .card-detail .card-heading {
  text-decoration: underline;
}

.card-detail .card-hero {
  flex: 0 1 35%;
  max-width: 10rem;
  margin-right: 1rem;
}

.card-detail .card-image {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.card-detail .card-section {
  flex: 1;
  padding-right: 0;
  padding-left: 0;
}

.card-detail-flipped .card-section {
  padding-right: 1rem;
  padding-left: 0;
}

@media (min-width: 650px) {
  .card-detail-flipped {
    flex-direction: row-reverse;
  }

  .card-detail-flipped .card-hero {
    margin-right: 0;
  }
}

.card-detail .card-date {
  margin-bottom: 0;
}

.card-detail .card-date[class*='background-'] {
  padding: 0.5em;
}

.card-detail .card-hero + * {
  margin-top: 0;
  padding-top: 0;
}

/* -- End Card Detail -- */

/* -- Shutter button -- */
@media (min-width: 650px) {
  .card:hover .card-button,
  .card:focus-within .card-button {
    transform: translateX(1rem);
    transition: transform 0.2s ease;
  }
}

@media (prefers-reduced-motion) {
  .card .card-button {
    transform: translateX(1rem);
  }
}

.card-button,
.card-button:visited {
  color: #000;
}

.card-button {
  align-self: center;
  margin-top: auto;
  margin-bottom: 1em;
  padding: 0.8em;
  border-radius: 0.5em;
  background-color: #fc0;
  transition: transform 0.2s 0.25s ease;
}

@media (min-width: 650px) {
  .card-button {
    align-self: flex-end;
    border-radius: 0.5em 0 0 0.5em;
    transform: translateX(105%);
  }
}

.shutter-button {
  position: relative;
  z-index: 2;
  border: none;
  overflow: hidden;
  font-weight: 600;
  text-align: center;
  text-decoration: underline;
  background: #fc0;
  outline: 1px dashed rgba(0, 0, 0, 0);
  cursor: pointer;
}

.shutter-button,
.shutter-button:hover,
.shutter-button:focus {
  background-color: #fc0;
}

.shutter-button:hover,
.shutter-button:focus {
  transition: outline 0.5s 0.75s;
  animation: 1s shutter-in-text both;
}

.shutter-button.background-black {
  color: #fff;
}

.shutter-button.background-black:hover,
.shutter-button.background-black:focus {
  animation: 1s shutter-in-text-white both;
}

.shutter-button:focus {
  outline: 1px dashed #000;
  outline-offset: -0.3125rem;
}

.shutter-button.background-black,
.shutter-button.background-black:hover,
.shutter-button.background-black:focus {
  background-color: #000;
}

.shutter-button.background-black:focus {
  outline: 1px dashed #fff;
  outline-offset: -0.3125rem;
}

.shutter-button:hover:focus,
.shutter-button.background-black:hover:focus {
  outline: none;
}

.shutter-button::after {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  transition: all 0s;
  content: '';
}

.shutter-button:hover::after,
.shutter-button:focus::after {
  left: 100%;
  animation: 1s shutter-in both;
}

.shutter-button.background-black::after {
  background-color: #fff;
}

@media (prefers-reduced-motion) {
  .shutter-button {
    animation: none !important;
    transition: background-color 0.2s, color 0.2s !important;
  }

  .shutter-button:hover,
  .shutter-button:focus {
    background-color: #000;
    color: #fc0;
    text-decoration: none;
  }

  .shutter-button.background-black:hover,
  .shutter-button.background-black:focus {
    background-color: #fff;
    color: #000;
  }

  .shutter-button:hover::after,
  .shutter-button:focus::after {
    animation: none !important;
    transition: all 0s;
  }
}

@keyframes shutter-in {
  0% {
    left: -100%;
  }

  100% {
    left: 100%;
  }
}

@keyframes shutter-in-text {
  0% {
    color: #000;
    text-decoration: underline #fc0;
  }

  25% {
    color: #fc0;
    text-decoration: underline #fc0;
  }

  100% {
    color: #000;
    text-decoration: underline #000;
  }
}

@keyframes shutter-in-text-white {
  0% {
    color: #fff;
    text-decoration: underline #fff;
  }

  25% {
    color: #000;
    text-decoration: underline #000;
  }

  100% {
    color: #fff;
    text-decoration: underline #fff;
  }
}

.background-smoke-gray {
  color: #000;
  background-color: #ececec;
}

.background-light-gray {
  color: #000;
  background-color: #ececec;
}

.background-light-gray .background-light-gray,
.background-light-gray .background-smoke-gray,
.background-smoke-gray .background-smoke-gray,
.background-smoke-gray .background-light-gray {
  background: #fff;
}

.background-yellow {
  background-color: #fc0;
}

.background-black {
  background-color: #000;
  color: #fff;
}
/* -- End Shutter Button -- */

/* -- Grid Rules -- */

/* remove this when body gets box-sizing: border-box */
.grid-row {
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: 1rem;
}

@media (min-width: 1200px) {
  .grid-row {
    padding-left: 0;
    padding-right: 0;
  }
}

.grid-row * {
  box-sizing: inherit;
}

.grid-x {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 0 -2% -2%;
}

.grid-x + * {
  margin-top: 2rem;
}

@supports (display: grid) {
  .grid-x {
    display: grid;
    grid-gap: 1.5rem;
    grid-template-columns: repeat(12, 1fr);
    margin: 0;
  }

  @media (min-width: 881px) {
    .grid-x {
      grid-gap: 2.5rem;
    }
  }
}

.grid-y {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
}

.grid-y.align-center {
  align-items: center;
}

.grid-y .column {
  width: auto;
}

@media (min-width: 650px) {
  .grid-auto {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 0 0 -2%;
  }

  @supports (display: grid) {
    .grid-auto {
      display: grid;
      grid-gap: 2.5rem;
      grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
      margin: 0;
    }
  }

  .grid-auto > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

@media (min-width: 650px) {
  .grid-collapse {
    grid-gap: 0;
  }
}

.column {
  flex: 1 1 auto;
  width: 100%;
  margin: 0 0 2% 2%;
}

@supports (display: grid) {
  .column {
    grid-column-start: 1;
    grid-column-end: 13;
    margin: 0;
  }
}

.grid-auto > .column {
  flex: 1;
}

.column img {
  display: block;
  max-width: 100%;
  height: auto;
}
/* --------------------- */
/* ## Grid Even Columns  */
/* --------------------- */

/* ### Grid Even Columns Small */
@supports (display: grid) {
  .small-1-up {
    grid-template-columns: repeat(1, 1fr);
  }

  .small-1-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-1-up > .column {
  flex: 1 1 98%;
}

@supports (display: grid) {
  .small-2-up {
    grid-template-columns: repeat(2, 1fr);
  }

  .small-2-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-2-up > .column {
  flex: 1 1 48%;
}

@supports (display: grid) {
  .small-3-up {
    grid-template-columns: repeat(3, 1fr);
  }

  .small-3-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-3-up > .column {
  flex: 1 1 31.33333%;
}

@supports (display: grid) {
  .small-4-up {
    grid-template-columns: repeat(4, 1fr);
  }

  .small-4-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-4-up > .column {
  flex: 1 1 23%;
}

@supports (display: grid) {
  .small-5-up {
    grid-template-columns: repeat(5, 1fr);
  }

  .small-5-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-5-up > .column {
  flex: 1 1 18%;
}

@supports (display: grid) {
  .small-6-up {
    grid-template-columns: repeat(6, 1fr);
  }

  .small-6-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-6-up > .column {
  flex: 1 1 14.66667%;
}

@supports (display: grid) {
  .small-7-up {
    grid-template-columns: repeat(7, 1fr);
  }

  .small-7-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-7-up > .column {
  flex: 1 1 12.28571%;
}

@supports (display: grid) {
  .small-8-up {
    grid-template-columns: repeat(8, 1fr);
  }

  .small-8-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-8-up > .column {
  flex: 1 1 10.5%;
}

@supports (display: grid) {
  .small-9-up {
    grid-template-columns: repeat(9, 1fr);
  }

  .small-9-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-9-up > .column {
  flex: 1 1 9.11111%;
}

@supports (display: grid) {
  .small-10-up {
    grid-template-columns: repeat(10, 1fr);
  }

  .small-10-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-10-up > .column {
  flex: 1 1 8%;
}

@supports (display: grid) {
  .small-11-up {
    grid-template-columns: repeat(11, 1fr);
  }

  .small-11-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-11-up > .column {
  flex: 1 1 7.09091%;
}

@supports (display: grid) {
  .small-12-up {
    grid-template-columns: repeat(12, 1fr);
  }

  .small-12-up > .column {
    grid-column-start: auto;
    grid-column-end: auto;
  }
}

.grid-x.small-12-up > .column {
  flex: 1 1 6.33333%;
}

/* ### Grid Even Columns Medium */
@media (min-width: 40.625rem) {
  @supports (display: grid) {
    .medium-1-up {
      grid-template-columns: repeat(1, 1fr);
    }

    .medium-1-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-1-up > .column {
    flex: 1 1 98%;
  }

  @supports (display: grid) {
    .medium-2-up {
      grid-template-columns: repeat(2, 1fr);
    }

    .medium-2-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-2-up > .column {
    flex: 1 1 48%;
  }

  @supports (display: grid) {
    .medium-3-up {
      grid-template-columns: repeat(3, 1fr);
    }

    .medium-3-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-3-up > .column {
    flex: 1 1 31.33333%;
  }

  @supports (display: grid) {
    .medium-4-up {
      grid-template-columns: repeat(4, 1fr);
    }

    .medium-4-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-4-up > .column {
    flex: 1 1 23%;
  }

  @supports (display: grid) {
    .medium-5-up {
      grid-template-columns: repeat(5, 1fr);
    }

    .medium-5-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-5-up > .column {
    flex: 1 1 18%;
  }

  @supports (display: grid) {
    .medium-6-up {
      grid-template-columns: repeat(6, 1fr);
    }

    .medium-6-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-6-up > .column {
    flex: 1 1 14.66667%;
  }

  @supports (display: grid) {
    .medium-7-up {
      grid-template-columns: repeat(7, 1fr);
    }

    .medium-7-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-7-up > .column {
    flex: 1 1 12.28571%;
  }

  @supports (display: grid) {
    .medium-8-up {
      grid-template-columns: repeat(8, 1fr);
    }

    .medium-8-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-8-up > .column {
    flex: 1 1 10.5%;
  }

  @supports (display: grid) {
    .medium-9-up {
      grid-template-columns: repeat(9, 1fr);
    }

    .medium-9-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-9-up > .column {
    flex: 1 1 9.11111%;
  }

  @supports (display: grid) {
    .medium-10-up {
      grid-template-columns: repeat(10, 1fr);
    }

    .medium-10-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-10-up > .column {
    flex: 1 1 8%;
  }

  @supports (display: grid) {
    .medium-11-up {
      grid-template-columns: repeat(11, 1fr);
    }

    .medium-11-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-11-up > .column {
    flex: 1 1 7.09091%;
  }

  @supports (display: grid) {
    .medium-12-up {
      grid-template-columns: repeat(12, 1fr);
    }

    .medium-12-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.medium-12-up > .column {
    flex: 1 1 6.33333%;
  }
}

/* ### Grid Even Columns Large */
@media (min-width: 55.0625rem) {
  @supports (display: grid) {
    .large-1-up {
      grid-template-columns: repeat(1, 1fr);
    }

    .large-1-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-1-up > .column {
    flex: 1 1 98%;
  }

  @supports (display: grid) {
    .large-2-up {
      grid-template-columns: repeat(2, 1fr);
    }

    .large-2-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-2-up > .column {
    flex: 1 1 48%;
  }

  @supports (display: grid) {
    .large-3-up {
      grid-template-columns: repeat(3, 1fr);
    }

    .large-3-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-3-up > .column {
    flex: 1 1 31.33333%;
  }

  @supports (display: grid) {
    .large-4-up {
      grid-template-columns: repeat(4, 1fr);
    }

    .large-4-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-4-up > .column {
    flex: 1 1 23%;
  }

  @supports (display: grid) {
    .large-5-up {
      grid-template-columns: repeat(5, 1fr);
    }

    .large-5-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-5-up > .column {
    flex: 1 1 18%;
  }

  @supports (display: grid) {
    .large-6-up {
      grid-template-columns: repeat(6, 1fr);
    }

    .large-6-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-6-up > .column {
    flex: 1 1 14.66667%;
  }

  @supports (display: grid) {
    .large-7-up {
      grid-template-columns: repeat(7, 1fr);
    }

    .large-7-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-7-up > .column {
    flex: 1 1 12.28571%;
  }

  @supports (display: grid) {
    .large-8-up {
      grid-template-columns: repeat(8, 1fr);
    }

    .large-8-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-8-up > .column {
    flex: 1 1 10.5%;
  }

  @supports (display: grid) {
    .large-9-up {
      grid-template-columns: repeat(9, 1fr);
    }

    .large-9-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-9-up > .column {
    flex: 1 1 9.11111%;
  }

  @supports (display: grid) {
    .large-10-up {
      grid-template-columns: repeat(10, 1fr);
    }

    .large-10-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-10-up > .column {
    flex: 1 1 8%;
  }

  @supports (display: grid) {
    .large-11-up {
      grid-template-columns: repeat(11, 1fr);
    }

    .large-11-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-11-up > .column {
    flex: 1 1 7.09091%;
  }

  @supports (display: grid) {
    .large-12-up {
      grid-template-columns: repeat(12, 1fr);
    }

    .large-12-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.large-12-up > .column {
    flex: 1 1 6.33333%;
  }
}

/* ### Grid Even Columns Extra Large */
@media (min-width: 75rem) {
  @supports (display: grid) {
    .xlarge-1-up {
      grid-template-columns: repeat(1, 1fr);
    }

    .xlarge-1-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-1-up > .column {
    flex: 1 1 6.33333%;
  }

  @supports (display: grid) {
    .xlarge-2-up {
      grid-template-columns: repeat(2, 1fr);
    }

    .xlarge-2-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-2-up > .column {
    flex: 1 1 14.66667%;
  }

  @supports (display: grid) {
    .xlarge-3-up {
      grid-template-columns: repeat(3, 1fr);
    }

    .xlarge-3-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-3-up > .column {
    flex: 1 1 23%;
  }

  @supports (display: grid) {
    .xlarge-4-up {
      grid-template-columns: repeat(4, 1fr);
    }

    .xlarge-4-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-4-up > .column {
    flex: 1 1 31.33333%;
  }

  @supports (display: grid) {
    .xlarge-5-up {
      grid-template-columns: repeat(5, 1fr);
    }

    .xlarge-5-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-5-up > .column {
    flex: 1 1 39.66667%;
  }

  @supports (display: grid) {
    .xlarge-6-up {
      grid-template-columns: repeat(6, 1fr);
    }

    .xlarge-6-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-6-up > .column {
    flex: 1 1 48%;
  }

  @supports (display: grid) {
    .xlarge-7-up {
      grid-template-columns: repeat(7, 1fr);
    }

    .xlarge-7-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-7-up > .column {
    flex: 1 1 56.33333%;
  }

  @supports (display: grid) {
    .xlarge-8-up {
      grid-template-columns: repeat(8, 1fr);
    }

    .xlarge-8-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-8-up > .column {
    flex: 1 1 64.66667%;
  }

  @supports (display: grid) {
    .xlarge-9-up {
      grid-template-columns: repeat(9, 1fr);
    }

    .xlarge-9-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-9-up > .column {
    flex: 1 1 73%;
  }

  @supports (display: grid) {
    .xlarge-10-up {
      grid-template-columns: repeat(10, 1fr);
    }

    .xlarge-10-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-10-up > .column {
    flex: 1 1 81.33333%;
  }

  @supports (display: grid) {
    .xlarge-11-up {
      grid-template-columns: repeat(11, 1fr);
    }

    .xlarge-11-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-11-up > .column {
    flex: 1 1 89.66667%;
  }

  @supports (display: grid) {
    .xlarge-12-up {
      grid-template-columns: repeat(12, 1fr);
    }

    .xlarge-12-up > .column {
      grid-column-start: auto;
      grid-column-end: auto;
    }
  }

  .grid-x.xlarge-12-up > .column {
    flex: 1 1 98%;
  }
}

/* ----------------------- */
/* ## Grid Uneven Columns  */
/* ----------------------- */

.column.small-1 {
  flex: 0 1 6.33333%;
}

@supports (display: grid) {
  .column.small-1 {
    grid-column-start: auto;
    grid-column-end: span 1;
  }
}

.column.small-2 {
  flex: 0 1 14.66667%;
}

@supports (display: grid) {
  .column.small-2 {
    grid-column-start: auto;
    grid-column-end: span 2;
  }
}

.column.small-3 {
  flex: 0 1 23%;
}

@supports (display: grid) {
  .column.small-3 {
    grid-column-start: auto;
    grid-column-end: span 3;
  }
}

.column.small-4 {
  flex: 0 1 31.33333%;
}

@supports (display: grid) {
  .column.small-4 {
    grid-column-start: auto;
    grid-column-end: span 4;
  }
}

.column.small-5 {
  flex: 0 1 39.66667%;
}

@supports (display: grid) {
  .column.small-5 {
    grid-column-start: auto;
    grid-column-end: span 5;
  }
}

.column.small-6 {
  flex: 0 1 48%;
}

@supports (display: grid) {
  .column.small-6 {
    grid-column-start: auto;
    grid-column-end: span 6;
  }
}

.column.small-7 {
  flex: 0 1 56.33333%;
}

@supports (display: grid) {
  .column.small-7 {
    grid-column-start: auto;
    grid-column-end: span 7;
  }
}

.column.small-8 {
  flex: 0 1 64.66667%;
}

@supports (display: grid) {
  .column.small-8 {
    grid-column-start: auto;
    grid-column-end: span 8;
  }
}

.column.small-9 {
  flex: 0 1 73%;
}

@supports (display: grid) {
  .column.small-9 {
    grid-column-start: auto;
    grid-column-end: span 9;
  }
}

.column.small-10 {
  flex: 0 1 81.33333%;
}

@supports (display: grid) {
  .column.small-10 {
    grid-column-start: auto;
    grid-column-end: span 10;
  }
}

.column.small-11 {
  flex: 0 1 89.66667%;
}

@supports (display: grid) {
  .column.small-11 {
    grid-column-start: auto;
    grid-column-end: span 11;
  }
}

.column.small-12 {
  flex: 0 1 98%;
}

@supports (display: grid) {
  .column.small-12 {
    grid-column-start: auto;
    grid-column-end: span 12;
  }
}

@media (min-width: 650px) {
  .column.medium-1 {
    flex: 0 1 6.33333%;
  }

  @supports (display: grid) {
    .column.medium-1 {
      grid-column-start: auto;
      grid-column-end: span 1;
    }
  }

  .column.medium-2 {
    flex: 0 1 14.66667%;
  }

  @supports (display: grid) {
    .column.medium-2 {
      grid-column-start: auto;
      grid-column-end: span 2;
    }
  }

  .column.medium-3 {
    flex: 0 1 23%;
  }

  @supports (display: grid) {
    .column.medium-3 {
      grid-column-start: auto;
      grid-column-end: span 3;
    }
  }

  .column.medium-4 {
    flex: 0 1 31.33333%;
  }

  @supports (display: grid) {
    .column.medium-4 {
      grid-column-start: auto;
      grid-column-end: span 4;
    }
  }

  .column.medium-5 {
    flex: 0 1 39.66667%;
  }

  @supports (display: grid) {
    .column.medium-5 {
      grid-column-start: auto;
      grid-column-end: span 5;
    }
  }

  .column.medium-6 {
    flex: 0 1 48%;
  }

  @supports (display: grid) {
    .column.medium-6 {
      grid-column-start: auto;
      grid-column-end: span 6;
    }
  }

  .column.medium-7 {
    flex: 0 1 56.33333%;
  }

  @supports (display: grid) {
    .column.medium-7 {
      grid-column-start: auto;
      grid-column-end: span 7;
    }
  }

  .column.medium-8 {
    flex: 0 1 64.66667%;
  }

  @supports (display: grid) {
    .column.medium-8 {
      grid-column-start: auto;
      grid-column-end: span 8;
    }
  }

  .column.medium-9 {
    flex: 0 1 73%;
  }

  @supports (display: grid) {
    .column.medium-9 {
      grid-column-start: auto;
      grid-column-end: span 9;
    }
  }

  .column.medium-10 {
    flex: 0 1 81.33333%;
  }

  @supports (display: grid) {
    .column.medium-10 {
      grid-column-start: auto;
      grid-column-end: span 10;
    }
  }

  .column.medium-11 {
    flex: 0 1 89.66667%;
  }

  @supports (display: grid) {
    .column.medium-11 {
      grid-column-start: auto;
      grid-column-end: span 11;
    }
  }

  .column.medium-12 {
    flex: 0 1 98%;
  }

  @supports (display: grid) {
    .column.medium-12 {
      grid-column-start: auto;
      grid-column-end: span 12;
    }
  }
}

@media (min-width: 881px) {
  .column.large-1 {
    flex: 0 1 6.33333%;
  }

  @supports (display: grid) {
    .column.large-1 {
      grid-column-start: auto;
      grid-column-end: span 1;
    }
  }

  .column.large-2 {
    flex: 0 1 14.66667%;
  }

  @supports (display: grid) {
    .column.large-2 {
      grid-column-start: auto;
      grid-column-end: span 2;
    }
  }

  .column.large-3 {
    flex: 0 1 23%;
  }

  @supports (display: grid) {
    .column.large-3 {
      grid-column-start: auto;
      grid-column-end: span 3;
    }
  }

  .column.large-4 {
    flex: 0 1 31.33333%;
  }

  @supports (display: grid) {
    .column.large-4 {
      grid-column-start: auto;
      grid-column-end: span 4;
    }
  }

  .column.large-5 {
    flex: 0 1 39.66667%;
  }

  @supports (display: grid) {
    .column.large-5 {
      grid-column-start: auto;
      grid-column-end: span 5;
    }
  }

  .column.large-6 {
    flex: 0 1 48%;
  }

  @supports (display: grid) {
    .column.large-6 {
      grid-column-start: auto;
      grid-column-end: span 6;
    }
  }

  .column.large-7 {
    flex: 0 1 56.33333%;
  }

  @supports (display: grid) {
    .column.large-7 {
      grid-column-start: auto;
      grid-column-end: span 7;
    }
  }

  .column.large-8 {
    flex: 0 1 64.66667%;
  }

  @supports (display: grid) {
    .column.large-8 {
      grid-column-start: auto;
      grid-column-end: span 8;
    }
  }

  .column.large-9 {
    flex: 0 1 73%;
  }

  @supports (display: grid) {
    .column.large-9 {
      grid-column-start: auto;
      grid-column-end: span 9;
    }
  }

  .column.large-10 {
    flex: 0 1 81.33333%;
  }

  @supports (display: grid) {
    .column.large-10 {
      grid-column-start: auto;
      grid-column-end: span 10;
    }
  }

  .column.large-11 {
    flex: 0 1 89.66667%;
  }

  @supports (display: grid) {
    .column.large-11 {
      grid-column-start: auto;
      grid-column-end: span 11;
    }
  }

  .column.large-12 {
    flex: 0 1 98%;
  }

  @supports (display: grid) {
    .column.large-12 {
      grid-column-start: auto;
      grid-column-end: span 12;
    }
  }
}

@media (min-width: 1200px) {
  .column.xlarge-1 {
    flex: 0 1 6.33333%;
  }

  @supports (display: grid) {
    .column.xlarge-1 {
      grid-column-start: auto;
      grid-column-end: span 1;
    }
  }

  .column.xlarge-2 {
    flex: 0 1 14.66667%;
  }

  @supports (display: grid) {
    .column.xlarge-2 {
      grid-column-start: auto;
      grid-column-end: span 2;
    }
  }

  .column.xlarge-3 {
    flex: 0 1 23%;
  }

  @supports (display: grid) {
    .column.xlarge-3 {
      grid-column-start: auto;
      grid-column-end: span 3;
    }
  }

  .column.xlarge-4 {
    flex: 0 1 31.33333%;
  }

  @supports (display: grid) {
    .column.xlarge-4 {
      grid-column-start: auto;
      grid-column-end: span 4;
    }
  }

  .column.xlarge-5 {
    flex: 0 1 39.66667%;
  }

  @supports (display: grid) {
    .column.xlarge-5 {
      grid-column-start: auto;
      grid-column-end: span 5;
    }
  }

  .column.xlarge-6 {
    flex: 0 1 48%;
  }

  @supports (display: grid) {
    .column.xlarge-6 {
      grid-column-start: auto;
      grid-column-end: span 6;
    }
  }

  .column.xlarge-7 {
    flex: 0 1 56.33333%;
  }

  @supports (display: grid) {
    .column.xlarge-7 {
      grid-column-start: auto;
      grid-column-end: span 7;
    }
  }

  .column.xlarge-8 {
    flex: 0 1 64.66667%;
  }

  @supports (display: grid) {
    .column.xlarge-8 {
      grid-column-start: auto;
      grid-column-end: span 8;
    }
  }

  .column.xlarge-9 {
    flex: 0 1 73%;
  }

  @supports (display: grid) {
    .column.xlarge-9 {
      grid-column-start: auto;
      grid-column-end: span 9;
    }
  }

  .column.xlarge-10 {
    flex: 0 1 81.33333%;
  }

  @supports (display: grid) {
    .column.xlarge-10 {
      grid-column-start: auto;
      grid-column-end: span 10;
    }
  }

  .column.xlarge-11 {
    flex: 0 1 89.66667%;
  }

  @supports (display: grid) {
    .column.xlarge-11 {
      grid-column-start: auto;
      grid-column-end: span 11;
    }
  }

  .column.xlarge-12 {
    flex: 0 1 98%;
  }

  @supports (display: grid) {
    .column.xlarge-12 {
      grid-column-start: auto;
      grid-column-end: span 12;
    }
  }
}

.column-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.row-reverse {
  flex-direction: row-reverse;
}

/* -- End Grid Rules -- */

@media only screen and (max-width: 500px) {
  footer#mtu-footer {
    margin-top: -2rem;
  }
  .logo:first-of-type {
    margin: 1rem 0;
  }
  .social-icons > li {
    margin-right: calc(0.75em + 0.75vw);
  }
  .social-icons > li:last-of-type {
    margin-left: 0;
  }
}

/*	========================================================================== */
/* 2022 Nav               */
/*	========================================================================== */

:root {
  --white: 250 250 250;
  --black: 20 20 20;
  --true-black: 0 0 0;
  --true-white: 255 255 255;
  --gold: 255 204 0;
  --grey: 90 90 90;
  --dark-gray: 76 76 76;
}

/* prevent the item from scrolling, applied to html */
@media (max-width: 881px) {
  /*
  .scroll-lock,
  .scroll-lock body {
    overflow-y: hidden;
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
  */

  .scroll-lock body {
    position: fixed;
  }
}

/* set up box-sizing */
.nav,
.mtu-nav {
  box-sizing: border-box;
}

.nav *,
.nav *::before,
.nav *::after,
.mtu-nav *,
.mtu-nav *::before,
.mtu-nav *::after {
  box-sizing: inherit;
}

/* this is to upgrade the need for the hide class */
.invisible {
  visibility: hidden !important;
}

@media (max-width: 879px) {
  .show-for-desktop {
    display: none !important;
  }
}
@media (min-width: 880px) {
  .hide-for-desktop {
    display: none !important;
  }
}

/* TODO: incorporate these into the black and gold nav items 
.background-black {
	background-color: rgb(var(--cblack));
  background-color: rgb(var(--black));
}

.background-gold {
  background-color: rgb(var(--gold));
}
*/

.nav,
.mtu-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  font-size: 1rem;
}

/* General nav link styles */
.nav a,
.nav a:visited,
.nav a:active,
.mtu-nav a,
.mtu-nav a:visited,
.mtu-nav a:active {
  color: inherit;
  text-decoration-thickness: 1px;
}

.nav a:hover,
.nav a:focus,
.mtu-nav a:hover,
.mtu-nav a:focus {
  text-decoration: none;
}

.nav *:focus,
.mtu-nav *:focus {
  outline: 1px dashed rgb(var(--white));
  outline-offset: -1px;
}

[id='nav-push'],
.nav-push {
  padding-top: 0;
  padding-top: var(--mtu-header-height, 0);
}

/* general menu and submenu styles */
.menu,
.menu_submenu {
  list-style-type: none;
  -webkit-padding-start: 0;
  padding-inline-start: 0;
}

.menu_submenu {
  display: none;
  position: absolute;
  top: 100%;
  min-width: 250px;
  background-color: rgb(var(--white));
  border: 1px solid rgb(var(--black) / 10%);
  border-top-width: 0;
  text-align: left;
}

@media (min-width: 881px) {
  .menu_submenu {
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
  }
}

.menu_item:last-of-type .menu_submenu {
  right: 0;
}

.menu_submenu {
  color: rgb(var(--black));
}

.menu_submenu .submenu_link {
  display: block;
  width: 100%;
  padding: 0.75rem 1.75rem;
  text-decoration: none;
}

@media (max-width: 880px) {
  .menu_submenu .submenu_link {
    padding: 0.75rem 0.75rem;
  }
}

.menu_submenu .submenu_link:hover,
.menu_submenu .submenu_link:focus {
  background-color: rgb(var(--black) / 10%);
  text-decoration: underline;
}

.menu_submenu .submenu_link:focus {
  outline-color: rgb(var(--black));
}

.menu_item {
  display: inline-flex;
  position: relative;
}

div.menu_link {
  cursor: default;
}

/* specific black and yellow link styles */
.menu_item-yellow,
.menu_item-yellow .menu_link {
  background-color: rgb(var(--gold));
}

.menu_item-yellow .menu_link,
.menu_item-yellow .menu_link:visited {
  color: rgb(var(--black));
}

@media (min-width: 881px) {
  .menu_item-yellow:hover .menu_link {
    background-color: rgb(var(--white) / 20%);
  }

  .menu_item-yellow .menu_link:focus {
    outline: 1px dashed rgb(var(--black));
    outline-offset: -2px;
  }
}

.menu_item-black,
.menu_item-black .menu_link {
  background-color: rgb(var(--black));
}

.menu_item-black .menu_link,
.menu_item-black .menu_link:visited,
.menu_item-black .menu_link:active {
  color: rgb(var(--white));
}

@media (min-width: 881px) {
  .menu_item-black:hover .menu_link {
    color: rgb(var(--white));
    background-color: rgb(var(--white) / 20%);
  }

  .menu_item-black .menu_link:focus {
    outline: 1px dashed rgb(var(--black));
    outline-offset: -2px;
  }

  .nav-bar .menu_item:hover {
    color: rgb(var(--black));
    background-color: rgb(var(--white) / 90%);
  }

  .menu_item:hover .menu_submenu {
    display: block;
  }

  .menu_item.active .arrow::after {
    border-top-color: rgb(var(--gold));
  }

  .menu_item.menu_item.active .arrow::after {
    transform: scale(-1) rotate(45deg) translate(0, -20%);
    will-change: transform;
  }

  .menu_item:hover .arrow::after {
    visibility: hidden;
  }

  .menu_item:hover .arrow:hover::after,
  .menu_item.active .arrow::after {
    visibility: visible;
  }
}

.menu_link {
  display: flex;
  align-items: center;
  padding: 1rem 1.5rem;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* arrow styles this is not the "active" arrow */
.arrow {
  --size: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  background-color: transparent;
  padding: 0 0.25rem;
  border: none;
  width: calc(var(--size) * 2.5rem);
  width: 1.25rem;
  cursor: pointer;
  color: inherit;
}

@media (min-width: 880px) {
  .arrow {
    position: absolute;
    top: 51%;
    right: 0;
    height: 100%;
    transform: translate(0, -50%);
  }
}

.arrow::after {
  display: block;
  transform: scale(1);
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border-top: var(--size) solid transparent;
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-bottom: 0 solid currentColor;
  background-color: transparent;
  overflow: hidden;
  content: '';
}

@media (min-width: 880px) {
  .arrow::after {
    border-top: 0 solid transparent;
    border-left: 0 solid transparent;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: scale(1) rotate(45deg) translate(-20%, 0);
    will-change: transform;
  }
}

/* menu black and yello arrow styles */
.menu_item-yellow .arrow::after {
  border-top-color: rgb(var(--black));
}

.menu_item-black .arrow::after {
  border-top-color: rgb(var(--gold));
}

.pre-nav-wrapper {
  position: relative;
  z-index: 1;
}

.pre-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 881px) {
  .pre-nav {
    padding: 0 0.5rem;
  }
}

@media (min-width: 1200px) {
  .pre-nav {
    padding: 0.5rem 0;
  }
}

.pre-nav-logo {
  flex: 0 1 100%;
  width: 100%;
  padding: 0.5rem 0;
  text-align: center;
}

.pre-nav .pre-nav-logo {
  margin-top: 0;
  margin-bottom: 0;
}

.pre-nav-logo-link {
  display: inline-block;
  max-width: 300px;
  margin: 0 auto;
  text-align: center;
}

.pre-nav-logo-link:hover {
  filter: saturate(0) brightness(2);
}

.pre-nav-logo-image {
  display: block;
  min-width: 200px;
  width: 100%;
  max-width: 12rem;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 880px) {
  .pre-nav-logo {
    flex: 0 1 50%;
    width: 25%;
    text-align: left;
  }

  .pre-nav-logo-image {
    display: block;
    max-width: 16.25rem;
    margin: 0 auto 0 0;
  }

  .audience-nav .menu_link {
    padding: 1rem 0.5rem;
  }
}

@media (max-width: 1000px) {
  .audience-nav {
    width: calc(100% - 3rem); /* to counter the transform */
  }
}

.audience-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -webkit-padding-start: 0;
  padding-inline-start: 0;
  color: rgb(var(--gold));
  font-size: 0.85rem;
}

@media (min-width: 881px) {
  .audience-nav {
    font-size: 0.8125rem;
  }
}

.audience-nav .menu_item:hover {
  background-color: transparent;
}

.tech-links .arrow {
  height: auto;
}

@media (min-width: 880px) {
  .tech-links .arrow {
    height: 100%;
    top: 50%;
    transform: translate(0.75rem, -50%);
  }
}

.tech-links:hover .menu_link,
.tech-links:hover .arrow {
  background-color: rgb(70 70 70);
}

.tech-links:hover .arrow::after {
  border-top-color: rgb(var(--gold));
}

.tech-links:hover .tech-links-menu {
  display: block;
}

.tech-links-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: -0.75rem !important;
  z-index: 1;
  min-width: 11rem;
  -webkit-padding-start: 0;
  padding-inline-start: 0;
  background-color: rgb(var(--white));
  color: rgb(var(--black));
  box-shadow: 0 4px 0 -1px rgb(var(--gold)), 0 0 0 1px rgb(var(--white) / 10%);
}

.tech-links-menu .menu_item {
  display: block;
}

.tech-links-menu a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 0.5rem;
  text-decoration: none;
}

/*
 * Safari has a bug causing the "Tech Links" text to wrap, because the +/- icon is
 * changing size.
 */
@supports (-webkit-hyphens: none) {
  .tech-links .submenu-button.arrow {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateX(calc(-100% + 1rem)) translateY(-50%);
  }

  .audience-wrapper {
    transform: translateX(-4em);
  }
}

/*
.tech-links-menu a::before {
  display: inline-block;
  content: "";
  width: 2em;
  height: 2em;
  margin-right: 0.5rem;
  background-image: url(../tech-links.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  opacity: 0.5;
}

.link-banweb::before {
  background-position: 16% center;
}

.link-map::before {
  background-position: 33% center;
}

.link-canvas::before {
  background-position: 83% center;
}

.link-email::before {
  background-position: 50% center;
}

.link-mymt::before {
  background-position: 66% center;
}

.link-settings::before {
  background-position: 100% center;
}
*/
.tech-links-menu a:hover,
.tech-links-menu a:focus {
  background-color: rgb(var(--black) / 20%);
  text-decoration: underline;
}

.give-apply {
  position: static;
  display: flex;
  justify-content: space-between;
  flex: 0 1 auto;
  /* quick fix for launch day */
  min-width: 200px;
}

/* give and apply buttons */
.give-apply .button {
  display: inline-block;
  justify-content: center;
  align-items: center;
  min-width: 10ch;
  margin-left: 0.5rem;
  padding: 0.5em 1em;
  border: 2px solid rgb(var(--gold));
  text-align: center;
  background-color: rgb(var(--black));
  text-decoration: underline;
}

.give-apply .button,
.give-apply .button:visited {
  color: rgb(var(--gold));
}

.give-apply .button:nth-of-type(even) {
  background-color: rgb(var(--gold));
}

.give-apply .button:nth-of-type(even),
.give-apply .button:nth-of-type(even):visited {
  color: rgb(var(--black));
}

.give-apply .button:hover,
.give-apply .button:nth-of-type(even):hover {
  background-color: rgb(var(--white));
  color: rgb(var(--black));
  border-color: rgb(var(--white));
}

.give-apply .button:focus {
  outline-offset: -4px;
}

.give-apply .button:nth-of-type(even):focus {
  outline-color: rgb(var(--black));
}

.audience-search {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex: 1 1 100%;
  font-size: 0.9em;
}

.audience-wrapper,
.desktop-search-bar {
  position: absolute;
  flex: 1;
}

.search-bar {
  display: flex;
}

/* audience styles */
.audience-wrapper {
  display: flex;
  justify-content: flex-end;
  z-index: 1;
  transform: translateX(-3.25em);
}

.audience-wrapper {
  transition: opacity 0.2s 0.5s;
}

.display-search .audience-wrapper {
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  z-index: auto;
}

/* end audience styles */
.desktop-search-bar {
  overflow: hidden;
  width: 100%;
}

.desktop-search-bar .search-text {
  width: 100%;
  height: auto;
  margin-right: -2rem;
}

.desktop-search-bar label {
  color: rgb(var(--gold));
  align-self: center;
}
.desktop-search-bar label[for='search'] {
  display: block;
  padding-left: 0.5rem;
}

.search-bar input,
.search-bar select {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0.5rem;
  padding-right: 0.75rem;
  background-color: rgb(var(--true-white));
  color: rgb(var(--black));
}

.desktop-search-bar input {
  border: 2px solid transparent;
  border-left-width: 0;
  border-right-width: 0;
}

.mobile-search-bar form {
  display: flex;
  width: 100%;
}

.mobile-search-bar input,
.mobile-search-bar select {
  flex: 1;
  width: 100%;
  border: 0 solid transparent;
  background-color: rgb(var(--white));
  color: rgb(var(--black));
}

.desktop-search-bar select {
  border: none;
}

.search-bar .search-options {
  box-shadow: -4px 0 0 -3px rgb(var(--black) / 25%);
}

.search-bar select {
  min-width: 8rem;
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-down-black.svg);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-size: 0.75em;
}

.mobile-search-bar select {
  max-width: 16ch;
  background-image: url(https://www.mtu.edu/mtu_resources/images/n/arrow-down-black.svg);
}

.desktop-search-bar input::placeholder {
  color: rgb(var(--gold) / 75%);
}

.search-bar input,
.search-bar select,
.search-bar button {
  border-radius: 0;
  -webkit-appearance: none;
  /* TODO: take this out for desktop */
  height: 2em;
  line-height: 1.5;
}

.search-bar input:focus,
.search-bar select:focus {
  outline: 1px dashed rgb(var(--black));
  outline-offset: -3px;
}

.search-bar button {
  position: relative;
  flex-shrink: 0;
  width: 2em;
  margin: 0;
  padding: 0;
  border: 2px solid rgb(var(--gold));
  background-color: rgb(var(--black));
  text-indent: -9999px;
  overflow: hidden;
}

.search-bar button:focus {
  outline: 1px dashed rgb(var(--white));
  outline-offset: -3px;
}

.search-text::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

.search-bar .search-clear {
  width: 1.5rem;
  padding: 0 0.25rem 0 0.5rem;
  border: 0 solid transparent;
  background: rgb(var(--white));
}

button.search-clear:focus {
  outline: 1px dashed rgb(var(--black));
}

.search-clear:focus,
.search-text:focus + .search-clear {
  background: transparent
    url('https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg')
    no-repeat center center;
  background-size: 50%;
}

.search-fields {
  display: flex;
  gap: 0.25rem;
  position: relative;
  z-index: 1;
  transform: translateX(-0.25rem);
  width: 100%;
  margin: 0;
  transition: transform 0.25s 0.25s;
}

.display-audience .search-fields {
  transform: translateX(110%);
  pointer-events: none;
  z-index: 0;
}

.search-options option {
  background-color: Canvas;
  color: CanvasText;
}

.search-button,
.search-toggle-button {
  background-image: url('https://www.mtu.edu/mtu_resources/images/n/search.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50%;
  cursor: pointer;
}

.search-bar .search-toggle-button {
  background-color: rgb(var(--true-black));
}

.search-bar .search-button {
  text-indent: 0;
  width: auto;
  padding: 0 0.25rem;
  background: rgb(var(--black));
  color: rgb(var(--gold));
}

.search-bar button:active {
  transition: background-color 0s;
  background-color: rgb(var(--white) / 15%);
}

.search-toggle-button {
  position: relative;
  z-index: 5;
  border: none !important;
  background-size: 75%;
  color: rgb(var(--gold));
}

.search-toggle-button:hover,
button.search-toggle-button:active {
  background-color: rgb(var(--gold));
  background-image: url('https://www.mtu.edu/mtu_resources/images/n/search-black.svg');
}

.search-toggle-button.active,
.search-toggle-button.active:active {
  background-color: rgb(var(--gold));
  background-image: url('https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg');
}

button.search-toggle-button:focus {
  outline-color: rgb(var(--white));
}

button.search-toggle-button.active:focus {
  outline-color: rgb(var(--black));
}

.nav-bar {
  color: rgb(var(--white));
  background-color: rgb(var(--black) / 95%);
  line-height: 1.2;
  transition: transform 0.5s;
}

@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))) {
  .nav-bar {
    background-color: rgb(var(--black) / 90%);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
}

@media (min-width: 880px) {
  .nav-bar {
    font-size: 0.9em;
  }

  .nav-bar.nav-small {
    font-size: 0.8em;
  }
}

.nav-bar-collapse {
  transform: translateY(-100%);
}

.nav-bar .menu {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.nav-few .menu {
  justify-content: space-evenly;
}

.nav-bar .menu .menu_item {
  display: inline-flex;
  justify-content: flex-start;
  margin: 0;
}

.nav-tall .menu .menu_item {
  flex: 0;
  min-width: min-content;
}

.nav-bar .menu {
  display: flex;
}

.nav-bar .menu_link {
  text-align: center;
}

.nav-bar .menu_submenu {
  box-shadow: 0 3px 0 0 rgb(var(--gold));
}

@media (min-width: 880px) {
  .nav-bar .submenu_link {
    font-size: 0.85rem;
  }
}

.nav-bar .arrow {
  flex: auto;
  margin-left: 0;
  margin-right: auto;
  justify-content: flex-start;
}

.mobile-menu-button {
  display: block;
  position: relative;
  align-self: stretch;
  min-width: 3.25rem;
  height: auto;
  padding: 0;
  background-color: rgb(var(--gold));
  border: rgb(var(--gold)) solid 0.5rem;
  color: rgb(var(--black));
  cursor: pointer;
}

.mobile-button-text {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  font-size: 0.9em;
  transition: opacity 0.2s;
  pointer-events: none;
}

.nav .mobile-menu-button:focus {
  outline-color: rgb(var(--black));
  outline-offset: -3px;
}

.active .mobile-button-text {
  opacity: 0;
}

.mobile-menu-button::before,
.mobile-menu-button::after {
  position: absolute;
  left: 50%;
  top: 30%;
  width: 75%;
  height: 0.25rem;
  background-color: rgb(var(--black));
  transform-origin: center center;
  transition: top 0.2s;
  content: '';
}

@media (max-width: 320px) {
  .mobile-menu-button {
    min-width: 2.75rem;
  }

  .mobile-button-text {
    opacity: 0;
  }

  .mobile-menu-button::before,
  .mobile-menu-button::after {
    top: 50%;
  }

  .mobile-menu-button.active::before,
  .mobile-menu-button.active::after {
    top: 30%;
  }
}

.mobile-menu-button[data-inactive]::before,
.mobile-menu-button[data-inactive]::after {
  animation-duration: 0s;
}

.mobile-menu-button::before {
  animation: 0.25s ease-out 0s 1 forwards topBar;
}

.mobile-menu-button::after {
  animation: 0.25s ease-out 0s 1 forwards bottomBar;
}

.mobile-menu-button.active::before {
  animation: 0.25s ease-out 0s 1 both topBarCross;
}
.mobile-menu-button.active::after {
  animation: 0.25s ease-out 0s 1 both bottomBarCross;
}

@keyframes topBar {
  0% {
    transform: translate(-50%, 100%) rotate(45deg) scalex(1.5);
  }
  33% {
    transform: translate(-50%, -50%) rotate(0deg) scalex(1);
  }
  100% {
    transform: translate(-50%, 100%) rotate(0deg) scalex(1);
  }
}
@keyframes bottomBar {
  0% {
    transform: translate(-50%, 100%) rotate(-45deg) scalex(1.5);
  }
  33% {
    transform: translate(-50%, -50%) rotate(0deg) scalex(1);
  }
  100% {
    transform: translate(-50%, -200%) rotate(0deg) scalex(1);
  }
}
@keyframes topBarCross {
  0% {
    transform: translate(-50%, 100%) rotate(0deg) scalex(1);
  }
  50% {
    transform: translate(-50%, -50%) rotate(0deg) scalex(1);
  }
  100% {
    transform: translate(-50%, 130%) rotate(45deg) scalex(1.5);
  }
}
@keyframes bottomBarCross {
  0% {
    transform: translate(-50%, -200%) rotate(0deg) scalex(1);
  }
  50% {
    transform: translate(-50%, -50%) rotate(0deg) scalex(1);
  }
  100% {
    transform: translate(-50%, 130%) rotate(-45deg) scalex(1.5);
  }
}

.offscreen-nav {
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-100%, 58px);
  width: 100%;
  height: calc(
    100% - env(safe-area-inset-bottom, 0) - env(safe-area-inset-top, 0) - 58px
  );
  background-color: rgb(var(--true-white));
  transition: transform 0.3s ease-in-out;
}

@media (min-width: 640px) {
  .offscreen-nav {
    max-width: 400px;
    box-shadow: 100vw 100vw 0 100vw rgb(var(--black) / 0%);
    transition: transform 0.3s ease-in-out, box-shadow 0.3s;
  }

  .offscreen-nav.active {
    box-shadow: 100vw 100vw 0 100vw rgb(var(--black) / 70%);
  }
}

@media (min-width: 880px) {
  .offscreen-nav {
    display: none;
  }
}

.offscreen-nav.active {
  transform: translate(0, 58px);
}

.mobile-search-bar {
  padding: 0.75rem;
  background-color: rgb(var(--grey));
}

.mobile-search-bar form {
  background-color: rgb(var(--white));
}

.mobile-search-bar .search-clear {
  transform: translatex(-1px);
}

.mobile-search-bar .search-clear:focus,
.mobile-search-bar .search-text:focus + .search-clear {
  background: rgb(var(--white))
    url('https://www.mtu.edu/mtu_resources/images/n/arrow-up-black.svg')
    no-repeat center center;
  background-size: 50%;
}

.mobile-search-bar .search-button {
  background-image: url('https://www.mtu.edu/mtu_resources/images/n/search.svg');
  text-indent: -999px;
  width: 2rem;
  height: auto;
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center center;
  overflow: hidden;
  border-style: none;
}

.offscreen-nav {
  color: rgb(var(--black));
}

.offscreen-nav .menu {
  position: relative;
  height: 100%;
  height: calc(
    100% + env(safe-area-inset-bottom, 0) + env(safe-area-inset-top, 0)
  );
  overflow-y: auto;
  overscroll-behavior: contain;

  --search-height: var(--nav-height, 58px);
  width: 100%;
  padding-bottom: calc(var(--nav-height, 58px) + var(--search-height, 58px));
}

.offscreen-nav .arrow {
  justify-self: flex-end;
}

.offscreen-nav .menu_item {
  display: flex;
  flex-wrap: wrap;
}

.offscreen-nav .menu_submenu {
  position: static;
  flex-basis: 100%;
  background-color: rgb(var(--dark-gray));
  color: rgb(var(--white));
}

.offscreen-nav .menu_item {
  border: 1px solid rgb(var(--black) / 25%);
  border-top-width: 0px;
}

.offscreen-nav .menu_item:first-of-type {
  border-top: 1px solid rgb(var(--black) / 25%);
}

.offscreen-nav .submenu-button {
  width: 4rem;
  box-shadow: inset 1px 0 0 0 rgb(var(--black) / 25%);
  outline-offset: -3px;
  outline-color: rgb(var(--black));
}

.offscreen-nav div.menu_link + .submenu-button {
  box-shadow: none;
}

.offscreen-nav div.menu_link + .submenu-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3.125em;
  z-index: 1;
}

.offscreen-nav .submenu-button.arrow::after {
  --size: 0.75rem;
  transform: scaleY(1);
  margin: auto;
  border-top-color: rgb(var(--black));
}

.offscreen-nav .menu_item:hover {
  background-color: rgb(var(--black) / 20%);
}

.offscreen-nav .menu_item .submenu_item:hover {
  background-color: rgb(var(--black) / 40%);
}

.offscreen-nav .menu_item-black {
  border-bottom-color: rgb(var(--white));
}

.offscreen-nav .menu_item.menu_item-black {
  background-color: rgb(var(--black));
}

.offscreen-nav .menu_item-black .submenu-button {
  outline-color: rgb(var(--white));
}

.offscreen-nav .menu_item-black a + button {
  box-shadow: inset 1px 0 0 0 rgb(var(--white) / 50%);
}

.offscreen-nav .menu_item-black .submenu-button.arrow::after {
  border-top-color: rgb(var(--gold));
}

.offscreen-nav .menu_item-black .menu_submenu {
  background-color: rgb(var(--white) / 20%);
}

.menu_item.active .arrow::after {
  transform: scaleY(-1);
}

.offscreen-nav .menu_link {
  flex: 1;
  text-underline-offset: 0.05em;
}

.offscreen-nav .menu_link.active {
  background-color: rgb(var(--black) / 30%);
}

.menu_item.active .menu_submenu {
  display: block;
}

.offscreen-nav .tech-links-menu a {
  padding: 0.75rem;
}

.offscreen-nav .tech-links-menu a::before {
  display: none;
}

.offscreen-nav .give-apply {
  justify-content: stretch;
  padding: 0;
}

.offscreen-nav .give-apply .menu_item {
  flex: 1;
  border: none;
}

.offscreen-nav .give-apply .menu_item:nth-of-type(odd) .menu_link,
.offscreen-nav .give-apply .menu_item:nth-of-type(odd) .menu_link:visited {
  color: rgb(var(--gold));
  box-shadow: inset -1px 0 0 0 rgb(var(--black) / 20%);
}

.offscreen-nav .give-apply .menu_item .menu_link {
  width: 100%;
  justify-content: center;
}

.offscreen-nav .give-apply .menu_item:hover .menu_link {
  color: rgb(var(--black));
  background-color: rgb(var(--white));
}
