@font-face {
    font-family: 'irokusplusiconsregular';
    src: url("../fonts/iRokusPlusIcons/irokusplusicons-webfont.eot");
    src: url("../fonts/iRokusPlusIcons/irokusplusicons-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/iRokusPlusIcons/irokusplusicons-webfont.woff2") format("woff2"), url("../fonts/iRokusPlusIcons/irokusplusicons-webfont.woff") format("woff"), url("../fonts/iRokusPlusIcons/irokusplusicons-webfont.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
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
    -webkit-tap-highlight-color: transparent
}

body {
    -ms-touch-action: none !important
}

.wrapper {
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    background-color: #fff
}

#wrapper {
    background-color: #fff
}

.content {
    position: relative;
    display: flex;
    justify-content: center;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
li,
span,
a {
    font-family: 'Open Sans';
    font-style: normal;
    font-size: 1.3em;
    line-height: 28px;
    text-decoration: none
}

.icon {
    width: 5vw;
    height: 5vw;
    left: 3vw;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    background: url("../../assets/images/icons_bio9uc_web.svg");
    background-repeat: no-repeat;
    background-size: 502px 102px;
    overflow: hidden;
}

.icon-pause {
    background-position: -2px -2px
}

.icon-pause:hover {
    background-position: -2px -52px
}

.icon-pause-active {
    background-position: -2px -52px
}

.icon-play {
    background-position: -52px -2px
}

.icon-play:hover {
    background-position: -52px -52px
}

.icon-play-active {
    background-position: -52px -52px
}

.icon-plus {
    background-position: -352px -2px
}

.icon-plus:hover {
    background-position: -352px -52px
}

.icon-plus-active {
    background-position: -352px -52px
}

.icon-plus.active {
    background-position: -352px -52px
}

.icon-minus {
    background-position: -302px -2px
}

.icon-minus-active {
    background-position: -302px -52px
}

.icon-plus-big {
    background-position: -452px -2px
}

.icon-plus-big:hover {
    background-position: -452px -52px
}

.icon-plus-big-active {
    background-position: -452px -52px
}

.icon-minus-big {
    background-position: -402px -2px
}

.icon-minus-big-active {
    background-position: -402px -52px
}

.icon-default {
    background: none;
    text-align: center
}

.icon-default::after {
    content: " ";
    width: 29px;
    height: 29px;
    border-radius: 50%;
    margin-top: 6px;
    background: #00b4ff;
    display: inline-block;
    border: 3px solid #fff
}

.icon-default:hover::after {
    background: #007eb2
}

.icon-default-active {
    background: transparent;
    text-align: center
}

.icon-default-active::before {
    content: " ";
    width: 29px;
    height: 29px;
    border-radius: 50%;
    margin-top: 6px;
    background: #007eb2;
    display: inline-block;
    border: 3px solid #fff
}

.icon-default-small {
    background: transparent;
    text-align: center
}

.icon-default-small::before {
    content: " ";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin-top: 12px;
    background: #00b4ff;
    display: inline-block;
    border: 3px solid #fff
}

.icon-default-small-active {
    background: transparent;
    text-align: center
}

.icon-default-small-active::before {
    content: " ";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin-top: 12px;
    background: #007eb2;
    display: inline-block;
    border: 3px solid #fff
}

.icon-forward {
    background-position: -200px -4px;
    margin-left: 17px
}

.icon-forward-active {
    background-position: -200px -54px;
    margin-left: 22px
}

.icon-backward {
    background-position: -154px -4px
}

.icon-backward-active {
    background-position: -154px -54px
}

.stepper-wrapper {
    bottom: 3vh;
    z-index: 3;
    position: absolute;
    width: 100vw;
    height: 48px;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    pointer-events: none
}

.stepper {
    width: 128px;
    height: 48px;
    display: inline-block;
    border: 2px solid #00b4ff;
    border-radius: 24px;
    background: #fff;
    overflow: hidden;
    pointer-events: auto;
    position: relative
}

.annotation {
    /*    text-align: center;*/
    z-index: 3;
    width: 100vw;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none
}

.annotation .icon {
    position: relative;
    overflow: hidden;
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    font-size: 0;
    text-indent: -99999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    background-color: #00b4ff;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.annotation .icon:focus {
    outline: none
}

.annotation .icon .annotation-icon-line {
    position: absolute;
    top: 47%;
    left: 20%;
    right: 20%;
    height: 2px;
    background: #fff;
    background-size: 100% 100%;
}

.annotation .icon .annotation-icon-line::before,
.annotation .icon .annotation-icon-line::after {
    content: '';
    position: absolute;
    display: block;
    height: 2px;
    background-color: #fff;
    left: 0;
    width: 100%
}

.annotation .icon .annotation-icon-line::before {
    top: -9px
}

.annotation .icon .annotation-icon-line::after {
    bottom: -9px
}

.annotation .icon-annotation {
    background-color: #00b4ff
}

.annotation .icon-annotation:hover {
    background-color: #007eb2
}

.annotation .icon-annotation .annotation-icon-line {
    -webkit-transition: background 0s linear 0.3s;
    transition: background 0s linear 0.3s
}

.annotation .icon-annotation .annotation-icon-line::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, transform
}

.annotation .icon-annotation .annotation-icon-line::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform
}

.annotation .icon-annotation .annotation-icon-line::before,
.annotation .icon-annotation .annotation-icon-line::after {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0s;
    transition-delay: 0.3s, 0s
}

.annotation .icon-annotation.active {
    background-color: #007eb2
}

.annotation .icon-annotation.active .annotation-icon-line {
    background: none
}

.annotation .icon-annotation.active .annotation-icon-line::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.annotation .icon-annotation.active .annotation-icon-line::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.annotation .icon-annotation.active .annotation-icon-line::before,
.icon-annotation.active .annotation-icon-line::after {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s
}

.annotation .icon {
    margin-top: 5vh;
}

.annotation-text-box {
    background: #323232;
    color: #fff;
    padding: 29px 34px;
    width: 95vw;
    text-align: left;
    margin: 15vh auto 0 auto;
    display: none
}

.annotation-title {
    font-weight: bold;
    margin-bottom: 12px
}

.annotation-text {
    margin-bottom: 9px
}

.annotation-text:last-of-type {
    margin-bottom: 0
}

.annotation .overlay {
    background: #fff;
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    z-index: -1;
    cursor: pointer;
    opacity: 0.21
}

#gallery {
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background: #FFFFFF
}

#gallery-images-counter-wrapper {
    position: absolute;
    width: 768px;
    height: 14px;
    left: 128px;
    top: 546px;
    z-index: 1;
    text-align: center
}

.gallery-images-counter {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid #7f7f7f;
    background: #FFFFFF;
    display: inline-block;
    margin-right: 8px
}

.gallery-images-counter.active {
    background: #000000
}

#gallery-images {
    position: absolute;
    left: 128px;
    top: 64px;
    width: 768px;
    height: 512px
}

#gallery-images img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.4s linear;
    -webkit-transition: opacity 0.4s linear;
    opacity: 0
}

#gallery-images img.fade-out {
    transition: opacity 0.4s linear;
    -webkit-transition: opacity 0.4s linear;
    opacity: 0
}

#gallery-images img.fade-in {
    transition: opacity 0.4s linear;
    -webkit-transition: opacity 0.4s linear;
    opacity: 1
}

#gallery-images img.fade-complete {
    opacity: 1
}

#gallery-annotation {
    position: absolute;
    top: 592px;
    left: 128px;
    width: 768px;
    color: #7f7f7f;
    font-size: 21px;
    line-height: 28px
}

.icon-close {
    background-position: -253px -3px
}

.icon-close-active {
    background-position: -253px -53px
}

#gallery-close {
    position: absolute;
    left: 895px;
    top: 19px
}

#gallery-container {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    z-index: 10
}

#captions {
    position: absolute;
    top: 570px;
    left: 300px;
    width: 300px
}

#captions p {
    font-family: 'Open Sans';
    font-size: 19px;
    line-height: 26px;
    color: #000000
}

.old #exercise {
    position: relative
}

.old canvas {
    position: absolute;
    top: 45px;
    left: 45px;
    border: 1px solid #eee
}

.loader {
    background: url(../images/loader.gif) center center no-repeat #fff
}

.iEx {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden
}

#iExTitle,
#iExTitle h1,
.iExContent,
.iExIcons,
.iExImages,
.iExImages img {
    position: absolute
}

.iExTitle,
.iExTitle h1,
.iExContent,
.iExIcons,
.iExImages,
.iExImages img {
    position: absolute
}

#iExTitle,
.iExTitle {
    width: 100%;
    left: 45px;
    top: 38px;
    z-index: 999
}

#iExTitle h1,
.iExTitle h1 {
    font-size: 28px;
    color: #7f7f7f
}

.iExContent {
    -webkit-tap-highlight-color: transparent
}

.iExLabels .label {
    position: absolute
}

.label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 10px 15px;
    text-align: center;
    white-space: normal;
    background-color: #fff;
    border: 1px solid #676767;
    border-radius: 6px;
    background-clip: padding-box;
    color: #000000;
    border-radius: 12px;
    z-index: 2
}

.label p {
    font-size: 19px;
    text-align: center
}

.label-animate {
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -webkit-animation-name: label-scaleIn;
    animation-name: label-scaleIn;
    -webkit-animation-duration: 0.15s;
    animation-duration: 0.15s;
    -webkit-animation-delay: 0.15s;
    animation-delay: 0.15s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-animation-name: label-scaleIn;
    -webkit-animation-duration: 0.15s;
    -webkit-animation-delay: 0.15s;
    -webkit-animation-fill-mode: both;
    -webkit-backface-visibility: hidden
}

@keyframes label-scaleIn {
    from {
        -webkit-transform: scaleY(0);
        transform: scaleY(0)
    }

    to {
        -webkit-transform: scaleY(1);
        transform: scaleY(1)
    }
}

@-webkit-keyframes label-scaleIn {
    from {
        -webkit-transform: scaleY(0)
    }

    to {
        -webkit-transform: scaleY(1)
    }
}

.hidden {
    display: none
}

.hidden-force {
    display: none !important
}

.visibility-hidden {
    visibility: hidden
}

[hidden] {
    display: none
}

.text-center {
    text-align: center
}

.opacity-low {
    opacity: .21
}

.opacity-0 {
    opacity: 0
}

.opacity-0-force {
    opacity: 0 !important
}

.opacity-1 {
    opacity: 1
}

.not-selectable {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none
}

.add-shadow {
    box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.1)
}

.no-select {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

* [font-family*=OpenSans] {
    font-family: 'Open Sans' !important;
    font-weight: normal
}

* [font-family*=OpenSans-Bold] {
    font-family: 'Open Sans' !important;
    font-weight: bold
}

g[id*="dot-"] {
    cursor: pointer
}

g[id*="dot-"]:hover path {
    fill: #007eb2
}

text[id*="text-anchor-middle"] {
    text-anchor: middle
}

text[id*="text-anchor-end"] {
    text-anchor: end
}

body.loading {
    pointer-events: none
}

body.loading:after {
    content: " ";
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: rgba(255, 255, 255, 0.8) url(../images/loader.gif) no-repeat center center;
    z-index: 9999
}

.animated {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.shake {
    -webkit-animation-name: shake;
    animation-name: shake
}

@-webkit-keyframes shake {

    0%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    10% {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }

    20% {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }

    30% {
        -webkit-transform: translate3d(-15px, 0, 0);
        transform: translate3d(-15px, 0, 0)
    }

    40% {
        -webkit-transform: translate3d(15px, 0, 0);
        transform: translate3d(15px, 0, 0)
    }

    50% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    60% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }

    70% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }

    80% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(-2px, 0, 0);
        transform: translate3d(-2px, 0, 0)
    }
}

@keyframes shake {

    0%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    10% {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }

    20% {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }

    30% {
        -webkit-transform: translate3d(-15px, 0, 0);
        transform: translate3d(-15px, 0, 0)
    }

    40% {
        -webkit-transform: translate3d(15px, 0, 0);
        transform: translate3d(15px, 0, 0)
    }

    50% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }

    60% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }

    70% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }

    80% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }

    90% {
        -webkit-transform: translate3d(-2px, 0, 0);
        transform: translate3d(-2px, 0, 0)
    }
}
