body {
  background: #fcfcfc;
  margin: 0 15px;
  padding-bottom: 20px;
}

#header {
  text-align: center;
  color: #fdfdfd;
  text-shadow: 0 0 1px #000;
  padding: 30px 0 45px;
  border-bottom: 1px solid #ddd;
  margin: 0 -30px 20px;
  /* background taken from https://lea.verou.me/css3patterns/ */
  background-color:black;
  background-image:
    radial-gradient(white, rgba(255,255,255,.2) 2px, transparent 40px),
    radial-gradient(white, rgba(255,255,255,.15) 1px, transparent 30px),
    radial-gradient(white, rgba(255,255,255,.1) 2px, transparent 40px),
    radial-gradient(rgba(255,255,255,.4), rgba(255,255,255,.1) 2px, transparent 30px);
  background-size: 550px 550px, 350px 350px, 250px 250px, 150px 150px;
  background-position: 0 0, 40px 60px, 130px 270px, 70px 100px;
}

#title {
  font-size: 5em;
  text-shadow: 0 0 5px #000;
  margin-bottom: 5px
}

#subsubtitle {
  font-size: 1.3em;
}

#subsubtitle a {
  color: #fdfdfd;
  text-decoration: underline;
}

#titlePanel {
  margin: 10px 0;
  font-weight: bold;
  font-size: 50px;
}

#leftPanel {
  background: #fff;
  font-size: 18px;
}

.selectize-input {
  font-size: 18px;
  line-height: 24px;
}

.selectize-dropdown {
  font-size: 18px;
  line-height: 24px;
}

.selectize-dropdown-content {
  max-height: 300px;
  padding: 0;
}

.selectize-dropdown-content .option {
  border-bottom: 1px dotted #ccc;
}

#created-by-dean {
  font-size: 0.9em;
}

#newgame {
  background: #fafafa;
}

#board-inner {
  position: relative;
  padding: 30px;
  display: inline-block;
  background: #fff;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border: 1px solid #aaa;
}
@media only screen and (max-width: 550px) {
  #board-inner {
    padding: 15px;
  }
}
.board-row {
  display: inline-block;
}
.board-cell {
  display: inline-block;
  width: 50px;
  height: 50px;
  cursor: pointer;
  border: 1px solid #444;
  border-radius: 25px;
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
}
@media only screen and (max-width: 550px) {
  .board-cell {
    width: 30px;
    height: 30px;
  }
}
.board-cell.off {
  background: #009900;
}
.board-cell.on {
  background: #00FF1C;
  background: -webkit-radial-gradient(rgb(150,250,150), #00ee00);
  background: -moz-radial-gradient(rgb(150,250,150), #00ee00);
  background: radial-gradient(rgb(150,250,150), #00ee00);
}
.board-cell.off:hover {
  background: #3AB903;
}
.board-cell.on:hover {
  background: #3AB903;
  background: -webkit-linear-gradient(rgb(66, 255, 66), #065006);
  background: -moz-linear-gradient(rgb(66, 255, 66), #065006);
  background: radial-gradient(rgb(66, 255, 66), #065006);
}
.board-cell.solution {
  border: 4px solid #D80000;
}

.active #board-shield {
  display: none;
}
#board-shield {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
}

#congrats {
  font-size: 50px;
  display: inline-block;
  padding: 15px;
  font-weight: bold;
  background: #42CA42;
  margin-bottom: 20px;
  color: white;
  border: 1px solid #ccc;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 550px) {
  #congrats {
    font-size: 30px;
  }
}
