/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: bold
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: bold
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

@font-face {
    font-family: 'iRokusPlusIcons';
    src: url("../fonts/iRokusPlusIcons.eot");
    src: url("../fonts/iRokusPlusIcons.eot?#iefix") format("embedded-opentype"), url("../fonts/iRokusPlusIcons.woff2") format("woff2"), url("../fonts/iRokusPlusIcons.woff") format("woff"), url("../fonts/iRokusPlusIcons.ttf") format("truetype");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-Italic.eot");
    src: url("../fonts/Open_Sans/OpenSans-Italic.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-Italic.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-Italic.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-Italic.svg") format("svg");
    font-style: italic;
    font-weight: 400
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-Regular.eot");
    src: url("../fonts/Open_Sans/OpenSans-Regular.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-Regular.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-Regular.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-Regular.svg") format("svg");
    font-style: normal;
    font-weight: 400
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-BoldItalic.eot");
    src: url("../fonts/Open_Sans/OpenSans-BoldItalic.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-BoldItalic.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-BoldItalic.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-BoldItalic.svg") format("svg");
    font-style: italic;
    font-weight: 700
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-Bold.eot");
    src: url("../fonts/Open_Sans/OpenSans-Bold.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-Bold.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-Bold.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-Bold.svg") format("svg");
    font-style: normal;
    font-weight: 700
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-LightItalic.eot");
    src: url("../fonts/Open_Sans/OpenSans-LightItalic.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-LightItalic.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-LightItalic.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-LightItalic.svg") format("svg");
    font-style: italic;
    font-weight: 300
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/OpenSans-Light.eot");
    src: url("../fonts/Open_Sans/OpenSans-Light.eot?#iefix") format("embedded-opentype");
    src: url("../fonts/Open_Sans/OpenSans-Light.woff") format("woff"), url("../fonts/Open_Sans/OpenSans-Light.ttf") format("truetype"), url("../fonts/Open_Sans/OpenSans-Light.svg") format("svg");
    font-style: normal;
    font-weight: 300
}

* {
    box-sizing: border-box
}

.annotation {
    position: absolute;
    z-index: 10000
}

.annotation.left .button {
    left: 128px
}

.annotation.right .button {
    left: 896px
}

.annotation .button {
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    background-color: #00b4ff;
    position: absolute;
    left: 3vw;
    top: 5vh;
    cursor: pointer;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNDhweCIgaGVpZ2h0PSI0OHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDQ4IDQ4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMzYsMzQuNUgxMmMtMC44LDAtMS41LTAuNy0xLjUtMS41czAuNy0xLjUsMS41LTEuNWgyNGMwLjgsMCwxLjUsMC43LDEuNSwxLjVTMzYuOCwzNC41LDM2LDM0LjV6IE0zNiwyNS43SDEyYy0wLjgsMC0xLjUtMC43LTEuNS0xLjVjMC0wLjgsMC43LTEuNSwxLjUtMS41aDI0YzAuOCwwLDEuNSwwLjcsMS41LDEuNUMzNy41LDI1LDM2LjgsMjUuNywzNiwyNS43eiBNMzYsMTYuNUgxMmMtMC44LDAtMS41LTAuNy0xLjUtMS41czAuNy0xLjUsMS41LTEuNWgyNGMwLjgsMCwxLjUsMC43LDEuNSwxLjVTMzYuOCwxNi41LDM2LDE2LjV6Ii8+PC9nPjwvc3ZnPg==);
    transition: background-color 0.3s;
    -webkit-transition: background-color 0.3s;
    background-size: 100% 100%;
}

.annotation .button:hover {
    background-color: #007eb2
}

.annotation .content {
    padding: 32px;
    background: #323232;
    position: absolute;
    top: 15vh;
    left: 2.5vw;
    width: 95vw;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    color: #FFFFFF;
    font-size: 1.3em;
    line-height: 28px;
    font-family: "Open Sans";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.annotation .content p {
    margin-bottom: 10px
}

.annotation .content *:last-child {
    margin-bottom: 0px
}

.annotation .content h1 {
    margin-bottom: 10px
}

.annotation .content hr {
    margin-bottom: 10px;
    margin-top: 13px;
    border: none;
    border-top: 1px solid #FFFFFF;
    width: 55%
}

.annotation.opened {
    width: 100%;
    height: 100%
}

.annotation.opened .button {
    background-color: #007eb2
}

.annotation.opened .content {
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1)
}

.annotation .icon-font {
    font-family: "iRokusPlusIcons"
}

html,
body {
    width: 100%;
    height: 100%
}

body.loading {
    pointer-events: none
}

body.loading:after {
    content: "";
    width: 1em;
    height: 1em;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 90px;
    text-indent: -9999em;
    overflow: hidden;
    border-radius: 50%;
    z-index: 9;
    -webkit-transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
    transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
    -webkit-animation: loadAnimation 1.8s infinite ease;
    animation: loadAnimation 1.8s infinite ease
}

@-webkit-keyframes loadAnimation {
    0% {
        -webkit-transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
        transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }

    5%,
    95% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }

    10%,
    59% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.087em -0.825em 0 -0.42em #fecb2f, -0.173em -0.812em 0 -0.44em #fecb2f, -0.256em -0.789em 0 -0.46em #fecb2f, -0.297em -0.775em 0 -0.477em #fecb2f
    }

    20% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.338em -0.758em 0 -0.42em #fecb2f, -0.555em -0.617em 0 -0.44em #fecb2f, -0.671em -0.488em 0 -0.46em #fecb2f, -0.749em -0.34em 0 -0.477em #fecb2f
    }

    38% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.377em -0.74em 0 -0.42em #fecb2f, -0.645em -0.522em 0 -0.44em #fecb2f, -0.775em -0.297em 0 -0.46em #fecb2f, -0.82em -0.09em 0 -0.477em #fecb2f
    }

    100% {
        -webkit-transform: translateZ(0) translate(-50%, -50%) rotate(360deg);
        transform: translateZ(0) translate(-50%, -50%) rotate(360deg);
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }
}

@keyframes loadAnimation {
    0% {
        -webkit-transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
        transform: translateZ(0) translate(-50%, -50%) rotate(0deg);
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }

    5%,
    95% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }

    10%,
    59% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.087em -0.825em 0 -0.42em #fecb2f, -0.173em -0.812em 0 -0.44em #fecb2f, -0.256em -0.789em 0 -0.46em #fecb2f, -0.297em -0.775em 0 -0.477em #fecb2f
    }

    20% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.338em -0.758em 0 -0.42em #fecb2f, -0.555em -0.617em 0 -0.44em #fecb2f, -0.671em -0.488em 0 -0.46em #fecb2f, -0.749em -0.34em 0 -0.477em #fecb2f
    }

    38% {
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, -0.377em -0.74em 0 -0.42em #fecb2f, -0.645em -0.522em 0 -0.44em #fecb2f, -0.775em -0.297em 0 -0.46em #fecb2f, -0.82em -0.09em 0 -0.477em #fecb2f
    }

    100% {
        -webkit-transform: translateZ(0) translate(-50%, -50%) rotate(360deg);
        transform: translateZ(0) translate(-50%, -50%) rotate(360deg);
        box-shadow: 0 -0.83em 0 -0.4em #fecb2f, 0 -0.83em 0 -0.42em #fecb2f, 0 -0.83em 0 -0.44em #fecb2f, 0 -0.83em 0 -0.46em #fecb2f, 0 -0.83em 0 -0.477em #fecb2f
    }
}

.stepper-wrapper {
    position: absolute;
    height: 50px;
    left: 0;
    right: 0;
    bottom: 36px;
    z-index: 2;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none
}

.stepper {
    display: inline-block;
    font-size: 0;
    border: 2px solid #00b4ff;
    border-radius: 24px;
    background-color: #FFFFFF
}

.stepper-icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    position: relative;
    cursor: pointer;
    font-family: 'iRokusPlusIcons';
    font-weight: normal;
    font-size: 42px;
    color: #00b4ff
}

.stepper-icon:hover {
    color: #007eb3
}

.backward:after,
.forward:after {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
    text-align: center
}

.backward:after {
    content: "\e019"
}

.forward:after {
    content: "\e01a"
}

.forward {
    margin-left: -1px
}

.stepper-text-wrapper {
    display: inline-block;
    margin: 0 0 0 0
}

.stepper-text {
    display: table;
    height: 48px;
    text-align: center;
    font-family: 'Open Sans'
}

.stepper-text p {
    display: table-cell;
    vertical-align: middle;
    font-size: 19px;
    color: #7f7f7f
}

#content-main {
    background-repeat: no-repeat;
width: 100vw;
    height: 100vh;
    font-size: 21px;
    overflow: hidden;
    position: relative
}

.wrapper {
width: 100vw;
    height: 100vh;
    position: relative;
    background-color: #fff
}

.clearfix:after {
    content: ".";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both
}

.hidden {
    display: none
}

.annotation {
    z-index: 9
}

.captions-wrapper {
    font-family: 'Open Sans';
    font-size: 21px;
    line-height: 28px
}

.formula-fmp {
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fmp.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-fnp {
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fnp.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-f1 {
    display: inline-block;
    width: 20px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_f1.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-f2 {
    display: inline-block;
    width: 20px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_f2.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-fla {
    display: inline-block;
    width: 26px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fla.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-fza {
    display: inline-block;
    width: 26px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fza.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-fr {
    display: inline-block;
    width: 20px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fr.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}

.formula-fsz {
    display: inline-block;
    width: 26px;
    height: 30px;
    position: relative;
    background-image: url("../../assets/images/formulas/formula_fsz.svg");
    background-repeat: no-repeat;
    top: 9px;
    margin: -9px 0 0 0
}
#game-container {
    display: flex;
    justify-content: center;
}

canvas {
    height: 90vh;
    position: fixed;
/*    border:1px solid black;*/
}