body {
  font-family: sans-serif;
    background-color: #111111;
    margin:0;
}

html{
    scroll-behavior: smooth;
}

html, body{
  height: 100vh;
}

.snowflake {
  color: #fff;
  font-size: 1em;
  font-family: Arial;
  text-shadow: 0 0 1px #000;
}

@-webkit-keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@-webkit-keyframes snowflakes-shake{0%{-webkit-transform:translateX(0px);transform:translateX(0px)}50%{-webkit-transform:translateX(80px);transform:translateX(80px)}100%{-webkit-transform:translateX(0px);transform:translateX(0px)}}@keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@keyframes snowflakes-shake{0%{transform:translateX(0px)}50%{transform:translateX(80px)}100%{transform:translateX(0px)}}.snowflake{position:fixed;top:-10%;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;-webkit-animation-name:snowflakes-fall,snowflakes-shake;-webkit-animation-duration:10s,3s;-webkit-animation-timing-function:linear,ease-in-out;-webkit-animation-iteration-count:infinite,infinite;-webkit-animation-play-state:running,running;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running}.snowflake:nth-of-type(0){left:1%;-webkit-animation-delay:0s,0s;animation-delay:0s,0s}.snowflake:nth-of-type(1){left:10%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(2){left:20%;-webkit-animation-delay:6s,.5s;animation-delay:6s,.5s}.snowflake:nth-of-type(3){left:30%;-webkit-animation-delay:4s,2s;animation-delay:4s,2s}.snowflake:nth-of-type(4){left:40%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(5){left:50%;-webkit-animation-delay:8s,3s;animation-delay:8s,3s}.snowflake:nth-of-type(6){left:60%;-webkit-animation-delay:6s,2s;animation-delay:6s,2s}.snowflake:nth-of-type(7){left:70%;-webkit-animation-delay:2.5s,1s;animation-delay:2.5s,1s}.snowflake:nth-of-type(8){left:80%;-webkit-animation-delay:1s,0s;animation-delay:1s,0s}.snowflake:nth-of-type(9){left:90%;-webkit-animation-delay:3s,1.5s;animation-delay:3s,1.5s}.snowflake:nth-of-type(10){left:5%;-webkit-animation-delay:1.5s,1.5s;animation-delay:1.5s,1.5s}.snowflake:nth-of-type(11){left:44%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(12){left:32%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(13){left:44%;-webkit-animation-delay:3.5s,3.5s;animation-delay:3.5s,3.5s}.snowflake:nth-of-type(14){left:48%;-webkit-animation-delay:4s,4s;animation-delay:4s,4s}.snowflake:nth-of-type(15){left:91%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(16){left:58%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(17){left:82%;-webkit-animation-delay:2.5s,2.5s;animation-delay:2.5s,2.5s}

#mainbody {
    text-align: center;
    display:flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height:100vh;
    background-image:url(images/xmas-1.jpg);
    background-size:cover;
    text-shadow: 1px 1px 5px #111;
}

#header {
    color: #FFFFFF;
    text-shadow: 5px 2px 50px black;
    font-size: 50px;
    margin-top: 20px;
    margin-bottom: 50px;
    font-weight: bold;
}

#questioncontainer {
  color: #ffffff;
  font-size: 3em;
}

#instructions{
    color: #ffffff;
    font-size: 2.4em;
    line-height: 1.7em;
    width: 80%;
    display: flex;
    flex-direction: column;
}

#presentcount {
  position: fixed;
  bottom: 0;
  margin-bottom: 25px;
    color: #ffffff;
    font-size:2em;
}

.button {
    background:none;
    border: solid 4px #fff;
    color: #fff;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    font-size: 25px;
    margin-top: 50px;
    cursor: pointer;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
}



.button:hover, .answer-possibility:hover {
    background-color: #ffffff;
    color: #111111;
    box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

#codeinput {
    width: max(40vw, 300px);
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: 3px solid #BF4A3F;
  border-radius: 4px;
  background-color: #fff;
  color: #BF4A3F;
  font-size: 50px;
  text-transform: uppercase;
    text-align:center;
}

#openanswer {
  width: 50%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: 2px solid #BF4A3F;
  border-radius: 4px;
  background-color: #fffff2;
  font-size: 50px;
  text-align: center;
  text-transform: uppercase;
}

#questioncontainer{
    display:flex;
    flex-direction: column;
    justify-content:center;
    align-items:center;
    height:100vh;
    background-image:url(images/xmas-4.jpg);
    background-size:cover;
}

#questiontext {
    text-align: center;
    padding: 0 50px;
    margin-bottom: 50px;
}

.answer-possibility {
  background-color: #BF4A3F;
  border: 2px solid #AABCA6;
  color: #Ffffff;
  padding: 15px 32px;
  text-decoration: none;
  font-size: 25px;
  margin-top: 20px;
  cursor: pointer;
    border-top-left-radius: 20px;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

.errormessage {
  color: #fff;
  font-size: 40px;
    margin-top: 30px;
}

.succesmessage {
  color: #fff;
  font-size: 40px;
    margin-top: 30px;
}

#generatorcontainer{
    display:flex;
    flex-direction: column;
    justify-content:center;
    align-items:center;
    width:100vw;
    height:100vh;
    background-image:url(images/xmas-4.jpg);
    background-size:cover;
    text-align: center;
}

#generator-fields {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#generated-question {
    white-space-collapse: preserve;
    text-align: initial;
    align-self: center;
    font-size: 25px;
    line-height: 40px;
}

#generator-error {
    color: #BF4A3F;
    margin-top: 20px;
}

.input-field {
    width: 70vw;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 3px solid #BF4A3F;
    border-radius: 4px;
    background-color: #fff;
    color: #BF4A3F;
    font-size: 30px;
    text-align:center;
    display: block;
}
