html,
body {
  margin: 0;
  padding: 0;
  font-size: large;
  font-family: monospace;
}

.header {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 20%;
  min-height: 20%;
  width: fit-content;
  background-color: black;
  transform: translate(-50%, -50%);
  padding: 15px;
  border-radius: 10px;
}

.header span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  vertical-align: middle;
  font-size: xx-large;
  font-weight: bold;
  font-family: monospace;
  text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
  1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}

.banner {
  position: relative;
  text-align: center;
  color: black;
  display: block;
  height: 42vh;
  width: 100%;
}

.banner img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top: 5px solid black;
  border-bottom: 5px solid black;
}

#navbar {
  background-color: black;
  display: flex;
  padding-inline: 30px;
  flex-direction: row;
  align-items: stretch;
  align-content: stretch;
  justify-content: space-around;
}

#navbar a {
  text-decoration: none;
  flex-grow: 1;
  padding: 15px;
  text-align: center;
  color: white;
}

#navbar a:hover {
  background-color: #101010;
}

main {
  padding: 30px;
}

.card {
  display: inline-block;
  background-color: #ffffff;
  border-radius: 5px;
  min-height: 400px;
  width: 300px;
  box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.3);
  padding: 15px;
}

#proj-list {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 25px;
  justify-content: center;
  padding: 30px;
  flex-wrap: wrap;
  
}

.card .hero {
  display: block;
  position: relative;
  width: 100%;
  min-height: 200px;
}

.card .title {
  display: block;
  margin-top: 10px;
  font-size: x-large;
  font-weight: bold;
  width: 100%;
  color: #000000;
}

.card .description {
  margin-top: 15px;
  display: block;
  width: 100%;
  color: #000000;
}

.proj img {
  content:url("./media/Icons8/icons8-program-100.png")
}

.script img {
  content:url("./media/Icons8/icons8-file-100.png")
}

.tool img {
  content:url("./media/Icons8/icons8-tools-100.png")
}

footer, footer a {
  background-color: black;
  color: white;
  text-decoration: none;
}

footer {
  padding: 30px;
}

  /* Extra small devices (phones, 600px and down) */
  @media only screen and (max-width: 600px) {
  
    html,
    body {
      font-size: initial;
    }

    .header {
      width: -moz-available;          /* WebKit-based browsers will ignore this. */
      width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
      width: stretch;
    }
  
    .card {
      width: 100%;
      width: -moz-available;          /* WebKit-based browsers will ignore this. */
      width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
      width: stretch;
      margin-bottom: 15px;
    }

    .card .hero {
      width: 100%;
    }
    
    #proj-list a {
      width: 100%;
    }

    #proj-list {
      padding: 10px;
    }
  }
  
  /* Small devices (portrait tablets and large phones, 600px and up) */
  /* @media only screen and (max-width: 768px) {...} */
  