@font-face {
  font-family: 'Gibson-Regular';
  font-style: normal;
  font-weight: 200;
  src: url("../font/Gibson-Regular.otf");
}

@font-face {
  font-family: 'Gibson-SemiBold';
  font-style: normal;
  font-weight: 400;
  src: url("../font/Gibson-SemiBold.otf");
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
}

button:focus {
  outline: 0;
}

.homebody {
  background-image: url("../img/homepage.jpg");
}

.otherbody {
  background-image: url("../img/background.jpg");
}

body {
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  font-family: Gibson-Regular, sans-serif;
  color: white;
  opacity: 1;
  transition: 0.7s opacity;
}

body #view {
  height: 100%;
}

body #view > div {
  height: 100%;
}

body.fade {
  opacity: 0;
  transition: none;
}

#view > div.welcome {
  display: grid;
  background-repeat: no-repeat;
  background-size: cover;
  grid-template-rows: auto 130px 130px 130px;
  grid-template-columns: 260px 45% auto 350px 100px;
  grid-row-gap: 10px;
}

#view > div.welcome .message {
  color: #003E51;
  grid-row-start: 2;
  grid-column-start: 2;
  text-align: left;
  font-size: 1vw;
}

#view > div.welcome h1 {
  color: #003E51;
  grid-row-start: 3;
  grid-column-start: 2;
  text-align: left;
  font-size: 1.5vw;
}

#view > div.welcome button {
  grid-area: 3 / 4;
  background-image: url("../img/button.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-color: transparent;
  background-position: calc(100%);
  border: 0px;
  max-height: 58px;
  max-width: 350px;
  text-align: left;
  font-size: 2.5vh;
  font-family: Gibson-Regular;
  color: #018AAA;
  padding-left: 20px;
  width: 100%;
  justify-self: end;
  cursor: pointer;
}

#view > div.welcome button:hover {
  background-image: url("../img/button_hover.png");
  color: white;
}

#view > div.results {
  display: grid;
  background-image: url("../img/scoringpage.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  grid-template-rows: auto 130px 130px 130px;
  grid-template-columns: 260px auto 350px 100px;
  grid-row-gap: 10px;
}

#view > div.results .message {
  color: #003E51;
  grid-row-start: 2;
  grid-column-start: 2;
  text-align: left;
  font-size: 1.8vw;
}

#view > div.results h1 {
  color: #003E51;
  grid-row-start: 3;
  grid-column-start: 2;
  text-align: left;
  font-size: 1.8vw;
}

#view > div.results button {
  grid-area: 3 / 3;
  background-image: url("../img/button.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-color: transparent;
  background-position: calc(100%);
  border: 0px;
  max-height: 58px;
  max-width: 350px;
  text-align: left;
  font-size: 2.5vh;
  font-family: Gibson-Regular;
  color: #018AAA;
  padding-left: 20px;
  width: 100%;
  justify-self: end;
  cursor: pointer;
}

#view > div.results button:hover {
  background-image: url("../img/button_hover.png");
  color: white;
}

#view > div.questions {
  left: 20px;
  right: 20px;
  bottom: 20px;
  top: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  position: absolute;
  background-color: #018AAA;
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 3fr;
  grid-template-areas: "sd main" ". ." "fl fr" ". .";
}

#view > div.questions .left {
  grid-area: sd;
  grid-template-rows: auto 50px 58px;
  display: grid;
}

#view > div.questions .left aside {
  grid-row: 1 / 1;
  background-image: url("../img/logo.svg");
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  background-position: top;
}

#view > div.questions .left .index {
  grid-row: 3 / 3;
  font-size: 2vw;
  margin-left: 40px;
}

#view > div.questions main {
  grid-area: main;
  display: grid;
  grid-template-columns: 15px auto 120px;
  grid-template-rows: auto 228px auto 50px 53px;
  grid-template-areas: ". header ." ". content ." ". arrow ." ". . ." ". footer .";
  align-items: center;
}

#view > div.questions main .question {
  grid-area: header;
  text-align: left;
  font-size: 35px;
  font-family: Gibson-SemiBold;
  line-height: 1.1;
}

#view > div.questions main .question h2 {
  font-size: 2.4vw;
}

#view > div.questions main .question h3 {
  font-size: 2vw;
  line-height: 1.2;
  font-family: Gibson-Regular;
}

#view > div.questions main .education {
  grid-area: 1 / 2 / span 3;
  text-align: left;
  font-family: Gibson-SemiBold;
}

#view > div.questions main .education div {
  font-weight: 400;
  font-size: calc(16px + 1vw);
  line-height: 1.3;
  word-break: break-word;
}

#view > div.questions main .education div small {
  font-size: 0.6em;
}

#view > div.questions main .education div small a {
  color: white;
  line-height: 1.0;
}

#view > div.questions main .arrow {
  grid-area: arrow;
  align-self: end;
}

#view > div.questions main .arrow img {
  width: 100%;
}

#view > div.questions main .prize {
  grid-area: content;
  text-align: left;
  font-size: 35px;
  font-weight: 600;
}

#view > div.questions main .answers {
  grid-area: content;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 60px 60px 60px;
  grid-gap: 16px 20px;
}

#view > div.questions main .answers > div {
  display: grid;
  grid-template-columns: auto 60px;
  align-items: center;
  color: #108BAC;
}

#view > div.questions main .answers > div .answer {
  background-color: #C1D502;
  height: 100%;
  display: grid;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 1.4vw;
}

#view > div.questions main .answers > div .answer:hover {
  background-color: #DEE880;
}

#view > div.questions main .answers > div .percentage {
  background-color: white;
  height: 100%;
  align-items: center;
  display: grid;
  text-align: center;
  font-size: 1.3vw;
}

#view > div.questions main .info {
  grid-area: footer;
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
  height: 100%;
}

#view > div.questions main .info h2 {
  margin: 0;
  font-size: 1.8vw;
  letter-spacing: 1px;
}

#view > div.questions main .info p {
  margin: 0;
  font-size: 0.7vw;
  text-align: center;
}

#view > div.questions main .info button {
  grid-area: 1 / 3;
  background-image: url("../img/button.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-color: transparent;
  background-position: calc(100%);
  border: 0px;
  max-height: 58px;
  max-width: 350px;
  text-align: left;
  font-size: 2.5vh;
  font-family: Gibson-Regular;
  color: #018AAA;
  padding-left: 20px;
  width: 100%;
  justify-self: end;
  cursor: pointer;
}

#view > div.questions main .info button:hover {
  background-image: url("../img/button_hover.png");
  color: white;
}

@media only screen and (max-width: 1385px) {
  #view > div.welcome {
    grid-template-rows: auto 80px 80px 40px;
    grid-template-columns: auto 45% auto 120px auto;
    grid-row-gap: 2px;
  }
  #view > div.questions main {
    grid-template-columns: 15px auto 50px;
  }
  #view > div.results {
    grid-template-columns: 120px auto 200px 60px;
  }
}

@media only screen and (min-width: 2600px) {
  #view > div.questions main {
    grid-template-columns: 15px 1800px auto;
  }
  #view > div.questions main .answers > div .answer {
    font-size: 23px;
  }
  #view > div.questions main .answers > div .percentage {
    font-size: 22px;
  }
  #view > div.questions main .education div {
    font-size: calc(16px + 1vw);
  }
  #view > div.questions .info button {
    font-size: 27px;
  }
  #view > div.welcome button {
    font-size: 27px;
  }
  #view > div.results button {
    font-size: 27px;
  }
}

@media only screen and (max-height: 1035px) {
  #view > div.welcome {
    grid-template-rows: auto 80px 80px 40px;
  }
  #view > div.results {
    grid-template-rows: auto 80px 80px 40px;
  }
}
