html {
  font-family: sans-serif;
}

h1, h2, h3, h4, h6, h6, p {
  margin: 0;
}

body {
  background-color: rgb(164, 223, 255);
}

.large-font {
  font-size: large;
}

.large-font code {
  font-size: larger;
}

.card-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;

  margin-top: 0.5rem;
}

@media (max-width: 1700px) {
  .card-container {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 1200px) {
  .card-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .card-container {
    grid-template-columns: 1fr;
  }
}

.card {
  display: flex;
  align-items: flex-start;

  padding: 1rem;
  border: 1px solid gray;
  background-color: white;
  margin: 0.3rem;
}

.card-info {
  display: flex;
  flex-direction: column;

  margin-left: 0.5rem;
}

.card-text:not(:first-child) {
  margin-top: 0.5rem;
}

.card-text {
  margin-bottom: 0.5rem;
}

.card-info > a {
  margin-top: 0.5rem;
}

.card-info > h2 {
  margin-bottom: 8px;
}

.card-picture {
  width: 6rem;
}

header {
  font-size: larger;
}

.errors {
  background-color: lightcoral;
}

.helptext {
  font-size: x-small;
  color: gray;
}

#flashes {
  position: absolute;
  right: 1rem;
  background-color: gold;
  width: 20rem;
  padding: 1rem;
  box-shadow: 2px 2px 5px 2px black;
}

.students-list a {
  font-weight: bold;
}

header {
  display: flex;
  flex-direction: column;
}

.userbar {
  align-self: flex-end;
  padding: 0.3rem 2rem;
  background-color: white;
  margin-right: 5px;
  border: 1px solid gray;
}

.university-warning {
  font-style: italic;
  margin-top: 0.5rem;
  background-color: yellow;
  display: inline-block;
  margin-left: 6px;
}

.special {
  box-shadow: 0px 0px 5px 2px gold;
}

/* start navbar */
body {
  margin: 0px;
}

.nav {
  display: flex;
  justify-content: space-between;
  height: 55px;
  width: 100%;
  background-color: #ffffff;
  position: relative;
}

.nav > .nav-header {
  display: inline;
}

.nav > .nav-header > .nav-title {
  display: inline-block;
  font-size: 22px;
  color: rgb(33, 33, 33);
  padding: 10px 10px 10px 10px;
  font-family: Montserrat;
}

.nav > .nav-btn {
  display: none;
}

.nav > .nav-links {
  font-size: 18px;
  font-family: Bitter;
}

.nav > .nav-links > a {
  display: inline-block;
  padding: 13px 10px 13px 10px;
  text-decoration: none;
  color: rgb(33, 33, 33);
  border-bottom: 8px solid transparent;
}

.nav > .nav-links > a:hover {
  opacity: 0.6;
}

.nav > .nav-links > a.active {
  border-bottom: 8px solid rgba(0,123,191,1);
}

.nav > #nav-check {
  display: none;
}

@media (max-width: 900px) {
  .nav > .nav-btn {
    display: inline-block;
    position: absolute;
    right: 0px;
    top: 0px;
  }
  .nav > .nav-btn > label {
    display: inline-block;
    width: 50px;
    height: 29px;
    padding: 13px;
  }
  .nav > .nav-btn > label:hover,.nav  #nav-check:checked ~ .nav-btn > label {
    background-color: rgba(0, 0, 0, 0.3);
  }
  .nav > .nav-btn > label > span {
    display: block;
    width: 25px;
    height: 10px;
    border-top: 2px solid #eee;
  }
  .nav > .nav-links {
    position: absolute;
    display: block;
    width: 100%;
    background-color: #333;
    height: 0px;
    transition: all 0.3s ease-in;
    overflow-y: hidden;
    top: 55px;
    left: 0px;
  }
  .nav > .nav-links > a {
    display: block;
    width: 100%;
    background: white;
  }
  .nav > .nav-links > a.active {
    border-bottom-color: transparent;
  }
  .nav > #nav-check:not(:checked) ~ .nav-links {
    height: 0px;
  }
  .nav > #nav-check:checked ~ .nav-links {
    height: calc(100vh - 55px);
    overflow-y: auto;
  }
}
/* end navbar */
