/*
 Scss Libraries, mixins, functions and any Scss focused logic
*/
/*
* Variables are in a map in settings.scss:

    'small'  : 48em,
    'medium' : 56.25em,
    'large'  : 68.75em,

* Use like this:

.foo {
  color: red;
  @include respond-to('small') {
    color: blue;
  }
}
*/
/*
    $FUNCTIONS
\*




/*
 * Function to keep font size consistent
 .selector { font-size: fs(x-small);}
 * You can see the current values and variables in settings.scss
 */
/*
 * Function to control Index
 	.selector { z-index: z(goku);}
 * Compiles:
	.selector { z-index: 9001;}
 * The MAP used for this is in constants.scss
 */
/*
 Settings for differents elements
*/
/*
    $CONSTANTS
\*
/**
 * Constant layout values, apart from these we can also declare values
 * for different blocks sizes and more.
 */
/*
 * A simple solution to manage z-index
 * We implement it with the z($layers) function:
 .element {
  z-index: z(goku);
 }
 *
 */
/**
 * "Start with the small screen first, then expand until it looks like shit. Time to insert a breakpoint!"
 * We use it with a respond-to($breakpoint) mixin:

.text {
  color: pink;
  @include respond-to(medium) {
    color: maroon;
  }
}
 *
 */
/*------------------------------------*\
    $DIR
\*------------------------------------*/
/**
 * Sometimes we change image dir from develop to production:
 */
/*
  * In case we use local fonts (I use them fewer and fewer lately)
  */
/*
    $COLORS
\*
/**
 * Color Palette
 */
/**
 * Message Colors
 */
/*
    $FONTS
*/
@font-face {
  font-family: 'Upheaval TT (BRK)';
  src: url("fonts/UpheavalTT-BRK-.eot");
  src: local("Upheaval TT -BRK-"), local("UpheavalTT-BRK-"), url("fonts/UpheavalTT-BRK-.eot?#iefix") format("embedded-opentype"), url("fonts/UpheavalTT-BRK-.woff2") format("woff2"), url("fonts/UpheavalTT-BRK-.woff") format("woff"), url("fonts/UpheavalTT-BRK-.ttf") format("truetype"), url("fonts/UpheavalTT-BRK-.svg#UpheavalTT-BRK-") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PT Sans B';
  src: url("fonts/PTSans-Bold.ttf");
  src: local("fonts/PTSans-Bold.ttf") format("truetype");
  font-weight: 900;
  font-style: normal; }

@font-face {
  font-family: 'PT Sans';
  src: url("fonts/PTSans-Regular.ttf");
  src: local("fonts/PTSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }


/*
 * Font Size variables are defined in a Scss MAP,
 * TODO: this MAP will create a class (in `utilities.scss`)
 * for every size with the value in REM units, you can check
 * `utilities.scss` if you need to change the loop:

 .x-small { font-size: .8rem}

 * We also have a function to assign font sizes, call `fs`:

  .selector { font-size: fs(x-small);}

 */
/*
 * Fonts definitions
 */
/*
 Base HTML elements
*/
/*
    $LINKS
*/
a {
  color: #21ACE3;
  cursor: pointer;
  font-weight: 400; }
  a:hover {
    text-decoration: underline;
    color: #fff; }
  a:focus {
    outline: 0;
    text-decoration: underline;
    color: #fff; }
  a:hover, a:active {
    outline: 0; }

/*
    $TIPOGRAPHY
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "PT Sans B";
  font-weight: 600;
  color: #fff;
  text-rendering: optimizelegibility; }

/* Set headers line-height, margin bottom and font size */
h1 {
  margin-bottom: 0;
  font-size: 2.5rem;
  line-height: 1.5; }

h2 {
  margin-bottom: 0;
  font-size: 1.37rem;
  line-height: 1.5; }

h3 {
  margin-bottom: 0;
  font-size: 1.125rem;
  line-height: 1.5; }

h4 {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.5; }

h5 {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.5; }

h6 {
  margin-bottom: 0;
  font-size: 1.125rem;
  line-height: 1.5; }

p {
  margin-top: 0;
  font-weight: 400; }

/*
 Scss Libraries, mixins, functions and any Scss focused logic
*/
/*
* Variables are in a map in settings.scss:

    'small'  : 48em,
    'medium' : 56.25em,
    'large'  : 68.75em,

* Use like this:

.foo {
  color: red;
  @include respond-to('small') {
    color: blue;
  }
}
*/
/*
    $FUNCTIONS
\*




/*
 * Function to keep font size consistent
 .selector { font-size: fs(x-small);}
 * You can see the current values and variables in settings.scss
 */
/*
 * Function to control Index
 	.selector { z-index: z(goku);}
 * Compiles:
	.selector { z-index: 9001;}
 * The MAP used for this is in constants.scss
 */
/*
 Settings for differents elements
*/
/*
    $CONSTANTS
\*
/**
 * Constant layout values, apart from these we can also declare values
 * for different blocks sizes and more.
 */
/*
 * A simple solution to manage z-index
 * We implement it with the z($layers) function:
 .element {
  z-index: z(goku);
 }
 *
 */
/**
 * "Start with the small screen first, then expand until it looks like shit. Time to insert a breakpoint!"
 * We use it with a respond-to($breakpoint) mixin:

.text {
  color: pink;
  @include respond-to(medium) {
    color: maroon;
  }
}
 *
 */
/*------------------------------------*\
    $DIR
\*------------------------------------*/
/**
 * Sometimes we change image dir from develop to production:
 */
/*
  * In case we use local fonts (I use them fewer and fewer lately)
  */
/*
    $COLORS
\*
/**
 * Color Palette
 */
/**
 * Message Colors
 */
/*
    $FONTS
*/
@font-face {
  font-family: 'Upheaval TT (BRK)';
  src: url("fonts/UpheavalTT-BRK-.eot");
  src: local("Upheaval TT -BRK-"), local("UpheavalTT-BRK-"), url("fonts/UpheavalTT-BRK-.eot?#iefix") format("embedded-opentype"), url("fonts/UpheavalTT-BRK-.woff2") format("woff2"), url("fonts/UpheavalTT-BRK-.woff") format("woff"), url("fonts/UpheavalTT-BRK-.ttf") format("truetype"), url("fonts/UpheavalTT-BRK-.svg#UpheavalTT-BRK-") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PT Sans B';
  src: url("fonts/PTSans-Bold.ttf");
  src: local("fonts/PTSans-Bold.ttf") format("truetype");
  font-weight: 900;
  font-style: normal; }

@font-face {
  font-family: 'PT Sans';
  src: url("fonts/PTSans-Regular.ttf");
  src: local("fonts/PTSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }


/*
 * Font Size variables are defined in a Scss MAP,
 * TODO: this MAP will create a class (in `utilities.scss`)
 * for every size with the value in REM units, you can check
 * `utilities.scss` if you need to change the loop:

 .x-small { font-size: .8rem}

 * We also have a function to assign font sizes, call `fs`:

  .selector { font-size: fs(x-small);}

 */
/*
 * Fonts definitions
 */
.button, .primary, .cta {
  font-size: 1rem;
  cursor: pointer;
  color: #cfd8dc;
  display: inline-block;
  border: none;
  border-radius: 3px;
  background: #0F1739;
  padding: 10px 36px;
  line-height: 1.5;
  font-weight: bold;
  border-radius: 1.5em;
  -webkit-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  text-align: center;
  font-family: 'PT Sans';
  text-decoration: none; }
  .button:hover, .primary:hover, .cta:hover {
    background: #21ACE3;
    text-decoration: none;
    -webkit-box-shadow: inset 5px 0 0 #178cba;
    box-shadow: inset 5px 0 0 #178cba; }

.disabled,
button[disabled=disabled],
.disabled:hover,
.disabled:active {
  cursor: not-allowed; }
  .disabled.wrong,
  button[disabled=disabled].wrong,
  .disabled:hover.wrong,
  .disabled:active.wrong {
    background-color: #EB7C80;
    -webkit-box-shadow: inset 5px 0 0 #f2a8ab;
    box-shadow: inset 5px 0 0 #f2a8ab; }
  .disabled.correct,
  button[disabled=disabled].correct,
  .disabled:hover.correct,
  .disabled:active.correct {
    background-color: #85BB9A;
    -webkit-box-shadow: inset 5px 0 0 #a6cdb5;
    box-shadow: inset 5px 0 0 #a6cdb5; }

.primary {
  border: 2px solid #fff;
  background-color: #fff;
  color: #000;
  -webkit-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out; }
  .primary:hover {
    -webkit-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    background-color: #bfbfbf;
    border: 2px solid #bfbfbf;
    color: #000; }

.cta {
  border: 2px solid #21ACE3;
  background-color: #21ACE3;
  color: #000;
  -webkit-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out; }
  .cta:hover {
    -webkit-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    background-color: #0f5976;
    border: 2px solid #0f5976;
    color: #000; }
  .cta--error {
    border: 2px solid #EB7C80;
    background-color: #EB7C80; }

.overwhite {
  border-color: #E3EBF5;
  color: #E3EBF5; }
  .overwhite:hover {
    border-color: white;
    color: white;
    background-color: transparent; }

.buttonrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  position: relative; }
  .buttonrow.equally {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .buttonrow.equally [class^="button"], .buttonrow.equally [class*=" button"] {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%;
      margin-bottom: 12px;
      margin-left: 0; }
  @media (min-width: 56.25em) {
    .buttonrow.align-right {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; } }
  .buttonrow [class^="button"], .buttonrow [class*=" button"] {
    width: 100%;
    margin-bottom: 12px; }
  @media (min-width: 56.25em) {
    .buttonrow {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .buttonrow [class^="button"], .buttonrow [class*=" button"] {
        width: auto;
        margin-bottom: 0; } }

.responsive {
  display: block;
  width: 100%; }
  @media (min-width: 56.25em) {
    .responsive {
      display: inline-block;
      width: auto; } }

.block {
  display: block;
  width: 100%; }

.btn--next {
  position: absolute;
  right: 24px;
  bottom: 24px;
  background-color: #fff;
  border: none;
  padding: 28px 36px 28px 48px;
  text-align: center;
  font-family: 'Upheaval TT (BRK)';
  color: #21ACE3;
  font-size: 17px;
  border-radius: 95px 0 10px;
  -webkit-box-shadow: inset 5px 0 0 #cccccc;
  box-shadow: inset 5px 0 0 #cccccc;
  cursor: pointer; }

.btn--cta {
  font-family: 'Upheaval TT (BRK)';
  font-size: 28px;
  background-color: #fff;
  color: #21ACE3;
  line-height: 1.5;
  padding: 0 64px;
  -webkit-box-shadow: inset 5px 0 0 #cccccc;
  box-shadow: inset 5px 0 0 #cccccc; }
  .btn--cta:hover {
    color: #fff; }

.btn-modal {
  position: absolute;
  right: 24px;
  bottom: 24px;
  background-color: #85BB9A;
  border: none;
  padding: 28px 36px 28px 48px;
  text-align: center;
  font-family: 'Upheaval TT (BRK)';
  color: #21ACE3;
  font-size: 42px;
  border-radius: 95px 0 10px;
  -webkit-box-shadow: inset 5px 0 0 #4e8c66;
  box-shadow: inset 5px 0 0 #4e8c66;
  cursor: pointer;
  color: #fff;
  text-decoration: none; }
  .btn-modal--no {
    right: auto;
    left: 24px;
    border-radius: 0 90px 0 10px;
    padding: 28px 48px 28px 24px;
    -webkit-box-shadow: inset -5px 0 0 #dd242a;
    box-shadow: inset -5px 0 0 #dd242a;
    background-color: #EB7C80; }

.final__btn--retry, .final__btn--exit {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 200px; }

.final__btn--retry {
  right: auto;
  left: 24px; }

/*
 Layout and general styles
*/
/*
 Main layout and HTML/BODY styles
*/
html {
  background: #0F1739;
  font-size: 100%;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height: 100%; }

body {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  line-height: 1.5;
  color: #fff;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

img {
  max-width: 100%;
  border-width: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

.content {
  background-color: #002E6D;
  background-image: url("../assets/images/bg-geometric.png"), url("../assets/images/pattern.png");
  background-repeat: no-repeat, repeat;
  background-size: 80%, auto;
  background-position: center, center;
  height: 90vh;
  max-width: 90vw;
  width: 100%;
  border-radius: 30px;
  border: 1px solid #E3EBF5;
  position: relative; }
  .content--motion {
    background-image: url("../assets/images/pattern.png");
    background-repeat: repeat;
    background-size: 10px;
    background-position: center;
    overflow: hidden; }
  .content--dragndrop {
    max-width: 1720px;
    background-image: url("../assets/images/pattern.png");
    background-repeat: repeat;
    background-size: 10px;
    background-position: center;
    overflow: hidden;
    height: auto; }

/*
 Utilities as a last resource, so we can avoid some !importants
*/
/* Displays */
.block {
  display: block;
  width: 100%; }

.relative {
  position: relative; }

/* Margins */
.margin-bottom-s {
  margin-bottom: 12px; }

.margin-bottom {
  margin-bottom: 24px; }

.margin-bottom-x2 {
  margin-bottom: 48px; }

.margin-bottom-x3 {
  margin-bottom: 72px; }

.margin-bottom-x4 {
  margin-bottom: 96px; }

.margin-left {
  margin-left: 24px; }

.margin-lef-x2 {
  margin-left: 48px; }

.no-margin {
  margin: 0; }

/* Paddings */
.padding-top {
  padding-top: 24px; }

.padding-top-x2 {
  padding-top: 48px; }

.padding-top-x4 {
  padding-top: 96px; }

.padding-hor {
  padding-left: 24px;
  padding-right: 24px; }

/* Aligns */
.align-right {
  text-align: right; }

.align-center {
  text-align: center; }

.maxwidth {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
  width: 100%; }

.maxwidth--small {
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
  width: 100%; }

/*
*
*   Classes for font- sizes, you can check them in _fonts.scss
*   Same name of the variables with the `font-` prefix

    .font-x-small {
        font-size: .9rem;
    }

    *
 */
.font-x-small {
  font-size: 0.6rem; }

.font-small {
  font-size: 0.875rem; }

.font-normal {
  font-size: 1rem; }

.font-big {
  font-size: 1.125rem; }

.font-bigger {
  font-size: 1.5rem; }

.font-huge {
  font-size: 2.5rem; }

.font-x-huge {
  font-size: 3.5rem; }

.visuallyhidden {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }

.text-break {
  word-break: break-all; }

hr {
  clear: both;
  display: block;
  margin: 24px;
  padding: 0;
  height: 1px;
  border: 0;
  border-top: 1px solid #E3EBF5; }

.activate-dot, .sun--on .indicator__step--1, .steam--on .indicator__step--2, .rain--on .indicator__step--3, .river--on .indicator__step--4, .aquifero--on .indicator__step--5, .finnished .indicator__step--1 {
  background-color: #fff;
  border-color: #fff; }

.de-activate-dot {
  border-color: #003478;
  background-color: #003478; }

.sun--on .sun {
  -webkit-animation: sun 1s forwards 1;
  animation: sun 1s forwards 1;
  opacity: 1; }

.sun--on ~ .message#message1 {
  opacity: 1; }

.steam--on .sun {
  -webkit-animation: sun--out 1s forwards 1;
  animation: sun--out 1s forwards 1;
  opacity: 0; }

.steam--on ~ .message#message1 {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.steam--on .steamarea {
  opacity: 1; }

.steam--on .clouds {
  opacity: 1; }

.steam--on ~ .message#message2 {
  opacity: 1; }

.rain--on .clouds {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  opacity: 1; }

.rain--on .rain {
  opacity: 1;
  -webkit-animation: rain 1s infinite;
  animation: rain 1s infinite;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.rain--on .snow {
  opacity: 1; }

.rain--on ~ .message#message2 {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.rain--on ~ .message#message3 {
  opacity: 1; }

.river--on .clouds {
  opacity: 0; }

.river--on .rain {
  opacity: 0;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.river--on .snow {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.river--on ~ .message#message3 {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.river--on ~ .message#message4 {
  opacity: 1; }

.river--on .waterfall {
  -webkit-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  opacity: 1; }

.river--on .ola g {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1; }

.river--on .st7 {
  opacity: 1; }

.aquifero--on ~ .message#message5 {
  opacity: 1; }

.aquifero--on ~ .message#message4 {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.aquifero--on #SVGID_12_ {
  -webkit-transition: all 1s ease-in;
  -o-transition: all 1s ease-in;
  transition: all 1s ease-in;
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px); }

.aquifero--on .innerriver {
  -webkit-transition: all 1s ease-in;
  -o-transition: all 1s ease-in;
  transition: all 1s ease-in;
  -webkit-transform: translateY(-50px);
  -ms-transform: translateY(-50px);
  transform: translateY(-50px); }

.aquifero--on .ola g {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 0; }

.aquifero--on .st7 {
  opacity: 0; }

.aquifero--on .sun {
  opacity: 1;
  -webkit-transition: opacity 1s ease-in;
  -o-transition: opacity 1s ease-in;
  transition: opacity 1s ease-in; }

.finnished ~ .message#message5 {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s; }

.finnished ~ .comprobar {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }

.finnished .sun {
  opacity: 1; }

@-webkit-keyframes sun {
  0% {
    -webkit-box-shadow: 0 0 0 0 #f9d162;
    box-shadow: 0 0 0 0 #f9d162; }
  25% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4); }
  50% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6); }
  75% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5); }
  100% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4); } }

@keyframes sun {
  0% {
    -webkit-box-shadow: 0 0 0 0 #f9d162;
    box-shadow: 0 0 0 0 #f9d162; }
  25% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4); }
  50% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6); }
  75% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5); }
  100% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4); } }

@-webkit-keyframes sun--out {
  0% {
    -webkit-box-shadow: 0 0 0 0 #f9d162, 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 0 #f9d162, 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4); }
  25% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5); }
  50% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6); }
  75% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4); }
  100% {
    -webkit-box-shadow: 0 0 0 0px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 0px rgba(249, 209, 98, 0.4);
    opacity: 0; } }

@keyframes sun--out {
  0% {
    -webkit-box-shadow: 0 0 0 0 #f9d162, 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 0 #f9d162, 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5), 0 0 0 270px rgba(249, 209, 98, 0.4); }
  25% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6), 0 0 0 170px rgba(249, 209, 98, 0.5); }
  50% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4), 0 0 0 70px rgba(249, 209, 98, 0.6); }
  75% {
    -webkit-box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 30px rgba(249, 209, 98, 0.4); }
  100% {
    -webkit-box-shadow: 0 0 0 0px rgba(249, 209, 98, 0.4);
    box-shadow: 0 0 0 0px rgba(249, 209, 98, 0.4);
    opacity: 0; } }

/* animation keyframes */
@-webkit-keyframes rain {
  from {
    background-position: 0 0px;
    opacity: 1; }
  to {
    background-position: 224px 224px;
    opacity: 1; } }
@keyframes rain {
  from {
    background-position: 0 0px;
    opacity: 1; }
  to {
    background-position: 224px 224px;
    opacity: 1; } }

@-webkit-keyframes rain2 {
  from {
    background-position: 64px 64px; }
  to {
    background-position: 288px 288px; } }

@keyframes rain2 {
  from {
    background-position: 64px 64px; }
  to {
    background-position: 288px 288px; } }

@-webkit-keyframes dash {
  to {
    stroke-dashoffset: 500; } }

@keyframes dash {
  to {
    stroke-dashoffset: 500; } }

@-webkit-keyframes snowflakes-fall {
  0% {
    top: -10%; }
  100% {
    top: 100%; } }

@keyframes snowflakes-fall {
  0% {
    top: -10%; }
  100% {
    top: 100%; } }

@-webkit-keyframes snowflakes-shake {
  0% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); }
  50% {
    -webkit-transform: translateX(80px);
    transform: translateX(80px); }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@keyframes snowflakes-shake {
  0% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); }
  50% {
    -webkit-transform: translateX(80px);
    transform: translateX(80px); }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

.motion {
  margin: 0 auto;
  max-width: 60%;
  padding-top: 96px; }
  @media (min-width: 1600px) {
    .motion {
      max-width: 50%; } }
  .motion__start {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 30px;
    padding-top: 144px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../assets/images/motion/bg-geometric-motion.png"), url("../assets/images/pattern.png");
    background-repeat: no-repeat, repeat;
    background-size: 80%, auto;
    background-position: center 30%, center; }
    .motion__start__content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 24px 96px;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; }
      .motion__start__content__text {
        padding-right: 96px; }
      .motion__start__content__action p {
        color: #21ACE3;
        font-weight: bold;
        margin-bottom: 48px; }
  .motion__title {
    font-size: 80px;
    max-width: 60%;
    text-align: center;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 96px; }
    .motion__title .main {
      display: block;
      color: #fff; }
    .motion__title span {
      display: block;
      color: #21ACE3; }

.clouds {
  position: absolute;
  overflow: hidden;
  top: 5%;
  left: 55%;
  width: 300px;
  height: 380px;
  opacity: 0;
  -webkit-transition: -webkit-transform .6s ease .2s;
  transition: -webkit-transform .6s ease .2s;
  -o-transition: transform .6s ease .2s;
  transition: transform .6s ease .2s;
  transition: transform .6s ease .2s, -webkit-transform .6s ease .2s; }

.sun {
  background-color: #f9d162;
  width: 75px;
  height: 75px;
  position: absolute;
  top: 5%;
  left: 70%;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity .2s ease;
  -o-transition: opacity .2s ease;
  transition: opacity .2s ease; }
  .sun--out {
    -webkit-animation: sun--out 1s forwards 1;
    animation: sun--out 1s forwards 1; }

.steamarea {
  position: absolute;
  overflow: hidden;
  top: 5%;
  left: 55%;
  width: 300px;
  height: 380px;
  opacity: 0;
  -webkit-transition: opacity .6s ease .5s;
  -o-transition: opacity .6s ease .5s;
  transition: opacity .6s ease .5s; }
  .steamarea svg {
    max-width: 100%; }

.rain {
  position: absolute;
  overflow: hidden;
  top: 20px;
  left: 65%;
  width: 500px;
  height: 380px;
  opacity: 0;
  -webkit-transition: opacity .6s ease .5s;
  -o-transition: opacity .6s ease .5s;
  transition: opacity .6s ease .5s;
  z-index: 3; }
  .rain svg {
    max-width: 100%;
    position: relative;
    z-index: 1; }

/* pseudo elements: positioning and setup */
.rain--on .rain:after {
  content: "";
  position: absolute;
  left: -50%;
  top: 34%;
  right: -50%;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  background: transparent repeat-y;
  background-size: 30%;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-pixelated;
  image-rendering: pixelated;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  background-image: url("../assets/images/motion/rain.svg");
  -webkit-animation-name: rain;
  animation-name: rain;
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
  opacity: 0; }

.rain--on .rain:before {
  content: "";
  position: absolute;
  left: -50%;
  top: 34%;
  right: -50%;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  background: transparent repeat;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-pixelated;
  image-rendering: pixelated;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  opacity: 0.8;
  -webkit-animation-name: rain2;
  animation-name: rain2;
  background-image: url("../assets/images/motion/tinyrain.svg");
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
  -webkit-animation-duration: 10s;
  animation-duration: 10s; }

.steam {
  width: 20px;
  position: absolute; }
  .steam1 {
    top: 40%;
    left: 20%; }
  .steam2 {
    top: 60%;
    left: 35%; }
  .steam3 {
    top: 40%;
    left: 50%; }
  .steam4 {
    top: 60%;
    left: 65%; }

.steam--first {
  stroke-dasharray: 250;
  -webkit-animation: dash 4s 1s linear infinite;
  animation: dash 4s 1s linear infinite;
  fill: none; }

.snow {
  position: absolute;
  overflow: hidden;
  top: 140px;
  left: 55%;
  width: 300px;
  height: 280px;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: opacity .6s ease 4s;
  -o-transition: opacity .6s ease 4s;
  transition: opacity .6s ease 4s;
  z-index: 3;
  opacity: 0; }
  .snow .snowflake {
    color: #fff;
    font-size: 2em;
    font-family: Arial;
    text-shadow: 0 0 1px #000; }
  .snow .snowflake {
    position: absolute;
    top: -10%;
    z-index: 9999;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
    -webkit-animation-name: snowflakes-fall,snowflakes-shake;
    -webkit-animation-duration: 10s,3s;
    -webkit-animation-timing-function: linear,ease-in-out;
    -webkit-animation-iteration-count: infinite,infinite;
    -webkit-animation-play-state: running,running;
    animation-name: snowflakes-fall,snowflakes-shake;
    animation-duration: 10s,3s;
    animation-timing-function: linear,ease-in-out;
    animation-iteration-count: infinite,infinite;
    animation-play-state: running,running; }
  .snow .snowflake:nth-of-type(0) {
    left: 1%;
    -webkit-animation-delay: 0s,0s;
    animation-delay: 0s,0s; }
  .snow .snowflake:nth-of-type(1) {
    left: 10%;
    -webkit-animation-delay: 1s,1s;
    animation-delay: 1s,1s; }
  .snow .snowflake:nth-of-type(2) {
    left: 20%;
    -webkit-animation-delay: 6s,.5s;
    animation-delay: 6s,.5s; }
  .snow .snowflake:nth-of-type(3) {
    left: 30%;
    -webkit-animation-delay: 4s,2s;
    animation-delay: 4s,2s; }
  .snow .snowflake:nth-of-type(4) {
    left: 40%;
    -webkit-animation-delay: 2s,2s;
    animation-delay: 2s,2s; }
  .snow .snowflake:nth-of-type(5) {
    left: 50%;
    -webkit-animation-delay: 8s,3s;
    animation-delay: 8s,3s; }
  .snow .snowflake:nth-of-type(6) {
    left: 60%;
    -webkit-animation-delay: 6s,2s;
    animation-delay: 6s,2s; }
  .snow .snowflake:nth-of-type(7) {
    left: 70%;
    -webkit-animation-delay: 2.5s,1s;
    animation-delay: 2.5s,1s; }
  .snow .snowflake:nth-of-type(8) {
    left: 80%;
    -webkit-animation-delay: 1s,0s;
    animation-delay: 1s,0s; }
  .snow .snowflake:nth-of-type(9) {
    left: 90%;
    -webkit-animation-delay: 3s,1.5s;
    animation-delay: 3s,1.5s; }

.topbar {
  padding: 12px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 200; }
  @media (min-width: 1600px) {
    .topbar {
      padding: 24px; } }
  .topbar__exit {
    margin-bottom: 24px;
    display: block; }
    .topbar__exit img {
      width: 60px; }
      @media (min-width: 1600px) {
        .topbar__exit img {
          width: 100%; } }
  .topbar__help {
    cursor: pointer; }

.modal {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: #21ACE3;
  width: 70%;
  height: 70vh;
  border-radius: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 144px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid gray;
  z-index: 6000; }
  .modal--test {
    background-color: #003478;
    display: block;
    text-align: center;
    padding-top: 72px;
    background-image: url("../assets/images/motion/bg-test.svg");
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center 30%; }
  .modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #191919;
    z-index: 6000; }
  .modal__image {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    text-align: center; }
    .modal__image img {
      height: 200px; }
  .modal__title {
    font-size: 52px; }
    .modal__title:after {
      content: "";
      display: block;
      width: 15px;
      height: 2px;
      background-color: #fff;
      margin: 24px 0 24px 0; }

.c_black {
  background-color: blueviolet; }

.c_green {
  background-color: greenyellow; }

.c_red {
  background-color: firebrick; }

.message {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 500px;
  background-color: #fff;
  -webkit-box-shadow: 5px 5px 0 0 #003478;
  box-shadow: 5px 5px 0 0 #003478;
  color: #003478;
  padding: 48px 24px;
  font-weight: 400;
  opacity: 0;
  -webkit-transition: opacity .2s ease 2.5s;
  -o-transition: opacity .2s ease 2.5s;
  transition: opacity .2s ease 2.5s;
  z-index: 2500; }
  .message__title {
    color: #003478;
    font-size: 2rem; }
    .message__title:after {
      content: "";
      display: block;
      width: 15px;
      height: 2px;
      background-color: #003478;
      margin: 24px 0 24px 0; }
  .message#message3 {
    -webkit-transition: opacity .2s ease 6s;
    -o-transition: opacity .2s ease 6s;
    transition: opacity .2s ease 6s; }

.indicator {
  position: absolute;
  left: -10%;
  width: 5em;
  height: 5em;
  border: 5px solid #003478;
  border-radius: 50%;
  position: relative;
  width: 5em;
  height: 5em;
  padding: 0;
  border-radius: 50%;
  list-style: none; }
  .indicator > * {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1em;
    height: 1em;
    margin: -0.5em; }
    .indicator > *:nth-of-type(1) {
      -webkit-transform: rotate(-90deg) translate(2.5em) rotate(90deg);
      -ms-transform: rotate(-90deg) translate(2.5em) rotate(90deg);
      transform: rotate(-90deg) translate(2.5em) rotate(90deg); }
    .indicator > *:nth-of-type(2) {
      -webkit-transform: rotate(-18deg) translate(2.5em) rotate(18deg);
      -ms-transform: rotate(-18deg) translate(2.5em) rotate(18deg);
      transform: rotate(-18deg) translate(2.5em) rotate(18deg); }
    .indicator > *:nth-of-type(3) {
      -webkit-transform: rotate(54deg) translate(2.5em) rotate(-54deg);
      -ms-transform: rotate(54deg) translate(2.5em) rotate(-54deg);
      transform: rotate(54deg) translate(2.5em) rotate(-54deg); }
    .indicator > *:nth-of-type(4) {
      -webkit-transform: rotate(126deg) translate(2.5em) rotate(-126deg);
      -ms-transform: rotate(126deg) translate(2.5em) rotate(-126deg);
      transform: rotate(126deg) translate(2.5em) rotate(-126deg); }
    .indicator > *:nth-of-type(5) {
      -webkit-transform: rotate(198deg) translate(2.5em) rotate(-198deg);
      -ms-transform: rotate(198deg) translate(2.5em) rotate(-198deg);
      transform: rotate(198deg) translate(2.5em) rotate(-198deg); }
  .indicator__step {
    border: 5px solid #003478;
    border-radius: 50%;
    background-color: #003478; }

.comprobar {
  border: 2px solid #21ACE3;
  width: 270px;
  position: absolute;
  right: 24px;
  bottom: 24px;
  padding: 48px 24px;
  border-radius: 95px 0 10px;
  -webkit-transform: translateX(200%);
  -ms-transform: translateX(200%);
  transform: translateX(200%);
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  -o-transition: transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease; }
  .comprobar h2 {
    margin-bottom: 24px;
    line-height: 1; }

.inputs {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33%;
  flex: 0 0 33%;
  margin: 0 0 12px 0;
  padding-right: 12px; }

.motiontest {
  width: 80%;
  max-width: 80%; }
  .motiontest .motion__title {
    max-width: 100%;
    margin-bottom: 24px; }
  .motiontest__maintitle {
    margin-bottom: 48px; }
  .motiontest__title {
    font-family: "PT Sans";
    font-weight: normal;
    color: #21ACE3;
    margin-bottom: 24px;
    -webkit-box-flex: 100%;
    -ms-flex: 100%;
    flex: 100%;
    padding-left: 36px;
    position: relative; }
    .motiontest__title::before {
      content: attr(data-number) ".";
      display: inline-block;
      border: 1px solid #fff;
      border-radius: 50%;
      font-size: 16px;
      width: 1.5em;
      height: 1.5em;
      text-align: center;
      font-weight: bold;
      color: #fff;
      position: absolute;
      left: 0;
      top: .25em; }
  .motiontest__question {
    margin-bottom: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .motiontest__question label {
      margin-right: 48px;
      margin-left: 12px; }
  .motiontest__resultimage {
    width: 150px;
    margin-bottom: 24px; }

.correct, .wrong {
  display: inline-block;
  width: 40px;
  margin-right: 8px;
  margin-bottom: 12px; }

.waterfall {
  -webkit-transition: height 1.5s ease;
  -o-transition: height 1.5s ease;
  transition: height 1.5s ease;
  opacity: 0; }

.ola {
  width: 20px; }
  .ola g {
    fill: #90d5f1;
    -webkit-transition: all 1.5s ease;
    -o-transition: all 1.5s ease;
    transition: all 1.5s ease;
    -webkit-transform: translate(-42px, -18px);
    -ms-transform: translate(-42px, -18px);
    transform: translate(-42px, -18px);
    opacity: 0; }

.ola g {
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  -webkit-transform: translate(-120px, -90px);
  -ms-transform: translate(-120px, -90px);
  transform: translate(-120px, -90px);
  opacity: 0; }

.st7 {
  opacity: 0;
  -webkit-transition: all 1.8s ease;
  -o-transition: all 1.8s ease;
  transition: all 1.8s ease; }

.color-blue {
  color: #21ACE3;
  font-weight: bold; }
