body {
  margin: 0;
  overflow: hidden;

  text-align: center;
  
  background-color: #CADEE6;
}

h1 {
  color: #1a5165;
}

h2 {
  color: #5288ac;
}

div#bingo-card {
  display: flex;
  justify-content: center;
}

section#villagers {
  width: 60vw;
  height: 100vh;
  
  overflow: scroll;
}

#instructions {
  margin: 3vh 5vw 0 2.25vw;
  padding-top: 1.5vh;

  height: 5vh;
  width: 35vw;

  font-size: 30px;

  background-color: #f7f2dc;
  border-radius: 30px;
}

#randomize {
  cursor: pointer;

  margin-top: 1vh;
  margin-bottom: -1vh;

  color: #1a5165;

  font-style: italic;
  font-weight: bolder;
}

#randomize span {
  font-style: normal;
}

.animal-type-header {
  margin-left: 2vw;
  
  color: #5288ac;
  text-align: left;

  border-bottom: 2px solid #5288ac;
}

.animal-portrait {
  height: 7vh;
}

#villagers-container {
  margin: 5vh 2.5vw 0 2.5vw;
  color: #1a5165;
}

.animal-type-portrait-container {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
}

.portrait-container {
  width: 9vw;
  margin: .5vh;

  color: #2e556e;
  font-weight: 500;

  filter: drop-shadow(12px 12px 25px rgba(0,0,0,0.25));

  cursor: pointer;
}

section#canvas {
  height: 100vh;
  width: 40vw;
  
  background-color: #CADEE6;
}

canvas {
  margin-top: 3vh;
}

#logo img {
  height: 10vh;

  margin: 2vh 0 0 2vw;
}

#top {
  display: flex;
  flex-flow: row nowrap;

  height: 10vh;
}

#notice {
  width: 40vw;

  margin: 5vh 0 0 1.1vw;

  text-align: left;
  font-style: normal;
  font-weight: 100;
  font-size: x-large;
}

div#download-btn {
  margin-top: 2vh;
  margin-left: 13vw;

  height: 50px;
  width: 250px;
  background-color: #2e556e;

  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}

a#download {
  font-size: 20px;
  text-decoration: none;
  color: white;
}