@charset "UTF-8";
@font-face {
  font-family: 'Euclid Square';
  src: url('../fonts/hinted-EuclidSquare-Semibold.woff2') format('woff2'), url('../fonts/hinted-EuclidSquare-Semibold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Euclid Square';
  src: url('../fonts/hinted-EuclidSquare-Regular.woff2') format('woff2'), url('../fonts/hinted-EuclidSquare-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Univers';
  src: url('../fonts/univers.woff') format('woff'), url('../fonts/univers.ttf') format('ttf');
  font-weight: normal;
  font-style: normal;
}
body.i18n-fr .i18n .fr {
  opacity: 1;
}
body.i18n-fr .i18n .en {
  opacity: 0;
  display: none !important;
}
body.i18n-en .i18n .fr {
  opacity: 0;
  display: none !important;
}
body.i18n-en .i18n .en {
  opacity: 1;
}
.flipping-i18n {
  -webkit-transition: -webkit-transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
  -moz-transition: -moz-transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
  -o-transition: -o-transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.flipping-i18n:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.flipping-i18n.flip-out {
  backface-visibility: hidden;
  z-index: 2;
  /* for firefox 31 */
  transform: rotateX(90deg);
}
.fading-i18n {
  -webkit-transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -ms-transition: opacity 0.25s ease-in-out;
  -o-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
  opacity: 1;
}
.fading-i18n:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.fading-i18n.fade-out {
  opacity: 0 !important;
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* Slider */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Icons */
}
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal;
  src: url('../fonts/slick.eot');
  src: url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg');
}
.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}
.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}
/* Dots */
.slick-dotted .slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
#triggers {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row;
  flex-wrap: wrap;
  width: calc(100% - 100px);
  height: calc(100% - 100px);
  margin: 50px;
}
#triggers .trigger {
  display: inline-block;
  margin: 20px;
  width: 200px;
  height: 200px;
  line-height: 200px;
  padding: 0px 25px;
  box-sizing: border-box;
  font-family: 'Euclid Square';
  font-size: 16px;
  cursor: pointer;
  text-align: center;
  letter-spacing: 1px;
  color: #AAAAAA;
  border: solid #AAAAAA 1px;
  text-decoration: none;
  -webkit-transition: background-color, 0.2s, cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -moz-transition: background-color, 0.2s, cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -ms-transition: background-color, 0.2s, cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: background-color, 0.2s, cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color, 0.2s, cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#triggers .trigger .text {
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: -o-transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
#triggers .trigger .text span {
  display: inline-block;
  vertical-align: middle;
  line-height: normal;
  width: 100%;
  word-wrap: break-word;
}
#triggers .trigger:hover {
  background-color: #333333;
}
#triggers .trigger:active {
  background-color: #333333;
  color: solid #AAAAAA 1px;
}
#triggers .trigger:active .text {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
  background-color: #000;
}
html,
body {
  overflow: hidden;
  margin: 0;
  padding: 0;
  font-family: 'Euclid Square';
  background: #000;
  -webkit-font-smoothing: antialiased;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
}
html:focus,
body:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
html,
body,
html p,
body p,
html a,
body a {
  color: #AAAAAA;
  text-decoration: none;
}
h1 {
  margin: 0;
  font-size: 36px;
}
p {
  margin: 0;
  font-size: 16px;
}
.disable-mouse {
  pointer-events: none;
}
.center {
  text-align: center;
}
.button {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -ms-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.button.hidden {
  opacity: 0;
  pointer-events: none;
}
.button:active {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}
.game {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.game .screen {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
.game .screen.current {
  pointer-events: all;
}
body.modal #modal {
  opacity: 1;
  pointer-events: all;
}
body.modal #modal .modal-box {
  opacity: 1;
  -webkit-transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -ms-transform: translate(0, 0px);
  -o-transform: translate(0, 0px);
  transform: translate(0, 0px);
}
body.modal #modal .modal-overlay {
  opacity: 1;
}
#modal {
  position: fixed;
  pointer-events: none;
  width: 1920px;
  height: 1080px;
  z-index: 100;
}
#modal .modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 50, 50, 0.85);
  opacity: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: -moz-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: -o-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
#modal .modal-box {
  position: absolute;
  opacity: 0;
  width: 800px;
  left: 560px;
  height: 60%;
  top: 20%;
  background-color: #FFFFFF;
  color: #000;
  -webkit-transform: translate(0, -50px);
  -moz-transform: translate(0, -50px);
  -ms-transform: translate(0, -50px);
  -o-transform: translate(0, -50px);
  transform: translate(0, -50px);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: -moz-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: -o-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
#modal .modal-box .modal-box-wrapper {
  margin: 50px;
}
#modal .modal-box .modal-icon {
  display: block;
  text-align: center;
}
#modal .modal-box .modal-content {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 450px;
  width: 100%;
}
#modal .modal-box .modal-content .modal-title,
#modal .modal-box .modal-content .modal-text {
  margin-left: 100px;
  margin-right: 100px;
}
#modal .modal-box .modal-content .modal-title {
  text-align: center;
  font-weight: bold;
  font-size: 28px;
  margin-bottom: 60px;
}
#modal .modal-box .modal-content .modal-text {
  font-size: 24px;
  line-height: 34px;
  text-align: center;
}
#modal .modal-box .modal-content .modal-text p {
  font-size: 24px;
  line-height: 34px;
  color: #000;
  margin-bottom: 20px;
  text-align: center;
}
#modal .modal-box .modal-content .modal-text ul {
  text-align: left;
}
#modal .modal-box .modal-actions {
  position: absolute;
  bottom: 40px;
  text-align: center;
  width: 100%;
  left: 0;
}
#modal.mode-error .icon-warning {
  display: none;
}
#modal.mode-error .icon-error {
  display: inline-block;
}
#modal.mode-error.mode-ciphersleuth #modal-action-back {
  display: none;
}
#modal.mode-warning .icon-warning {
  display: inline-block;
}
#modal.mode-warning .icon-error {
  display: none;
}
#modal.mode-help .modal-box {
  height: 70%;
  top: 12.5%;
  width: 1000px;
  left: 460px;
}
#modal.mode-help .modal-box .modal-text p {
  text-align: left;
}
#modal.mode-help #modal-action-restart {
  display: none;
}
#modal.mode-timeout #modal-action-back {
  display: none;
}
body.need-more-time-modal #need-more-time-modal {
  opacity: 1;
  pointer-events: all;
}
body.need-more-time-modal #need-more-time-modal .modal-box {
  opacity: 1;
  -webkit-transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -ms-transform: translate(0, 0px);
  -o-transform: translate(0, 0px);
  transform: translate(0, 0px);
}
body.need-more-time-modal #need-more-time-modal .modal-overlay {
  opacity: 1;
}
#need-more-time-modal {
  position: fixed;
  pointer-events: none;
  width: 1920px;
  height: 1080px;
  z-index: 100;
}
#need-more-time-modal .modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 50, 50, 0.5);
  z-index: 100;
  opacity: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: -moz-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: -o-transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
#need-more-time-modal .modal-box {
  opacity: 0;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: -moz-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: -o-transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
#need-more-time-modal .modal-box {
  position: absolute;
  left: calc(50% - 190px);
  top: calc(50% - 284px);
  width: 380px;
  height: 568px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  padding: 20px;
  box-sizing: border-box;
  font-size: 22px;
  background-color: #000000;
  color: #FFF;
  z-index: 101;
  -webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
}
#need-more-time-modal .modal-box .modal-box-wrapper {
  margin: 50px;
}
#need-more-time-modal .modal-box .modal-box-close {
  position: absolute;
  display: inline-block;
  background-color: #CCC;
  top: 0;
  right: 0;
  font-size: 35px;
  width: 75px;
  height: 75px;
  line-height: 75px;
  text-align: center;
}
#need-more-time-modal .modal-box .modal-title {
  color: #FFFFFF;
  font-size: 26px;
  font-weight: bold;
}
#need-more-time-modal .modal-box .modal-content {
  font-size: 20px;
}
#need-more-time-modal .modal-box .modal-actions {
  margin: 120px 0px;
  text-align: center;
}
#need-more-time-modal .modal-box .modal-actions .modal-action-button {
  text-align: center;
  margin: 40px auto;
}
#need-more-time-modal .modal-box .modal-actions .modal-action-button .inner {
  width: 240px;
  justify-content: center;
}
#need-more-time-modal .modal-box #need-more-time-progress {
  position: relative;
  width: 100%;
  height: 5px;
  background: #333333;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#need-more-time-modal .modal-box #need-more-time-progress #need-more-time-progress-fill {
  position: absolute;
  height: calc(100% - 2px);
  top: 1px;
  left: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background: #FFFFFF;
}
.i18n-fr #game-puzzle #toolbar .button.fr .inner,
.i18n-en #game-puzzle #toolbar .button.en .inner {
  background: white;
  color: black;
}
.i18n-fr #game-puzzle #screen-5 .buttons-wrapper .button .inner {
  width: 400px;
}
#game-puzzle.game,
#game-puzzle.game .screen {
  background-color: #4d4d4d;
  width: 1920px;
  height: 1080px;
}
#game-puzzle .button {
  display: inline-block;
  margin: 0 10px;
}
#game-puzzle .button .inner {
  background-color: black;
  color: white;
  font-family: 'Univers';
  display: inline-flex;
  flex-direction: row;
  justify-content: left;
  align-items: center;
  border: 1px white solid;
  box-sizing: border-box;
  -webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  font-size: 22px;
  padding: 12px 20px;
}
#game-puzzle .button .fading-i18n,
#game-puzzle .button img,
#game-puzzle .button i {
  display: inline-block;
}
#game-puzzle .button img,
#game-puzzle .button i {
  margin-right: 10px;
}
#game-puzzle .button.icon-right img,
#game-puzzle .button.icon-right i {
  position: absolute;
  right: 0px;
}
#game-puzzle .button.icon-right .inner {
  justify-content: flex-end;
}
#game-puzzle .button.icon-right .i18n {
  margin-right: 20px;
}
#game-puzzle .button.icon-left {
  justify-content: center;
}
#game-puzzle .button.icon-left img,
#game-puzzle .button.icon-left i {
  position: absolute;
  left: 10px;
}
#game-puzzle .button.icon-left .i18n {
  margin-left: 30px;
}
#game-puzzle .button.hidden {
  visibility: hidden;
}
#game-puzzle .button.center .inner {
  justify-content: center;
}
#game-puzzle .button:active .inner {
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
  background: #575757;
  color: white;
  border-color: #575757;
}
#game-puzzle .button.active .inner {
  background: white;
  color: black;
}
#game-puzzle #toolbar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 74px;
  width: 100%;
  background: black;
  z-index: 50;
  opacity: 0;
  -webkit-transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  font-family: 'Univers';
  font-size: 18px;
}
#game-puzzle #toolbar .button {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#game-puzzle #toolbar #home {
  position: absolute;
  top: 10px;
  left: 0px;
}
#game-puzzle #toolbar #additional-ingame-buttons {
  position: absolute;
  text-align: center;
  top: 10px;
  width: 800px;
  left: 560px;
  display: none;
}
#game-puzzle #toolbar #language-buttons {
  position: absolute;
  top: 10px;
  right: 0px;
}
#game-puzzle #toolbar.active {
  opacity: 1;
}
#game-puzzle #screen-1 .language-button {
  background: black;
  position: absolute;
  text-align: left;
  top: 265px;
  width: 380px;
  height: 550px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
}
#game-puzzle #screen-1 .language-button .text {
  position: absolute;
  color: #FFFFFF;
  width: 100%;
  height: 100%;
  padding: 50px 50px;
  box-sizing: border-box;
  font-size: 54px;
  font-weight: bold;
  -webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
}
#game-puzzle #screen-1 .language-button .button {
  position: absolute;
  margin: 40px 50px;
  bottom: 0;
}
#game-puzzle #screen-1 .language-button .button .inner {
  text-align: center;
  justify-content: center;
  width: 280px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  color: #FFF;
  -webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -moz-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -ms-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  -o-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
}
#game-puzzle #screen-1 .language-button:active,
#game-puzzle #screen-1 .language-button.active {
  background: white;
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
}
#game-puzzle #screen-1 .language-button:active .text,
#game-puzzle #screen-1 .language-button.active .text {
  color: black;
}
#game-puzzle #screen-1 .language-button:active .button .inner,
#game-puzzle #screen-1 .language-button.active .button .inner {
  border: 1px black solid;
  background: #FFF;
  color: black;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
#game-puzzle #screen-1 .language-button.fr {
  right: 450px;
}
#game-puzzle #screen-1 .language-button.en {
  left: 450px;
}
#game-puzzle #screen-2 .title {
  position: absolute;
  top: 380px;
  width: 800px;
  left: 560px;
  text-align: center;
  font-size: 38px;
  color: #FFF;
  font-weight: bold;
}
#game-puzzle #screen-2 .button-level {
  display: inline-flex;
  align-items: center;
  top: 500px;
}
#game-puzzle #screen-2 .button-level .inner {
  text-align: center;
  width: 250px;
  justify-content: center;
  align-items: center;
}
#game-puzzle #screen-2 .levels-wrapper {
  position: absolute;
  top: 500px;
  width: 1920px;
  text-align: center;
}
#game-puzzle #screen-3 .title {
  position: absolute;
  top: 170px;
  width: 1400px;
  left: 250px;
  text-align: left;
  font-size: 38px;
  color: #FFF;
  font-weight: bold;
}
#game-puzzle #screen-3 #start-game {
  position: absolute;
  left: 1642px;
  top: 870px;
  width: 230px;
  text-align: center;
}
#game-puzzle #screen-3 ul.tutorial {
  position: absolute;
  top: 270px;
  width: 1500px;
  left: 210px;
}
#game-puzzle #screen-3 ul.tutorial,
#game-puzzle #screen-3 ul.tutorial li {
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}
#game-puzzle #screen-3 ul.tutorial li.slick-slide {
  height: 506px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
#game-puzzle #screen-3 ul.tutorial li.slick-slide:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
#game-puzzle #screen-3 ul.tutorial .left {
  display: inline-block;
  width: 900px;
  white-space: normal;
}
#game-puzzle #screen-3 ul.tutorial .left .tutorial-image {
  display: inline-flex;
  width: 900px;
  height: 506px;
  background: #6d6e70;
  justify-content: center;
  align-items: center;
}
#game-puzzle #screen-3 ul.tutorial .right {
  position: relative;
  display: inline-block;
  width: 500px;
  height: 100%;
  padding: 0 30px;
  box-sizing: border-box;
  vertical-align: top;
  white-space: normal;
}
#game-puzzle #screen-3 ul.tutorial .right .text {
  color: #FFF;
  text-align: left;
  font-size: 20px;
  line-height: 30px;
}
#game-puzzle #screen-3 ul.tutorial .right .number-header {
  color: #FFF;
  font-weight: bold;
  font-size: 26px;
  text-align: left;
  margin-bottom: 20px;
}
#game-puzzle #screen-3 ul.tutorial .right .actions {
  position: absolute;
  bottom: 100px;
  margin-top: 50px;
}
#game-puzzle #screen-3 ul.tutorial .right .actions .button {
  vertical-align: top;
}
#game-puzzle #screen-3 ul.tutorial .right .actions .button .inner {
  width: 210px;
}
#game-puzzle #screen-3 ul.tutorial .right .actions .button:first-child {
  margin-left: 0;
}
#game-puzzle #screen-5 {
  background-color: #FFF;
  color: #000;
}
#game-puzzle #screen-5 .icon-section {
  position: absolute;
  top: 140px;
  width: 1000px;
  left: 460px;
  text-align: center;
}
#game-puzzle #screen-5 .title-section {
  position: absolute;
  top: 330px;
  width: 1000px;
  left: 460px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
}
#game-puzzle #screen-5 .text-section {
  position: absolute;
  top: 505px;
  width: 1000px;
  left: 460px;
  font-size: 26px;
  text-align: center;
}
#game-puzzle #screen-5 .buttons-wrapper {
  position: absolute;
  top: 650px;
  left: 500px;
  width: 920px;
  text-align: center;
}
#game-puzzle #screen-5 .buttons-wrapper .button .inner {
  justify-content: center;
  width: 300px;
  vertical-align: top;
  white-space: nowrap;
}
body.colorblind .colorblind {
  opacity: 1;
}
body.apprentice .ciphersleuth-only,
body.apprentice .expert-only {
  display: none;
}
body.expert .apprentice-only,
body.expert .ciphersleuth-only {
  display: none;
}
body.ciphersleuth .apprentice-only,
body.ciphersleuth .expert-only {
  display: none;
}
#puzzle-layout {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 1920px;
  height: 1080px;
}
#puzzle-game-timer {
  position: absolute;
  top: 380px;
  left: 50px;
  width: 180px;
  text-align: center;
}
#puzzle-game-timer span {
  color: #FFFFFF;
  font-size: 100px;
  font-feature-settings: "tnum";
  font-variant: slashed-zero;
}
#puzzle-launcher {
  position: absolute;
}
#puzzle-launcher.disable .button {
  opacity: 0.2;
}
#puzzle-launcher .button {
  position: absolute;
  top: 181px;
  left: 38px;
}
#puzzle-launcher .button .inner {
  width: 130px;
  justify-content: center;
}
#puzzle-ball {
  display: inline-block;
  position: absolute;
  background: transparent url("../images/puzzle-ball.png") no-repeat center center;
  background-size: contain;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  z-index: 5;
}
#puzzle-grid {
  position: absolute;
  top: 100px;
  left: 210px;
  display: inline-flex;
  width: 1350px;
  height: 800px;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#puzzle-grid .grid-element {
  display: inline-flex;
  flex: 1;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#puzzle-bank {
  position: absolute;
  top: 120px;
  left: 1580px;
  height: 800px;
  text-align: center;
  margin-bottom: 0;
}
#puzzle-bank .puzzle-bank-title {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 82px;
  margin-top: 8px;
  margin-bottom: 12px;
  font-size: 26px;
  color: #FFF;
}
#puzzle-bank .elements-wrapper {
  width: 210px;
  margin: 15px 35px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
#puzzle-bank .elements-wrapper:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
#puzzle-bank .puzzle-element.draggable-mirror .transform-wrapper,
#puzzle-bank .puzzle-element.draggable:active .transform-wrapper {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}
#puzzle-bank .puzzle-element.draggable-mirror {
  z-index: 13;
}
.puzzle-element,
.puzzle-slot,
.puzzle-target {
  display: inline-block;
  position: relative;
  width: 210px;
  height: 210px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.puzzle-element:focus,
.puzzle-slot:focus,
.puzzle-target:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.puzzle-element .puzzle-element-bottom,
.puzzle-element .puzzle-element-top,
.puzzle-element .transform-wrapper {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  background: transparent;
  width: 100%;
  height: 100%;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.puzzle-element .puzzle-element-bottom:focus,
.puzzle-element .puzzle-element-top:focus,
.puzzle-element .transform-wrapper:focus {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
}
.puzzle-element .colorblind {
  position: absolute;
  top: 105px;
  left: 105px;
  z-index: 20;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -ms-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.puzzle-element .colorblind:after {
  content: "A";
  color: #FFF;
  position: absolute;
  font-size: 48px;
  width: 48px;
  font-weight: bold;
  line-height: 48px;
  margin-left: -22px;
  margin-top: -22px;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.95);
}
.puzzle-element.mode-in .puzzle-element-bottom {
  background: transparent url("../images/puzzle-element-in-bottom.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-in-bottom-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-in-bottom-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-in-bottom-alpha.png");
  -o-mask-image: url("../images/puzzle-element-in-bottom-alpha.png");
  mask-image: url("../images/puzzle-element-in-bottom-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 2;
}
.puzzle-element.mode-in .puzzle-element-top {
  background: transparent url("../images/puzzle-element-in-top.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-in-top-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-in-top-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-in-top-alpha.png");
  -o-mask-image: url("../images/puzzle-element-in-top-alpha.png");
  mask-image: url("../images/puzzle-element-in-top-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 10;
}
.puzzle-element.mode-insingle .puzzle-element-bottom {
  background: transparent url("../images/puzzle-element-insingle-bottom.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-insingle-bottom-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-insingle-bottom-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-insingle-bottom-alpha.png");
  -o-mask-image: url("../images/puzzle-element-insingle-bottom-alpha.png");
  mask-image: url("../images/puzzle-element-insingle-bottom-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 2;
}
.puzzle-element.mode-insingle .puzzle-element-top {
  background: transparent url("../images/puzzle-element-insingle-top.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-insingle-top-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-insingle-top-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-insingle-top-alpha.png");
  -o-mask-image: url("../images/puzzle-element-insingle-top-alpha.png");
  mask-image: url("../images/puzzle-element-insingle-top-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 10;
}
.puzzle-element.mode-out .puzzle-element-bottom {
  background: transparent url("../images/puzzle-element-out-bottom.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-out-bottom-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-out-bottom-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-out-bottom-alpha.png");
  -o-mask-image: url("../images/puzzle-element-out-bottom-alpha.png");
  mask-image: url("../images/puzzle-element-out-bottom-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 2;
}
.puzzle-element.mode-out .puzzle-element-top {
  background: transparent url("../images/puzzle-element-out-top.png") no-repeat center center;
  background-size: 100% 100%;
  -webkit-mask-image: url("../images/puzzle-element-out-top-alpha.png");
  -moz-mask-image: url("../images/puzzle-element-out-top-alpha.png");
  -ms-mask-image: url("../images/puzzle-element-out-top-alpha.png");
  -o-mask-image: url("../images/puzzle-element-out-top-alpha.png");
  mask-image: url("../images/puzzle-element-out-top-alpha.png");
  -webkit-mask-position: center center;
  -moz-mask-position: center center;
  -ms-mask-position: center center;
  -o-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: 100% 100%;
  -moz-mask-size: 100% 100%;
  -ms-mask-size: 100% 100%;
  -o-mask-size: 100% 100%;
  mask-size: 100% 100%;
  z-index: 10;
}
.puzzle-element.can-rotate .puzzle-element-rotate {
  display: inline-block;
  content: "";
  position: absolute;
  top: 65px;
  left: -20px;
  background: transparent url("../images/puzzle-element-rotate.png") no-repeat center center;
  background-size: 49px 75px;
  width: 80px;
  height: 80px;
  z-index: 12;
  -webkit-transform-origin: 128px 40px;
  -moz-transform-origin: 128px 40px;
  -ms-transform-origin: 128px 40px;
  -o-transform-origin: 128px 40px;
  transform-origin: 128px 40px;
}
.puzzle-element.draggable-source--is-dragging {
  opacity: 0.2;
}
.puzzle-element.color-aqua .puzzle-element-bottom,
.puzzle-element.color-aqua .puzzle-element-top {
  background-color: #00ffff;
}
.puzzle-element.color-aqua .colorblind:after {
  content: "A";
  color: #000;
  text-shadow: none;
}
.puzzle-element.color-red .puzzle-element-bottom,
.puzzle-element.color-red .puzzle-element-top {
  background-color: #ee2f19;
}
.puzzle-element.color-red .colorblind:after {
  content: "B";
}
.puzzle-element.color-yellow .puzzle-element-bottom,
.puzzle-element.color-yellow .puzzle-element-top {
  background-color: #ffff00;
}
.puzzle-element.color-yellow .colorblind:after {
  content: "C";
  color: #000;
  text-shadow: none;
}
.puzzle-element.color-blue .puzzle-element-bottom,
.puzzle-element.color-blue .puzzle-element-top {
  background-color: #0200a8;
}
.puzzle-element.color-blue .colorblind:after {
  content: "D";
}
.puzzle-element.color-brightpink .puzzle-element-bottom,
.puzzle-element.color-brightpink .puzzle-element-top {
  background-color: #ff00ff;
}
.puzzle-element.color-brightpink .colorblind:after {
  content: "E";
}
.puzzle-element.color-brightgreen .puzzle-element-bottom,
.puzzle-element.color-brightgreen .puzzle-element-top {
  background-color: #00ff00;
}
.puzzle-element.color-brightgreen .colorblind:after {
  content: "F";
}
.puzzle-element.color-green .puzzle-element-bottom,
.puzzle-element.color-green .puzzle-element-top {
  background-color: #005100;
}
.puzzle-element.color-green .colorblind:after {
  content: "G";
}
.puzzle-element.color-orange .puzzle-element-bottom,
.puzzle-element.color-orange .puzzle-element-top {
  background-color: #ff7d00;
}
.puzzle-element.color-orange .colorblind:after {
  content: "H";
}
.puzzle-element.color-purple .puzzle-element-bottom,
.puzzle-element.color-purple .puzzle-element-top {
  background-color: #7889ff;
}
.puzzle-element.color-purple .colorblind:after {
  content: "I";
}
.puzzle-element.color-brown .puzzle-element-bottom,
.puzzle-element.color-brown .puzzle-element-top {
  background-color: #770000;
}
.puzzle-element.color-brown .colorblind:after {
  content: "J";
}
.puzzle-element.color-gray .puzzle-element-bottom,
.puzzle-element.color-gray .puzzle-element-top {
  background-color: #878787;
}
.puzzle-element.color-gray .colorblind:after {
  content: "K";
}
.puzzle-element.color-black .puzzle-element-bottom,
.puzzle-element.color-black .puzzle-element-top {
  background-color: #000000;
}
.puzzle-element.color-black .colorblind:after {
  content: "L";
}
.puzzle-element.color-white .puzzle-element-bottom,
.puzzle-element.color-white .puzzle-element-top {
  background-color: #FFFFFF;
}
.puzzle-element.color-white .colorblind:after {
  content: "";
}
.puzzle-element.orientation-right .puzzle-element-top,
.puzzle-element.orientation-right .puzzle-element-bottom,
.puzzle-element.orientation-right .puzzle-element-rotate {
  transform: rotate(0deg) !important;
}
.puzzle-element.orientation-bottom .puzzle-element-top,
.puzzle-element.orientation-bottom .puzzle-element-bottom,
.puzzle-element.orientation-bottom .puzzle-element-rotate {
  transform: rotate(90deg) !important;
}
.puzzle-element.orientation-left .puzzle-element-top,
.puzzle-element.orientation-left .puzzle-element-bottom,
.puzzle-element.orientation-left .puzzle-element-rotate {
  transform: rotate(180deg) !important;
}
.puzzle-element.orientation-top .puzzle-element-top,
.puzzle-element.orientation-top .puzzle-element-bottom,
.puzzle-element.orientation-top .puzzle-element-rotate {
  transform: rotate(270deg) !important;
}
.puzzle-element .label {
  position: absolute;
  width: 210px;
  top: 190px;
  font-size: 24px;
  color: black;
  font-weight: normal;
  text-align: center;
  color: #FFF;
}
.puzzle-element::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 23%;
  left: 23%;
  background: #1f1e1f;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  width: 60%;
  height: 60%;
}
.puzzle-slot {
  background: transparent url("../images/puzzle-slot.png") no-repeat center center;
  background-size: 100% 100%;
}
.puzzle-target .inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent url("../images/puzzle-target.png") no-repeat center center;
  background-size: contain;
  width: 100%;
  height: 100%;
}
.puzzle-target .inner span {
  font-size: 26px;
  color: black;
  text-transform: uppercase;
  font-weight: bold;
}
/*# sourceMappingURL=styles.css.map */