@font-face {
  font-family: 'Barrio';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/barrio/v20/wEO8EBXBk8hBIDiEdQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiLXA3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNi83A3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNirXA3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNin3A3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNic3c3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiSnc3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiLXc3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXK3I6Li01BKofIMPyPbj8d7IEAGXNiBHc3ig.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDDshRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDOUhRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDDsmRTM.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDBImRTM.ttf) format('truetype');
}
* {
  --font-family: "Nunito", sans-serif;
  --font-family-alt: 'Barrio', cursive;
  box-sizing: border-box;
  --mobile-width: 600px;
}
body {
  font-family: var(--font-family), sans-serif;
  font-size: 16px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
}
body .gap-5 {
  height: 5px;
  width: 100%;
}
body .spacer-5 {
  display: inline-block;
  height: 1px;
  width: 5px;
}
body .gap-10 {
  height: 10px;
  width: 100%;
}
body .spacer-10 {
  display: inline-block;
  height: 1px;
  width: 10px;
}
body .gap-15 {
  height: 15px;
  width: 100%;
}
body .spacer-15 {
  display: inline-block;
  height: 1px;
  width: 15px;
}
body .gap-20 {
  height: 20px;
  width: 100%;
}
body .spacer-20 {
  display: inline-block;
  height: 1px;
  width: 20px;
}
body .gap-25 {
  height: 25px;
  width: 100%;
}
body .spacer-25 {
  display: inline-block;
  height: 1px;
  width: 25px;
}
body .gap-30 {
  height: 30px;
  width: 100%;
}
body .spacer-30 {
  display: inline-block;
  height: 1px;
  width: 30px;
}
body .gap-35 {
  height: 35px;
  width: 100%;
}
body .spacer-35 {
  display: inline-block;
  height: 1px;
  width: 35px;
}
body .gap-40 {
  height: 40px;
  width: 100%;
}
body .spacer-40 {
  display: inline-block;
  height: 1px;
  width: 40px;
}
body .gap-45 {
  height: 45px;
  width: 100%;
}
body .spacer-45 {
  display: inline-block;
  height: 1px;
  width: 45px;
}
body .gap-50 {
  height: 50px;
  width: 100%;
}
body .spacer-50 {
  display: inline-block;
  height: 1px;
  width: 50px;
}
body .gap-55 {
  height: 55px;
  width: 100%;
}
body .spacer-55 {
  display: inline-block;
  height: 1px;
  width: 55px;
}
body .gap-60 {
  height: 60px;
  width: 100%;
}
body .spacer-60 {
  display: inline-block;
  height: 1px;
  width: 60px;
}
body .gap-65 {
  height: 65px;
  width: 100%;
}
body .spacer-65 {
  display: inline-block;
  height: 1px;
  width: 65px;
}
body .gap-70 {
  height: 70px;
  width: 100%;
}
body .spacer-70 {
  display: inline-block;
  height: 1px;
  width: 70px;
}
body .gap-75 {
  height: 75px;
  width: 100%;
}
body .spacer-75 {
  display: inline-block;
  height: 1px;
  width: 75px;
}
body .gap-80 {
  height: 80px;
  width: 100%;
}
body .spacer-80 {
  display: inline-block;
  height: 1px;
  width: 80px;
}
body .gap-85 {
  height: 85px;
  width: 100%;
}
body .spacer-85 {
  display: inline-block;
  height: 1px;
  width: 85px;
}
body .gap-90 {
  height: 90px;
  width: 100%;
}
body .spacer-90 {
  display: inline-block;
  height: 1px;
  width: 90px;
}
body .gap-95 {
  height: 95px;
  width: 100%;
}
body .spacer-95 {
  display: inline-block;
  height: 1px;
  width: 95px;
}
.is-mobile {
  display: none;
}
.wrapper {
  background: #FFF;
  height: 100vh;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100vw;
}
.wrapper h2 {
  font-size: 2.5em;
  font-weight: 900;
  margin-bottom: 0.25em;
  padding: 0;
  text-transform: uppercase;
  animation: title-pop-in 0.3s ease forwards;
}
@keyframes title-pop-in {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.wrapper .splash {
  align-content: center;
  align-items: center;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, #8a0000 0%, #ff0000 100%);
  color: #000000;
  display: grid;
  font-family: var(--font-family);
  font-weight: 900;
  gap: 20px;
  height: 100%;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 max(20px, calc((100vw - var(--mobile-width)) / 2)) 80px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 200;
}
.wrapper .splash.hidden {
  display: none;
}
.wrapper .splash__content {
  display: none;
  flex: 0 1 auto;
  flex-direction: column;
  gap: 10px;
  margin: auto 0;
  padding-bottom: 50px;
  overflow-y: auto;
}
.wrapper .splash__content > svg {
  display: block;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.31));
  height: auto;
  margin: 0 auto 10px;
  max-width: 500px;
  opacity: 0;
  position: relative;
  z-index: 10;
  transform: translateY(200px);
}
.wrapper .splash__content > svg g#happy {
  transform-origin: left bottom;
}
.wrapper .splash__content > svg g#holidays {
  transform-origin: right bottom;
}
.wrapper .splash__content > a {
  color: #FFF;
  display: flex;
  font-weight: 400;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  text-decoration: none;
  transform: translateY(-200px);
  transition: opacity 0.3s ease;
  transition-delay: 0.5s;
  z-index: 10;
}
.wrapper .splash__content > a span {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
}
.wrapper .splash__content > a img.goodbit-logo {
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.31));
  height: auto;
  max-width: 200px;
}
.wrapper .splash__title {
  font-size: 2.5em;
  line-height: 1.1;
  margin-bottom: 20px;
  text-transform: uppercase;
  text-wrap: balance;
}
.wrapper .splash__instructions {
  animation: screen-slide-up 0.5s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  backdrop-filter: blur(5px);
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #ddd;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.31));
  font-size: 1em;
  font-weight: 400;
  padding: 10px 20px 20px;
  position: relative;
  z-index: 20;
}
.wrapper .splash p {
  display: none;
  font-size: 1.125em;
  font-weight: 400;
  margin: 0 0 20px;
  padding: 0;
  text-wrap: pretty;
}
.wrapper .splash span {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.31));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.wrapper .splash .high-score {
  font-size: 1.5em;
  font-weight: 600;
  margin-top: 5px;
}
.wrapper .splash.loaded .splash__content {
  display: flex;
}
.wrapper .splash.loaded .splash__content > svg {
  animation: hh-slide-in 0.2s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  animation-delay: 300ms;
}
.wrapper .splash.loaded .splash__content > svg g#happy {
  animation: happy-animate 0.3s ease-in-out forwards;
  animation-delay: 300ms;
}
.wrapper .splash.loaded .splash__content > svg g#holidays {
  animation: holidays-animate 0.3s ease-in-out forwards;
  animation-delay: 350ms;
}
.wrapper .splash.loaded .splash__content > a {
  animation: goodbit-slide-in 0.2s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  animation-delay: 350ms;
  opacity: 1;
}
@keyframes hh-slide-in {
  0% {
    opacity: 0;
    transform: translateY(200px);
  }
  100% {
    opacity: 1;
    transform: translateY(10px);
  }
}
@keyframes happy-animate {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes holidays-animate {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(-1 0px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes goodbit-slide-in {
  0% {
    opacity: 0;
    transform: translateY(-200px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.wrapper .score-board {
  align-items: center;
  color: #000;
  display: flex;
  flex-direction: column;
  font-family: var(--font-family);
  gap: 5px;
  justify-content: space-between;
  left: 0;
  padding: 20px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 10;
}
.wrapper .score-board .tooltip {
  font-size: 0.75em;
  font-weight: 400;
  padding: 0 10px;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 20;
}
.wrapper .score-board.hidden {
  display: none;
}
.wrapper .score-board .timer {
  font-size: 2.5em;
  font-weight: 400;
  line-height: 1;
  transition: color 0.3s ease;
}
.wrapper .score-board .timer.hidden {
  display: none;
}
.wrapper .score-board .timer sub {
  display: inline-block;
  font-size: 0.7em;
  margin-top: 0.075em;
  vertical-align: top;
}
.wrapper .score-board .timer.warning {
  color: #ffcc00;
}
.wrapper .score-board .score-value {
  display: none;
  font-size: 4em;
  font-weight: 900;
}
.wrapper .score-board .score-value.increase {
  animation: score-increase 0.2s ease;
}
.wrapper .score-board .gift-count {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
  position: relative;
  width: 100%;
}
.wrapper .score-board .gift-count__item {
  display: block;
  height: auto;
  max-width: 50px;
  filter: grayscale(100%);
  scale: 1;
  opacity: 0.3;
  transition: all 0.15s ease;
}
.wrapper .score-board .gift-count__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.wrapper .score-board .gift-count__item.active {
  filter: grayscale(0%);
  scale: 1.2;
  opacity: 1;
}
.wrapper .score-board .gift-count__item.completed {
  filter: grayscale(0%);
  opacity: 0.5;
}
.wrapper .leaderboard {
  width: 100%;
}
.wrapper .leaderboard p {
  font-family: var(--font-family);
  font-size: 1.25em;
  font-weight: 500;
  margin: 20px 0 0;
  text-wrap: balance;
}
.wrapper .leaderboard table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}
.wrapper .leaderboard table th,
.wrapper .leaderboard table td {
  font-size: 0.875em;
  font-weight: 400;
  padding: 5px 10px;
  text-align: left;
  text-transform: uppercase;
}
.wrapper .leaderboard table th:last-child,
.wrapper .leaderboard table td:last-child {
  text-align: right;
}
.wrapper .leaderboard table tbody tr {
  border-bottom: 2px solid #FFF;
}
.wrapper .leaderboard table tbody tr tr,
.wrapper .leaderboard table tbody tr td {
  position: relative;
  vertical-align: middle;
}
.wrapper .leaderboard table tbody tr tr:first-child,
.wrapper .leaderboard table tbody tr td:first-child {
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
}
.wrapper .leaderboard table tbody tr tr:last-child,
.wrapper .leaderboard table tbody tr td:last-child {
  border-bottom-right-radius: 8px;
  border-top-right-radius: 8px;
}
.wrapper .leaderboard table tbody tr:last-child th,
.wrapper .leaderboard table tbody tr:last-child td {
  border-bottom: none;
}
.wrapper .leaderboard table tbody tr td.display-name:after {
  aspect-ratio: 1;
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M128 96C92.7 96 64 124.7 64 160L64 416C64 451.3 92.7 480 128 480L272 480L256 528L184 528C170.7 528 160 538.7 160 552C160 565.3 170.7 576 184 576L456 576C469.3 576 480 565.3 480 552C480 538.7 469.3 528 456 528L384 528L368 480L512 480C547.3 480 576 451.3 576 416L576 160C576 124.7 547.3 96 512 96L128 96zM160 160L480 160C497.7 160 512 174.3 512 192L512 352C512 369.7 497.7 384 480 384L160 384C142.3 384 128 369.7 128 352L128 192C128 174.3 142.3 160 160 160z"/></svg>');
  display: inline-block;
  height: 16px;
  margin-left: 5px;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  width: auto;
}
.wrapper .leaderboard table tbody tr td.display-name.is-mobile {
  display: table-cell;
}
.wrapper .leaderboard table tbody tr td.display-name.is-mobile:after {
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M208 112C199.2 112 192 119.2 192 128L192 512C192 520.8 199.2 528 208 528L432 528C440.8 528 448 520.8 448 512L448 128C448 119.2 440.8 112 432 112L208 112zM144 128C144 92.7 172.7 64 208 64L432 64C467.3 64 496 92.7 496 128L496 512C496 547.3 467.3 576 432 576L208 576C172.7 576 144 547.3 144 512L144 128zM280 432L360 432C373.3 432 384 442.7 384 456C384 469.3 373.3 480 360 480L280 480C266.7 480 256 469.3 256 456C256 442.7 266.7 432 280 432z"/></svg>');
  height: 18px;
  right: -1px;
}
.wrapper .leaderboard table tr.highlight {
  font-weight: 900;
}
.wrapper .leaderboard table tr.highlight th,
.wrapper .leaderboard table tr.highlight td {
  font-size: 1em;
  font-weight: 800;
}
.wrapper .leaderboard table tr.place-1 {
  background-color: #ffd70033;
}
.wrapper .leaderboard table tr.place-2 {
  background-color: #c0c0c033;
}
.wrapper .leaderboard table tr.place-3 {
  background-color: #cd7f3233;
}
.wrapper .leaderboard table.leaderboard--full tr.highlight {
  background-color: rgba(0, 255, 34, 0.2);
}
.wrapper .action {
  color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-family: var(--font-family);
  font-weight: 900;
  gap: 10px;
  left: 50%;
  list-style-type: none;
  padding: 120px 20px 20px;
  pointer-events: none;
  position: fixed;
  text-align: center;
  text-transform: uppercase;
  text-wrap: nowrap;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  z-index: 2;
}
.wrapper .action.hidden {
  display: none;
}
.wrapper .action li {
  font-size: 2.2em;
  line-height: 1;
  opacity: 0.3;
  padding: 0;
  scale: 0.8;
  /*&.active {
                font-size: 3em;
                animation: fade-action-in 0.15s cubic-bezier(0, .69, .31, 1) forwards;
                filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);

                img {
                    path {
                        fill: #000;
                    }
                }

            }*/
}
.wrapper .action li img {
  display: block;
  height: 50px;
  width: 50px;
}
.wrapper .action[data-current-action="1"] li:nth-child(1) {
  font-size: 3em;
  animation: fade-action-in 0.15s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);
}
.wrapper .action[data-current-action="2"] li:nth-child(2) {
  font-size: 3em;
  animation: fade-action-in 0.15s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);
}
.wrapper .action[data-current-action="3"] li:nth-child(3) {
  font-size: 3em;
  animation: fade-action-in 0.15s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);
}
.wrapper .action[data-current-action="4"] li:nth-child(4) {
  font-size: 3em;
  animation: fade-action-in 0.15s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);
}
.wrapper .action[data-current-action="5"] li:nth-child(5) {
  font-size: 3em;
  animation: fade-action-in 0.15s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  filter: drop-shadow(0 0 4px #FFF) drop-shadow(0 0 4px #FFF) drop-shadow(0 0 8px #FFFFFF80);
}
.wrapper .time-up {
  color: #000;
  display: grid;
  align-items: end;
  font-family: var(--font-family);
  font-size: 3em;
  font-weight: 400;
  height: calc(100vh - 100px);
  left: 0;
  padding: 20px max(20px, calc((100vw - 600px) / 2)) 80px;
  position: fixed;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  width: 100vw;
  z-index: 10;
}
.wrapper .time-up.hidden {
  display: none;
  pointer-events: none;
}
.wrapper .time-up__content {
  background-color: #ffffffcc;
  backdrop-filter: blur(5px);
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 20px 20px 30px;
}
.wrapper .time-up__title {
  font-weight: 900;
  animation: title-pop-in 0.3s ease forwards;
}
.wrapper .time-up__score {
  color: #000;
  background-image: linear-gradient(180deg, #222 0%, #222 50%, #000 100%);
  background-clip: text;
  display: block;
  font-weight: 600;
  line-height: 1;
  position: relative;
  font-size: 5rem;
}
.wrapper .time-up__score sub {
  display: inline-block;
  font-size: 0.5em;
  margin-top: 0.1em;
  vertical-align: top;
}
.wrapper .time-up__score span.score-rank {
  font-size: 0.25em;
  font-weight: 300;
  position: absolute;
  right: -5px;
  top: 5px;
}
.wrapper .time-up__score span.score-rank:before {
  content: '#';
}
.wrapper .time-up__best {
  background-color: #ffef98;
  border-radius: 5px;
  border: gold 1px solid;
  color: #000;
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 10px;
  padding: 10px 0;
  position: relative;
  text-transform: none;
}
.wrapper .time-up__best span {
  font-size: 1.25em;
  font-weight: 700;
}
.wrapper .time-up__best span.best-score-rank {
  font-size: 0.75em;
  font-weight: 300;
  position: absolute;
  right: 10px;
  top: 10px;
}
.wrapper .time-up__best span.best-score-rank:before {
  content: '#';
}
.wrapper .time-up__best sub {
  display: inline-block;
  font-size: 0.7em;
  margin-top: 0;
  vertical-align: top;
}
.wrapper .nope {
  align-items: center;
  backdrop-filter: blur(10px);
  background-color: #ff000080;
  color: white;
  display: grid;
  font-family: var(--font-family), sans-serif;
  font-size: 30vw;
  font-weight: 900;
  height: 100%;
  left: 0;
  letter-spacing: -0.05em;
  overflow: hidden;
  position: fixed;
  text-align: center;
  text-wrap: nowrap;
  top: 0;
  width: 100%;
  z-index: 50;
}
.wrapper .nope.hidden {
  display: none;
  pointer-events: none;
}
.wrapper .nope div {
  animation: in-and-out 0.25s ease-in-out infinite;
}
.wrapper .nope span {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.31));
  position: absolute;
  top: 50%;
  left: 50%;
  animation: wiggle 0.1s ease-in-out infinite;
}
@keyframes in-and-out {
  0% {
    scale: 1.5;
  }
  50% {
    scale: 1.75;
  }
  100% {
    scale: 1.5;
  }
}
@keyframes wiggle {
  0% {
    transform: translate(-50%, -50%) rotate(-6deg);
  }
  50% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-6deg);
  }
}
.wrapper * {
  box-sizing: border-box;
}
.wrapper body {
  font-family: sans-serif;
}
.wrapper .scene.move-out {
  animation: move-out 0.25s cubic-bezier(0.69, 0, 1, 0.31) forwards;
}
.wrapper .scene.move-in {
  animation: move-in 0.25s cubic-bezier(0, 0.69, 0.31, 1) forwards;
}
@keyframes move-out {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100vw);
  }
}
@keyframes move-in {
  0% {
    transform: translateX(100vw);
  }
  100% {
    transform: translateX(0);
  }
}
.wrapper .gift {
  --size: min(250px, calc(100vw - 40px));
  align-items: center;
  color: white;
  display: grid;
  font-family: var(--font-family);
  font-size: 30vw;
  font-weight: 900;
  height: 80%;
  justify-content: center;
  left: 0;
  letter-spacing: 0;
  overflow: hidden;
  position: fixed;
  text-align: center;
  text-wrap: nowrap;
  top: 100px;
  width: 100%;
  z-index: 3;
  /*
        .cube__face--front {
            background: hsla(0, 100%, 50%, 0.7);
        }
        .cube__face--right {
            background: hsla(60, 100%, 50%, 0.7);
        }
        .cube__face--back {
            background: hsla(120, 100%, 50%, 0.7);
        }
        .cube__face--left {
            background: hsla(180, 100%, 50%, 0.7);
        }
        .cube__face--top {
            background: hsla(240, 100%, 50%, 0.7);
        }
        .cube__face--bottom {
            background: hsla(300, 100%, 50%, 0.7);
        }
        */
}
.wrapper .gift.hidden {
  display: none;
}
.wrapper .gift .scene {
  width: var(--size);
  height: var(--size);
  margin: 0;
  perspective: calc(var(--size) * 5);
}
.wrapper .gift .scene.hidden {
  display: none;
}
.wrapper .gift .quit-button {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
}
.wrapper .gift .countdown-timer {
  color: #000;
  font-size: 8rem;
  font-weight: 900;
  left: 0;
  letter-spacing: -0.05em;
  padding: 5px 10px;
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  z-index: 5;
}
.wrapper .gift .countdown-timer.pulse {
  animation: pulse 1000ms infinite ease-out;
}
.wrapper .gift .countdown-timer small {
  font-size: 0.5em;
}
.wrapper .gift .countdown-timer strong {
  font-size: 1.25em;
}
.wrapper .gift .countdown-timer.hidden {
  animation: none;
  display: none;
}
@keyframes pulse {
  0% {
    transform: translateY(-50%) scale(1);
    opacity: 0.8;
  }
  40% {
    transform: translateY(-50%) scale(1.2);
    opacity: 1;
  }
  95% {
    transform: translateY(-50%) scale(1.2);
    opacity: 1;
  }
  100% {
    transform: translateY(-50%) scale(1);
    opacity: 0.8;
  }
}
.wrapper .gift img.bow {
  display: none;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 20%;
  user-select: none;
  width: calc(var(--size) + 160px);
  transform-style: preserve-3d;
  transform-origin: 50% 50%;
  transform: translateX(-260px) translateY(-220px) translateZ(100px) rotateX(20deg) rotateY(-30deg) rotateZ(11deg);
  z-index: 4;
}
.wrapper .gift:has(.cube__face--top.open) img.bow {
  display: none;
}
.wrapper .gift .cube {
  width: var(--size);
  height: var(--size);
  position: relative;
  transform-style: preserve-3d;
  transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg);
  transition: transform 1s;
}
.wrapper .gift .cube.bounced {
  animation: bounce-gift 200ms ease-out forwards;
}
.wrapper .gift .cube.wrapped {
  animation: bounce-wrapped-gift 200ms ease-out forwards;
}
.wrapper .gift .cube.wrapped.red .cube__face {
  background-color: #BF5554;
  background-image: url('../../assets/images/wrapping-paper-1.jpg');
  background-size: cover;
  border: 4px solid #9C3634;
  outline: 2px solid #832c2a;
  color: #9C3634;
}
.wrapper .gift .cube.wrapped.red img.bow.red {
  display: block;
}
.wrapper .gift .cube.wrapped.green .cube__face {
  background-color: #55BF5A;
  background-image: url('../../assets/images/wrapping-paper-2.jpg');
  background-size: cover;
  border: 4px solid #3A9C39;
  outline: 2px solid #2c832a;
  color: #3A9C39;
}
.wrapper .gift .cube.wrapped.green img.bow.green {
  display: block;
}
.wrapper .gift .cube.wrapped.blue .cube__face {
  background-color: #557BBF;
  background-image: url('../../assets/images/wrapping-paper-3.jpg');
  background-size: cover;
  border: 4px solid #364A9C;
  outline: 2px solid #2c3a83;
  color: #364A9C;
}
.wrapper .gift .cube.wrapped.blue img.bow.blue {
  display: block;
}
.wrapper .gift .cube.wrapped.gold .cube__face {
  background-color: #BFAF55;
  background-image: url('../../assets/images/wrapping-paper-4.jpg');
  background-size: cover;
  border: 4px solid #9C8C39;
  outline: 2px solid #83722a;
  color: #9C8C39;
}
.wrapper .gift .cube.wrapped.gold img.bow.gold {
  display: block;
}
@keyframes bounce-gift {
  0% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(0);
  }
  30% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(calc((var(--z, 0) / 2) * 1deg)) translateY(calc(var(--y) * -1px));
  }
  50% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(calc(var(--z, 0) * 1deg)) translateY(0);
  }
  70% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(calc((var(--z, 0) * 0.75) * -1deg)) translateY(calc((var(--y) / 2) * -1px));
  }
  100% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(0);
  }
}
@keyframes bounce-wrapped-gift {
  0% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(0);
  }
  30% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(-60px);
  }
  50% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(0);
  }
  70% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(-30px);
  }
  100% {
    transform: translateZ(-100px) rotateX(-20deg) rotateY(30deg) rotateZ(0deg) translateY(0);
  }
}
.wrapper .gift img.toy {
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  user-select: none;
  width: calc(var(--size) + 20px);
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) rotateX(20deg) rotateY(-30deg) rotateZ(10deg);
  z-index: 2;
}
.wrapper .gift .cube__face {
  background-color: #B28C56;
  border: 4px solid #836232;
  border-radius: 2px;
  outline: 4px solid #674c25;
  color: #73562c;
  font-size: 32px;
  font-weight: 400;
  height: var(--size);
  letter-spacing: -1px;
  line-height: var(--size);
  position: absolute;
  text-align: center;
  width: var(--size);
  transform-box: border-box;
  transition: transform 30ms;
  z-index: 1;
}
.wrapper .gift .cube__face--front {
  transform: rotateX(0deg) rotateY(0deg) translateX(0px) translateY(0px) translateZ(calc(var(--size) / 2));
  transform-origin: 0 var(--size);
  z-index: 3;
}
.wrapper .gift .cube__face--front.open {
  transform: rotateX(-90deg) rotateY(0deg) translateX(0px) translateY(calc(var(--size) / -2)) translateZ(0);
}
.wrapper .gift .cube__face--right {
  transform: rotateX(0deg) rotateY(90deg) translateX(calc(var(--size) / -2)) translateY(0px) translateZ(var(--size));
  transform-origin: 0 var(--size);
}
.wrapper .gift .cube__face--right.open {
  transform: rotateX(-90deg) rotateY(0deg) rotateZ(90deg) translateX(calc(var(--size) / -2)) translateY(calc(var(--size) * -1)) translateZ(0px);
}
.wrapper .gift .cube__face--back {
  transform: rotateX(0deg) rotateY(180deg) rotateZ(0deg) translateX(0px) translateY(0px) translateZ(calc(var(--size) / 2));
  transform-origin: 50% var(--size);
}
.wrapper .gift .cube__face--back.open {
  transform: rotateX(90deg) rotateY(180deg) rotateZ(0deg) translateX(0px) translateY(calc(var(--size) / -2)) translateZ(0px);
}
.wrapper .gift .cube__face--left {
  transform: rotateX(0deg) rotateY(-90deg) rotateZ(0deg) translateX(-125px) translateY(0px) translateZ(0px);
  transform-origin: 0 var(--size);
  z-index: 3;
}
.wrapper .gift .cube__face--left.open {
  transform: rotateX(-90deg) rotateY(0deg) rotateZ(-90deg) translateX(-125px) translateY(0px) translateZ(0px);
}
.wrapper .gift .cube__face--top {
  transform: rotateX(90deg) translateZ(calc(var(--size) / 2));
  z-index: 3;
}
.wrapper .gift .cube__face--top.open {
  display: none;
}
.wrapper .gift .cube__face--top:after {
  content: '';
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  filter: blur(10px);
  pointer-events: none;
}
.wrapper .gift .cube__face--bottom {
  border: none;
  transform: rotateX(-90deg) translateZ(calc(var(--size) / 2));
}
.wrapper .gift .cube__face--left:before,
.wrapper .gift .cube__face--right:before,
.wrapper .gift .cube__face--back:before,
.wrapper .gift .cube__face--bottom:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  pointer-events: none;
}
.wrapper .gift .cube__face--left.open:before,
.wrapper .gift .cube__face--right.open:before,
.wrapper .gift .cube__face--back.open:before,
.wrapper .gift .cube__face--bottom.open:before {
  display: none;
}
.wrapper button.button,
.wrapper a.button {
  background: linear-gradient(180deg, #222 0%, #444 100%);
  border: #222 1px solid;
  border-radius: 5px;
  color: #FFF;
  cursor: pointer;
  display: block;
  font-family: var(--font-family);
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0;
  margin-top: 10px;
  padding: 10px 20px;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
  text-shadow: 0 1px 2px #000000;
}
.wrapper button.button--small,
.wrapper a.button--small {
  font-size: 1.25rem;
  padding: 2px 16px;
}
.wrapper button.button--blue,
.wrapper a.button--blue {
  background: linear-gradient(180deg, #007BFF 0%, #2189fa 100%);
  border-color: #007BFF;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.wrapper button.button--grey,
.wrapper a.button--grey {
  background: linear-gradient(180deg, #CCC 0%, #DDD 100%);
  border-color: #CCC;
  color: #000;
  text-shadow: none;
}
.wrapper .instructions {
  align-items: center;
  background: linear-gradient(180deg, #DDD 0%, #FFF 100%);
  color: #000;
  display: flex;
  flex-direction: column;
  font-family: var(--font-family), sans-serif;
  font-size: 1em;
  font-weight: 400;
  height: 100%;
  flex: 0 1 auto;
  left: 0;
  margin: auto 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 20px max(20px, calc((100vw - var(--mobile-width)) / 2)) 80px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 230;
}
.wrapper .instructions__content {
  animation: screen-slide-up 0.5s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  margin: auto 0;
  padding: 0 20px;
}
.wrapper .instructions__content p {
  font-size: 1.125em;
  font-weight: 400;
  margin: 0 0 20px;
  padding: 0;
  text-wrap: balance;
}
.wrapper .instructions__content ul {
  list-style: none;
  margin: 40px 0;
  padding: 0;
  text-align: center;
}
.wrapper .instructions__content ul li {
  margin: 20px 0;
  font-size: 1.25em;
  font-weight: 400;
  text-wrap: balance;
}
.wrapper .instructions__content ul li .images {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}
.wrapper .instructions__content ul li .images img {
  height: 50px;
  width: auto;
}
.wrapper .instructions__title {
  font-size: 2.5em;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 20px;
  text-transform: uppercase;
  text-wrap: balance;
}
.wrapper .instructions.hidden {
  display: none;
  pointer-events: none;
}
.wrapper .instructions .close-button {
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  font-size: 44px;
  font-weight: 400;
  line-height: 40px;
  position: absolute;
  right: 20px;
  top: 20px;
  height: 44px;
  width: 44px;
}
.wrapper .instructions .close-button:hover {
  color: #000;
}
.wrapper .instructions .close-button:before {
  content: '×';
}
.wrapper .full-leaderboard {
  align-items: center;
  background: linear-gradient(180deg, #DDD 0%, #FFF 100%);
  color: #000;
  display: flex;
  flex-direction: column;
  font-family: var(--font-family), sans-serif;
  font-size: 1em;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  left: 0;
  overflow: hidden;
  padding: 60px max(20px, calc((100vw - var(--mobile-width)) / 2));
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 260;
}
.wrapper .full-leaderboard__content {
  animation: screen-slide-up 0.5s cubic-bezier(0, 0.69, 0.31, 1) forwards;
  padding: 0 20px;
}
.wrapper .full-leaderboard__content p {
  font-size: 1.125em;
  font-weight: 400;
  margin: 0 0 20px;
  padding: 0;
  text-wrap: balance;
}
.wrapper .full-leaderboard__content ul {
  list-style: none;
  margin: 40px 0;
  padding: 0;
  text-align: center;
}
.wrapper .full-leaderboard__content ul li {
  margin: 20px 0;
  font-size: 1.25em;
  font-weight: 400;
  text-wrap: balance;
}
.wrapper .full-leaderboard__content ul li .images {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}
.wrapper .full-leaderboard__content ul li .images img {
  height: 50px;
  width: auto;
}
.wrapper .full-leaderboard__title {
  font-size: 2.5em;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 20px;
  text-transform: uppercase;
  text-wrap: balance;
}
.wrapper .full-leaderboard .leaderboard {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 10px;
  max-height: 70vh;
  overflow-y: auto;
  animation: screen-slide-up 0.5s cubic-bezier(0, 0.69, 0.31, 1) forwards;
}
.wrapper .full-leaderboard .leaderboard table {
  margin-top: 0;
}
.wrapper .full-leaderboard.hidden {
  display: none;
  pointer-events: none;
}
.wrapper .full-leaderboard .close-button {
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  font-size: 44px;
  font-weight: 400;
  line-height: 40px;
  position: absolute;
  right: 20px;
  top: 20px;
  height: 44px;
  width: 44px;
}
.wrapper .full-leaderboard .close-button:hover {
  color: #000;
}
.wrapper .full-leaderboard .close-button:before {
  content: '×';
}
.wrapper .profile {
  align-items: center;
  background: linear-gradient(180deg, #DDD 0%, #FFF 100%);
  color: #333;
  display: flex;
  flex-direction: column;
  font-family: var(--font-family);
  font-size: 1em;
  gap: 10px;
  height: 100vh;
  justify-content: center;
  left: 0;
  list-style-type: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 60px max(20px, calc((100vw - var(--mobile-width)) / 2));
  position: fixed;
  text-align: center;
  text-transform: uppercase;
  text-wrap: nowrap;
  top: 0;
  width: 100%;
  z-index: 240;
}
.wrapper .profile h2 {
  margin-bottom: 0.25em;
  padding: 0;
  text-transform: uppercase;
}
.wrapper .profile.hidden {
  display: none;
}
.wrapper .profile .form {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  margin: 0;
  overflow-y: auto;
  text-align: left;
  width: 100%;
  animation: screen-slide-up 0.5s cubic-bezier(0, 0.69, 0.31, 1) forwards;
}
.wrapper .profile .form.hidden {
  display: none;
}
.wrapper .profile .form .field {
  margin: 10px 0;
}
.wrapper .profile .form label {
  display: block;
  font-size: 0.875em;
  font-weight: 600;
  margin-bottom: 5px;
  text-align: center;
}
.wrapper .profile .form input[type="text"],
.wrapper .profile .form input[type="phone"],
.wrapper .profile .form input[type="email"] {
  border: 1px solid #ccc;
  border-radius: 5px;
  display: block;
  font-size: 1.5em;
  font-weight: 400;
  padding: 8px 12px;
  text-align: center;
  width: 100%;
}
.wrapper .profile .form input[type="text"]:focus,
.wrapper .profile .form input[type="phone"]:focus,
.wrapper .profile .form input[type="email"]:focus {
  border-color: #000;
  outline: none;
}
.wrapper .profile .form small {
  display: block;
  font-size: 0.875em;
  font-weight: 400;
  letter-spacing: 0;
  margin-top: 10px;
  text-align: center;
  text-transform: none;
}
.wrapper .profile .form small.error {
  background-color: #ffffff;
  border: 1px solid #f00;
  border-radius: 5px;
  color: #940000;
  display: block;
  padding: 10px;
}
.wrapper .profile .form small.hidden {
  display: none;
}
.wrapper .profile .form .button {
  margin-top: 10px;
  text-align: center;
  width: 100%;
}
.wrapper .profile .verification-message {
  background: #ffffffcc;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 1em;
  font-weight: 400;
  margin-top: 20px;
  padding: 10px 20px;
}
.wrapper .profile .verification-message.hidden {
  display: none;
}
.wrapper .profile .verification-message--success {
  color: green;
}
.wrapper .profile .verification-message--failure {
  color: red;
}
.wrapper .profile .close-button {
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  font-size: 44px;
  font-weight: 400;
  line-height: 40px;
  position: absolute;
  right: 20px;
  top: 20px;
  height: 44px;
  width: 44px;
}
.wrapper .profile .close-button:hover {
  color: #000;
}
.wrapper .profile .close-button:before {
  content: '×';
}
.wrapper .loading {
  align-content: center;
  backdrop-filter: blur(10px);
  color: white;
  display: grid;
  font-family: var(--font-family);
  font-weight: 900;
  gap: 20px;
  height: 100%;
  left: 0;
  overflow: hidden;
  place-items: center;
  pointer-events: none;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 10000;
}
.wrapper .loading.hidden {
  display: none;
}
.wrapper .loading__spinner {
  border: 8px solid #ffffff33;
  border-top: 8px solid #ffffff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}
.wrapper .loading__text {
  font-size: 1.5em;
  font-weight: 400;
  text-transform: uppercase;
  filter: drop-shadow(0 0 8px #00000080);
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes screen-slide-up {
  0% {
    opacity: 0.2;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-up {
  0% {
    opacity: 0.2;
    transform: translateY(80px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-action-in {
  0% {
    opacity: 0;
    scale: 0.8;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@keyframes score-increase {
  0% {
    transform: scale(1);
    color: white;
  }
  50% {
    transform: scale(1.2);
    color: #ffff00;
  }
  100% {
    transform: scale(1);
    color: white;
  }
}
@media (min-width: 600px) {
  .is-mobile {
    display: none;
  }
}
@media (max-width: 600px) {
  .is-mobile {
    display: block;
  }
}
.confetti {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  pointer-events: none;
  z-index: 10002;
}
.desktop-warning {
  align-items: center;
  backdrop-filter: blur(10px);
  background-color: #000000cc;
  color: white;
  display: grid;
  font-family: var(--font-family);
  font-weight: 900;
  height: 100%;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 100;
}
.desktop-warning__content {
  background-color: #ffffff;
  backdrop-filter: blur(5px);
  border-radius: 10px;
  border: 1px solid #ddd;
  color: #000;
  padding: 20px 20px 30px;
  max-width: var(--mobile-width);
  margin: 0 auto;
  width: calc(100% - 40px);
}
.desktop-warning__content p {
  font-size: 1.25em;
  font-weight: 400;
  margin: 0;
  padding: 0;
}
.desktop-warning__content img {
  margin-top: 20px;
  max-width: 300px;
  height: auto;
}
/*# sourceMappingURL=style.less.css.map */