body.game,
html {
    overflow: hidden
}

body.editor,
body.game {
    font-family: mainFont;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    height: 100%;
    cursor: default
}

#menu #mute,
#pages,
#tools,
canvas {
    position: absolute
}

html {
    touch-action: none;
    height: 100%
}

body {
    color: #d8bb6e
}

body.game {
    background: url(../textures/bg/bg_main.jpg);
    letter-spacing: 1px;
    margin-bottom: 100vh
}

@media (orientation:portrait) {
    body.game {
        background-size: cover
    }
}

@media (orientation:landscape) {
    #vjoybase,
    #vjoystick {
        display: none !important
    }
    #wrapper {
        display: none
    }
    body.game {
        background: url(../textures/rotateDevice.png) center no-repeat #fcbd80;
        background-size: 70vh
    }
}

body.editor {
    margin: 0;
    letter-spacing: 2px;
    overflow: auto
}

canvas {
    pointer-events: all;
    top: 0;
    left: 0
}

@font-face {
    font-family: mainFont;
    src: url(../font/pala.woff)
}

strong {
    font-face: bold
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

h1 {
    font-weight: 400
}

#menu {
    background-image: url(../textures/bg/bg_menu.jpg);
    background-repeat: repeat;
    background-position: top;
    background-size: 100vh
}

#menu #mute button,
#menu #mute.mute button {
    overflow: hidden;
    width: 90px;
    height: 86px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/buttons.png)
}

#menu .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 110px
}

#menu #mute {
    left: 0;
    top: 10px
}

#menu #mute button {
    background-position: -461px -138px;
    display: block;
    margin-left: 24px
}

#menu #mute button.hide {
    display: none
}

#menu #mute.mute button {
    background-position: -1048px -1px;
    display: block
}

#menu .menuDeco,
#menu .menuTitle {
    overflow: hidden;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png)
}

#menu .menuTitle {
    width: 320px;
    height: 320px;
    background-position: -946px -1322px;
    margin-top: -100px;
    margin-bottom: -250px;
    margin-left: 300px;
    display: block
}

#menu .menuDeco {
    width: 655px;
    height: 559px;
    background-position: -946px -1px;
    transform: scale3d(.9, .9, .9);
    margin-top: -30px;
    display: none
}

#menu .buttons .credits,
#menu .buttons .play,
#menu .buttons .tutorial {
    background-image: url(../textures/ui/buttons.png)
}

#menu .buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    margin-top: 700px
}

#menu .buttons .credits,
#menu .buttons .play,
#menu .buttons .tutorial,
.creditsLabel {
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat
}

#menu .buttons .credits {
    width: 90px;
    height: 86px;
    background-position: -185px -139px;
    margin-left: 30px
}

#menu .buttons .tutorial {
    width: 90px;
    height: 86px;
    background-position: -1048px -89px;
    margin-right: 30px
}

#menu .buttons .play {
    width: 185px;
    height: 135px;
    background-position: -315px -1px;
    -webkit-animation: pulsate 1s infinite alternate;
    -moz-animation: pulsate 1s infinite alternate;
    animation: pulsate 1s infinite alternate
}

@-webkit-keyframes pulsate {
    from {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-moz-keyframes pulsate {
    from {
        -moz-transform: scale(.7);
        transform: scale(.7)
    }
    to {
        -moz-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes pulsate {
    from {
        -ms-transform: scale(.7);
        -o-transform: scale(.7);
        transform: scale(.7)
    }
    to {
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

.creditsLabel {
    width: 358px;
    height: 92px;
    background-image: url(../textures/ui/labels.png);
    background-position: -329px -1894px;
    margin-top: -5vh
}

#credits .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center
}

#credits .frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 110px
}

#credits .creditsFS,
#credits .menu {
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat
}

#credits .menu {
    width: 90px;
    height: 86px;
    background-image: url(../textures/ui/buttons.png);
    background-position: -1px -159px;
    margin-top: 15px
}

#credits .creditsLabel {
    margin-top: -108px;
    font-size: 2em;
    line-height: 80px
}

#credits .creditsFS {
    width: 203px;
    height: 392px;
    background-image: url(../textures/ui/labels.png);
    background-position: -1603px -1px;
    margin-top: 60px
}

body.ieedge #progress {
    margin: 0
}

#loading {
    background-color: #d8bb6e;
    color: #d0603d;
    align-items: center;
    justify-content: center;
    z-index: 50;
    position: relative
}

#loading.show {
    display: flex
}

@media (orientation:landscape) {
    #loading.show {
        display: none
    }
    #loading #progress {
        height: 15vw
    }
    #loading .loadingBG {
        width: 15vw
    }
}

@media (orientation:portrait) {
    #loading #progress {
        height: 15vh
    }
}

#loading img {
    height: 100%
}

#loading .loadingBG {
    background-image: url(../textures/ui/label/loading/compass.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    height: 100%
}

@media (orientation:portrait) {
    #loading .loadingBG {
        width: 15vh
    }
}

#loading .loadingRotate {
    margin-top: 2px;
    -webkit-animation: rotate 1s infinite;
    -moz-animation: rotate 1s infinite;
    animation: rotate 1s infinite
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-moz-keyframes rotate {
    from {
        -moz-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -moz-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    from {
        -o-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -o-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.scrollInsides {
    height: 100%;
    width: 105%;
    overflow-y: scroll;
    overflow-x: hidden
}

#levelSelect {
    pointer-events: auto
}

#levelSelect .menu {
    display: inline-block;
    overflow: hidden;
    width: 90px;
    height: 86px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/buttons.png);
    background-position: -1px -159px;
    margin-top: 10px
}

#levelSelect .selectContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 110px
}

#levelSelect .hideScrollbar {
    -ms-overflow-style: none;
    overflow: hidden;
    width: 88%;
    height: 100%;
    margin-top: -50px
}

#levelSelect .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0
}

#levelSelect #levelLabelContainer {
    display: inline-block;
    overflow: hidden;
    width: 358px;
    height: 92px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    background-position: -329px -1894px;
    pointer-events: none;
    position: relative;
    z-index: 5
}

#levelSelect .levelSelectMap {
    background-image: url(../textures/ui/label/levelSelect/mapobjects.png);
    background-repeat: repeat-y;
    background-position: top;
    background-size: 100%
}

#levelSelect .levelSelectMap .levelBtn .levelNumber,
#levelSelect .levelSelectMap .levelBtn .levelNumber.closed {
    display: inline-block;
    overflow: hidden;
    width: 119px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png)
}

#levelSelect .levelSelectMap .levelBtn.odd {
    margin-left: -100px
}

#levelSelect .levelSelectMap .levelBtn.even {
    margin-right: -130px
}

#levelSelect .levelSelectMap .levelPath {
    height: 18vh;
    margin-top: -300px
}

#levelSelect .levelSelectMap .levelPath.odd {
    margin-right: 100px
}

#levelSelect .levelSelectMap .levelPath.even {
    margin-left: 70px
}

#levelSelect .levelSelectMap .levelBtnContainer {
    height: 300px;
    margin-top: 1vh
}

#levelSelect .levelSelectMap .levelBtn {
    height: 50%
}

#levelSelect .levelSelectMap .levelBtn :nth-child(2) .levelStarBG {
    margin-top: 1vh
}

#levelSelect .levelSelectMap .levelBtn .levelNumber {
    background-position: -1238px -1656px;
    height: 100%;
    margin: auto;
    color: #FFDE70;
    position: relative;
    font-size: 3em;
    line-height: 128px
}

#levelSelect .levelSelectMap .levelBtn .levelNumber.closed {
    height: 157px;
    background-position: -1359px -1656px
}

#levelSelect .levelSelectMap .levelBtn .levelStars {
    margin-top: -60px
}

#levelSelect .levelSelectMap .levelBtn .levelStarsBottom,
#levelSelect .levelSelectMap .levelBtn .levelStarsTop {
    position: relative;
    z-index: 15;
    pointer-events: none;
    height: 4vh
}

#levelSelect .levelSelectMap .levelBtn .levelStar,
#levelSelect .levelSelectMap .levelBtn .levelStarBG {
    display: inline-block;
    overflow: hidden;
    height: 49px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    position: relative
}

#levelSelect .levelSelectMap .levelBtn .levelStarsBottom .levelStarBG {
    margin-top: -2vh
}

#levelSelect .levelSelectMap .levelBtn .levelStarBG {
    width: 52px;
    background-position: -1623px -1868px;
    margin: 0 4%;
    z-index: 20
}

#levelSelect .levelSelectMap .levelBtn .levelStar {
    background-position: -1717px -1082px;
    width: inherit;
    z-index: 30;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    margin-bottom: 5vh
}

#levelSelect .levelSelectMap .levelPath.even,
#levelSelect .levelSelectMap .levelPath.odd {
    display: inline-block;
    width: 240px;
    height: 240px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    overflow: hidden
}

#levelSelect .levelSelectMap .levelBtn .levelStar.hide {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0)
}

#levelSelect .levelSelectMap .levelPath.odd {
    background-position: -1460px -562px;
    float: right
}

#levelSelect .levelSelectMap .levelPath.even {
    background-position: -1475px -906px;
    float: left
}

#levelSelect .levelSelectMap .levelPath img {
    height: 100%;
    width: 15vw
}

.text.instructionsTxt {
    padding: 0;
    font-size: 2vh
}

.text.settingsTxt {
    font-size: 2em;
    line-height: 50px;
    margin-top: -90px
}

#game {
    pointer-events: none;
    margin: 0;
    padding: 0;
    overflow: hidden
}

#game .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center
}

#game .backgroundOverlay {
    background-image: url(../textures/bg/bg_main.jpg);
    background-repeat: repeat;
    background-position: top;
    background-size: 100vh;
    height: 100vh;
    width: 100vw;
    position: fixed;
    z-index: 0
}

#game #collected,
#game #timer {
    background-image: url(../textures/ui/labels.png);
    text-align: center;
    color: #d0603d;
    font-size: 2.4em;
    margin-left: -50px
}

#game .backgroundOverlay.show {
    z-index: 0
}

#game .uiWrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    width: 640px
}

#game #collected,
#game #timer {
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat
}

#game #timer {
    width: 238px;
    height: 100px;
    background-position: -689px -1894px;
    line-height: 110px;
    padding-left: 47px
}

#game #collected {
    width: 193px;
    height: 82px;
    background-position: -929px -1901px;
    line-height: 84px;
    padding-left: 38px;
    margin-right: 50px
}

#game #settingsMute img.mute,
#game #settingsMute.mute img {
    display: none
}

#game #settingsMute.mute img.mute {
    display: inherit
}

#game #instructionsClose,
#game #settingsClose,
#game #settingsOpen {
    display: inline-block;
    overflow: hidden;
    width: 90px;
    height: 86px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/buttons.png);
    background-position: -369px -138px;
    z-index: 15;
    margin-left: 0
}

#game #instructionsClose,
#game #settingsClose {
    display: inline-block;
    background-image: url(../textures/ui/buttons.png);
    background-position: -93px -159px;
    overflow: hidden;
    background-repeat: no-repeat
}

#game #instructionsClose img,
#game #settingsClose img,
#game #settingsOpen img {
    height: 100%;
    width: initial
}

#game #settingsClose {
    width: 90px;
    height: 86px;
    margin-right: -400px
}

#game #instructionsClose {
    top: -20px;
    right: -15px;
    width: 50px;
    height: 50px
}

#game div.settings {
    overflow: hidden;
    width: 527px;
    height: 367px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    background-position: -946px -953px;
    display: none;
    margin-top: 190px
}

#game div.settings.visible {
    display: block
}

#game div.settings #settingsMute,
#game div.settings #settingsMute.mute,
#game div.settings #settingsRepeat,
#game div.settings #settingsSelectLevel {
    display: inline-block;
    width: 114px;
    height: 118px;
    background-image: url(../textures/ui/buttons.png);
    overflow: hidden;
    background-repeat: no-repeat
}

#game div.settings #settingsMute {
    background-position: -502px -1px
}

#game div.settings #settingsMute.mute {
    background-position: -553px -121px
}

#game div.settings #settingsRepeat {
    background-position: -669px -121px
}

#game div.settings #settingsSelectLevel {
    background-position: -734px -1px
}

#game div.settings button.settings {
    position: relative;
    pointer-events: auto;
    z-index: 10;
    margin-top: 60px
}

#game div.instructions {
    padding: 1% 0 6%;
    max-width: 80vw;
    width: 350px;
    display: block;
    position: relative
}

#game div.instructions .invisible,
#game div.instructions.invisible {
    display: none
}

#game div.instructions .instructionsLabel {
    display: inline-block;
    overflow: hidden;
    width: 358px;
    height: 92px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    background-position: -329px -1894px
}

@media (orientation:landscape) {
    #game div.instructions .instructionsImage {
        height: 10vw;
        margin-bottom: 1vw
    }
}

@media (orientation:portrait) {
    #game div.instructions .instructionsImage {
        height: 10vh;
        margin-bottom: 1vh
    }
}

#game div.instructions .instructionsImage img {
    max-width: 80%;
    max-height: 70%
}

#game div.levelEnd {
    display: block;
    padding-top: 50px;
    margin-top: -70px
}

#game div.levelEnd .center.last,
#game div.levelEnd .centerLast.notLast,
#game div.levelEnd.invisible {
    display: none
}

@media (orientation:landscape) {
    #game div.levelEnd {
        margin-top: .5vh
    }
}

@-webkit-keyframes starAppear {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    80% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-moz-keyframes starAppear {
    0% {
        -moz-transform: scale(0);
        transform: scale(0)
    }
    80% {
        -moz-transform: scale(1.2);
        transform: scale(1.2)
    }
    100% {
        -moz-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes starAppear {
    0% {
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0)
    }
    80% {
        -ms-transform: scale(1.3);
        -o-transform: scale(1.3);
        transform: scale(1.3)
    }
    100% {
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

#game div.levelEnd #levelEndStars {
    height: 100px
}

#game div.levelEnd #levelEndStars .star,
#game div.levelEnd #levelEndStars .starBG {
    height: 110px;
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png)
}

#game div.levelEnd #levelEndStars :nth-child(1) .star {
    -webkit-animation: starAppear .5s .5s forwards 1;
    -moz-animation: starAppear .5s .5s forwards 1;
    animation: starAppear .5s .5s forwards 1
}

#game div.levelEnd #levelEndStars :nth-child(2) .star {
    margin-bottom: 50px
}

#game div.levelEnd #levelEndStars :nth-child(2) .star.animate {
    -webkit-animation: starAppear .5s 1s forwards 1;
    -moz-animation: starAppear .5s 1s forwards 1;
    animation: starAppear .5s 1s forwards 1
}

#game div.levelEnd #levelEndStars :nth-child(3) .star {
    margin-bottom: 0
}

#game div.levelEnd #levelEndStars :nth-child(3) .star.animate {
    -webkit-animation: starAppear .5s 2s forwards 1;
    -moz-animation: starAppear .5s 2s forwards 1;
    animation: starAppear .5s 2s forwards 1
}

#game div.levelEnd #levelEndStars .starBG {
    width: 116px;
    background-position: -1469px -1864px;
    transform: scale3d(.7, .7, .7)
}

#game div.levelEnd #levelEndStars .star {
    background-position: -1480px -1752px;
    width: inherit;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0)
}

#game div.levelEnd .pointsTxtLbl {
    display: inline-block;
    overflow: hidden;
    width: 290px;
    height: 255px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    background-position: -946px -1644px
}

#game div.levelEnd .pointsTxtLbl img {
    height: 100%
}

#game div.levelEnd .pointsTxtLbl .pointsTxt {
    line-height: 100px;
    padding-top: 170px;
    font-size: 2em
}

#game div.levelEnd .levelEndLbl {
    margin: 15px auto 15px -80px;
    display: flex;
    justify-content: space-around
}

#game div.levelEnd .extrasTxtLbl .text,
#game div.levelEnd .timeTxtLbl .text {
    margin-left: 30px;
    font-size: 1.8em;
    line-height: 40px
}

#game div.levelEnd .extrasTxtLbl,
#game div.levelEnd .timeTxtLbl {
    width: 67px;
    height: 79px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    padding: 5px 0 5px 30px;
    text-align: right;
    display: inline-block;
    overflow: visible
}

#game div.levelEnd .timeTxtLbl {
    background-position: -1717px -1001px;
    margin-right: -40px
}

#game div.levelEnd .extrasTxtLbl {
    background-position: -1704px -1761px
}

#lastLap,
#targetLap,
.button,
.center,
.text {
    text-align: center
}

#game div.levelEnd #levelEndButtons #levelEndNext,
#game div.levelEnd #levelEndButtons #levelEndRepeat,
#game div.levelEnd #levelEndButtons #levelEndSelectLevel {
    display: inline-block;
    overflow: hidden;
    width: 114px;
    height: 118px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/buttons.png)
}

#game div.levelEnd #levelEndButtons {
    margin: 2vh 0
}

#game div.levelEnd #levelEndButtons #levelEndSelectLevel {
    background-position: -734px -1px
}

#game div.levelEnd #levelEndButtons #levelEndRepeat {
    background-position: -669px -121px
}

#game div.levelEnd #levelEndButtons #levelEndNext {
    background-position: -618px -1px
}

#game div.levelEnd #levelEndButtons .levelEndMainMenu,
#game div.levelEnd .levelEndImage,
#game div.levelEnd .levelEndTitle {
    background-image: url(../textures/ui/instructions.png);
    background-repeat: no-repeat;
    display: inline-block;
    overflow: hidden
}

#game div.levelEnd #levelEndButtons .levelEndMainMenu {
    width: 261px;
    height: 112px;
    background-position: -862px -1267px
}

@media (orientation:landscape) {
    #game div.levelEnd #levelEndButtons .levelEndMainMenu {
        font-size: 3vh !important;
        padding: 3vh
    }
}

@media (orientation:portrait) {
    #game div.levelEnd #levelEndButtons .levelEndMainMenu {
        font-size: 3vh !important;
        padding: 3vh
    }
}

#game div.levelEnd .levelEndTitle {
    width: 345px;
    height: 93px;
    background-position: -515px -1267px;
    margin-top: -55px;
    font-size: 2em;
    padding-top: 6px
}

#game div.levelEnd .levelEndImage {
    width: 512px;
    height: 389px;
    background-position: -1px -1267px;
    transform: scale3d(.8, .8, .8)
}

#instructions .frame .image,
#intro .image {
    transform: scale3d(.9, .9, .9)
}

#game div.levelEnd .levelEndText {
    font-size: 2em;
    padding-left: 30px;
    padding-right: 30px
}

#instructions .menu {
    display: inline-block;
    overflow: hidden;
    width: 90px;
    height: 86px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/buttons.png);
    background-position: -1px -159px;
    margin-top: 10px
}

#instructions .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0
}

#instructions .frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

#instructions .frame .headerContainer {
    display: inline-block;
    overflow: hidden;
    width: 358px;
    height: 92px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/labels.png);
    background-position: -329px -1894px;
    font-size: 2em;
    line-height: 80px
}

#instructions .frame .image.i00,
#instructions .frame .image.i01,
#instructions .frame .image.i02,
#instructions .frame .image.i03 {
    display: inline-block;
    overflow: hidden;
    width: 512px;
    height: 389px;
    background-repeat: no-repeat
}

#instructions .frame .buttons button.next,
#instructions .frame .buttons button.prev,
#instructions .frame .image.i00,
#instructions .frame .image.i01,
#instructions .frame .image.i02,
#instructions .frame .image.i03 {
    background-image: url(../textures/ui/instructions.png)
}

#instructions .frame .image.i00 {
    background-position: -1267px -1px
}

#instructions .frame .image.i01 {
    background-position: -1267px -392px
}

#instructions .frame .image.i02 {
    background-position: -1267px -783px
}

#instructions .frame .image.i03 {
    background-position: -1267px -1174px
}

#instructions .frame .text {
    line-height: 23px;
    height: 145px;
    font-size: 1.2em;
    width: 500px
}

#instructions .frame .buttons {
    display: flex;
    justify-content: space-between
}

#instructions .frame .buttons button.next,
#instructions .frame .buttons button.playButton,
#instructions .frame .buttons button.prev,
#intro .menu {
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat
}

#instructions .frame .buttons button.prev {
    width: 90px;
    height: 86px;
    background-position: -1125px -1267px;
    margin-right: 30px
}

#instructions .frame .buttons button.next {
    width: 90px;
    height: 86px;
    background-position: -709px -1362px;
    margin-left: 30px
}

#instructions .frame .buttons button.playButton {
    width: 192px;
    height: 112px;
    background-image: url(../textures/ui/instructions.png);
    background-position: -515px -1362px
}

#instructions .frame .buttons.first .prev,
#instructions .frame .buttons.last .next {
    opacity: 0;
    filter: Alpha(opacity=0)
}

#intro .menu {
    width: 90px;
    height: 86px;
    background-image: url(../textures/ui/buttons.png);
    background-position: -1px -159px;
    margin-top: 10px
}

#intro .image.i00,
#intro .image.i01,
#intro .image.i02 {
    background-repeat: no-repeat;
    background-image: url(../textures/ui/instructions.png)
}

#intro .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0
}

#intro .image.i00,
#intro .image.i01,
#intro .image.i02,
#intro .image.i03 {
    display: inline-block;
    overflow: hidden;
    width: 631px;
    height: 631px
}

#intro .image.i00 {
    background-position: -1px -1px
}

#intro .image.i01 {
    background-position: -634px -1px
}

#intro .image.i02 {
    background-position: -1px -634px
}

#intro .image.i03 {
    background-repeat: no-repeat;
    background-image: url(../textures/ui/instructions.png);
    background-position: -634px -634px
}

#intro .buttons button.next,
#intro .buttons button.prev {
    width: 90px;
    height: 86px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/instructions.png);
    overflow: hidden
}

#intro .buttons {
    display: flex;
    justify-content: space-between
}

#intro .buttons button.prev {
    display: inline-block;
    background-position: -1125px -1267px;
    margin-right: 30px
}

#intro .buttons button.next {
    display: inline-block;
    background-position: -709px -1362px;
    margin-left: 30px
}

#intro .buttons button.playButton {
    display: inline-block;
    overflow: hidden;
    width: 192px;
    height: 112px;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/instructions.png);
    background-position: -515px -1362px
}

#intro .buttons button.playButton .play,
#intro .buttons.last .playButton .skip {
    display: none
}

#screens,
.resize,
.screen {
    height: 100vh
}

#intro .buttons.first .prev,
#intro .buttons.last .next {
    opacity: 0;
    filter: Alpha(opacity=0)
}

#intro .buttons.last .playButton .play {
    display: block
}

button {
    background: 0 0;
    outline: 0;
    border: none;
    color: #fff;
    font-family: inherit;
    font-size: 32px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

button img {
    pointer-events: none;
    width: 100%
}

.text {
    margin: 0 auto;
    padding: 15px
}

.text.fiftyPercent {
    width: 39vw;
    padding: 2vw
}

.text.left {
    float: left
}

.text.right {
    float: right
}

.text.color01 {
    color: #865E54
}

.topButton {
    margin-top: 2vh
}

.leftButton {
    margin-left: 2vw
}

.rightButton {
    margin-right: 2vh
}

.bottomButton {
    margin-bottom: 2vw
}

.lightBg {
    background: rgba(36, 68, 153, .7);
    border-radius: 15px
}

#content {
    pointer-events: auto;
    margin: 0;
    position: relative;
    z-index: 5
}

#screens {
    width: 100vw
}

#screens .screen {
    display: none;
    height: 100vh
}

#screens .screen.show {
    display: block
}

#conversionTarget,
.screen {
    display: none
}

.scale {
    transform-origin: top left
}

.scale.scale-top-center {
    transform-origin: top center
}

.scale.scale-center {
    transform-origin: center center
}

.scale.scale-bottom-center {
    transform-origin: bottom center
}

.scale.scale-bottom-left {
    transform-origin: bottom left
}

.scale.scale-bottom-right {
    transform-origin: bottom right
}

.scale.scale-top-left {
    transform-origin: top left
}

.scale.scale-top-right {
    transform-origin: top right
}

.screen {
    color: #fff
}

.screen.show {
    display: block
}

.resize {
    width: 100vh;
    display: none
}

#instructions .slider {
    height: 75vh
}

#instructions .slider img {
    display: block;
    margin: 0 auto;
    height: 45vh;
    width: 38vh
}

#instructions .slider .slide {
    display: none
}

#instructions .slider .slide.show {
    display: block
}

#lastLap,
#targetLap {
    margin: 5px auto 0;
    width: 100px;
    height: 20px;
    border-radius: 10px;
    background-color: rgba(64, 61, 60, .23)
}

#tools {
    background-color: #8b8886;
    border-bottom-right-radius: 30px
}

#pages {
    right: 55px;
    width: 55px;
    background-color: rgba(139, 136, 134, .45);
    border-bottom-left-radius: 30px;
    border-top-left-radius: 30px
}

.button {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    line-height: 50px;
    margin: 5px;
    background-color: #2f2f2f;
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: center;
    transition: .2s;
    box-shadow: 0 1px 3px 0 rgba(50, 50, 50, .75)
}

.output .button {
    height: 16px;
    width: 16px;
    margin: 0;
    padding: 0;
    box-shadow: none;
    display: inline-block
}

.output .button:hover {
    background-color: #403d3c
}

.output .button:active {
    background-color: rgba(255, 108, 0, .85)
}

#pages .button {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    background-color: rgba(47, 47, 47, .7)
}

#pages .button[selected=true] {
    background-color: #8b8886;
    background-size: 100%
}

.button[selected=true] {
    background-color: rgba(255, 108, 0, .85);
    background-size: 100%
}

.button:active {
    background-color: rgba(255, 108, 0, .85)
}

.button:hover[selected=false] {
    background-color: #403d3c
}

.catalogue {
    position: fixed;
    right: 0;
    width: 60px;
    min-height: 280px;
    overflow: hidden;
    background-color: #8b8886;
    border-bottom-left-radius: 24px
}

#mapLoader,
.panel {
    position: absolute
}

.catalogue[selected=false] {
    visibility: hidden;
    width: 0
}

.datapanel[selected=false] {
    visibility: hidden
}

.datapanel[selected=true] {
    visibility: visible
}

#mapLoader {
    z-index: -1;
    width: .1px;
    height: .1px;
    opacity: 0;
    overflow: hidden
}

#editorBtn {
    margin: 10px auto 0;
    background-image: url(../textures/editor/icon_play.svg);
    transition: .5s
}

#editorBtn[selected=true] {
    background-image: url(../textures/editor/icon_editor.svg);
    background-color: rgba(255, 108, 0, .85);
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    width: 36px;
    height: 36px
}

.head {
    border-radius: inherit;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 2px 8px;
    margin-bottom: 6px;
    height: 16px;
    line-height: 18px;
    font-size: 10px;
    background-color: rgba(255, 108, 0, .85);
    text-align: left
}

.output,
.subpanel {
    height: 16px;
    line-height: 16px;
    font-size: 10px;
    font-weight: 300;
    display: inline-block;
    overflow: hidden
}

.panel {
    background-color: rgba(139, 136, 134, .9);
    bottom: -98vh;
    left: 0;
    padding-bottom: 6px;
    text-align: right;
    border-radius: 0 12px 12px 0
}

.output .output,
.subpanel:hover {
    background-color: #403d3c
}

.subpanel {
    margin-left: 3px;
    padding-left: 10px;
    width: 70px;
    text-align: left
}

.output {
    margin: 0;
    padding-left: 3px;
    padding-right: 3px;
    width: 160px;
    text-align: center
}

.output .output {
    width: 90px;
    border-radius: 8px
}

#properties {
    overflow: hidden;
    transition: .5s
}

#properties[selected=false] {
    left: -250px;
    opacity: 0
}

#mapinfo {
    position: fixed;
    bottom: 20px;
    right: 50px;
    font-size: 9px;
    color: #ff6c00
}

.button .tooltiptext {
    opacity: 0;
    line-height: 12px;
    background-color: rgba(64, 61, 60, .6);
    color: #fff;
    text-align: center;
    font-size: 10px;
    padding: 5px;
    border-radius: 6px;
    pointer-events: none;
    top: 20px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.button:hover .tooltiptext {
    opacity: 1;
    transition: .5s;
    -webkit-transition-delay: 1s;
    transition-delay: 1s
}

.frame {
    overflow: visible
}

.frame.color01,
.frame.color02 {
    display: inline-block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-image: url(../textures/ui/frames.png)
}

.frame.normal {
    width: 70px;
    height: 70px
}

.frame.large {
    width: 80px;
    height: 80px
}

.frame.page {
    line-height: 50px
}

.frame.color01 {
    width: 631px;
    height: 934px;
    background-position: -1px -1px
}

.frame.color02 {
    width: 527px;
    height: 741px;
    background-position: -1px -937px
}

@keyframes animatedBackground {
    from {
        background-position: 0 0
    }
    to {
        background-position: -100% 100%
    }
}