@charset "utf-8";

:root {
  --black: #000000;
  --white: #ffffff;
  --grey-0: rgb(74,74,73);
  --grey-1: #bababa;
  --pink: rgb(197,29,85);
  --pink-1: rgba(197,29,85,0.1);
  --correct: rgb(117,184,67);
  --error: rgb(245,104,71);
}

:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
  outline: revert;
}
*,
:after, 
:before {
  box-sizing: border-box;
}
menu,
ol,
ul {
  list-style: none;
}
img {
  max-width: 100%;
  height: auto;
}
table {
  border-collapse: collapse;
}
textarea {
  white-space: revert;
}


a {
  cursor: pointer;
}

video{
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
}

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

body{
  font-family: 'Noto Sans', sans-serif;
	font-size: 0.8vw;
  font-weight: 300;
  color: var(--grey-0);
  overflow: hidden;
}


.body-svg{
  position: fixed;
  top: 100px;
  left: 100px;
  width: 100%;
  height: 100%;
  transform: scale(1.4);
  background-color: var(--white);
  transition: 0.2s all ease;
}
.body-svg svg{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;  
}
.body-svg svg path{
  fill: var(--pink-1);
  transition: 0.2s all ease;
}

.body-svg.home{
  background-color: var(--pink)
}
.body-svg.home svg path{
  fill: rgba(255,255,255,0.1);
}


header .nav-home{
	position: fixed;
	left: 40px;
	top: 40px;
	display: none;
	width: 3.5em;
	cursor: pointer;
  z-index: 2;
}
header .nav-home path{
  stroke: var(--pink);
  fill: var(--white);
}

main{
  position: relative;
  height: 100%;
}

section#main{
  height: 100%;
}


.qr-code{
  float: right;
  height: 100%;
  width: 12em;
  margin-top: 3em;
  object-fit: contain;
  object-position: bottom;
  shape-outside: inset(calc(100% - 12em) 0 0);
}






.intro-container{
  display: none;
  max-width: 71em;
  text-align: center;
  margin: 0px auto;
  padding-top: 14em;
}
.intro-container .intro-title{
  color: var(--white);
  font-size: 3em;
  padding: 0.5em;
  max-width: 15em;
  margin: 0px auto 0.8em auto;
}
.intro-container .intro-input{
	color: var(--grey-0);
	font-size: 2.5em;
	max-width: 18em;
	margin: 0px auto;
  background-color: var(--white);
  border-radius: 50px;
  padding: 10px 50px;
  text-align: left;
}
.intro-container .intro-input:focus{
  outline: none;
}
.intro-container .start-quiz{
  margin: 2em auto 0px auto;
  padding: 1em 2.5em 1em 1em;
  font-size: 2.6em;
  cursor: pointer;
  color: var(--white);
  max-width: 8em;
  text-align: left;
  position: relative;
}
.intro-container .start-quiz svg{
  width: 2.5em;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.intro-container .start-quiz svg path{
  fill: var(--white);
}







.answer-required{
  display: none;
  margin-top: 5em;
  font-size: 1.5em;
}

.question-container{
  gap: 50px;
  display: none;
	padding-top: 10em;
}
.question-container.current{
  display: flex;
}
.question-column{
  flex: 1;
  position: relative;
}
.question-column:first-child{
  margin-left: 50px;
}
.question-column:last-child{
  margin-right: 50px;
}


.question-number{
  color: var(--white);
  font-size: 3em;
  position: absolute;
  top: 0.95em;
  text-align: center;
  width: 100%;
  z-index: 2;
}
.question-number span{
  display: inline-block;
  background-color: var(--pink);
  padding: 0.3em;
  border-radius: 50%;
  height: 2.1em;
  width: 2.1em;
  text-align: center;
}
.question-question-container{
  color: var(--grey-0);
  background-color: var(--white);
  border: 0.15em solid var(--pink);
  position: absolute;
  top: 6em;
  left: 50px;
  text-align: center;
  width: calc(100% - 100px);
  padding: 6em 30px 4em 30px;
  border-radius: 50px;
}
.question-text{
  font-size: 2.2em;
  line-height: 1.15;
  margin-bottom: 30px;
}
.question-reference{
  font-size: 1.4em;
}
.question-answers-container{
  margin-top: 6em;
}
.question-answer{
  padding: 0.8em 1.5em;
  border: 0.08em solid var(--pink);
  border-radius: 3em; 
  margin-bottom: 0.5em;
  font-size: 1.7em;
  position: relative;
  display: flex;
  cursor: pointer;
  background-color: var(--white);
}
.question-answer.selected{
  background-color:var(--pink);
  color: var(--white);
}
.question-explanation{
  padding: 1.5em 30px;
  border: 0.08em solid var(--pink);
  border-radius: 40px; 
  margin-top: 30px;
  font-size: 1.3em;
  position: relative;
  background-color: var(--white);
  color: var(--grey-0);
  display: none;
}


.review .question-answer.question-correct{
  background-image: url(../images/site/tick.svg);
  background-position: center right 20px;
  background-repeat: no-repeat;
  background-size: 2.3em;
  padding-right: 100px;
}
.review .question-answer.selected:not(.question-correct){
  background-image: url(../images/site/error.svg);
  background-position: center right 20px;
  background-repeat: no-repeat;
  background-size: 2.3em;
  padding-right: 100px;
}
.review .question-explanation{
  display: block;
}


.score-container{
  display: none;
  max-width: 90em;
  text-align: center;
  margin: 0px auto;
	padding-top: 10em;
  gap: 50px;
  height: calc(100% - 4em);
}
.score-container.show{
  display: flex;
}
.score-column{
  position: relative;
  margin-bottom: 1em;
  flex: 1;
}
.score-column:nth-child(2){
  margin-top: 3em
}
.score-images{
  position: absolute;
  bottom: 0;
  right: 0;
}
.score-images img{
  max-height: 8em;
  margin-left: 20px;
}
.score-title{
  color: var(--pink);
  font-size: 5em;
  font-weight: 600;
  padding-bottom: 40px;
}
.score-text{
  padding-bottom: 40px;
	font-size: 2.5em;
}
.score-highlight{
  padding: 0.2em 0px;
  font-size: 4em;
  color: var(--white);
  background-color: var(--pink);
  border-radius: 3em;
  font-weight: 600;
  margin: 30px 0px;
}
.score-button{
  margin: 1.5em auto;
  padding: 1em 4em 1em 1.5em;
  border: 0.08em solid var(--pink);
  border-radius: 3em;
  font-size: 1.5em;
  cursor: pointer;
  background-color: var(--white);

  color: var(--grey-0);
  max-width: 26em;
  text-align: left;
	position: relative;
}
.score-button svg {
  width: 2.5em;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.score-button svg path{
  fill: var(--pink);
}
.score-bottom-text{
  position: absolute;
  bottom: 0;
  left: 0;
}
.score-text-1{
  text-align: left;
  font-size: 1.5em;
  font-weight: 600;
  padding-bottom: 20px
}
.score-text-2{
  text-align: left;
  font-size: 1.2em;
}
.score-text-2 strong{
  text-align: left;
  font-weight: 600;
}



.score-mailing{
  display: flex;
  max-width: 35em;
  margin: 80px auto 0px auto;
  align-items: center;
  justify-content: center;
}
.score-mailing p,
.score-mailing div{
  flex: 1;
}
.score-mailing div{
  flex-basis: 85px;
  flex-grow: 0;
}
.score-mailing p{
  text-align: left;
  font-size: 1.5em;
  padding-right: 30px;
}
.score-mailing img{
  height: 85px;
}



.leaderboard-container{
  display: none;
  max-width: 65em;
  text-align: center;
  margin: 0px auto;
  padding-top: 9em;
}
.leaderboard-title{
  font-size: 6em;
  color: var(--pink);
  font-weight: 600;
  padding-bottom: 20px;
}
.leaderboard-list-container{
  position: relative;
}
.leaderboard-strip{
  position: absolute;
  background-color: var(--pink);
  width: 4.95em;
  height: calc(18em - -210px);
  border-radius: 10em;
  top: -2.5em;
}
.leaderboard-list{
  margin: 3em 0px;
  height: calc(13.2em - -210px);
  overflow: hidden auto;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
.leaderboard-list::-webkit-scrollbar {
  display: none;
}

.leaderboard-row {
  display: flex;
  border: 2px solid var(--pink);
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  color: var(--pink);
  margin-bottom: 20px;
  font-size: 2em;
  text-align: left;
  position: relative;
  background-color: var(--white);
}
.leaderboard-row:last-child{
  margin-bottom: 0px;
}
.leaderboard-column {
  flex: 1;
  padding: 10px;
}
.leaderboard-column.column-position{
  flex-basis: 3.02em;
  flex-grow: 0;
  background-color: var(--pink);
  color: var(--white);
  text-align: center;
  font-weight: 600;
  font-size: 0.8em;
  padding-top: 0.5em;
  padding-left: 0;
  padding-right: 0;
}
.leaderboard-column.column-correct{
  flex-basis: 3em;
  flex-grow: 0;
}
.leaderboard-column.column-name{
  padding-left: 30px
}
.leaderboard-column.column-duration{
  flex-basis: 4em;
  flex-grow: 0;
}




.tap{
  position: absolute;
}


.tap .tap-ring-1{
  border: 2px solid #c51d55;;
  animation-name: tapring1;
  animation-duration: 5s;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: absolute;
  transform-origin: center center;
  opacity: 0;
}
@keyframes tapring1 {
  0%   {
    transform: scale(0);
    opacity: 0;
  }  
  5%   {
    opacity: 1;
  }
  10% {
    transform: scale(1.6);
    opacity: 0;
  }
}


.tap .tap-ring-2{
  border: 2px solid var(--white);
  animation-name: tapring2;
  animation-duration: 5s;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: absolute;
  transform-origin: center center;
  opacity: 0;
}
@keyframes tapring2 {
  0%   {
    transform: scale(0);
    opacity: 0;
  }  
  5%   {
    opacity: 1;
  }
  10% {
    transform: scale(1.7);
    opacity: 0;
  }
}





footer{
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
}





footer .quiz-nav-container{
  display: flex;
  transform: scale(0);
  opacity: 0;
	max-height: 0px;
  transition: 0.2s all ease;
}
footer .quiz-nav-container.show{
  transform: scale(1);
  opacity: 1;
	max-height: 1000px;
}
footer .quiz-nav-item{
  flex: 1;
  text-align: center;
  cursor: pointer;
  color: var(--pink);
  font-size: 2em;
}
footer .quiz-nav-item.disabled{
  color: var(--grey-1);
  cursor: default;
}

footer .quiz-nav-item.nav-complete{
  display: none;
}
footer .quiz-nav-item svg{
  display: inline-block;
  width: 3em;
  fill: var(--pink);
  vertical-align: -1.2em;
}

footer .quiz-nav-item.disabled path{
  fill: var(--grey-1);
}





