body {
  font-family: 'Helvetica', 'Arial', sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}
h1 {
  text-shadow: 1px 1px 5px #000000;
}
h3 {
  margin: 0;
}
.btn {
 margin: 10px;
 padding: 5px 25px;
 background: #FFFFFF;
 border: none;
 font-size: 18px;
 text-transform: uppercase;
 text-decoration: none;
 color: #000000;
 border: 1px solid #000000;
 border-radius: 10px;
}
a.btn:active {
  background: #4554FF;
  color: #FFFFFF;
  border: 1px solid #EEEEEE;
}
.banner-wrapper {
  width: 100%;
  height: 60px;
  background: #4554FF;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-style: italic;
  box-shadow: 0px 0px 2px 2px rgba(0,0,0,.8)
}
.banner {
  display: flex;
  width: 250px;
  align-items: center;
}
.banner a {
  text-decoration: none;
  color: #FFFFFF;
}
.headericon {
  width: 40px;
  height: 40px;
  background: url('favicon.png');
  background-size: contain;
  margin-right: 15px;
}
.main-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: auto;
}
.controls {
  margin: 10px;
  display: flex;
}
.buttons {
  position: relative;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.button {
  background-size: contain;
}
.message {
  position: absolute;
  top: 46%;
  left: 40%;
  width: 120px;
  text-align: center;
  font-size: 25px;
  color: #FFFFFF;
  font-style: italic;
  font-weight: 700;
  text-shadow: 1px 1px 5px #000000;
}
.score {
  font-size: 40px;
  margin: 0 25px;
}
.red,
.green,
.blue,
.yellow {
  width:300px;
  height: 300px;
}
.red {
  border-radius: 300px 0px 0px 0px;
  background-image: url('images/red-dark.png');
}
.red.press {
  border-radius: 300px 0px 0px 0px;
  background-image: url('images/red-light.png');
}
.green {
  border-radius: 0px 300px 0px 0px;
  background-image: url('images/green-dark.png');
}
.green.press {
  border-radius: 0px 300px 0px 0px;
  background-image: url('images/green-light.png');
}
.blue {
  border-radius: 0px 0px 300px 0px;
  background-image: url('images/blue-dark.png');
}
.blue.press {
  border-radius: 0px 0px 300px 0px;
  background-image: url('images/blue-light.png');
}
.yellow {
  border-radius: 0px 0px 0px 300px;
  background-image: url('images/yellow-dark.png');
}
.yellow.press {
  border-radius: 0px 0px 0px 300px;
  background-image: url('images/yellow-light.png');
}
.top,
.bottom {
  display: flex;
  flex-direction: row;
}
.bottom {
  margin-bottom: 10px;
}
@media only screen and (max-width : 675px){
  h3 {
    font-size: 16px;
  }
  .message {
    font-size: 15px;
    width: 75px;
  }
  .main-wrapper {
    margin-top: 0px;
  }
  .banner-wrapper{
    height: 40px;
  }
  .headericon {
    height: 30px;
    width: 30px;
  }
  .btn {
    font-size: 15px;
    padding: 5px 20px;
  }
  .red,
  .green,
  .blue,
  .yellow {
    width:175px;
    height: 175px;
  }
  .red {
    border-radius: 175px 0px 0px 0px;
  }
  .red.press {
    border-radius: 175px 0px 0px 0px;
  }
  .green {
    border-radius: 0px 175px 0px 0px;
  }
  .green.press {
    border-radius: 0px 175px 0px 0px;
  }
  .blue {
    border-radius: 0px 0px 175px 0px;
  }
  .blue.press {
    border-radius: 0px 0px 175px 0px;
  }
  .yellow {
    border-radius: 0px 0px 0px 175px;
  }
  .yellow.press {
    border-radius: 0px 0px 0px 175px;
  }
}