html.theme-1 {
    background-color: #f8c82d
}

html.theme-1 .bg-color {
    background-color: #f8c82d
}

html.theme-1.freeplay #game #level .tile.selected.operator {
    background-color: #f8c82d
}

html.theme-1 #level .tile.number.selected.from-left:before,html.theme-1 .level .tile.number.selected.from-left:before {
    border-left-color: #f8c82d
}

html.theme-1 #level .tile.number.selected.from-right:before,html.theme-1 .level .tile.number.selected.from-right:before {
    border-right-color: #f8c82d
}

html.theme-1 #level .tile.number.selected.from-top:before,html.theme-1 .level .tile.number.selected.from-top:before {
    border-top-color: #f8c82d
}

html.theme-1 #level .tile.number.selected.from-bottom:before,html.theme-1 .level .tile.number.selected.from-bottom:before {
    border-bottom-color: #f8c82d
}

html.theme-2 {
    background-color: #4dc6e6
}

html.theme-2 .bg-color {
    background-color: #4dc6e6
}

html.theme-2.freeplay #game #level .tile.selected.operator {
    background-color: #4dc6e6
}

html.theme-2 #level .tile.number.selected.from-left:before,html.theme-2 .level .tile.number.selected.from-left:before {
    border-left-color: #4dc6e6
}

html.theme-2 #level .tile.number.selected.from-right:before,html.theme-2 .level .tile.number.selected.from-right:before {
    border-right-color: #4dc6e6
}

html.theme-2 #level .tile.number.selected.from-top:before,html.theme-2 .level .tile.number.selected.from-top:before {
    border-top-color: #4dc6e6
}

html.theme-2 #level .tile.number.selected.from-bottom:before,html.theme-2 .level .tile.number.selected.from-bottom:before {
    border-bottom-color: #4dc6e6
}

html.theme-3 {
    background-color: #0aba58
}

html.theme-3 .bg-color {
    background-color: #0aba58
}

html.theme-3.freeplay #game #level .tile.selected.operator {
    background-color: #0aba58
}

html.theme-3 #level .tile.number.selected.from-left:before,html.theme-3 .level .tile.number.selected.from-left:before {
    border-left-color: #0aba58
}

html.theme-3 #level .tile.number.selected.from-right:before,html.theme-3 .level .tile.number.selected.from-right:before {
    border-right-color: #0aba58
}

html.theme-3 #level .tile.number.selected.from-top:before,html.theme-3 .level .tile.number.selected.from-top:before {
    border-top-color: #0aba58
}

html.theme-3 #level .tile.number.selected.from-bottom:before,html.theme-3 .level .tile.number.selected.from-bottom:before {
    border-bottom-color: #0aba58
}

html.theme-4 {
    background-color: #d748ff
}

html.theme-4 .bg-color {
    background-color: #d748ff
}

html.theme-4.freeplay #game #level .tile.selected.operator {
    background-color: #d748ff
}

html.theme-4 #level .tile.number.selected.from-left:before,html.theme-4 .level .tile.number.selected.from-left:before {
    border-left-color: #d748ff
}

html.theme-4 #level .tile.number.selected.from-right:before,html.theme-4 .level .tile.number.selected.from-right:before {
    border-right-color: #d748ff
}

html.theme-4 #level .tile.number.selected.from-top:before,html.theme-4 .level .tile.number.selected.from-top:before {
    border-top-color: #d748ff
}

html.theme-4 #level .tile.number.selected.from-bottom:before,html.theme-4 .level .tile.number.selected.from-bottom:before {
    border-bottom-color: #d748ff
}

html.theme-5 {
    background-color: #f48221
}

html.theme-5 .bg-color {
    background-color: #f48221
}

html.theme-5.freeplay #game #level .tile.selected.operator {
    background-color: #f48221
}

html.theme-5 #level .tile.number.selected.from-left:before,html.theme-5 .level .tile.number.selected.from-left:before {
    border-left-color: #f48221
}

html.theme-5 #level .tile.number.selected.from-right:before,html.theme-5 .level .tile.number.selected.from-right:before {
    border-right-color: #f48221
}

html.theme-5 #level .tile.number.selected.from-top:before,html.theme-5 .level .tile.number.selected.from-top:before {
    border-top-color: #f48221
}

html.theme-5 #level .tile.number.selected.from-bottom:before,html.theme-5 .level .tile.number.selected.from-bottom:before {
    border-bottom-color: #f48221
}

#feelsize {
    position: fixed;
    z-index: -1;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

*:not(input,select,textarea) {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

a,input,select,textarea {
    outline: none
}

.mono {
    font-family: 'Roboto Mono'
}

.flex {
    display: flex
}

.justify {
    text-align: justify
}

.upper {
    text-transform: uppercase
}

body {
    margin: 0;
    padding: 0;
    font-size: 20px;
    color: #222;
    cursor: default;
    font-family: 'Cabin'
}

html:not(.ie) #container {
    position: fixed;
    overflow: hidden;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center
}

#container .screen {
    height: auto
}

.no-events {
    pointer-events: none
}

.screen {
    position: relative;
    width: 260px;
    font-size: 1em;
    height: 100%;
    margin: 0 auto
}

#game #subtitle {
    display: none;
    position: absolute;
    width: 100%;
    font-size: 70%;
    margin-top: 23px;
    opacity: .7;
    text-transform: uppercase
}

#game #subtitle:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: rgba(0,0,0,0.5)
}

#game #subtitle span {
    position: relative;
    padding: 0 10px
}

#game #title {
    display: inline-block;
    font-size: 200%;
    text-align: center;
    position: relative;
    margin-top: 0.9em;
    margin-bottom: 0.3em;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0)
}

#game #title span {
    display: inline-block;
    -webkit-transition: all .7s ease-out;
    -moz-transition: all .7s ease-out;
    -ms-transition: all .7s ease-out;
    -o-transition: all .7s ease-out
}

.show-next-round #game #title span {
    -webkit-transform: translate3d(-20px, 0, 0);
    -moz-transform: translate3d(-20px, 0, 0);
    -ms-transform: translate3d(-20px, 0, 0);
    -o-transform: translate3d(-20px, 0, 0)
}

#game #title.chain {
    -webkit-transform: translate3d(10%, 0, 0);
    -moz-transform: translate3d(10%, 0, 0);
    -ms-transform: translate3d(10%, 0, 0);
    -o-transform: translate3d(10%, 0, 0)
}

#game #title.chain #next-round-arrow {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    pointer-events: none
}

#game #next-round-arrow {
    position: absolute;
    width: 50px;
    height: 50px;
    right: -40px;
    top: 1px;
    background: url(../img/checkmark.png) no-repeat center 40%;
    background-size: auto 64%;
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translate3d(50%, 0, 0);
    -moz-transform: translate3d(50%, 0, 0);
    -ms-transform: translate3d(50%, 0, 0);
    -o-transform: translate3d(50%, 0, 0);
    -webkit-transition: all 1s ease-out .1s;
    -moz-transition: all 1s ease-out .1s;
    -ms-transition: all 1s ease-out .1s;
    -o-transition: all 1s ease-out .1s
}

.show-next-round #game #next-round-arrow {
    opacity: .9;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    pointer-events: all
}

#game #game-contents {
    position: relative;
    margin: 0 auto;
    z-index: 2
}

html.freeplay {
    background: #000
}

html.freeplay #menu-bar-freeplay {
    display: block;
    text-align: center
}

html.freeplay #menu-bar-freeplay .menu-bar-button {
    width: 15%
}

html.freeplay #menu-bar-rounds {
    display: none
}

html.freeplay h1.chain {
    opacity: 1 !important;
    color: #fff;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

html.freeplay #level .tile.selected {
    color: #000
}

.theme-1 html.freeplay #level .tile.selected.number .value {
    background: #dfb429
}

.theme-2 html.freeplay #level .tile.selected.number .value {
    background: #45b2cf
}

.theme-3 html.freeplay #level .tile.selected.number .value {
    background: #09a74f
}

.theme-4 html.freeplay #level .tile.selected.number .value {
    background: #c241e6
}

.theme-5 html.freeplay #level .tile.selected.number .value {
    background: #dc751e
}

html.freeplay #subtitle {
    display: none !important
}

#targets {
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
    padding-top: 10px;
    margin-top: -10px
}

#targets.no-transition #targets-inner {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none
}

#targets #targets-inner {
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    width: 200%
}

#targets .target {
    position: relative;
    display: inline-block;
    width: 16.5%
}

#targets .target .value-box {
    position: relative;
    width: 100%;
    padding-top: 80%;
    overflow: hidden
}

#targets .target .value-box .value {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    text-align: center;
    font-size: 250%;
    line-height: 140%;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

#targets .target .value-box .value.old {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#targets .target .value-box .value.new {
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#targets .target .value-box .value.animate {
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

#targets .target .value-box .value .star {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../img/star-full.png) no-repeat center 42%;
    background-size: 50% auto
}

#targets .target .stars {
    position: relative;
    font-size: 0;
    white-space: nowrap;
    text-align: center;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    -ms-transition: opacity .3s ease-out;
    -o-transition: opacity .3s ease-out
}

#targets .target .stars .star-box {
    display: inline-block;
    width: 25%;
    padding-top: 20%;
    position: relative
}

#targets .target .stars .star-box .star {
    -webkit-transform-origin: center 55%;
    -moz-transform-origin: center 55%;
    -ms-transform-origin: center 55%;
    -o-transform-origin: center 55%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../img/star-full-dark.png) no-repeat center center;
    background-size: 80% auto;
    -webkit-opacity: .3;
    -moz-opacity: .3;
    opacity: .3;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
    filter: alpha(opacity=30)
}

#targets .target .stars .star-box .star.has {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    background-image: url(../img/star-full.png)
}

#targets .target .stars .star-box .star.animate {
    background-image: url(../img/star-empty.png);
    -webkit-transition: all 1s linear;
    -moz-transition: all 1s linear;
    -ms-transition: all 1s linear;
    -o-transition: all 1s linear;
    -webkit-transform: scale(3);
    -moz-transform: scale(3);
    -ms-transform: scale(3);
    -o-transform: scale(3);
    z-index: 10;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#targets .target .boxes {
    position: relative;
    white-space: nowrap;
    text-align: center;
    font-size: 0;
    line-height: 0;
    margin-top: 3px;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    -ms-transition: opacity .3s ease-out;
    -o-transition: opacity .3s ease-out
}

#targets .target .boxes .box {
    display: inline-block;
    width: 11%;
    padding-top: 11%
}

#targets .target .boxes .box.black {
    background: #222;
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -ms-transition: all .2s ease-out;
    -o-transition: all .2s ease-out
}

.theme-1 #targets .target .boxes .box.black {
    background: #b8962a
}

.theme-2 #targets .target .boxes .box.black {
    background: #4095ab
}

.theme-3 #targets .target .boxes .box.black {
    background: #118c48
}

.theme-4 #targets .target .boxes .box.black {
    background: #a13dbd
}

.theme-5 #targets .target .boxes .box.black {
    background: #b56521
}

#targets .target .boxes .box.black.selected {
    background: #fff
}

#targets .target .boxes .box.white {
    width: 2px
}

#targets .target.disabled .boxes,#targets .target.disabled.locked .boxes,#targets .target.disabled .stars,#targets .target.disabled.locked .stars {
    opacity: 0 !important
}

#targets .target.disabled .value,#targets .target.disabled.locked .value {
    font-size: 0;
    line-height: 0;
    color: transparent;
    background: url(../img/close.png) no-repeat center center;
    background-size: auto 75%;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#targets .target.locked .stars {
    opacity: 0 !important
}

#targets .target.locked .value {
    font-size: 0;
    line-height: 0;
    color: transparent;
    background: url(../img/lock.png) no-repeat center center;
    background-size: auto 75%;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

#targets .target.locked .value .star {
    display: none
}

#level {
    position: relative
}

#level,.level {
    width: 100%;
    padding-top: 100%;
    line-height: 0
}

#level .tile,.level .tile {
    position: absolute;
    display: block;
    width: 33.333%;
    height: 33.333%;
    overflow: hidden
}

#level .tile .value,.level .tile .value {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    text-align: center;
    font-size: 250%;
    line-height: 175%;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    z-index: 20
}

#level .tile .value.old,.level .tile .value.old {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#level .tile .value.new,.level .tile .value.new {
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

#level .tile .value.animate,.level .tile .value.animate {
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

#level .tile.number,.level .tile.number {
    background-color: #000;
    color: #fff
}

#level .tile.number.selected,.level .tile.number.selected {
    color: #000
}

.theme-1 #level .tile.number.selected,.theme-1 .level .tile.number.selected {
    background: #dfb429
}

.theme-2 #level .tile.number.selected,.theme-2 .level .tile.number.selected {
    background: #45b2cf
}

.theme-3 #level .tile.number.selected,.theme-3 .level .tile.number.selected {
    background: #09a74f
}

.theme-4 #level .tile.number.selected,.theme-4 .level .tile.number.selected {
    background: #c241e6
}

.theme-5 #level .tile.number.selected,.theme-5 .level .tile.number.selected {
    background: #dc751e
}

#level .tile.operator,.level .tile.operator {
    background-color: #fff;
    color: #000
}

#level .tile.operator.selected,.level .tile.operator.selected {
    background-color: transparent
}

#level .tile.highlight,.level .tile.highlight {
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -ms-transition: all .5s ease-out;
    -o-transition: all .5s ease-out
}

#level .tile.highlight.highlight-yellow[data-highlight="1"],.level .tile.highlight.highlight-yellow[data-highlight="1"] {
    background: #f8c82d !important;
    color: #000 !important
}

#level .tile.highlight.highlight-green[data-highlight="1"],.level .tile.highlight.highlight-green[data-highlight="1"] {
    background: #84bc2d !important;
    color: #fff !important
}

.theme-1 #level .tile,.theme-1 .level .tile {
    border-color: #dfb429
}

.theme-2 #level .tile,.theme-2 .level .tile {
    border-color: #45b2cf
}

.theme-3 #level .tile,.theme-3 .level .tile {
    border-color: #09a74f
}

.theme-4 #level .tile,.theme-4 .level .tile {
    border-color: #c241e6
}

.theme-5 #level .tile,.theme-5 .level .tile {
    border-color: #dc751e
}

#level .tile:before,.level .tile:before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    z-index: 21;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    border-color: transparent;
    -webkit-transition: border-width .1s ease-out;
    -moz-transition: border-width .1s ease-out;
    -ms-transition: border-width .1s ease-out;
    -o-transition: border-width .1s ease-out
}

#level .tile.from-left:before,.level .tile.from-left:before {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    border-width: 43px 0 43px 16px;
    border-left-color: inherit
}

#level .tile.from-right:before,.level .tile.from-right:before {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    border-width: 43px 16px 43px 0;
    border-right-color: inherit
}

#level .tile.from-top:before,.level .tile.from-top:before {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    border-width: 16px 43px 0 43px;
    border-top-color: inherit
}

#level .tile.from-bottom:before,.level .tile.from-bottom:before {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    border-width: 0 43px 16px 43px;
    border-bottom-color: inherit
}

#level[data-w="3"] .tile[data-x="0"],.level[data-w="3"] .tile[data-x="0"] {
    left: 0
}

#level[data-w="3"] .tile[data-x="1"],.level[data-w="3"] .tile[data-x="1"] {
    left: 33.333%
}

#level[data-w="3"] .tile[data-x="2"],.level[data-w="3"] .tile[data-x="2"] {
    right: 0
}

#level[data-w="3"] .tile[data-y="0"],.level[data-w="3"] .tile[data-y="0"] {
    top: 0
}

#level[data-w="3"] .tile[data-y="1"],.level[data-w="3"] .tile[data-y="1"] {
    top: 33.333%
}

#level[data-w="3"] .tile[data-y="2"],.level[data-w="3"] .tile[data-y="2"] {
    bottom: 0
}

#menu-bar-freeplay {
    display: none;
    z-index: 3
}

#menu-bar-freeplay .menu-bar-button:after {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

.menu-bar {
    position: relative;
    width: 100%;
    height: 43px;
    margin: 8% auto 0 auto;
    display: flex
}

.menu-bar .menu-bar-button {
    width: 100%;
    padding-top: 15%;
    display: inline-block;
    border: solid transparent 2px;
    border-radius: 5px;
    position: relative
}

.menu-bar .menu-bar-button:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: auto 70%;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    opacity: .7;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
    filter: alpha(opacity=70)
}

.menu-bar .menu-bar-button.disabled:after {
    -webkit-opacity: .1;
    -moz-opacity: .1;
    opacity: .1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
    filter: alpha(opacity=10)
}

.menu-bar .menu-bar-button.active {
    border-color: #fff
}

.menu-bar .menu-bar-button.removed {
    display: none !important
}

.menu-bar .menu-bar-button .bullet {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #e72138;
    border: solid #fff 2px;
    border-radius: 100px;
    left: 50%;
    top: 0px;
    margin-left: 2px;
    z-index: 1;
    display: none
}

.menu-bar .menu-bar-button.show-bullet .bullet {
    display: block
}

.menu-bar .menu-bar-button.disabled.show-bullet .bullet {
    display: none !important
}

.menu-bar .menu-bar-button+.menu-bar-button {
    margin-left: 10px
}

.menu-bar [data-role="retry"]:after {
    background-image: url(../img/retry.png)
}

.menu-bar [data-role="help"]:after {
    background-image: url(../img/help_outline.png)
}

.menu-bar [data-role="volume"]:after {
    background-image: url(../img/volume_up.png)
}

.menu-bar [data-role="volume"]:after.muted {
    background-image: url(../img/volume_off.png)
}

.menu-bar [data-role="daily"]:after {
    background-image: url()
}

.menu-bar [data-role="teacher"]:after {
    background-image: url(../img/school.png)
}

.menu-bar [data-role="leaderboards"]:after {
    background-image: url(../img/leaderboards.png)
}

.menu-bar [data-role="stop-code"]:after {
    background-image: url(../img/close.png)
}

.daily .menu-bar [data-role="daily"] {
    border-color: #fff
}

.daily .menu-bar [data-role="next"]:after {
    background-image: url(../img/close.png)
}

.daily .menu-bar [data-role="next"].disabled:after {
    background-image: url(../img/close.png);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

.menu-bar [data-role="next"]:after {
    background-image: url(../img/arrow_forward.png)
}

.menu-bar [data-role="next"].disabled:after {
    background-image: url(../img/arrow_forward.png)
}

.menu-bar [data-role="settings"]:after {
    background-image: url()
}

.menu-bar [data-role="exit-freeplay"]:after {
    background-image: url(../img/close-white.png)
}

.menu-bar [data-role="refresh"]:after {
    background-image: url(../img/retry-white.png)
}

.menu-bar [data-role="numbers"]:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 15%;
    bottom: 15%;
    width: 32px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    background: rgba(0,0,0,0.7);
    border-radius: 5px
}

.menu-bar [data-role="numbers"]:after {
    font-size: 70%;
    content: '1-9';
    opacity: 1;
    left: 0;
    right: 0;
    top: 51%;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%)
}

.theme-1 .menu-bar [data-role="numbers"] {
    color: #f8c82d
}

.theme-2 .menu-bar [data-role="numbers"] {
    color: #4dc6e6
}

.theme-3 .menu-bar [data-role="numbers"] {
    color: #0aba58
}

.theme-4 .menu-bar [data-role="numbers"] {
    color: #d748ff
}

.theme-5 .menu-bar [data-role="numbers"] {
    color: #f48221
}

.menu-bar [data-role="numbers"].set-2:after {
    content: '×2'
}

.menu-bar [data-role="numbers"].set-3:after {
    content: '×3'
}

.menu-bar [data-role="numbers"].set-4:after {
    content: '×4'
}

.menu-bar [data-role="numbers"].set-5:after {
    content: '×5'
}

.menu-bar [data-role="numbers"].set-6:after {
    content: '×6'
}

.menu-bar [data-role="numbers"].set-7:after {
    content: '×7'
}

.menu-bar [data-role="numbers"].set-8:after {
    content: '×8'
}

.menu-bar [data-role="numbers"].set-9:after {
    content: '×9'
}

.menu-bar [data-role="numbers"].set-99:after {
    content: '99'
}

.menu-bar [data-role="numbers"].disabled:before {
    -webkit-opacity: .1;
    -moz-opacity: .1;
    opacity: .1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
    filter: alpha(opacity=10)
}

.menu-bar [data-role="numbers"].disabled:after {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

.menu-bar .menu-tip {
    background: #fff;
    position: absolute;
    font-size: 11px;
    padding: 1px 4px;
    border-radius: 4px;
    left: 50%;
    -webkit-transform: translate(-50%, 20px);
    -moz-transform: translate(-50%, 20px);
    -ms-transform: translate(-50%, 20px);
    -o-transform: translate(-50%, 20px);
    bottom: -15px;
    white-space: nowrap;
    z-index: 1;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

.menu-bar .menu-tip:after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-bottom-color: #fff;
    border-top: 0;
    margin-top: -6px
}

.menu-bar .menu-tip.show {
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100)
}

html.tutorial [data-role="help"]:after {
    background-image: url(../img/close.png) !important
}

html.web [data-hide-in-web] {
    display: none !important
}

[data-show-in-daily-mode-only] {
    display: none !important
}

html.daily-only [data-hide-in-daily-mode-only] {
    display: none !important
}

html.daily-only [data-show-in-daily-mode-only] {
    display: inherit !important
}

html.daily-only [data-show-in-daily-mode-only].setting-button {
    display: inline-block !important
}

html.daily-only [data-show-in-daily-mode-only]#get-the-app {
    opacity: 1;
    pointer-events: inherit
}

html.daily-only #next-round-button-label {
    margin-left: 0;
    width: 100%
}

[data-show-in-code-mode] {
    display: none !important
}

html.playing-code .tweet-buttons {
    opacity: 0;
    pointer-events: none
}

html.playing-code [data-hide-in-code-mode] {
    display: none !important
}

html.playing-code [data-show-in-code-mode] {
    display: inherit !important
}

html.playing-code [data-show-in-code-mode].setting-button {
    display: inline-block !important
}

html:not(.show-settings):not(.show-school) input {
    display: none !important
}

html:not(.show-level-complete) textarea {
    display: none !important
}

html.intro #game #targets {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

html.intro #game #level [data-i="1"] {
    background: #000;
    color: #fff
}

html.intro .menu-bar {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    pointer-events: none
}

html.intro[data-state="Q42"] #title {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

html.intro[data-state="Q42"] #level [data-i="1"] {
    background: #000;
    color: #fff
}

html.intro[data-state="Q42"] #level [data-i="3"],html.intro[data-state="Q42"] #level [data-i="4"],html.intro[data-state="Q42"] #level [data-i="5"],html.intro[data-state="Q42"] #level [data-i="6"],html.intro[data-state="Q42"] #level [data-i="7"],html.intro[data-state="Q42"] #level [data-i="8"],html.intro[data-state="Q42"] #level [data-i="9"] {
    background: #000;
    color: #000
}

html.intro[data-state="QUENTO"] .menu-bar,html.intro[data-state="QUENTO"] #targets {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

html.intro[data-state="QUENTO"] #black {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

html.intro[data-state="QUENTO"] #game #level [data-i="1"] {
    background: #fff;
    color: #000
}

#message {
    position: absolute;
    width: 120%;
    min-height: 20px;
    left: 50%;
    bottom: -10px;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    z-index: 1000;
    background: #fff;
    color: #222;
    padding: 10%;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    pointer-events: none;
    box-shadow: 0 0 20px rgba(0,0,0,0.3)
}

#message ul {
    padding-left: 25px
}

#message ul li {
    margin-bottom: 8px
}

#message.show {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    pointer-events: all;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

#message #message-contents {
    font-size: 110%;
    line-height: 120%
}

#message #message-button {
    background: #22a469;
    color: #fff;
    padding: 10px 20px;
    cursor: pointer;
    white-space: nowrap;
    margin-top: 20px;
    display: inline-block
}

#message .center {
    text-align: center
}

#message .icon {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 2px;
    -webkit-transform: translateY(4px);
    -moz-transform: translateY(4px);
    -ms-transform: translateY(4px);
    -o-transform: translateY(4px);
    background: no-repeat bottom center;
    background-size: contain
}

#message .icon.star {
    background-image: url(../img/star-full-dark.png)
}

#message .icon.x {
    background-image: url(../img/close.png);
    margin: 0 2px -3px 0
}

#message .icon.bulb {
    background-image: url(../img/light-bulb.png)
}

#message .icon.gear {
    background-image: url()
}

#message .icon.arrow {
    background-image: url(../img/chevron-right.png)
}

#message .icon.checkmark {
    background-image: url(../img/checkmark.png)
}

#message .icon.teacher {
    background-image: url(../img/school.png)
}

#message .icon.daily {
    background-image: url()
}

#message .icon.large {
    width: 50px;
    height: 50px;
    display: block;
    margin: 0 auto
}

#message .icon.square {
    width: 15px
}

#message .icon.square:after {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    background: #000;
    -webkit-opacity: .4;
    -moz-opacity: .4;
    opacity: .4;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);
    filter: alpha(opacity=40)
}

#message .box {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 2px;
    text-align: center;
    line-height: 30px;
    margin: 4px 0
}

#message .box.box-0 {
    color: transparent !important
}

#message .box.box-o {
    color: transparent !important
}

#message .box.nr {
    background: #000;
    color: #fff
}

#message .box.operator {
    background: #fff;
    color: #000
}

#zen {
    position: absolute;
    width: 16.5%;
    height: 100%;
    left: -18%;
    top: 27%;
    color: #000;
    font-size: 200%;
    opacity: 0.5;
    display: none
}

.show-zen #zen {
    display: block
}

.icon-char {
    position: relative;
    display: inline-block;
    width: 25px
}

.icon-char:after {
    content: '';
    position: absolute;
    background: transparent no-repeat center center;
    background-size: auto 90%;
    left: 0;
    top: -20px;
    width: 25px;
    height: 25px
}

.icon-char.icon-twitter:after {
    background-image: url(../img/fb.png)
}

.icon-char.icon-back:after {
    background-image: url(../img/chevron-left-white.png)
}

.icon-char.icon-next:after {
    background-image: url(../img/chevron-right-white.png);
    width: 55px;
    height: 36px;
    top:-30px;
}

.icon-char.icon-check:after {
    background-image: url(../img/checkmark.png)
}

.icon-char.icon-app:after {
    background-image: url(../img/app.png)
}

.icon-char.icon-unlock:after {
    background-image: url(../img/unlock.png)
}

.settings {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0);
    pointer-events: none;
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -ms-transition: all .2s ease-out;
    -o-transition: all .2s ease-out
}

.settings small {
    font-style: normal;
    font-size: 80%;
    color: #999
}

.settings h1 {
    text-align: center;
    color: #222
}

.settings .setting {
    text-align: center;
    clear: both
}

.settings .setting.m-bottom {
    margin-bottom: 8px
}

.settings .setting.two-buttons {
    display: flex
}

.settings .setting.two-buttons .small {
    width: 47px;
    padding: 10px 0
}

.settings .setting.two-buttons .big {
    width: 163px
}

.settings .setting.two-buttons .setting-button+.setting-button {
    margin-left: 10px
}

.settings .setting p {
    margin: 8px 0
}

.settings .setting .form-field {
    text-align: left;
    clear: both;
    margin-bottom: 4px
}

.settings .setting .form-field text {
    font-size: 14px
}

.settings .setting .form-field select {
    float: right;
    width: 100px;
    border: solid #20b8e0 2px;
    font-family: cabin;
    font-size: 14px
}

.settings .setting #generated-code {
    text-align: center
}

.settings .setting.half {
    text-align: left;
    width: 49%;
    clear: none;
    display: inline-block
}

.settings .setting.half .setting-icon {
    width: 45%;
    padding-top: 35%
}

.settings .setting.half.right {
    text-align: right
}

.settings .setting .form-field {
    vertical-align: middle
}

.settings .setting .label {
    color: #222;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-size: 30px
}

.settings .setting .setting-icon {
    display: inline-block;
    width: 20%;
    padding-top: 20%;
    border: solid transparent 4px;
    background: no-repeat center center;
    background-size: 80% auto
}

.settings .setting .setting-icon.selected {
    border-color: #20b8e0
}

.settings .setting .setting-icon.flag-en {
    background-image: url(../img/flag-en.png)
}

.settings .setting .setting-icon.flag-nl {
    background-image: url(../img/flag-nl.png)
}

.settings .setting .setting-icon.sound-enabled {
    background-image: url(../img/volume_up.png)
}

.settings .setting .setting-icon.sound-disabled {
    background-image: url(../img/volume_off.png)
}

.settings .setting .help-icon {
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../img/help_outline.png) no-repeat center center;
    background-size: auto 100%;
    left: 50%;
    margin-top: -20px;
    cursor: pointer;
    opacity: .8
}

.settings .setting .setting-button {
    background: #22a469;
    color: #fff;
    padding: 10px 20px;
    cursor: pointer;
    white-space: nowrap;
    display: inline-block
}

.settings .setting .setting-button.full {
    width: 100%
}

.settings .setting .setting-button.half {
    width: 49%;
    margin: 0;
    overflow: hidden
}

.settings .setting .setting-button.disabled {
    background: #999;
    opacity: .4;
    pointer-events: none
}

.settings .setting .setting-button.blue {
    background: #3a5b9b;
    margin-top: 30px;
}

.settings .setting .setting-button.yellow {
    background: #f8c82d;
    color: #222
}

.settings .setting .setting-button.black {
    background: #000;
    color: #fff
}

.settings .setting .setting-button.icon {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 60%
}

.settings .setting .setting-button.icon-back {
    background-image: url(../img/chevron-left-white.png)
}

.settings .setting .setting-button.icon-next {
    background-image: url(../img/chevron-right-white.png)
}

.settings .setting .text-input {
    position: relative;
    width: 100%;
    font-size: inherit;
    line-height: inherit;
    color: #222;
    padding: 10px 20px;
    white-space: nowrap;
    display: inline-block;
    font-family: monospace;
    border: solid #20b8e0 4px;
    text-transform: uppercase;
    outline: none;
    text-transform: none;
    font-family: 'Roboto Mono'
}

.settings .setting textarea.text-input {
    font-size: 76%;
    padding: 4px;
    white-space: normal
}

.settings .setting .setting-button[data-role="confirm-code"] {
    margin-left: 10px;
    line-height: 180%
}

.settings #footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 60%;
    text-align: center
}

.settings #footer [data-link] {
    color: inherit;
    outline: none
}

#numbers .setting {
    position: relative;
    margin: 0 0 10px 0;
    text-align: left;
    clear: none;
    width: 50%;
    float: left
}

#numbers .setting.selected:after {
    content: '';
    position: absolute;
    left: -10px;
    top: -10px;
    right: 5px;
    bottom: -4px;
    border: solid #20b8e0 4px
}

#numbers .setting.locked .set-box {
    opacity: .4
}

#numbers .setting.locked span {
    opacity: .4
}

#numbers .setting.locked:after {
    content: '';
    position: absolute;
    left: 20px;
    height: 20px;
    bottom: 0;
    width: 20px;
    background: url(../img/lock.png) no-repeat center center;
    background-size: contain
}

#numbers .set-box {
    position: relative;
    width: 30px;
    height: 30px;
    display: inline-block;
    text-align: center
}

#numbers .set-box:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #f8c82d;
    border-radius: 5px
}

#numbers .set-box:after {
    position: absolute;
    font-size: 70%;
    color: #222;
    content: '1-9';
    opacity: 1;
    left: 0;
    right: 0;
    top: 51%;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%)
}

#numbers .set-box.set-2:before {
    background-color: #0aba58
}

#numbers .set-box.set-3:before {
    background-color: #0aba58
}

#numbers .set-box.set-4:before {
    background-color: #0aba58
}

#numbers .set-box.set-5:before {
    background-color: #0aba58
}

#numbers .set-box.set-6:before {
    background-color: #0aba58
}

#numbers .set-box.set-7:before {
    background-color: #0aba58
}

#numbers .set-box.set-8:before {
    background-color: #0aba58
}

#numbers .set-box.set-9:before {
    background-color: #0aba58
}

#numbers .set-box.set-99:before {
    background-color: #4dc6e6
}

#numbers .set-box.set-2:after {
    content: '×2';
    color: #fff
}

#numbers .set-box.set-3:after {
    content: '×3';
    color: #fff
}

#numbers .set-box.set-4:after {
    content: '×4';
    color: #fff
}

#numbers .set-box.set-5:after {
    content: '×5';
    color: #fff
}

#numbers .set-box.set-6:after {
    content: '×6';
    color: #fff
}

#numbers .set-box.set-7:after {
    content: '×7';
    color: #fff
}

#numbers .set-box.set-8:after {
    content: '×8';
    color: #fff
}

#numbers .set-box.set-9:after {
    content: '×9';
    color: #fff
}

#numbers .set-box.set-99:after {
    content: '99'
}

#numbers span {
    display: inline-block;
    position: relative;
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    margin-left: 8px;
    font-size: 60%
}

#code {
    text-transform: uppercase
}

html.show-settings {
    background: #fff;
    color: #222
}

html.show-settings #level-complete {
    display: none
}

html.show-settings #subtitle {
    display: none !important
}

html.show-settings #targets,html.show-settings #level,html.show-settings #title {
    opacity: 0 !important;
    pointer-events: none
}

html.show-settings #settings {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    pointer-events: all
}

html.show-settings .menu-bar .menu-bar-button {
    margin-left: 0;
    display: none !important
}

html.show-settings .menu-bar [data-role='settings'] {
    display: block !important;
    background-color: #eee;
    border-radius: 0;
    width: 100%
}

html.show-settings .menu-bar [data-role='settings']:after {
    background-image: url(../img/close.png)
}

html.show-school {
    background: #fff;
    color: #222
}

html.show-school #level-complete {
    display: none
}

html.show-school #subtitle {
    display: none !important
}

html.show-school #targets,html.show-school #level,html.show-school #title {
    opacity: 0 !important;
    pointer-events: none
}

html.show-school #school {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    pointer-events: all
}

html.show-school .menu-bar .menu-bar-button {
    margin-left: 0;
    display: none
}

html.show-school .menu-bar [data-role='teacher'] {
    display: block;
    background-color: #eee;
    border-radius: 0;
    width: 100%
}

html.show-school .menu-bar [data-role='teacher']:after {
    background-image: url(../img/close.png)
}

html.show-numbers {
    background: #fff;
    color: #222
}

html.show-numbers #level-complete {
    display: none
}

html.show-numbers #subtitle {
    display: none !important
}

html.show-numbers #targets,html.show-numbers #level,html.show-numbers #title {
    opacity: 0 !important;
    pointer-events: none
}

html.show-numbers #numbers {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
    filter: alpha(opacity=100);
    pointer-events: all
}

html.show-numbers .menu-bar .menu-bar-button {
    margin-left: 0;
    display: none
}

html.show-numbers .menu-bar [data-role='numbers'] {
    display: block;
    background-color: #eee;
    border-radius: 0;
    width: 100%
}

html.show-numbers .menu-bar [data-role='numbers']:before {
    display: none
}

html.show-numbers .menu-bar [data-role='numbers']:after {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    content: '';
    margin-left: 0;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: auto 70%;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    opacity: .7;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
    filter: alpha(opacity=70);
    background-image: url(../img/close.png)
}

html.init #targets {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter: alpha(opacity=0)
}

html[data-state="Q42"] {
    background: #000
}

.wiggleWiggle {
    -webkit-animation: wiggleWiggle 1s ease-in-out infinite;
    -moz-animation: wiggleWiggle 1s ease-in-out infinite;
    -ms-animation: wiggleWiggle 1s ease-in-out infinite
}

.wiggleWiggleOnce {
    -webkit-animation: wiggleWiggle 1s ease-in-out;
    -moz-animation: wiggleWiggle 1s ease-in-out;
    -ms-animation: wiggleWiggle 1s ease-in-out
}

@-webkit-keyframes wiggleWiggle {
    0% {
        -webkit-transform: translateY(0)
    }

    25% {
        -webkit-transform: translateY(-12%)
    }

    50% {
        -webkit-transform: translateY(0)
    }

    75% {
        -webkit-transform: translateY(-12%)
    }

    100% {
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes wiggleWiggle {
    0% {
        -moz-transform: translateY(0)
    }

    25% {
        -moz-transform: translateY(-12%)
    }

    50% {
        -moz-transform: translateY(0)
    }

    75% {
        -moz-transform: translateY(-12%)
    }

    100% {
        -moz-transform: translateY(0)
    }
}

@-ms-keyframes wiggleWiggle {
    0% {
        -ms-transform: translateY(0)
    }

    25% {
        -ms-transform: translateY(-12%)
    }

    50% {
        -ms-transform: translateY(0)
    }

    75% {
        -ms-transform: translateY(-12%)
    }

    100% {
        -ms-transform: translateY(0)
    }
}

@keyframes wiggleWiggle {
    0% {
        transform: translateY(0)
    }

    25% {
        transform: translateY(-12%)
    }

    50% {
        transform: translateY(0)
    }

    75% {
        transform: translateY(-12%)
    }

    100% {
        transform: translateY(0)
    }
}

.wiggleWiggleHorizontally {
    -webkit-animation: wiggleWiggleHorizontally 1s linear infinite;
    -moz-animation: wiggleWiggleHorizontally 1s linear infinite;
    -ms-animation: wiggleWiggleHorizontally 1s linear infinite
}

.wiggleWiggleHorizontallyOnce {
    -webkit-animation: wiggleWiggleHorizontally 1s linear;
    -moz-animation: wiggleWiggleHorizontally 1s linear;
    -ms-animation: wiggleWiggleHorizontally 1s linear
}

@-webkit-keyframes wiggleWiggleHorizontally {
    0% {
        -webkit-transform: translateX(0)
    }

    25% {
        -webkit-transform: translateX(12%)
    }

    50% {
        -webkit-transform: translateX(0)
    }

    75% {
        -webkit-transform: translateX(12%)
    }

    100% {
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes wiggleWiggleHorizontally {
    0% {
        -moz-transform: translateX(0)
    }

    25% {
        -moz-transform: translateX(12%)
    }

    50% {
        -moz-transform: translateX(0)
    }

    75% {
        -moz-transform: translateX(12%)
    }

    100% {
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes wiggleWiggleHorizontally {
    0% {
        -ms-transform: translateX(0)
    }

    25% {
        -ms-transform: translateX(12%)
    }

    50% {
        -ms-transform: translateX(0)
    }

    75% {
        -ms-transform: translateX(12%)
    }

    100% {
        -ms-transform: translateX(0)
    }
}

@keyframes wiggleWiggleHorizontally {
    0% {
        transform: translateX(0)
    }

    25% {
        transform: translateX(12%)
    }

    50% {
        transform: translateX(0)
    }

    75% {
        transform: translateX(12%)
    }

    100% {
        transform: translateX(0)
    }
}

#level-complete {
    pointer-events: none;
    z-index: 90;
    background: #fff;
    color: #222;
    padding: 20px;
    top: 100px;
    -webkit-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -o-transform: translateX(-100px);
    opacity: 0;
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -ms-transition: all .5s ease-out;
    -o-transition: all .5s ease-out
}

#level-complete #checkmark {
    height: 70px;
    background: url(../img/checkmark.png) no-repeat center center;
    background-size: auto 100%;
    position: relative;
    opacity: .1
}

#level-complete #checkmark .clone {
    position: absolute;
    left: 50%;
    top: 0;
    width: 70px;
    height: 70px;
    margin-left: -35px;
    background: url(../img/checkmark.png) no-repeat center center;
    background-size: auto 100%
}

#level-complete #checkmark.anim {
    opacity: 1;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

#level-complete #checkmark.anim .clone {
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    -ms-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    opacity: 0;
    -webkit-transform: scale(2.5) translate(6px, -10px);
    -moz-transform: scale(2.5) translate(6px, -10px);
    -ms-transform: scale(2.5) translate(6px, -10px);
    -o-transform: scale(2.5) translate(6px, -10px)
}

#level-complete #time {
    display: none
}

#level-complete textarea {
    height: 100px
}

#level-complete #completed-stars {
    margin: 10px 0;
    text-align: center
}

#level-complete #completed-stars .star {
    position: relative;
    display: inline-block;
    width: 20%;
    height: 35px;
    background: url(../img/star-full-dark.png) no-repeat center center;
    background-size: auto 100%;
    opacity: .1
}

#level-complete #completed-stars .star.reached {
    opacity: 1
}

#level-complete #completed-stars .star .clone {
    position: absolute;
    left: 50%;
    top: 0;
    width: 100%;
    height: 100%;
    margin-left: -50%;
    background: url(../img/star-full-dark.png) no-repeat center center;
    background-size: auto 100%
}

#level-complete #completed-stars .star.anim {
    opacity: 1
}

#level-complete #completed-stars .star.anim .clone {
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -ms-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    opacity: 0;
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -ms-transform: scale(2);
    -o-transform: scale(2)
}

#level-complete #level-complete-buttons {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

#level-complete #level-complete-buttons.show {
    opacity: 1
}

a#tweet-button {
    text-decoration: none
}

html.show-level-complete #level-complete {
    pointer-events: all;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    opacity: 1
}

html.show-level-complete #level-complete #level-complete-buttons.show {
    pointer-events: all
}

html.show-level-complete #level-complete #level-complete-buttons.show.tutorial .tweet-buttons {
    opacity: 0;
    /*pointer-events: none;*/
    opacity: 1;
}

html.show-level-complete #targets,html.show-level-complete #level {
    opacity: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out
}

html.show-level-complete .menu-bar {
    opacity: 0 !important;
    pointer-events: none !important
}

html.show-level-complete #support-quento.show {
    pointer-events: all
}

html.show-level-complete #get-the-app.show {
    pointer-events: all
}

#loading-panel {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    pointer-events: none
}

#loading-panel #glasspane {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5)
}

#loading-panel #spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -15px 0 0 -15px;
    width: 30px;
    height: 30px;
    background: #f8c82d;
    -webkit-transform-origin: center center center;
    -moz-transform-origin: center center center;
    -ms-transform-origin: center center center;
    -o-transform-origin: center center center;
    -webkit-animation: rotate infinite 5s;
    -moz-animation: rotate infinite 5s;
    -ms-animation: rotate infinite 5s
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0)
    }

    50% {
        -webkit-transform: rotate(360deg)
    }

    100% {
        -webkit-transform: rotate(0deg)
    }
}

@-moz-keyframes rotate {
    0% {
        -moz-transform: rotate(0)
    }

    50% {
        -moz-transform: rotate(360deg)
    }

    100% {
        -moz-transform: rotate(0deg)
    }
}

@-ms-keyframes rotate {
    0% {
        -ms-transform: rotate(0)
    }

    50% {
        -ms-transform: rotate(360deg)
    }

    100% {
        -ms-transform: rotate(0deg)
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    50% {
        transform: rotate(360deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

#support-quento,#get-the-app {
    position: relative;
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%)
}

#support-quento.show,#get-the-app.show {
    -webkit-transition: all .3s ease-out .5s;
    -moz-transition: all .3s ease-out .5s;
    -ms-transition: all .3s ease-out .5s;
    -o-transition: all .3s ease-out .5s;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    opacity: 1
}

#get-the-app .get-app-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 48%;
    height: 100%;
    background: #000;
    color: #fff;
    opacity: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    z-index: 2;
    text-decoration: none
}

#get-the-app .get-app-button.ios {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%)
}

#get-the-app .get-app-button.android {
    left: auto;
    right: 0;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%)
}

#get-the-app.expand [data-role="get-the-app"] {
    opacity: 0;
    pointer-events: none
}

#get-the-app.expand .get-app-button {
    opacity: 1;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%)
}

html:not(.lang-nl) [lang-nl],html:not(.lang-en) [lang-en] {
    display: none !important
}

html.no-input input[type="text"],html.no-input textarea,html.no-input select {
    pointer-events: none
}
