/*
 
 @autor Maik Basso
 @email maik@maikbasso.com.br
 @telefone (55) 9952-9459
 
 ================================================================================
 * MB ENGINE
 * =============================================================================
 * Esta game engine disponibiliza recursos para a renderização gráfica das
 * imagens e outros elementos do canvas, também disponibliliza recursos para
 * gerenciamento de arquivos por preload e, gerenciamento completo a sons.
 ================================================================================
 */

/* =============================================================================
 * Elementos gráficos
 * =============================================================================
 * esta classe dispõe de objetos que podem ser replicados para a criação de 
 * interfaces, tais objetos contém os métodos necessários para cada tipo de
 * elemento gráfico
 * ===========================================================================*/
function ElementosGraficos() {

    //recupera a altura da janela
    function getALtura() {
        return window.innerHeight;
    }

    //recupera a largura da janela
    function getLargura() {
        return window.innerWidth;
    }

    //calcula a proporção do objeto em relação a janela
    function porcentagem(total, proporcao) {
        return (proporcao * total) / 100;
    }

    //imagem (renderiza-se adaptando-se as dimenssões do canvas)
    this.imagem = {
        x: 0,
        y: 0,
        w: 0,
        h: 0,
        img: null,
        create: false,
        //seta a imagem
        setImagem: function (img) {
            this.img = img;
        },
        //criar um canvas independente
        canvas: document.createElement("canvas"),
        //renderizar o botao na tela
        renderizar: function (x, y, w, h) {
            this.x = porcentagem(getLargura(), x);
            this.y = porcentagem(getALtura(), y);
            this.w = porcentagem(getLargura(), w);
            this.h = porcentagem(getALtura(), h);

            //adiciona um canvas ao document
            if (this.create === false) {
                document.body.appendChild(this.canvas);
                this.create = true;
            }

            this.canvas.style.position = "fixed";
            this.canvas.height = this.h;
            this.canvas.width = this.w;
            this.canvas.style.top = this.y + "px";
            this.canvas.style.left = this.x + "px";

            var ctx = this.canvas.getContext("2d");

            ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);

            ctx.drawImage(this.img, 0, 0, this.w, this.h);
        },
        //remover canvas
        remover: function () {
            document.body.removeChild(this.canvas);
        }
    };

    //imagem (se renderiza sobre o canvas mantendo suas dimenssoes originais)
    this.imagemAdaptavel = {
        x: 0,
        y: 0,
        w: 0,
        h: 0,
        img: null,
        create: false,
        //seta a imagem
        setImagem: function (img) {
            this.img = img;
        },
        //criar um canvas independente
        canvas: document.createElement("canvas"),
        //renderizar o botao na tela
        renderizar: function (x, y, w, h) {
            this.x = porcentagem(getLargura(), x);
            this.y = porcentagem(getALtura(), y);
            this.w = porcentagem(getLargura(), w);
            this.h = porcentagem(getALtura(), h);

            //adiciona um canvas ao document
            if (this.create === false) {
                document.body.appendChild(this.canvas);
                this.create = true;
            }

            this.canvas.style.position = "fixed";
            this.canvas.height = this.h;
            this.canvas.width = this.w;
            this.canvas.style.top = this.y + "px";
            this.canvas.style.left = this.x + "px";

            var ctx = this.canvas.getContext("2d");

            ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);

            ctx.drawImage(this.img, 0, 0);
        },
        //remover canvas
        remover: function () {
            document.body.removeChild(this.canvas);
        }
    };

    //canvas retangular com background
    this.retangulo = {
        x: 0,
        y: 0,
        w: 0,
        h: 0,
        cor: "",
        borda: "",
        create: false,
        //seta as dimenssoes do botao
        setPropriedades: function (cor, borda) {
            this.cor = cor;
            this.borda = borda;
        },
        //criar um canvas independente
        canvas: document.createElement("canvas"),
        //renderizar o botao na tela
        renderizar: function (x, y, w, h) {
            //armazena as dimensoes
            this.x = porcentagem(getLargura(), x);
            this.y = porcentagem(getALtura(), y);
            this.w = porcentagem(getLargura(), w);
            this.h = porcentagem(getALtura(), h);

            //adiciona um canvas ao document
            if (this.create === false) {
                document.body.appendChild(this.canvas);
                this.create = true;
            }

            if (this.borda !== "") {
                this.canvas.style.border = this.borda;
            }

            this.canvas.style.position = "fixed";
            this.canvas.height = this.h;
            this.canvas.width = this.w;
            this.canvas.style.top = this.y + "px";
            this.canvas.style.left = this.x + "px";

            var ctx = this.canvas.getContext("2d");

            if (this.cor !== "") {
                ctx.fillStyle = this.cor;
            }

            if (this.cor !== "") {
                ctx.fillRect(0, 0, this.w, this.h);
            }
        },
        //remover canvas
        remover: function () {
            document.body.removeChild(this.canvas);
        }

    };

    //texto
    this.texto = {
        x: 0,
        y: 0,
        w: 0,
        h: 0,
        texto: "",
        cor: "",
        fonte: "",
        alinhamento: "",
        create: false,
        //seta as dimenssoes do botao
        setPropriedades: function (cor, fonte, alinhamento) {
            this.cor = cor;
            this.fonte = fonte;
            this.alinhamento = alinhamento;
        },
        //criar um canvas independente
        canvas: document.createElement("canvas"),
        //renderizar o botao na tela
        renderizar: function (texto, x, y, w, h) {

            //armazena o texto
            this.texto = texto;

            //armazena as dimensoes
            this.x = porcentagem(getLargura(), x);
            this.y = porcentagem(getALtura(), y);
            this.w = porcentagem(getLargura(), w);
            this.h = porcentagem(getALtura(), h);

            //adiciona um canvas ao document
            if (this.create === false) {
                document.body.appendChild(this.canvas);
                this.create = true;
            }

            this.canvas.style.position = "fixed";
            this.canvas.height = this.h;
            this.canvas.width = this.w;
            this.canvas.style.top = this.y + "px";
            this.canvas.style.left = this.x + "px";


            var ctx = this.canvas.getContext("2d");

            if (this.cor !== "") {
                ctx.fillStyle = this.cor;
            }

            if (this.fonte !== "") {
                ctx.font = this.fonte;
            }

            if (this.alinhamento !== "") {
                ctx.textAlign = this.alinhamento;
            }

            //centraliza verticalmente
            ctx.textBaseline = "middle";

            ctx.fillText(this.texto, this.w / 2, this.h / 2);

        },
        //remover canvas
        remover: function () {
            document.body.removeChild(this.canvas);
        }

    };

    //ElementosHtml
    this.html = {
        x: 0,
        y: 0,
        w: 0,
        h: 0,
        create: false,
        elemento: null,
        //seta o nome da tag html que se deseja criar
        criarElemento: function (nomeTag) {
            this.elemento = document.createElement(nomeTag);
        },
        //get no elemento
        get: function () {
            return this.elemento;
        },
        //renderizar o elemento na tela
        renderizar: function (x, y, w, h) {

            this.x = porcentagem(getLargura(), x);
            this.y = porcentagem(getALtura(), y);
            this.w = porcentagem(getLargura(), w);
            this.h = porcentagem(getALtura(), h);

            //adiciona um canvas ao document
            if (this.create === false) {
                document.body.appendChild(this.elemento);
                this.create = true;
            }

            //this.elemento.style.border = "1px solid #000";

            this.elemento.style.position = "fixed";
            this.elemento.style.height = this.h + "px";
            this.elemento.style.width = this.w + "px";
            this.elemento.style.top = this.y + "px";
            this.elemento.style.left = this.x + "px";

        },
        //remover o elemento da tela
        remover: function () {
            document.body.removeChild(this.elemento);
        }
    };
}

/* =============================================================================
 * Elementos sonoros
 * =============================================================================
 * esta classe dispõe de objetos que podem ser replicados para a ciação de
 * efeitos sonoros, tais objetos contém os métodos necessários
 * ===========================================================================*/
function ElementosSonoros() {

    //botões com imagem
    this.ogg = {
        status: false,
        audio: null,
        //seta o audio
        setAudio: function (audio) {
            this.audio = audio;
        },
        //define se o audio terá replay ou não
        replay: function () {
            this.audio.loop = "loop";
        },
        //play
        play: function () {
            this.status = true;
            this.audio.play();
        },
        //pause
        pause: function () {
            this.status = false;
            this.audio.pause();
        },
        //stop
        stop: function () {
            this.status = false;
            this.audio.pause();
            this.audio.currentTime = 0;
        },
        //aumentar o volume
        aumentarVolume: function (){
            if(this.audio.volume < 1){
                this.audio.volume += 0.1;
            }
        },
        //diminuir o volume
        diminuirVolume: function (){
            if(this.audio.volume > 0){
                this.audio.volume -= 0.1;
            }
        },
        //pula a reprodução para o tempo especificado
        setTempoAtual: function (segundos) {
            this.audio.currentTime = segundos;
        },
        //regula o volume do audio
        setVolume : function (nivel) {
            this.audio.volume = nivel;
        },
        //retorna o tempo total em segundos
        getTempoTotal : function () {
            console.log("audio.duration = "+this.audio.duration);
            return this.audio.duration;
        },
        //retorna o tempo total reproduzido pelo usuario em segundos
        getTempoDeReproducao : function () {
            return this.audio.currentTime;
        }
    };
}

/* =============================================================================
 * Efeitos gráficos
 * =============================================================================
 * esta classe dispõe de métodos utilizados para compor as animações do jogo
 * ===========================================================================*/
function EfeitosGraficos(){
    
    /* EFEITOS JAVASCRIPT */
    
    this.Fade = {
        In : function (elemento, tempo) {
                var inicial = 0;
                var final = 100;
                var incremento = 0;

                if (inicial === 0) {
                    incremento = 2;
                    elemento.style.display = "block";
                }
                else {
                    incremento = -2;
                }

                var opacidade = inicial;

                var intervalo = null;

                intervalo = setInterval(function () {
                    if (opacidade === final) {
                        if (final === 0) {
                            elemento.style.display = "none";
                        }
                        clearInterval(intervalo);
                    }
                    else {
                        opacidade += incremento;
                        elemento.style.opacity = opacidade / 100;
                        elemento.style.filter = "alpha(opacity=" + opacidade + ")";
                    }
                }, tempo * 10);
        },
        Out : function (elemento, tempo) {
                var inicial = 100;
                var final = 0;
                var incremento = 0;

                if (inicial === 0) {
                    incremento = 2;
                    elemento.style.display = "block";
                }
                else {
                    incremento = -2;
                }

                var opacidade = inicial;

                var intervalo = null;

                intervalo = setInterval(function () {
                    if (opacidade === final) {
                        if (final === 0) {
                            elemento.style.display = "none";
                        }
                        clearInterval(intervalo);
                    }
                    else {
                        opacidade += incremento;
                        elemento.style.opacity = opacidade / 100;
                        elemento.style.filter = "alpha(opacity=" + opacidade + ")";
                    }
                }, tempo * 10);
        }
    };
    
    this.Move = function (elemento, x, y, duracao) {
        var velocidade = 0.1;
        
        if(x < 0){
            x = x * (-1); //muda o sinal
            left();
        }
        else if(x > 0){
            right();
        }
        
        if(y < 0){
            y = y * (-1); //muda o sinal
            top();
        }
        else if(y > 0){
            bottom();
        }
        
        function left(){
            var valor = (parseFloat(elemento.style.left)/window.innerWidth)*100;
            var dl = setInterval(function (){
                valor-=velocidade;
                x-=velocidade;
                elemento.style.left = (valor * window.innerWidth) / 100 + "px";
                if (x <= 0)
                    clearInterval(dl);
            }, duracao);
        }
        function right(){
            var valor = (parseFloat(elemento.style.left)/window.innerWidth)*100;
            var dr = setInterval(function (){
                valor+=velocidade;
                x-=velocidade;
                elemento.style.left = (valor * window.innerWidth) / 100 + "px";
                if (x <= 0)
                    clearInterval(dr);
            }, duracao);
        }
        function top(){
            var valor = (parseFloat(elemento.style.top)/window.innerHeight)*100;
            var dt = setInterval(function (){
                valor-=velocidade;
                y-=velocidade;
                elemento.style.top = (valor * window.innerHeight) / 100 + "px";
                if (y <= 0)
                    clearInterval(dt);
            }, duracao);
        }
        function bottom(){
            var valor = (parseFloat(elemento.style.top)/window.innerHeight)*100;
            var db = setInterval(function (){
                valor+=velocidade;
                y-=velocidade;
                elemento.style.top = (valor * window.innerHeight) / 100 + "px";
                if (y <= 0)
                    clearInterval(db);
            }, duracao);
        }
    };
    
    this.MoveRecursivo = function (elemento, x, y, duracao) {
        var velocidade = 0.1;
        var wInicial = elemento.style.left;
        var hInicial = elemento.style.top;
        var xInicial = x;
        var yInicial = y;
        
        if(x < 0){
            x = x * (-1); //muda o sinal
            xInicial = x;
            left();
        }
        else if(x > 0){
            right();
        }
        
        if(y < 0){
            y = y * (-1); //muda o sinal
            yInicial = y;
            top();
        }
        else if(y > 0){
            bottom();
        }
        
        function left(){
            var valor = (parseFloat(elemento.style.left)/window.innerWidth)*100;
            var valorInicial = valor;
            var dr = setInterval(function (){
                valor-=velocidade;
                x-=velocidade;
                elemento.style.left = (valor * window.innerWidth) / 100 + "px";
                if (x <= 0){
                    valor = valorInicial;
                    x = xInicial;
                    elemento.style.left = wInicial;
                }
            }, duracao);
        }
        function right(){
            var valor = (parseFloat(elemento.style.left)/window.innerWidth)*100;
            var valorInicial = valor;
            var dr = setInterval(function (){
                valor+=velocidade;
                x-=velocidade;
                elemento.style.left = (valor * window.innerWidth) / 100 + "px";
                if (x <= 0){
                    valor = valorInicial;
                    x = xInicial;
                    elemento.style.left = wInicial;
                }
            }, duracao);
        }
        function top(){
            var valor = (parseFloat(elemento.style.top)/window.innerHeight)*100;
            var valorInicial = valor;
            var dt = setInterval(function (){
                valor-=velocidade;
                y-=velocidade;
                elemento.style.top = (valor * window.innerHeight) / 100 + "px";
                if (y <= 0){
                    valor = valorInicial;
                    y = yInicial;
                    elemento.style.top = hInicial;
                }
            }, duracao);
        }
        function bottom(){
            var valor = (parseFloat(elemento.style.top)/window.innerHeight)*100;
            var valorInicial = valor;
            var db = setInterval(function (){
                valor+=velocidade;
                y-=velocidade;
                elemento.style.top = (valor * window.innerHeight) / 100 + "px";
                if (y <= 0){
                    valor = valorInicial;
                    y = yInicial;
                    elemento.style.top = hInicial;
                }
            }, duracao);
        }
    };
    
    /* EFEITOS CSS3 */
    
    var elStyle = null;
    var cssLoadStatus = false;
    
    function carregarCSS(){
        // all css animation
        // http://clovisdasilvaneto.github.io/all-animation/
        // a MB Engine carrega o css e executa as animações
        if(cssLoadStatus === false){
            var cssAnimation = ".treed{-webkit-perspective:600;-moz-perspective:600;-o-perspective:600;-ms-perspective:600;perspective:600px}.portrait{content:\"\";display:block;position:absolute;width:92%;height:64%;z-index:1000;top:9px;left:9px}.befores,.legend-down:before,.legend-up:before,.legend-left:before,.legend-right:before,.legend-flip:before,.portrait-before:before,.portrait-blur:before,.scale-before:before{content:\"\";display:block;position:absolute;width:92%;height:64%;z-index:1000;top:9px;left:9px}.all-animation,.all-animation *{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.dance{opacity:1!important;visibility:visible!important;-webkit-animation:dance 1 2s linear;-moz-animation:dance 1 2s linear;-ms-animation:dance 1 2s linear;-o-animation:dance 1 2s linear;animation:dance 1 2s linear}@-webkit-keyframes dance{0%,10%,20%{-webkit-transform:rotateZ(10deg)}5%,15%,25%{-webkit-transform:rotateZ(-10deg)}35%,60%,100%{-webkit-transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{-webkit-transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-moz-keyframes dance{0%,10%,20%{-moz-transform:rotateZ(10deg)}5%,15%,25%{-moz-transform:rotateZ(-10deg)}35%,60%,100%{-moz-transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{-moz-transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-ms-keyframes dance{0%,10%,20%{-ms-transform:rotateZ(10deg)}5%,15%,25%{-ms-transform:rotateZ(-10deg)}35%,60%,100%{-ms-transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{-ms-transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-o-keyframes dance{0%,10%,20%{-o-transform:rotateZ(10deg)}5%,15%,25%{-o-transform:rotateZ(-10deg)}35%,60%,100%{-o-transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{-o-transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-moz-keyframes dance{0%,10%,20%{transform:rotateZ(10deg)}5%,15%,25%{transform:rotateZ(-10deg)}35%,60%,100%{transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-webkit-keyframes dance{0%,10%,20%{transform:rotateZ(10deg)}5%,15%,25%{transform:rotateZ(-10deg)}35%,60%,100%{transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@-o-keyframes dance{0%,10%,20%{transform:rotateZ(10deg)}5%,15%,25%{transform:rotateZ(-10deg)}35%,60%,100%{transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}@keyframes dance{0%,10%,20%{transform:rotateZ(10deg)}5%,15%,25%{transform:rotateZ(-10deg)}35%,60%,100%{transform:scale(1) rotateZ(0deg);box-shadow:inset 0 0 0 0 transparent}40%{transform:scale(1.3);box-shadow:inset 0 0 0 0;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.1)}}.journal{-webkit-animation:journal 1 2s ease-in;-moz-animation:journal 1 2s ease-in;-ms-animation:journal 1 2s ease-in;-o-animation:journal 1 2s ease-in;animation:journal 1 2s ease-in;opacity:1!important;visibility:visible!important}@-webkit-keyframes journal{0%{-webkit-transform:scale(0) rotate(-360deg)}80%{-webkit-transform:scale(0.5) rotate(-180deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes journal{0%{-moz-transform:scale(0) rotate(-360deg)}80%{-moz-transform:scale(0.5) rotate(-180deg)}100%{-moz-transform:scale(1) rotate(0)}}@-ms-keyframes journal{0%{-ms-transform:scale(0) rotate(-360deg)}80%{-ms-transform:scale(0.5) rotate(-180deg)}100%{-ms-transform:scale(1) rotate(0)}}@-o-keyframes journal{0%{-o-transform:scale(0) rotate(-360deg)}80%{-o-transform:scale(0.5) rotate(-180deg)}100%{-o-transform:scale(1) rotate(0)}}@-moz-keyframes journal{0%{transform:scale(0) rotate(-360deg)}80%{transform:scale(0.5) rotate(-180deg)}100%{transform:scale(1) rotate(0)}}@-webkit-keyframes journal{0%{transform:scale(0) rotate(-360deg)}80%{transform:scale(0.5) rotate(-180deg)}100%{transform:scale(1) rotate(0)}}@-o-keyframes journal{0%{transform:scale(0) rotate(-360deg)}80%{transform:scale(0.5) rotate(-180deg)}100%{transform:scale(1) rotate(0)}}@keyframes journal{0%{transform:scale(0) rotate(-360deg)}80%{transform:scale(0.5) rotate(-180deg)}100%{transform:scale(1) rotate(0)}}.pulse{-webkit-animation:pulse infinite alternate linear .5s;-moz-animation:pulse infinite alternate linear .5s;-ms-animation:pulse infinite alternate linear .5s;-o-animation:pulse infinite alternate linear .5s;animation:pulse infinite alternate linear .5s;opacity:1!important;visibility:visible!important}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}100%{-webkit-transform:scale(1.05)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}100%{-moz-transform:scale(1.05)}}@-ms-keyframes pulse{0%{-ms-transform:scale(1)}100%{-ms-transform:scale(1.05)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}100%{-o-transform:scale(1.05)}}@-moz-keyframes pulse{0%{transform:scale(1)}100%{transform:scale(1.05)}}@-webkit-keyframes pulse{0%{transform:scale(1)}100%{transform:scale(1.05)}}@-o-keyframes pulse{0%{transform:scale(1)}100%{transform:scale(1.05)}}@keyframes pulse{0%{transform:scale(1)}100%{transform:scale(1.05)}}.pulse-slow{opacity:1!important;visibility:visible!important;-webkit-animation:pulseSlow infinite alternate 1s ease-in-out;-moz-animation:pulseSlow infinite alternate 1s ease-in-out;-ms-animation:pulseSlow infinite alternate 1s ease-in-out;-o-animation:pulseSlow infinite alternate 1s ease-in-out;animation:pulseSlow infinite alternate 1s ease-in-out}@-webkit-keyframes pulseSlow{0%{-webkit-transform:scale(1);opacity:1}100%{-webkit-transform:scale(0.85);opacity:.5}}@-moz-keyframes pulseSlow{0%{-moz-transform:scale(1);opacity:1}100%{-moz-transform:scale(0.85);opacity:.5}}@-ms-keyframes pulseSlow{0%{-ms-transform:scale(1);opacity:1}100%{-ms-transform:scale(0.85);opacity:.5}}@-o-keyframes pulseSlow{0%{-o-transform:scale(1);opacity:1}100%{-o-transform:scale(0.85);opacity:.5}}@-moz-keyframes pulseSlow{0%{transform:scale(1);opacity:1}100%{transform:scale(0.85);opacity:.5}}@-webkit-keyframes pulseSlow{0%{transform:scale(1);opacity:1}100%{transform:scale(0.85);opacity:.5}}@-o-keyframes pulseSlow{0%{transform:scale(1);opacity:1}100%{transform:scale(0.85);opacity:.5}}@keyframes pulseSlow{0%{transform:scale(1);opacity:1}100%{transform:scale(0.85);opacity:.5}}.jamp{opacity:1!important;visibility:visible!important;-webkit-animation:jamp 1s linear;-moz-animation:jamp 1s linear;-ms-animation:jamp 1s linear;-o-animation:jamp 1s linear;animation:jamp 1s linear}@-webkit-keyframes jamp{0%{-webkit-transform:translateY(0)}10%{-webkit-transform:translateY(-50px)}25%{-webkit-transform:translateY(-50px) scale(1.1)}35%{-webkit-transform:translateY(-50px) scale(1)}45%{-webkit-transform:translateY(-50px) scale(1.2)}55%{-webkit-transform:translateY(-50px) scale(1)}65%{-webkit-transform:translate(150px,-50px) scale(0.8)}85%{-webkit-transform:translate(150px,-50px) scale(1.2)}95%{-webkit-transform:translate(0,0px) scale(1)}100%{-webkit-transform:translate(0,0)}}@-moz-keyframes jamp{0%{-moz-transform:translateY(0)}10%{-moz-transform:translateY(-50px)}25%{-moz-transform:translateY(-50px) scale(1.1)}35%{-moz-transform:translateY(-50px) scale(1)}45%{-moz-transform:translateY(-50px) scale(1.2)}55%{-moz-transform:translateY(-50px) scale(1)}65%{-moz-transform:translate(150px,-50px) scale(0.8)}85%{-moz-transform:translate(150px,-50px) scale(1.2)}95%{-moz-transform:translate(0,0px) scale(1)}100%{-moz-transform:translate(0,0)}}@-ms-keyframes jamp{0%{-ms-transform:translateY(0)}10%{-ms-transform:translateY(-50px)}25%{-ms-transform:translateY(-50px) scale(1.1)}35%{-ms-transform:translateY(-50px) scale(1)}45%{-ms-transform:translateY(-50px) scale(1.2)}55%{-ms-transform:translateY(-50px) scale(1)}65%{-ms-transform:translate(150px,-50px) scale(0.8)}85%{-ms-transform:translate(150px,-50px) scale(1.2)}95%{-ms-transform:translate(0,0px) scale(1)}100%{-ms-transform:translate(0,0)}}@-o-keyframes jamp{0%{-o-transform:translateY(0)}10%{-o-transform:translateY(-50px)}25%{-o-transform:translateY(-50px) scale(1.1)}35%{-o-transform:translateY(-50px) scale(1)}45%{-o-transform:translateY(-50px) scale(1.2)}55%{-o-transform:translateY(-50px) scale(1)}65%{-o-transform:translate(150px,-50px) scale(0.8)}85%{-o-transform:translate(150px,-50px) scale(1.2)}95%{-o-transform:translate(0,0px) scale(1)}100%{-o-transform:translate(0,0)}}@-moz-keyframes jamp{0%{transform:translateY(0)}10%{transform:translateY(-50px)}25%{transform:translateY(-50px) scale(1.1)}35%{transform:translateY(-50px) scale(1)}45%{transform:translateY(-50px) scale(1.2)}55%{transform:translateY(-50px) scale(1)}65%{transform:translate(150px,-50px) scale(0.8)}85%{transform:translate(150px,-50px) scale(1.2)}95%{transform:translate(0,0px) scale(1)}100%{transform:translate(0,0)}}@-webkit-keyframes jamp{0%{transform:translateY(0)}10%{transform:translateY(-50px)}25%{transform:translateY(-50px) scale(1.1)}35%{transform:translateY(-50px) scale(1)}45%{transform:translateY(-50px) scale(1.2)}55%{transform:translateY(-50px) scale(1)}65%{transform:translate(150px,-50px) scale(0.8)}85%{transform:translate(150px,-50px) scale(1.2)}95%{transform:translate(0,0px) scale(1)}100%{transform:translate(0,0)}}@-o-keyframes jamp{0%{transform:translateY(0)}10%{transform:translateY(-50px)}25%{transform:translateY(-50px) scale(1.1)}35%{transform:translateY(-50px) scale(1)}45%{transform:translateY(-50px) scale(1.2)}55%{transform:translateY(-50px) scale(1)}65%{transform:translate(150px,-50px) scale(0.8)}85%{transform:translate(150px,-50px) scale(1.2)}95%{transform:translate(0,0px) scale(1)}100%{transform:translate(0,0)}}@keyframes jamp{0%{transform:translateY(0)}10%{transform:translateY(-50px)}25%{transform:translateY(-50px) scale(1.1)}35%{transform:translateY(-50px) scale(1)}45%{transform:translateY(-50px) scale(1.2)}55%{transform:translateY(-50px) scale(1)}65%{transform:translate(150px,-50px) scale(0.8)}85%{transform:translate(150px,-50px) scale(1.2)}95%{transform:translate(0,0px) scale(1)}100%{transform:translate(0,0)}}.four-rock{opacity:1!important;visibility:visible!important;-webkit-animation:fourRock 1 2s ease-out;-moz-animation:fourRock 1 2s ease-out;-ms-animation:fourRock 1 2s ease-out;-o-animation:fourRock 1 2s ease-out;animation:fourRock 1 2s ease-out}@-webkit-keyframes fourRock{0%{-webkit-transform-origin:0 0}5%{-webkit-transform:scale(0.5)}10%{-webkit-transform:scale(0.5)}15%{-webkit-transform:scale(0.5) translateX(130px)}20%{-webkit-transform:scale(0.5) translateX(130px)}25%{-webkit-transform:scale(0.5) translate(130px,130px)}30%{-webkit-transform:scale(0.5) translate(0px,130px)}35%{-webkit-transform:scale(0.5) translate(0px,0px)}40%{-webkit-transform:scale(1)}100%{-webkit-transform:scale(1);-webkit-transform-origin:0 0}}@-moz-keyframes fourRock{0%{-moz-transform-origin:0 0}5%{-moz-transform:scale(0.5)}10%{-moz-transform:scale(0.5)}15%{-moz-transform:scale(0.5) translateX(130px)}20%{-moz-transform:scale(0.5) translateX(130px)}25%{-moz-transform:scale(0.5) translate(130px,130px)}30%{-moz-transform:scale(0.5) translate(0px,130px)}35%{-moz-transform:scale(0.5) translate(0px,0px)}40%{-moz-transform:scale(1)}100%{-moz-transform:scale(1);-webkit-transform-origin:0 0}}@-ms-keyframes fourRock{0%{-ms-transform-origin:0 0}5%{-ms-transform:scale(0.5)}10%{-ms-transform:scale(0.5)}15%{-ms-transform:scale(0.5) translateX(130px)}20%{-ms-transform:scale(0.5) translateX(130px)}25%{-ms-transform:scale(0.5) translate(130px,130px)}30%{-ms-transform:scale(0.5) translate(0px,130px)}35%{-ms-transform:scale(0.5) translate(0px,0px)}40%{-ms-transform:scale(1)}100%{-ms-transform:scale(1);-webkit-transform-origin:0 0}}@-o-keyframes fourRock{0%{-o-transform-origin:0 0}5%{-o-transform:scale(0.5)}10%{-o-transform:scale(0.5)}15%{-o-transform:scale(0.5) translateX(130px)}20%{-o-transform:scale(0.5) translateX(130px)}25%{-o-transform:scale(0.5) translate(130px,130px)}30%{-o-transform:scale(0.5) translate(0px,130px)}35%{-o-transform:scale(0.5) translate(0px,0px)}40%{-o-transform:scale(1)}100%{-o-transform:scale(1);-webkit-transform-origin:0 0}}@-moz-keyframes fourRock{0%{transform-origin:0 0}5%{transform:scale(0.5)}10%{transform:scale(0.5)}15%{transform:scale(0.5) translateX(130px)}20%{transform:scale(0.5) translateX(130px)}25%{transform:scale(0.5) translate(130px,130px)}30%{transform:scale(0.5) translate(0px,130px)}35%{transform:scale(0.5) translate(0px,0px)}40%{transform:scale(1)}100%{transform:scale(1);-webkit-transform-origin:0 0}}@-webkit-keyframes fourRock{0%{transform-origin:0 0}5%{transform:scale(0.5)}10%{transform:scale(0.5)}15%{transform:scale(0.5) translateX(130px)}20%{transform:scale(0.5) translateX(130px)}25%{transform:scale(0.5) translate(130px,130px)}30%{transform:scale(0.5) translate(0px,130px)}35%{transform:scale(0.5) translate(0px,0px)}40%{transform:scale(1)}100%{transform:scale(1);-webkit-transform-origin:0 0}}@-o-keyframes fourRock{0%{transform-origin:0 0}5%{transform:scale(0.5)}10%{transform:scale(0.5)}15%{transform:scale(0.5) translateX(130px)}20%{transform:scale(0.5) translateX(130px)}25%{transform:scale(0.5) translate(130px,130px)}30%{transform:scale(0.5) translate(0px,130px)}35%{transform:scale(0.5) translate(0px,0px)}40%{transform:scale(1)}100%{transform:scale(1);-webkit-transform-origin:0 0}}@keyframes fourRock{0%{transform-origin:0 0}5%{transform:scale(0.5)}10%{transform:scale(0.5)}15%{transform:scale(0.5) translateX(130px)}20%{transform:scale(0.5) translateX(130px)}25%{transform:scale(0.5) translate(130px,130px)}30%{transform:scale(0.5) translate(0px,130px)}35%{transform:scale(0.5) translate(0px,0px)}40%{transform:scale(1)}100%{transform:scale(1);-webkit-transform-origin:0 0}}.enter-up-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:enterUpBounce 1s linear;-moz-animation:enterUpBounce 1s linear;-ms-animation:enterUpBounce 1s linear;-o-animation:enterUpBounce 1s linear;animation:enterUpBounce 1s linear}@-webkit-keyframes enterUpBounce{0%{-webkit-transform:translateY(220px);opacity:0}50%{-webkit-transform:translateY(0px)}70%{-webkit-transform:translateY(20px)}100%{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes enterUpBounce{0%{-moz-transform:translateY(220px);opacity:0}50%{-moz-transform:translateY(0px)}70%{-moz-transform:translateY(20px)}100%{-moz-transform:translateY(0);opacity:1}}@-o-keyframes enterUpBounce{0%{-o-transform:translateY(220px);opacity:0}50%{-o-transform:translateY(0px)}70%{-o-transform:translateY(20px)}100%{-o-transform:translateY(0);opacity:1}}@-ms-keyframes enterUpBounce{0%{-ms-transform:translateY(220px);opacity:0}50%{-ms-transform:translateY(0px)}70%{-ms-transform:translateY(20px)}100%{-ms-transform:translateY(0);opacity:1}}@-moz-keyframes enterUpBounce{0%{transform:translateY(220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(20px)}100%{transform:translateY(0);opacity:1}}@-webkit-keyframes enterUpBounce{0%{transform:translateY(220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(20px)}100%{transform:translateY(0);opacity:1}}@-o-keyframes enterUpBounce{0%{transform:translateY(220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(20px)}100%{transform:translateY(0);opacity:1}}@keyframes enterUpBounce{0%{transform:translateY(220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(20px)}100%{transform:translateY(0);opacity:1}}.enter-down-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:enterDownBounce 1s linear;-moz-animation:enterDownBounce 1s linear;-ms-animation:enterDownBounce 1s linear;-o-animation:enterDownBounce 1s linear;animation:enterDownBounce 1s linear}@-webkit-keyframes enterDownBounce{0%{-webkit-transform:translateY(-220px);opacity:0}50%{-webkit-transform:translateY(0px)}70%{-webkit-transform:translateY(-20px)}100%{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes enterDownBounce{0%{-moz-transform:translateY(-220px);opacity:0}50%{-moz-transform:translateY(0px)}70%{-moz-transform:translateY(-20px)}100%{-moz-transform:translateY(0);opacity:1}}@-ms-keyframes enterDownBounce{0%{-ms-transform:translateY(-220px);opacity:0}50%{-ms-transform:translateY(0px)}70%{-ms-transform:translateY(-20px)}100%{-ms-transform:translateY(0);opacity:1}}@-o-keyframes enterDownBounce{0%{-o-transform:translateY(-220px);opacity:0}50%{-o-transform:translateY(0px)}70%{-o-transform:translateY(-20px)}100%{-o-transform:translateY(0);opacity:1}}@-moz-keyframes enterDownBounce{0%{transform:translateY(-220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(-20px)}100%{transform:translateY(0);opacity:1}}@-webkit-keyframes enterDownBounce{0%{transform:translateY(-220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(-20px)}100%{transform:translateY(0);opacity:1}}@-o-keyframes enterDownBounce{0%{transform:translateY(-220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(-20px)}100%{transform:translateY(0);opacity:1}}@keyframes enterDownBounce{0%{transform:translateY(-220px);opacity:0}50%{transform:translateY(0px)}70%{transform:translateY(-20px)}100%{transform:translateY(0);opacity:1}}.enter-left-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:enterLeftBounce 1s linear;-moz-animation:enterLeftBounce 1s linear;-ms-animation:enterLeftBounce 1s linear;-o-animation:enterLeftBounce 1s linear;animation:enterLeftBounce 1s linear}@-webkit-keyframes enterLeftBounce{0%{-webkit-transform:translateX(-220px);opacity:0}50%{-webkit-transform:translateX(0px)}70%{-webkit-transform:translateX(-8px)}100%{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes enterLeftBounce{0%{-moz-transform:translateX(-220px);opacity:0}50%{-moz-transform:translateX(0px)}70%{-moz-transform:translateX(-8px)}100%{-moz-transform:translateX(0);opacity:1}}@-o-keyframes enterLeftBounce{0%{-o-transform:translateX(-220px);opacity:0}50%{-o-transform:translateX(0px)}70%{-o-transform:translateX(-8px)}100%{-o-transform:translateX(0);opacity:1}}@-ms-keyframes enterLeftBounce{0%{-ms-transform:translateX(-220px);opacity:0}50%{-ms-transform:translateX(0px)}70%{-ms-transform:translateX(-8px)}100%{-ms-transform:translateX(0);opacity:1}}@-moz-keyframes enterLeftBounce{0%{transform:translateX(-220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(-8px)}100%{transform:translateX(0);opacity:1}}@-webkit-keyframes enterLeftBounce{0%{transform:translateX(-220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(-8px)}100%{transform:translateX(0);opacity:1}}@-o-keyframes enterLeftBounce{0%{transform:translateX(-220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(-8px)}100%{transform:translateX(0);opacity:1}}@keyframes enterLeftBounce{0%{transform:translateX(-220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(-8px)}100%{transform:translateX(0);opacity:1}}.enter-right-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:enterRightBounce 1s linear;-moz-animation:enterRightBounce 1s linear;-ms-animation:enterRightBounce 1s linear;-o-animation:enterRightBounce 1s linear;animation:enterRightBounce 1s linear}@-webkit-keyframes enterRightBounce{0%{-webkit-transform:translateX(220px);opacity:0}50%{-webkit-transform:translateX(0px)}70%{-webkit-transform:translateX(8px)}100%{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes enterRightBounce{0%{-moz-transform:translateX(220px);opacity:0}50%{-moz-transform:translateX(0px)}70%{-moz-transform:translateX(8px)}100%{-moz-transform:translateX(0);opacity:1}}@-o-keyframes enterRightBounce{0%{-o-transform:translateX(220px);opacity:0}50%{-o-transform:translateX(0px)}70%{-o-transform:translateX(8px)}100%{-o-transform:translateX(0);opacity:1}}@-ms-keyframes enterRightBounce{0%{-ms-transform:translateX(220px);opacity:0}50%{-ms-transform:translateX(0px)}70%{-ms-transform:translateX(8px)}100%{-ms-transform:translateX(0);opacity:1}}@-moz-keyframes enterRightBounce{0%{transform:translateX(220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(8px)}100%{transform:translateX(0);opacity:1}}@-webkit-keyframes enterRightBounce{0%{transform:translateX(220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(8px)}100%{transform:translateX(0);opacity:1}}@-o-keyframes enterRightBounce{0%{transform:translateX(220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(8px)}100%{transform:translateX(0);opacity:1}}@keyframes enterRightBounce{0%{transform:translateX(220px);opacity:0}50%{transform:translateX(0px)}70%{transform:translateX(8px)}100%{transform:translateX(0);opacity:1}}.scale-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:scaleBounce 1s linear;-moz-animation:scaleBounce 1s linear;-ms-animation:scaleBounce 1s linear;-o-animation:scaleBounce 1s linear;animation:scaleBounce 1s linear}@-webkit-keyframes scaleBounce{0%{-webkit-transform:scale(1.5);opacity:0}50%{-webkit-transform:scale(1)}70%{-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@-moz-keyframes scaleBounce{0%{-moz-transform:scale(1.5);opacity:0}50%{-moz-transform:scale(1)}70%{-moz-transform:scale(1.1)}100%{opacity:1;-moz-transform:scale(1)}}@-o-keyframes scaleBounce{0%{-o-transform:scale(1.5);opacity:0}50%{-o-transform:scale(1)}70%{-o-transform:scale(1.1)}100%{opacity:1;-o-transform:scale(1)}}@-ms-keyframes scaleBounce{0%{-ms-transform:scale(1.5);opacity:0}50%{-ms-transform:scale(1)}70%{-ms-transform:scale(1.1)}100%{opacity:1;-ms-transform:scale(1)}}@-moz-keyframes scaleBounce{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1)}70%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes scaleBounce{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1)}70%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}@-o-keyframes scaleBounce{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1)}70%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}@keyframes scaleBounce{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1)}70%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.jump-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:jumpBounce 1 1.5s ease-in;-moz-animation:jumpBounce 1 1.5s ease-in;-ms-animation:jumpBounce 1 1.5s ease-in;-o-animation:jumpBounce 1 1.5s ease-in;animation:jumpBounce 1 1.5s ease-in}@-webkit-keyframes jumpBounce{10%{-webkit-transform:translateY(-150px)}20%,35%,50%{-webkit-transform:translateY(0px)}25%{-webkit-transform:translateY(-60px)}40%{-webkit-transform:translateY(-40px)}}@-moz-keyframes jumpBounce{10%{-moz-transform:translateY(-150px)}20%,35%,50%{-moz-transform:translateY(0px)}25%{-moz-transform:translateY(-60px)}40%{-moz-transform:translateY(-40px)}}@-ms-keyframes jumpBounce{10%{-ms-transform:translateY(-150px)}20%,35%,50%{-ms-transform:translateY(0px)}25%{-ms-transform:translateY(-60px)}40%{-ms-transform:translateY(-40px)}}@-o-keyframes jumpBounce{10%{-o-transform:translateY(-150px)}20%,35%,50%{-o-transform:translateY(0px)}25%{-o-transform:translateY(-60px)}40%{-o-transform:translateY(-40px)}}@-moz-keyframes jumpBounce{10%{transform:translateY(-150px)}20%,35%,50%{transform:translateY(0px)}25%{transform:translateY(-60px)}40%{transform:translateY(-40px)}}@-webkit-keyframes jumpBounce{10%{transform:translateY(-150px)}20%,35%,50%{transform:translateY(0px)}25%{transform:translateY(-60px)}40%{transform:translateY(-40px)}}@-o-keyframes jumpBounce{10%{transform:translateY(-150px)}20%,35%,50%{transform:translateY(0px)}25%{transform:translateY(-60px)}40%{transform:translateY(-40px)}}@keyframes jumpBounce{10%{transform:translateY(-150px)}20%,35%,50%{transform:translateY(0px)}25%{transform:translateY(-60px)}40%{transform:translateY(-40px)}}.tree-flip{opacity:1!important;visibility:visible!important;-webkit-animation:treeFlip 1 1s ease-in-out;-moz-animation:treeFlip 1 1s ease-in-out;-ms-animation:treeFlip 1 1s ease-in-out;-o-animation:treeFlip 1 1s ease-in-out;animation:treeFlip 1 1s ease-in-out;-webkit-transform:rotateY(-90deg);-moz-transform:rotateY(-90deg);-ms-transform:rotateY(-90deg);-o-transform:rotateY(-90deg);transform:rotateY(-90deg);-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}@-webkit-keyframes treeFlip{0%{-webkit-transform:rotateY(0)}100%{-webkit-transform:rotateY(-90deg)}}@-moz-keyframes treeFlip{0%{-moz-transform:rotateY(0)}100%{-moz-transform:rotateY(-90deg)}}@-ms-keyframes treeFlip{0%{-ms-transform:rotateY(0)}100%{-ms-transform:rotateY(-90deg)}}@-o-keyframes treeFlip{0%{-o-transform:rotateY(0)}100%{-o-transform:rotateY(-90deg)}}@-moz-keyframes treeFlip{0%{transform:rotateY(0)}100%{transform:rotateY(-90deg)}}@-webkit-keyframes treeFlip{0%{transform:rotateY(0)}100%{transform:rotateY(-90deg)}}@-o-keyframes treeFlip{0%{transform:rotateY(0)}100%{transform:rotateY(-90deg)}}@keyframes treeFlip{0%{transform:rotateY(0)}100%{transform:rotateY(-90deg)}}.tree-flip-right{opacity:1!important;visibility:visible!important;-webkit-animation:treeFlipRight 1 1s ease-in-out;-moz-animation:treeFlipRight 1 1s ease-in-out;-ms-animation:treeFlipRight 1 1s ease-in-out;-o-animation:treeFlipRight 1 1s ease-in-out;animation:treeFlipRight 1 1s ease-in-out;-webkit-transform:rotateY(90deg);-moz-transform:rotateY(90deg);-ms-transform:rotateY(90deg);-o-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-o-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}@-webkit-keyframes treeFlipRight{0%{-webkit-transform:rotateY(0)}100%{-webkit-transform:rotateY(90deg)}}@-moz-keyframes treeFlipRight{0%{-moz-transform:rotateY(0)}100%{-moz-transform:rotateY(90deg)}}@-ms-keyframes treeFlipRight{0%{-ms-transform:rotateY(0)}100%{-ms-transform:rotateY(90deg)}}@-o-keyframes treeFlipRight{0%{-o-transform:rotateY(0)}100%{-o-transform:rotateY(90deg)}}@-moz-keyframes treeFlipRight{0%{transform:rotateY(0)}100%{transform:rotateY(90deg)}}@-webkit-keyframes treeFlipRight{0%{transform:rotateY(0)}100%{transform:rotateY(90deg)}}@-o-keyframes treeFlipRight{0%{transform:rotateY(0)}100%{transform:rotateY(90deg)}}@keyframes treeFlipRight{0%{transform:rotateY(0)}100%{transform:rotateY(90deg)}}.tree-flip-up{opacity:1!important;visibility:visible!important;-webkit-animation:treeFlipUp 1 1s ease-in-out;-moz-animation:treeFlipUp 1 1s ease-in-out;-ms-animation:treeFlipUp 1 1s ease-in-out;-o-animation:treeFlipUp 1 1s ease-in-out;animation:treeFlipUp 1 1s ease-in-out;-webkit-transform:rotateX(90deg);-moz-transform:rotateX(90deg);-ms-transform:rotateX(90deg);-o-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-o-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}@-webkit-keyframes treeFlipUp{0%{-webkit-transform:rotateX(0)}100%{-webkit-transform:rotateX(90deg)}}@-moz-keyframes treeFlipUp{0%{-moz-transform:rotateX(0)}100%{-moz-transform:rotateX(90deg)}}@-ms-keyframes treeFlipUp{0%{-ms-transform:rotateX(0)}100%{-ms-transform:rotateX(90deg)}}@-o-keyframes treeFlipUp{0%{-o-transform:rotateX(0)}100%{-o-transform:rotateX(90deg)}}@-moz-keyframes treeFlipUp{0%{transform:rotateX(0)}100%{transform:rotateX(90deg)}}@-webkit-keyframes treeFlipUp{0%{transform:rotateX(0)}100%{transform:rotateX(90deg)}}@-o-keyframes treeFlipUp{0%{transform:rotateX(0)}100%{transform:rotateX(90deg)}}@keyframes treeFlipUp{0%{transform:rotateX(0)}100%{transform:rotateX(90deg)}}.tree-flip-down{opacity:1!important;visibility:visible!important;-webkit-animation:treeFlipDown 1 1s ease-in-out;-moz-animation:treeFlipDown 1 1s ease-in-out;-ms-animation:treeFlipDown 1 1s ease-in-out;-o-animation:treeFlipDown 1 1s ease-in-out;animation:treeFlipDown 1 1s ease-in-out;-webkit-transform:rotateX(90deg);-moz-transform:rotateX(90deg);-ms-transform:rotateX(90deg);-o-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:0 100%;-moz-transform-origin:0 100%;-o-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}@-webkit-keyframes treeFlipDown{0%{-webkit-transform:rotateX(0)}100%{-webkit-transform:rotateX(-90deg)}}@-moz-keyframes treeFlipDown{0%{-moz-transform:rotateX(0)}100%{-moz-transform:rotateX(-90deg)}}@-ms-keyframes treeFlipDown{0%{-ms-transform:rotateX(0)}100%{-ms-transform:rotateX(-90deg)}}@-o-keyframes treeFlipDown{0%{-o-transform:rotateX(0)}100%{-o-transform:rotateX(-90deg)}}@-moz-keyframes treeFlipDown{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}@-webkit-keyframes treeFlipDown{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}@-o-keyframes treeFlipDown{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}@keyframes treeFlipDown{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}.flip-left-bounce{opacity:1!important;visibility:visible!important;-webkit-animation:flipLeftBounce 1s ease-in-out;-moz-animation:flipLeftBounce 1s ease-in-out;-ms-animation:flipLeftBounce 1s ease-in-out;-o-animation:flipLeftBounce 1s ease-in-out;animation:flipLeftBounce 1s ease-in-out}@-webkit-keyframes flipLeftBounce{0%{opacity:0;-webkit-transform:rotateY(70deg)}50%{opacity:1;-webkit-transform:rotateY(-5deg)}80%{-webkit-transform:rotateY(20deg)}100%{-webkit-transform:rotateY(0deg)}}@-moz-keyframes flipLeftBounce{0%{opacity:0;-moz-transform:rotateY(70deg)}50%{opacity:1;-moz-transform:rotateY(-5deg)}80%{-moz-transform:rotateY(20deg)}100%{-moz-transform:rotateY(0deg)}}@-ms-keyframes flipLeftBounce{0%{opacity:0;-ms-transform:rotateY(70deg)}50%{opacity:1;-ms-transform:rotateY(-5deg)}80%{-ms-transform:rotateY(20deg)}100%{-ms-transform:rotateY(0deg)}}@-o-keyframes flipLeftBounce{0%{opacity:0;-o-transform:rotateY(70deg)}50%{opacity:1;-o-transform:rotateY(-5deg)}80%{-o-transform:rotateY(20deg)}100%{-o-transform:rotateY(0deg)}}@-moz-keyframes flipLeftBounce{0%{opacity:0;transform:rotateY(70deg)}50%{opacity:1;transform:rotateY(-5deg)}80%{transform:rotateY(20deg)}100%{transform:rotateY(0deg)}}@-webkit-keyframes flipLeftBounce{0%{opacity:0;transform:rotateY(70deg)}50%{opacity:1;transform:rotateY(-5deg)}80%{transform:rotateY(20deg)}100%{transform:rotateY(0deg)}}@-o-keyframes flipLeftBounce{0%{opacity:0;transform:rotateY(70deg)}50%{opacity:1;transform:rotateY(-5deg)}80%{transform:rotateY(20deg)}100%{transform:rotateY(0deg)}}@keyframes flipLeftBounce{0%{opacity:0;transform:rotateY(70deg)}50%{opacity:1;transform:rotateY(-5deg)}80%{transform:rotateY(20deg)}100%{transform:rotateY(0deg)}}.flip-right-bounce{-webkit-animation:flipRightBounce 1s ease-in-out;-moz-animation:flipRightBounce 1s ease-in-out;-ms-animation:flipRightBounce 1s ease-in-out;-o-animation:flipRightBounce 1s ease-in-out;animation:flipRightBounce 1s ease-in-out;opacity:1!important;visibility:visible!important}@-webkit-keyframes flipRightBounce{0%{opacity:0;-webkit-transform:rotateY(-70deg)}50%{opacity:1;-webkit-transform:rotateY(5deg)}80%{-webkit-transform:rotateY(-20deg)}100%{-webkit-transform:rotateY(0deg)}}@-moz-keyframes flipRightBounce{0%{opacity:0;-moz-transform:rotateY(-70deg)}50%{opacity:1;-moz-transform:rotateY(5deg)}80%{-moz-transform:rotateY(-20deg)}100%{-moz-transform:rotateY(0deg)}}@-ms-keyframes flipRightBounce{0%{opacity:0;-ms-transform:rotateY(-70deg)}50%{opacity:1;-ms-transform:rotateY(5deg)}80%{-ms-transform:rotateY(-20deg)}100%{-ms-transform:rotateY(0deg)}}@-o-keyframes flipRightBounce{0%{opacity:0;-o-transform:rotateY(-70deg)}50%{opacity:1;-o-transform:rotateY(5deg)}80%{-o-transform:rotateY(-20deg)}100%{-o-transform:rotateY(0deg)}}@-moz-keyframes flipRightBounce{0%{opacity:0;transform:rotateY(-70deg)}50%{opacity:1;transform:rotateY(5deg)}80%{transform:rotateY(-20deg)}100%{transform:rotateY(0deg)}}@-webkit-keyframes flipRightBounce{0%{opacity:0;transform:rotateY(-70deg)}50%{opacity:1;transform:rotateY(5deg)}80%{transform:rotateY(-20deg)}100%{transform:rotateY(0deg)}}@-o-keyframes flipRightBounce{0%{opacity:0;transform:rotateY(-70deg)}50%{opacity:1;transform:rotateY(5deg)}80%{transform:rotateY(-20deg)}100%{transform:rotateY(0deg)}}@keyframes flipRightBounce{0%{opacity:0;transform:rotateY(-70deg)}50%{opacity:1;transform:rotateY(5deg)}80%{transform:rotateY(-20deg)}100%{transform:rotateY(0deg)}}.rotate-flip{-webkit-animation:rotateFlip 1 1s linear;-moz-animation:rotateFlip 1 1s linear;-ms-animation:rotateFlip 1 1s linear;-o-animation:rotateFlip 1 1s linear;animation:rotateFlip 1 1s linear;opacity:1!important;visibility:visible!important}@-webkit-keyframes rotateFlip{0%{-webkit-transform-origin:50%}40%{-webkit-transform:rotateY(70deg);opacity:0}60%{-webkit-transform:rotateY(70deg);opacity:0}100%{-webkit-transform:rotateY(0deg);opacity:1}}@-moz-keyframes rotateFlip{0%{-moz-transform-origin:50%}40%{-moz-transform:rotateY(70deg);opacity:0}60%{-moz-transform:rotateY(70deg);opacity:0}100%{-moz-transform:rotateY(0deg);opacity:1}}@-ms-keyframes rotateFlip{0%{-ms-transform-origin:50%}40%{-ms-transform:rotateY(70deg);opacity:0}60%{-ms-transform:rotateY(70deg);opacity:0}100%{-ms-transform:rotateY(0deg);opacity:1}}@-o-keyframes rotateFlip{0%{-o-transform-origin:50%}40%{-o-transform:rotateY(70deg);opacity:0}60%{-o-transform:rotateY(70deg);opacity:0}100%{-o-transform:rotateY(0deg);opacity:1}}@-moz-keyframes rotateFlip{0%{transform-origin:50%}40%{transform:rotateY(70deg);opacity:0}60%{transform:rotateY(70deg);opacity:0}100%{transform:rotateY(0deg);opacity:1}}@-webkit-keyframes rotateFlip{0%{transform-origin:50%}40%{transform:rotateY(70deg);opacity:0}60%{transform:rotateY(70deg);opacity:0}100%{transform:rotateY(0deg);opacity:1}}@-o-keyframes rotateFlip{0%{transform-origin:50%}40%{transform:rotateY(70deg);opacity:0}60%{transform:rotateY(70deg);opacity:0}100%{transform:rotateY(0deg);opacity:1}}@keyframes rotateFlip{0%{transform-origin:50%}40%{transform:rotateY(70deg);opacity:0}60%{transform:rotateY(70deg);opacity:0}100%{transform:rotateY(0deg);opacity:1}}.flip-left{-webkit-animation:flipLeft 1 1s ease-out;-moz-animation:flipLeft 1 1s ease-out;-ms-animation:flipLeft 1 1s ease-out;-o-animation:flipLeft 1 1s ease-out;animation:flipLeft 1 1s ease-out;opacity:1!important;visibility:visible!important}@-webkit-keyframes flipLeft{0%{-webkit-transform:translateX(-100px);opacity:0}70%{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes flipLeft{0%{-moz-transform:translateX(-100px);opacity:0}70%{-moz-transform:translateX(0);opacity:1}}@-ms-keyframes flipLeft{0%{-ms-transform:translateX(-100px);opacity:0}70%{-ms-transform:translateX(0);opacity:1}}@-o-keyframes flipLeft{0%{-o-transform:translateX(-100px);opacity:0}70%{-o-transform:translateX(0);opacity:1}}@-moz-keyframes flipLeft{0%{transform:translateX(-100px);opacity:0}70%{transform:translateX(0);opacity:1}}@-webkit-keyframes flipLeft{0%{transform:translateX(-100px);opacity:0}70%{transform:translateX(0);opacity:1}}@-o-keyframes flipLeft{0%{transform:translateX(-100px);opacity:0}70%{transform:translateX(0);opacity:1}}@keyframes flipLeft{0%{transform:translateX(-100px);opacity:0}70%{transform:translateX(0);opacity:1}}.flip-right{-webkit-animation:flipRight 1 1s ease-out;-moz-animation:flipRight 1 1s ease-out;-ms-animation:flipRight 1 1s ease-out;-o-animation:flipRight 1 1s ease-out;animation:flipRight 1 1s ease-out;opacity:1!important;visibility:visible!important}@-webkit-keyframes flipRight{0%{-webkit-transform:translateX(100px);opacity:0}70%{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes flipRight{0%{-moz-transform:translateX(100px);opacity:0}70%{-moz-transform:translateX(0);opacity:1}}@-ms-keyframes flipRight{0%{-ms-transform:translateX(100px);opacity:0}70%{-ms-transform:translateX(0);opacity:1}}@-o-keyframes flipRight{0%{-o-transform:translateX(100px);opacity:0}70%{-o-transform:translateX(0);opacity:1}}@-moz-keyframes flipRight{0%{transform:translateX(100px);opacity:0}70%{transform:translateX(0);opacity:1}}@-webkit-keyframes flipRight{0%{transform:translateX(100px);opacity:0}70%{transform:translateX(0);opacity:1}}@-o-keyframes flipRight{0%{transform:translateX(100px);opacity:0}70%{transform:translateX(0);opacity:1}}@keyframes flipRight{0%{transform:translateX(100px);opacity:0}70%{transform:translateX(0);opacity:1}}.flip-top{-webkit-animation:flipTop 1 1s ease-out;-moz-animation:flipTop 1 1s ease-out;-ms-animation:flipTop 1 1s ease-out;-o-animation:flipTop 1 1s ease-out;animation:flipTop 1 1s ease-out;opacity:1!important;visibility:visible!important}@-webkit-keyframes flipTop{0%{-webkit-transform:translateY(-100px);opacity:0}70%{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes flipTop{0%{-moz-transform:translateY(-100px);opacity:0}70%{-moz-transform:translateY(0);opacity:1}}@-ms-keyframes flipTop{0%{-ms-transform:translateY(-100px);opacity:0}70%{-ms-transform:translateY(0);opacity:1}}@-o-keyframes flipTop{0%{-o-transform:translateY(-100px);opacity:0}70%{-o-transform:translateY(0);opacity:1}}@-moz-keyframes flipTop{0%{transform:translateY(-100px);opacity:0}70%{transform:translateY(0);opacity:1}}@-webkit-keyframes flipTop{0%{transform:translateY(-100px);opacity:0}70%{transform:translateY(0);opacity:1}}@-o-keyframes flipTop{0%{transform:translateY(-100px);opacity:0}70%{transform:translateY(0);opacity:1}}@keyframes flipTop{0%{transform:translateY(-100px);opacity:0}70%{transform:translateY(0);opacity:1}}.flip-bottom{-webkit-animation:flipBottom 1 1s ease-out;-moz-animation:flipBottom 1 1s ease-out;-ms-animation:flipBottom 1 1s ease-out;-o-animation:flipBottom 1 1s ease-out;animation:flipBottom 1 1s ease-out;opacity:1!important;visibility:visible!important}@-webkit-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-moz-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-ms-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-o-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-moz-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-webkit-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@-o-keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}@keyframes flipBottom{0%{transform:translateY(100px);opacity:0}70%{transform:translateY(30px);opacity:1}100%{transform:translateY(0)}}.rotate-flip-down{opacity:1!important;visibility:visible!important;-webkit-animation:rotateFlipDown 1 1s linear;-moz-animation:rotateFlipDown 1 1s linear;-ms-animation:rotateFlipDown 1 1s linear;-o-animation:rotateFlipDown 1 1s linear;animation:rotateFlipDown 1 1s linear}@-webkit-keyframes rotateFlipDown{0%{-webkit-transform-origin:50%}40%{-webkit-transform:rotateX(70deg);opacity:0}60%{-webkit-transform:rotateX(70deg);opacity:0}100%{-webkit-transform:rotateX(0deg);opacity:1}}@-moz-keyframes rotateFlipDown{0%{-moz-transform-origin:50%}40%{-moz-transform:rotateX(70deg);opacity:0}60%{-moz-transform:rotateX(70deg);opacity:0}100%{-moz-transform:rotateX(0deg);opacity:1}}@-ms-keyframes rotateFlipDown{0%{-ms-transform-origin:50%}40%{-ms-transform:rotateX(70deg);opacity:0}60%{-ms-transform:rotateX(70deg);opacity:0}100%{-ms-transform:rotateX(0deg);opacity:1}}@-o-keyframes rotateFlipDown{0%{-o-transform-origin:50%}40%{-o-transform:rotateX(70deg);opacity:0}60%{-o-transform:rotateX(70deg);opacity:0}100%{-o-transform:rotateX(0deg);opacity:1}}@-moz-keyframes rotateFlipDown{0%{transform-origin:50%}40%{transform:rotateX(70deg);opacity:0}60%{transform:rotateX(70deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@-webkit-keyframes rotateFlipDown{0%{transform-origin:50%}40%{transform:rotateX(70deg);opacity:0}60%{transform:rotateX(70deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@-o-keyframes rotateFlipDown{0%{transform-origin:50%}40%{transform:rotateX(70deg);opacity:0}60%{transform:rotateX(70deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes rotateFlipDown{0%{transform-origin:50%}40%{transform:rotateX(70deg);opacity:0}60%{transform:rotateX(70deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}.rotate-down-bounce{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;opacity:0;visibility:hidden;-webkit-animation:rotateDowBounce 1 2s ease-in;-moz-animation:rotateDowBounce 1 2s ease-in;-ms-animation:rotateDowBounce 1 2s ease-in;-o-animation:rotateDowBounce 1 2s ease-in;animation:rotateDowBounce 1 2s ease-in}@-webkit-keyframes rotateDowBounce{0%{-webkit-transform:rotate(0deg);opacity:1;visibility:visible}20%{-webkit-transform:rotate(25deg)}40%{-webkit-transform:rotate(30deg)}10%,30%,50%{-webkit-transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{-webkit-transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-moz-keyframes rotateDowBounce{0%{-moz-transform:rotate(0deg);opacity:1;visibility:visible}20%{-moz-transform:rotate(25deg)}40%{-moz-transform:rotate(30deg)}10%,30%,50%{-moz-transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{-moz-transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-ms-keyframes rotateDowBounce{0%{-ms-transform:rotate(0deg);opacity:1;visibility:visible}20%{-ms-transform:rotate(25deg)}40%{-ms-transform:rotate(30deg)}10%,30%,50%{-ms-transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{-ms-transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-o-keyframes rotateDowBounce{0%{-o-transform:rotate(0deg);opacity:1;visibility:visible}20%{-o-transform:rotate(25deg)}40%{-o-transform:rotate(30deg)}10%,30%,50%{-o-transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{-o-transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-moz-keyframes rotateDowBounce{0%{transform:rotate(0deg);opacity:1;visibility:visible}20%{transform:rotate(25deg)}40%{transform:rotate(30deg)}10%,30%,50%{transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-webkit-keyframes rotateDowBounce{0%{transform:rotate(0deg);opacity:1;visibility:visible}20%{transform:rotate(25deg)}40%{transform:rotate(30deg)}10%,30%,50%{transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@-o-keyframes rotateDowBounce{0%{transform:rotate(0deg);opacity:1;visibility:visible}20%{transform:rotate(25deg)}40%{transform:rotate(30deg)}10%,30%,50%{transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}@keyframes rotateDowBounce{0%{transform:rotate(0deg);opacity:1;visibility:visible}20%{transform:rotate(25deg)}40%{transform:rotate(30deg)}10%,30%,50%{transform:rotate(40deg);opacity:1;visibility:visible}80%,100%{transform:rotate(30deg) translateY(310px) translateX(230px);opacity:0;visibility:hidden}}.rotate-out{opacity:0;visibility:hidden;-webkit-animation:rotateOut 1 1.5s ease-out;-moz-animation:rotateOut 1 1.5s ease-out;-ms-animation:rotateOut 1 1.5s ease-out;-o-animation:rotateOut 1 1.5s ease-out;animation:rotateOut 1 1.5s ease-out}@-webkit-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{-webkit-transform:scale(0) rotateY(189deg)}}@-moz-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{-moz-transform:scale(0) rotateY(189deg)}}@-ms-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{-ms-transform:scale(0) rotateY(189deg)}}@-o-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{-o-transform:scale(0) rotateY(189deg)}}@-moz-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{transform:scale(0) rotateY(189deg)}}@-webkit-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{transform:scale(0) rotateY(189deg)}}@-o-keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{transform:scale(0) rotateY(189deg)}}@keyframes rotateOut{0%{opacity:1;visibility:visible}50%,100%{transform:scale(0) rotateY(189deg)}}.flash-bang{opacity:1;visibility:visible;-webkit-animation:flashBang 1 2s linear;-moz-animation:flashBang 1 2s linear;-ms-animation:flashBang 1 2s linear;-o-animation:flashBang 1 2s linear;animation:flashBang 1 2s linear}@-webkit-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-moz-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-ms-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-o-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-moz-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-webkit-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@-o-keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}@keyframes flashBang{0%,20%{opacity:0}10%,30%,100%{opacity:1}}.bomba{opacity:0;visibility:hidden;-webkit-animation:bomba 1 1s ease-out;-moz-animation:bomba 1 1s ease-out;-ms-animation:bomba 1 1s ease-out;-o-animation:bomba 1 1s ease-out;animation:bomba 1 1s ease-out}@-webkit-keyframes bomba{0%{-webkit-transform-origin:-50% 0;-webkit-transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{-webkit-transform:rotateZ(-210deg);-webkit-transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-moz-keyframes bomba{0%{-moz-transform-origin:-50% 0;-moz-transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{-moz-transform:rotateZ(-210deg);-moz-transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-o-keyframes bomba{0%{-o-transform-origin:-50% 0;-o-transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{-o-transform:rotateZ(-210deg);-o-transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-ms-keyframes bomba{0%{-ms-transform-origin:-50% 0;-ms-transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{-ms-transform:rotateZ(-210deg);-ms-transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-moz-keyframes bomba{0%{transform-origin:-50% 0;transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{transform:rotateZ(-210deg);transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-webkit-keyframes bomba{0%{transform-origin:-50% 0;transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{transform:rotateZ(-210deg);transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@-o-keyframes bomba{0%{transform-origin:-50% 0;transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{transform:rotateZ(-210deg);transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}@keyframes bomba{0%{transform-origin:-50% 0;transform:rotateZ(0);opacity:1;visibility:visible}50%,100%{transform:rotateZ(-210deg);transform-origin:-20% 0}47%,100%{opacity:0;visibility:hidden}}.legend-down,.legend-down:before{opacity:1!important;visibility:visible!important}.legend-down:before{background:rgba(0,0,0,0.5);-webkit-animation:legendDown 1 .5s ease-out;-moz-animation:legendDown 1 .5s ease-out;-ms-animation:legendDown 1 .5s ease-out;-o-animation:legendDown 1 .5s ease-out;animation:legendDown 1 .5s ease-out}@-webkit-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-moz-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-ms-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-o-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-moz-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-webkit-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@-o-keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}@keyframes legendDown{0%{top:0;height:0}100%{height:64%;top:9px}}.legend-up,.legend-up:before{opacity:1!important;visibility:visible!important}.legend-up:before{background:rgba(0,0,0,0.5);-webkit-animation:legendUp 1 .5s ease-out;-moz-animation:legendUp 1 .5s ease-out;-ms-animation:legendUp 1 .5s ease-out;-o-animation:legendUp 1 .5s ease-out;animation:legendUp 1 .5s ease-out}@-webkit-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-moz-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-ms-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-o-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-moz-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-webkit-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@-o-keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}@keyframes legendUp{0%{top:70%;height:0}100%{height:64%;top:9px}}.legend-left,.legend-left:before{opacity:1!important;visibility:visible!important}.legend-left:before{background:rgba(0,0,0,0.5);-webkit-animation:legendLeft 1 .5s ease-out;-moz-animation:legendLeft 1 .5s ease-out;-ms-animation:legendLeft 1 .5s ease-out;-o-animation:legendLeft 1 .5s ease-out;animation:legendLeft 1 .5s ease-out}@-webkit-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-moz-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-ms-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-o-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-moz-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-webkit-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@-o-keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}@keyframes legendLeft{0%{left:0;width:0}100%{left:9px;width:92%}}.legend-right,.legend-right:before{opacity:1!important;visibility:visible!important}.legend-right:before{background:rgba(0,0,0,0.5);-webkit-animation:legendRight 1 .5s ease-out;-moz-animation:legendRight 1 .5s ease-out;-ms-animation:legendRight 1 .5s ease-out;-o-animation:legendRight 1 .5s ease-out;animation:legendRight 1 .5s ease-out}@-webkit-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-moz-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-ms-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-o-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-moz-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-webkit-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@-o-keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}@keyframes legendRight{0%{left:100%;width:0}100%{left:9px;width:92%}}.legend-flip,.legend-flip:before{opacity:1!important;visibility:visible!important;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:600;-moz-perspective:600;-ms-perspective:600;perspective:600px}.legend-flip{-webkit-animation:legendFlip 1.2s ease-out;-moz-animation:legendFlip 1.2s ease-out;-ms-animation:legendFlip 1.2s ease-out;-o-animation:legendFlip 1.2s ease-out;animation:legendFlip 1.2s ease-out;-webkit-transform:rotateY(-180deg);-moz-transform:rotateY(-180deg);-ms-transform:rotateY(-180deg);-o-transform:rotateY(-180deg);transform:rotateY(-180deg)}.legend-flip:before{-webkit-animation:legendFlipBefore 1.2s ease-out;-moz-animation:legendFlipBefore 1.2s ease-out;-ms-animation:legendFlipBefore 1.2s ease-out;-o-animation:legendFlipBefore 1.2s ease-out;animation:legendFlipBefore 1.2s ease-out;width:100%;height:100%;position:absolute;top:0;left:0;background:#00d7d7;content:\"\";z-index:1000}@-webkit-keyframes legendFlipBefore{0%{-webkit-transform:rotateY(-180deg)}60%{-webkit-transform:rotateY(30deg)}80%{-webkit-transform:rotateY(-30deg)}100%{-webkit-transform:rotateY(0)}}@-moz-keyframes legendFlipBefore{0%{-moz-transform:rotateY(-180deg)}60%{-moz-transform:rotateY(30deg)}80%{-moz-transform:rotateY(-30deg)}100%{-moz-transform:rotateY(0)}}@-ms-keyframes legendFlipBefore{0%{-ms-transform:rotateY(-180deg)}60%{-ms-transform:rotateY(30deg)}80%{-ms-transform:rotateY(-30deg)}100%{-ms-transform:rotateY(0)}}@-o-keyframes legendFlipBefore{0%{-o-transform:rotateY(-180deg)}60%{-o-transform:rotateY(30deg)}80%{-o-transform:rotateY(-30deg)}100%{-o-transform:rotateY(0)}}@-webkit-keyframes legendFlip{0%{-webkit-transform:rotateY(0)}60%{-webkit-transform:rotateY(-210deg)}100%{-webkit-transform:rotateY(-150deg);-webkit-transform:rotateY(-180deg)}}@-moz-keyframes legendFlip{0%{-moz-transform:rotateY(0)}60%{-moz-transform:rotateY(-210deg)}100%{-moz-transform:rotateY(-150deg);-moz-transform:rotateY(-180deg)}}@-ms-keyframes legendFlip{0%{-ms-transform:rotateY(0)}60%{-ms-transform:rotateY(-210deg)}100%{-ms-transform:rotateY(-150deg);-ms-transform:rotateY(-180deg)}}@-o-keyframes legendFlip{0%{-o-transform:rotateY(0)}60%{-o-transform:rotateY(-210deg)}100%{-o-transform:rotateY(-150deg);-o-transform:rotateY(-180deg)}}@-moz-keyframes legendFlipBefore{0%{transform:rotateY(-180deg)}60%{transform:rotateY(30deg)}80%{transform:rotateY(-30deg)}100%{transform:rotateY(0)}}@-webkit-keyframes legendFlipBefore{0%{transform:rotateY(-180deg)}60%{transform:rotateY(30deg)}80%{transform:rotateY(-30deg)}100%{transform:rotateY(0)}}@-o-keyframes legendFlipBefore{0%{transform:rotateY(-180deg)}60%{transform:rotateY(30deg)}80%{transform:rotateY(-30deg)}100%{transform:rotateY(0)}}@keyframes legendFlipBefore{0%{transform:rotateY(-180deg)}60%{transform:rotateY(30deg)}80%{transform:rotateY(-30deg)}100%{transform:rotateY(0)}}@-moz-keyframes legendFlip{0%{transform:rotateY(0)}60%{transform:rotateY(-210deg)}100%{transform:rotateY(-150deg);transform:rotateY(-180deg)}}@-webkit-keyframes legendFlip{0%{transform:rotateY(0)}60%{transform:rotateY(-210deg)}100%{transform:rotateY(-150deg);transform:rotateY(-180deg)}}@-o-keyframes legendFlip{0%{transform:rotateY(0)}60%{transform:rotateY(-210deg)}100%{transform:rotateY(-150deg);transform:rotateY(-180deg)}}@keyframes legendFlip{0%{transform:rotateY(0)}60%{transform:rotateY(-210deg)}100%{transform:rotateY(-150deg);transform:rotateY(-180deg)}}.portrait-before,.portrait-before:before{opacity:1!important;visibility:visible!important}.portrait-before:before{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);-webkit-animation:portraitBefore 1 .3s ease-out;-moz-animation:portraitBefore 1 .3s ease-out;-ms-animation:portraitBefore 1 .3s ease-out;-o-animation:portraitBefore 1 .3s ease-out;animation:portraitBefore 1 .3s ease-out}@-webkit-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-moz-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-ms-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-o-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-moz-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-webkit-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-o-keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@keyframes portraitBefore{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 0 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}.portrait-blur,.portrait-blur:before{opacity:1!important;visibility:visible!important}.portrait-blur:before{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);-webkit-animation:portraitBlur 1 .6s ease-out;-moz-animation:portraitBlur 1 .6s ease-out;-ms-animation:portraitBlur 1 .6s ease-out;-o-animation:portraitBlur 1 .6s ease-out;animation:portraitBlur 1 .6s ease-out}@-webkit-keyframes portraitBlur{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-moz-keyframes portraitBlur{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-ms-keyframes portraitBlur{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}@-o-keyframes portraitBlur{0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}100%{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}}keyframes portraitBlur 0%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0.5);width:100%;height:74%;top:0;left:0}keyframes portraitBlur 100%{box-shadow:inset 0 0 100px 100px rgba(0,0,0,0.5);width:92%;height:64%;top:9px;left:9px}.scale-before,.scale-before:before{opacity:1!important;visibility:visible!important}.scale-before:before{background:rgba(0,0,0,0.5);-webkit-animation:scaleBefore 1 .5s ease-out;-moz-animation:scaleBefore 1 .5s ease-out;-ms-animation:scaleBefore 1 .5s ease-out;-o-animation:scaleBefore 1 .5s ease-out;animation:scaleBefore 1 .5s ease-out}@-webkit-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-moz-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-ms-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-o-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-moz-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-webkit-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-o-keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@keyframes scaleBefore{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}.rotate-row{opacity:1!important;-webkit-animation:rotateRow infinite alternate 3s linear;-moz-animation:rotateRow infinite alternate 3s linear;-ms-animation:rotateRow infinite alternate 3s linear;-o-animation:rotateRow infinite alternate 3s linear;animation:rotateRow infinite alternate 3s linear}@-webkit-keyframes rotateRow{0%,10%{-webkit-transform:translateY(0)}5%{-webkit-transform:translateY(-20px)}100%{-webkit-transform:rotate(20000deg) translateY(0px)}}@-moz-keyframes rotateRow{0%,10%{-moz-transform:translateY(0)}5%{-moz-transform:translateY(-20px)}100%{-moz-transform:rotate(20000deg) translateY(0px)}}@-ms-keyframes rotateRow{0%,10%{-ms-transform:translateY(0)}5%{-ms-transform:translateY(-20px)}100%{-ms-transform:rotate(20000deg) translateY(0px)}}@-o-keyframes rotateRow{0%,10%{-ms-transform:translateY(0)}5%{-ms-transform:translateY(-20px)}100%{-o-transform:rotate(20000deg) translateY(0px)}}5%{transform:translateY(-20px)}100%{transform:rotate(20000deg) translateY(0px)}.all-animation label{display:block}.all-animation ul{width:100%}.all-animation ul,.all-animation li{list-style:none}.all-animation input[type=\"checkbox\"],.all-animation input[type=\"radio\"]{display:none}.all-animation.check-in label:after,.all-animation.box-check label:after{content:\"\";-webkit-transform:rotateZ(-36deg) translateY(-10px) translateX(24px);-moz-transform:rotateZ(-36deg) translateY(-10px) translateX(24px);-ms-transform:rotateZ(-36deg) translateY(-10px) translateX(24px);-o-transform:rotateZ(-36deg) translateY(-10px) translateX(24px);transform:rotateZ(-36deg) translateY(-10px) translateX(24px);display:block}.all-animation.check-in label:before,.all-animation.box-check label:before,.all-animation.check-in label:after,.all-animation.box-check label:after{width:3px;height:100%;background:#d21414;-webkit-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-moz-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-ms-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-o-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s}.all-animation.check-in label:before,.all-animation.box-check label:before{-webkit-transform:rotateZ(38deg) translateY(-7px) translateX(11px);-moz-transform:rotateZ(38deg) translateY(-7px) translateX(11px);-ms-transform:rotateZ(38deg) translateY(-7px) translateX(11px);-o-transform:rotateZ(38deg) translateY(-7px) translateX(11px);transform:rotateZ(38deg) translateY(-7px) translateX(11px)}.all-animation.check-in input:checked ~ label:before,.all-animation.box-check input:checked ~ label:before,.all-animation.check-in input:checked ~ label:after,.all-animation.box-check input:checked ~ label:after{background:#46d946}.all-animation.check-in input:checked ~ label:before,.all-animation.box-check input:checked ~ label:before{height:100%;-webkit-transform:rotateZ(38deg) translateY(-17px) translateX(14px);-moz-transform:rotateZ(38deg) translateY(-17px) translateX(14px);-ms-transform:rotateZ(38deg) translateY(-17px) translateX(14px);-o-transform:rotateZ(38deg) translateY(-17px) translateX(14px);transform:rotateZ(38deg) translateY(-17px) translateX(14px)}.all-animation.check-in input:checked ~ label:after,.all-animation.box-check input:checked ~ label:after{height:61%;-webkit-transform:rotateZ(-36deg) translateY(-10px) translateX(21px);-moz-transform:rotateZ(-36deg) translateY(-10px) translateX(21px);-ms-transform:rotateZ(-36deg) translateY(-10px) translateX(21px);-o-transform:rotateZ(-36deg) translateY(-10px) translateX(21px);transform:rotateZ(-36deg) translateY(-10px) translateX(21px)}.all-animation.box-check label:before,.all-animation.box-check label:after{height:72%}.all-animation.box-check label:before{-webkit-transform:rotateZ(31deg) translateY(-3px) translateX(11px);-moz-transform:rotateZ(31deg) translateY(-3px) translateX(11px);-ms-transform:rotateZ(31deg) translateY(-3px) translateX(11px);-o-transform:rotateZ(31deg) translateY(-3px) translateX(11px);transform:rotateZ(31deg) translateY(-3px) translateX(11px)}.all-animation.box-check label:after{-webkit-transform:rotateZ(-30deg) translateY(-7px) translateX(16px);-moz-transform:rotateZ(-30deg) translateY(-7px) translateX(16px);-ms-transform:rotateZ(-30deg) translateY(-7px) translateX(16px);-o-transform:rotateZ(-30deg) translateY(-7px) translateX(16px);transform:rotateZ(-30deg) translateY(-7px) translateX(16px)}.all-animation.check-in label,.all-animation.box-check label{height:28px;max-width:28px}.all-animation.check-in label,.all-animation.box-check label,.all-animation.puft-in label,.all-animation.puft-out label,.all-animation.puft-left label,.all-animation.puft-right label,.all-animation.puft-top label,.all-animation.puft-bottom label{position:relative;cursor:pointer;width:100%;padding:2px}.all-animation.check-in label:before,.all-animation.box-check label:before,.all-animation.puft-in label:before,.all-animation.puft-out label:before,.all-animation.puft-left label:before,.all-animation.puft-right label:before,.all-animation.puft-top label:before,.all-animation.puft-bottom label:before{content:\"\";display:block;border-radius:3px}.all-animation.puft-in label,.all-animation.puft-out label,.all-animation.puft-left label,.all-animation.puft-right label,.all-animation.puft-top label,.all-animation.puft-bottom label{max-width:28px;height:28px}.all-animation.puft-in label,.all-animation.puft-out label,.all-animation.puft-left label,.all-animation.puft-right label,.all-animation.puft-top label,.all-animation.puft-bottom label,.all-animation.box-check label{background:#fcfff4;background:-webkit-linear-gradient(top,#fff 0%,#dfe5d7 40%,#fff 100%);background:-moz-linear-gradient(top,#fff 0%,#dfe5d7 40%,#fff 100%);background:-ms-linear-gradient(top,#fff 0%,#dfe5d7 40%,#fff 100%);background:-o-linear-gradient(top,#fff 0%,#dfe5d7 40%,#fff 100%);background:linear-gradient(top,#fff 0%,#dfe5d7 40%,#fff 100%);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,0.5)}.all-animation.puft-left.inverted label:before,.all-animation.puft-right.inverted label:before,.all-animation.puft-top.inverted label:before,.all-animation.puft-bottom.inverted label:before{background:#1d9b72}.all-animation.puft-left.danger label:before,.all-animation.puft-right.danger label:before,.all-animation.puft-top.danger label:before,.all-animation.puft-bottom.danger label:before{background:#d21414}.all-animation.puft-left.info label:before,.all-animation.puft-right.info label:before,.all-animation.puft-top.info label:before,.all-animation.puft-bottom.info label:before{background:#f90}.all-animation.puft-left label,.all-animation.puft-right label,.all-animation.puft-top label,.all-animation.puft-bottom label{overflow:hidden}.all-animation.puft-left label:before,.all-animation.puft-right label:before,.all-animation.puft-top label:before,.all-animation.puft-bottom label:before{background:#46d946;-webkit-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-moz-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-ms-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;-o-transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s;transition:cubic-bezier(0.55,0.085,0.68,0.53) all .2s}.all-animation.puft-left input:checked ~ label:before,.all-animation.puft-right input:checked ~ label:before,.all-animation.puft-top input:checked ~ label:before,.all-animation.puft-bottom input:checked ~ label:before{height:100%;width:100%}.all-animation.puft-top label:before,.all-animation.puft-bottom label:before{height:0;width:100%}.all-animation.puft-bottom label:before{-webkit-transform:translateY(28px);-moz-transform:translateY(28px);-ms-transform:translateY(28px);-o-transform:translateY(28px);transform:translateY(28px)}.all-animation.puft-bottom input:checked ~ label:before{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.all-animation.puft-left label:before,.all-animation.puft-right label:before{width:0;height:100%}.all-animation.puft-left input:checked ~ label:before,.all-animation.puft-right input:checked ~ label:before{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.all-animation.puft-right label:before{-webkit-transform:translateX(28px);-moz-transform:translateX(28px);-ms-transform:translateX(28px);-o-transform:translateX(28px);transform:translateX(28px)}.all-animation.puft-in.inverted label:before,.all-animation.puft-out.inverted label:before{box-shadow:inset 0 0 0 0 #1d9b72}.all-animation.puft-in.inverted input:checked ~ label:before,.all-animation.puft-out.inverted input:checked ~ label:before{box-shadow:inset 0 0 67px 4px #1d9b72}.all-animation.puft-in.danger label:before,.all-animation.puft-out.danger label:before{box-shadow:inset 0 0 0 0 #d21414}.all-animation.puft-in.danger input:checked ~ label:before,.all-animation.puft-out.danger input:checked ~ label:before{box-shadow:inset 0 0 67px 4px #d21414}.all-animation.puft-in.info label:before,.all-animation.puft-out.info label:before{box-shadow:inset 0 0 0 0 #f90}.all-animation.puft-in.info input:checked ~ label:before,.all-animation.puft-out.info input:checked ~ label:before{box-shadow:inset 0 0 67px 4px #f90}.all-animation.puft-in label:before,.all-animation.puft-out label:before{width:100%;height:100%;box-shadow:inset 0 0 0 0 #46d946;-webkit-transition:all ease-out .2s;-moz-transition:all ease-out .2s;-ms-transition:all ease-out .2s;-o-transition:all ease-out .2s;transition:all ease-out .2s}.all-animation.puft-in input:checked ~ label:before,.all-animation.puft-out input:checked ~ label:before{box-shadow:inset 0 0 67px 4px #46d946;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:all ease-out .2s;-moz-transition:all ease-out .2s;-ms-transition:all ease-out .2s;-o-transition:all ease-out .2s;transition:all ease-out .2s}.all-animation.puft-in label:before{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.all-animation.puft-out label:before{-webkit-transform:scale(0.2);-moz-transform:scale(0.2);-ms-transform:scale(0.2);-o-transform:scale(0.2);transform:scale(0.2)}.all-animation.triggerOnOf label,.all-animation.trigger label{-webkit-transition:all ease-out .1s;-moz-transition:all ease-out .1s;-ms-transition:all ease-out .1s;-o-transition:all ease-out .1s;transition:all ease-out .1s;padding-top:3px;display:block;padding-left:60px;position:relative}.all-animation.triggerOnOf label:after,.all-animation.trigger label:after{width:20px;height:20px;border-radius:100%;background:#fff;border:solid 1px #e1e0e0;cursor:pointer;position:absolute;top:2px;left:-2px}.all-animation.triggerOnOf label:before,.all-animation.trigger label:before,.all-animation.triggerOnOf label:after,.all-animation.trigger label:after{-webkit-transition:all linear .2s;-moz-transition:all linear .2s;-ms-transition:all linear .2s;-o-transition:all linear .2s;transition:all linear .2s;content:\"\";display:block}.all-animation.triggerOnOf label:hover:before,.all-animation.trigger label:hover:before{background:#d4d4d4}.all-animation.triggerOnOf label:before,.all-animation.trigger label:before{width:50px}.all-animation.triggerOnOf input:checked ~ label:after,.all-animation.trigger input:checked ~ label:after{-webkit-transform:translateX(32px);-moz-transform:translateX(32px);-ms-transform:translateX(32px);-o-transform:translateX(32px);transform:translateX(32px)}.all-animation.triggerOnOf input:checked ~ label:before,.all-animation.trigger input:checked ~ label:before{background:#46d946}.all-animation.triggerOnOf label:before{height:19px;position:absolute;left:0;top:3px;border:solid 1px #f0f0f0;border-radius:10px;background:#f0f0f0;cursor:pointer}.all-animation.triggerOnOf input:checked ~ label{color:#46d946}.all-animation.triggerOnOf.inverted input:checked ~ label{color:#1d9b72}.all-animation.triggerOnOf.inverted input:checked ~ label:before{background:#1d9b72}.all-animation.triggerOnOf.danger input:checked ~ label{color:#d21414}.all-animation.triggerOnOf.danger input:checked ~ label:before{background:#d21414}.all-animation.triggerOnOf.info input:checked ~ label{color:#f90}.all-animation.triggerOnOf.info input:checked ~ label:before{background:#f90}.all-animation.trigger label:before{border-top:solid 2px #ccc;position:absolute;left:0;top:12px}.all-animation.tab-panel ul,.all-animation.tab-slide-panel ul{position:relative;margin-bottom:20px;border-bottom:solid 1px #ccc}.all-animation.tab-panel ul:after,.all-animation.tab-slide-panel ul:after{clear:both;content:\"\";display:block}.all-animation.tab-panel li,.all-animation.tab-slide-panel li{float:left}.all-animation.tab-panel label,.all-animation.tab-slide-panel label{padding:10px 20px;border:solid 1px transparent;margin-bottom:-1px;border-top-left-radius:5px;background:transparent;border-top-right-radius:5px;cursor:pointer;font-size:14px}.all-animation.tab-panel div,.all-animation.tab-slide-panel div{opacity:0;visibility:hidden;position:absolute;border-radius:5px;left:0;width:100%;background:#e7e6e6 none repeat scroll 0 0;margin-top:0;padding:14px;border:1px solid #ccc;font-size:14px}.all-animation.tab-panel li:first-child div,.all-animation.tab-slide-panel li:first-child div{border-top-left-radius:0}.all-animation.tab-panel input:checked ~ label,.all-animation.tab-slide-panel input:checked ~ label{border:solid 1px #ccc;border-bottom:none;background:#e7e6e6 none repeat scroll 0 0;z-index:222;position:relative}.all-animation.tab-panel input:checked ~ label,.all-animation.tab-slide-panel input:checked ~ label,.all-animation.tab-panel div,.all-animation.tab-slide-panel div{color:#a4a4a4!important}.all-animation.tab-panel input:checked ~ div,.all-animation.tab-slide-panel input:checked ~ div{opacity:1;visibility:visible}.all-animation.tab-panel div{-webkit-transition:all ease-out .3s;-moz-transition:all ease-out .3s;-ms-transition:all ease-out .3s;-o-transition:all ease-out .3s;transition:all ease-out .3s}.all-animation.tab-panel input:checked ~ div{-webkit-transition-duration:.6s;-moz-transition-duration:.6s;-ms-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s;-webkit-transition-delay:.4s;-moz-transition-delay:.4s;-ms-transition-delay:.4s;-o-transition-delay:.4s;transition-delay:.4s}.all-animation.tab-slide-panel div{height:0;padding:0 10px;overflow:hidden;-webkit-transition:padding ease-out .3s;-moz-transition:padding ease-out .3s;-ms-transition:padding ease-out .3s;-o-transition:padding ease-out .3s;transition:padding ease-out .3s}.all-animation.tab-slide-panel input:checked ~ div{opacity:1;padding:15px 10px;height:inherit}.all-animation.menu-box{box-shadow:0 0 0 1px rgba(39,41,43,0.15),0 1px 2px 0 rgba(0,0,0,0.05)}.all-animation.menu-box li{position:relative}.all-animation.menu-box label{color:#9b9b9b!important;cursor:pointer;margin:0;font-weight:400;background:#fff;border-bottom:solid 1px rgba(39,41,43,0.15);-webkit-transition:all ease-out .2s;-moz-transition:all ease-out .2s;-ms-transition:all ease-out .2s;-o-transition:all ease-out .2s;transition:all ease-out .2s;padding:5px 15px;font-size:15px}.all-animation.menu-box label:before{content:attr(data-count);position:absolute;padding:4px 6px 7px;font-size:14px;line-height:10px;margin:3px;right:10px;top:2px;color:#fff;background:#ccc}.all-animation.menu-box label:after{width:2px;content:\"\";position:absolute;height:100%;left:0;top:0}.all-animation.menu-box label.update:before{background:#1d9b72}.all-animation.menu-box label.info:before{background:#f90}.all-animation.menu-box label.danger:before{background:#d21414}.all-animation.menu-box label._search:before{background:transparent;content:''}.all-animation.menu-box label:hover{background:#f3f3f3}.all-animation.menu-box i{float:right;color:#ccc!important}.all-animation.menu-box label:after,.all-animation.menu-box i{-webkit-transition:all ease-out .2s;-moz-transition:all ease-out .2s;-ms-transition:all ease-out .2s;-o-transition:all ease-out .2s;transition:all ease-out .2s}.all-animation.menu-box li:last-child label{border-bottom:none}.all-animation.menu-box input:checked ~ label:after{background:#333}.all-animation.menu-box input.info:checked ~ label:after{background:#f90}.all-animation.menu-box input.danger:checked ~ label:after{background:#d21414}.all-animation.menu-box input:checked ~ label.update{color:#1d9b72}.all-animation.menu-box input:checked ~ label.update:after{background:#1d9b72}.all-animation.menu-box input:checked ~ label{background:#f3f3f3}.all-animation.menu-box input:checked ~ label i{color:#333}.all-animation.menu-list label{padding:5px 0;box-shadow:inset -2px 0 0 #f4f4f4;cursor:pointer;margin:0}.all-animation.menu-list input:checked ~ label{box-shadow:inset -2px 0 0 #1d9b72}.all-animation.menu-list input.danger:checked ~ label{box-shadow:inset -2px 0 0 #d21414}.all-animation.menu-list input.on:checked ~ label{box-shadow:inset -2px 0 0 #46d946}.all-animation.menu-list input.info:checked ~ label{box-shadow:inset -2px 0 0 #f90}.all-animation.acordeon label,.all-animation.double-acordeon label{position:relative;border-radius:5px;box-shadow:0 0 0 1px #fff,0 1px 2px 0 #fff;padding:10px 15px;margin-top:5px;cursor:pointer}.all-animation.acordeon label:first-child,.all-animation.double-acordeon label:first-child{margin-top:0}.all-animation.acordeon label:hover,.all-animation.double-acordeon label:hover{color:#9b9b9b!important;font-weight:400;background:#f3f3f3}.all-animation.acordeon label:before,.all-animation.double-acordeon label:before{content:\"\";width:0;height:0;border:solid 7px transparent;border-top-color:#fff;position:absolute;right:11px;top:17px}.all-animation.acordeon label,.all-animation.double-acordeon label,.all-animation.acordeon label:before,.all-animation.double-acordeon label:before,.all-animation.acordeon div,.all-animation.double-acordeon div{-webkit-transition:all ease-out .3s;-moz-transition:all ease-out .3s;-ms-transition:all ease-out .3s;-o-transition:all ease-out .3s;transition:all ease-out .3s}.all-animation.acordeon div,.all-animation.double-acordeon div{opacity:0;overflow:hidden;padding:0;height:0}.all-animation.acordeon div,.all-animation.double-acordeon div,.all-animation.acordeon div *,.all-animation.double-acordeon div *{color:#9b9b9b!important;font-weight:400}.all-animation.acordeon input:checked ~ label,.all-animation.double-acordeon input:checked ~ label{background:#f3f3f3;color:#9b9b9b!important;font-weight:400}.all-animation.acordeon input:checked ~ label:before,.all-animation.double-acordeon input:checked ~ label:before{border-top-color:#9b9b9b;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;-o-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotateZ(180deg) translateY(8px);-moz-transform:rotateZ(180deg) translateY(8px);-ms-transform:rotateZ(180deg) translateY(8px);-o-transform:rotateZ(180deg) translateY(8px);transform:rotateZ(180deg) translateY(8px)}.all-animation.acordeon input:checked ~ label div,.all-animation.double-acordeon input:checked ~ label div{height:auto;opacity:1;padding:20px 0}";
            elStyle = document.createElement("style");
            elStyle.innerHTML = cssAnimation;
            document.body.appendChild(elStyle);
            cssLoadStatus = true;
        }
    }
    
    function removerCSS(){
        if(elStyle !== null){
            document.body.removeChild(elStyle);
            elStyle = null;
            cssLoadStatus = false;
        }
    }
    
    this.Especials = {
        Dance: function (elemento){
            carregarCSS();
            elemento.className = "dance";
        },
        Journal: function (elemento){
            carregarCSS();
            elemento.className = "journal";
        },
        Pulse: function (elemento){
            carregarCSS();
            elemento.className = "pulse";
        },
        PulseSlow: function (elemento){
            carregarCSS();
            elemento.className = "pulse-slow";
        },
        FourRock: function (elemento){
            carregarCSS();
            elemento.className = "four-rock";
        }
    };
    
    this.Bounce = {
        EnterUpBounce: function (elemento){
            carregarCSS();
            elemento.className = "enter-up-bounce";
        },
        EnterDownBounce: function (elemento){
            carregarCSS();
            elemento.className = "enter-down-bounce";
        },
        EnterRightBounce: function (elemento){
            carregarCSS();
            elemento.className = "enter-right-bounce";
        },
        EnterLeftBounce: function (elemento){
            carregarCSS();
            elemento.className = "enter-left-bounce";
        },
        ScaleBounce: function (elemento){
            carregarCSS();
            elemento.className = "scale-bounce";
        },
        JumpBounce: function (elemento){
            carregarCSS();
            elemento.className = "jump-bounce";
        }
    };
    
    this.Perspective = {
        TreeFlipRight: function (elemento){
            carregarCSS();
            elemento.className = "tree-flip-right";
        },
        TreeFlip: function (elemento){
            carregarCSS();
            elemento.className = "tree-flip";
        },
        TreeFlipUp: function (elemento){
            carregarCSS();
            elemento.className = "tree-flip-up";
        },
        TreeFlipDown: function (elemento){
            carregarCSS();
            elemento.className = "tree-flip-down";
        },
        FlipLeftBounce: function (elemento){
            carregarCSS();
            elemento.className = "flip-left-bounce";
        },
        RotateFlip: function (elemento){
            carregarCSS();
            elemento.className = "rotate-flip";
        },
        FlipRightBounce: function (elemento){
            carregarCSS();
            elemento.className = "flip-right-bounce";
        }
    };
    
    this.FadingEntrances = {
        FlipTop: function (elemento){
            carregarCSS();
            elemento.className = "flip-top";
        },
        FlipLeft: function (elemento){
            carregarCSS();
            elemento.className = "flip-left";
        },
        FlipRight: function (elemento){
            carregarCSS();
            elemento.className = "flip-right";
        },
        FlipBottom: function (elemento){
            carregarCSS();
            elemento.className = "flip-bottom";
        }
    };
    
    this.Rotate = {
        RotateRow: function (elemento){
            carregarCSS();
            elemento.className = "rotate-row";
        },
        RotateFlipDown: function (elemento){
            carregarCSS();
            elemento.className = "rotate-flip-down";
        },
        RotateDownBounce: function (elemento){
            carregarCSS();
            elemento.className = "rotate-down-bounce";
        },
        RotateOut: function (elemento){
            carregarCSS();
            elemento.className = "rotate-out";
        }
    };
    
    this.Agreccives = {
        FlashBang: function (elemento){
            carregarCSS();
            elemento.className = "flash-bang";
        },
        Bomba: function (elemento){
            carregarCSS();
            elemento.className = "bomba";
        }
    };
    
    this.Legend = {
        LegendDown: function (elemento){
            carregarCSS();
            elemento.className = "legend-down";
        },
        LegendUp: function (elemento){
            carregarCSS();
            elemento.className = "legend-up";
        },
        LegendLeft: function (elemento){
            carregarCSS();
            elemento.className = "legend-left";
        },
        LegendRight: function (elemento){
            carregarCSS();
            elemento.className = "legend-right";
        },
        LegendFlip: function (elemento){
            carregarCSS();
            elemento.className = "legend-flip";
        }
    };
    
    this.Portrait = {
        PortraitBefore: function (elemento){
            carregarCSS();
            elemento.className = "portrait-before";
        },
        PortraitBlur: function (elemento){
            carregarCSS();
            elemento.className = "portrait-blur";
        },
        ScaleBefore: function (elemento){
            carregarCSS();
            elemento.className = "scale-before";
        }
    };
    
    //limpa o cache e as tags html criadas na execução de efeitos graficos
    this.remover = function (){
        removerCSS();
    };
}

/* =============================================================================
 * Evento onload
 * =============================================================================
 * inicia a execução do jogo assim que a página terminar de carregar
 * ===========================================================================*/
window.onload = function () {

    //criar um novo jogo
    var jogo = new Jogo();

    //criar a interface de carregamento
    var carregando = new Carregando(jogo);
    
    //renderiza a interface de carregamento
    carregando.renderizar();

    //define a interface a ser renderizada
    jogo.setInterface(carregando);
    
};

/* =============================================================================
 * Jogo
 * =============================================================================
 * Classe pai, guarda todos os dados do jogo.
 * ===========================================================================*/
function Jogo() {
    
    //define um fundo preto 
    document.body.style.backgroundColor="#000000";
    
    //representa a função Arquivos() contendo os vetores de imagens e sons
    this.arquivos = null;
    
    //verifica se existe a classe de arquivos no jogo se existir cria um objeto
    if (typeof Arquivos === 'function') {
        this.arquivos = new Arquivos();
    }

    /* Conteúdo carregado pela engine
     * no dispositivo do cliente
     * ================================ */
    //armazena todas as imagens do jogo
    this.imagens = new Array();
    //armazena todos os sons do jogo
    this.sons = new Array();
    /* ================================ */

    //armazena a interface atual em execução no jogo
    var interfaceAtual = null;
    //seta uma interface
    this.setInterface = function (interface){
        //faz com que a interface atual seja renderizada no envento onload
        window.onresize = interface.renderizar;
        interfaceAtual = interface;
    };
    //obtem uma interface
    this.getInterface = function (){
        return interfaceAtual;
    };
    //renderiza a interface que esta no contexto do jogo
    this.renderizarInterface = function (){
        interfaceAtual.renderizar();
    };
    //destroi a interface no contexto de jogo
    this.destruirInterface = function (){
        interfaceAtual.destruir();
    };

    //armazena dados do jogo
    //exemplo : placar => jogo.conteudo["placar"] = 222;
    this.conteudo = new Array();

}

/* =============================================================================
 * Carregando
 * =============================================================================
 * Realiza o preload de arquivos e também exibe o processo ao usuário
 * quando o processo de carregamento terminar, é disparada a execução da
 * interface principal
 * ===========================================================================*/
function Carregando(jogo) {
    
    //habilitar a inicialização do jogo
    var InicializarGame = true;

    //processamento local
    var statusCarregamento = false;
    var progressoAtual = 0;

    //definição dos elementos da interface
    var background = new ElementosGraficos().retangulo;
    background.canvas.style.background = "#000000"; /* Old browsers */
    background.canvas.style.background = "-moz-radial-gradient(center, ellipse cover,  #000000 0%, #2989d8 0%, #000000 100%)"; /* FF3.6+ */
    background.canvas.style.background = "-webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#000000), color-stop(0%,#2989d8), color-stop(100%,#000000))"; /* Chrome,Safari4+ */
    background.canvas.style.background = "-webkit-radial-gradient(center, ellipse cover,  #000000 0%,#2989d8 0%,#000000 100%)"; /* Chrome10+,Safari5.1+ */
    background.canvas.style.background = "-o-radial-gradient(center, ellipse cover,  #000000 0%,#2989d8 0%,#000000 100%)"; /* Opera 12+ */
    background.canvas.style.background = "-ms-radial-gradient(center, ellipse cover,  #000000 0%,#2989d8 0%,#000000 100%)"; /* IE10+ */
    background.canvas.style.background = "radial-gradient(ellipse at center,  #000000 0%,#2989d8 0%,#000000 100%)"; /* W3C */
    background.canvas.style.filter = "progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000',GradientType=1 )"; /* IE6-9 fallback on horizontal gradient */

    
    var logoMBEngine = new ElementosGraficos().retangulo;
    logoMBEngine.canvas.style.background = "no-repeat center center url(data:image/png;base64, )";


    var barra = new ElementosGraficos().retangulo;
    barra.setPropriedades("#969696", "");

    var barraProgresso = new ElementosGraficos().retangulo;
    barraProgresso.setPropriedades("#ffffff", "");

    var textoCarregando = new ElementosGraficos().texto;
    textoCarregando.setPropriedades("#000000", "1em arial", "center");

    //armazena o numero de elementos ja carregados
    var numElementosCarregados = 0;

    //numero total de elementos à carregar
    var numTotalElementos = 0;

    //controla o progresso de carregamento
    function progresso() {

        //incrementa as imagens carregadas
        numElementosCarregados++;

        progressoAtual = Math.round(numElementosCarregados * 100 / numTotalElementos);

        barraProgresso.renderizar(5, 90, progressoAtual - 10, 5);
        textoCarregando.renderizar("Carregando... (" + progressoAtual + "%)", 5, 87.5, 90, 10);

        //verifica se o progresso esta em 100%
        if (numElementosCarregados === numTotalElementos) {
            if(InicializarGame === true){
                //inicia a tela principal do jogo
                var principal = new Principal(jogo);
                jogo.setInterface(principal);
                jogo.renderizarInterface();
                //remove a tela de carregando
                destruir();
            }
        }
    }

    //inicia o carregamento dos arquivos
    function iniciarCarregamento() {

        //conta elementos
        for (var i in jogo.arquivos.imagens) {
            numTotalElementos++;
        }
        for (var i in jogo.arquivos.sons) {
            numTotalElementos++;
        }

        //cria as imagens        
        for (var i in jogo.arquivos.imagens) {
            var imagem = new Image();
            imagem.onload = progresso;
            imagem.src = jogo.arquivos.imagens[i];
            jogo.imagens[i] = imagem;
        }

        //cria os sons        
        for (var i in jogo.arquivos.sons) {
            var audio = new Audio();
            audio.src = jogo.arquivos.sons[i];
            audio.preload = "auto";
            audio.load();

            audio.addEventListener('canplay', function () {
                progresso();
            });

            //cria o controlador de som da engine e armazena o novo som
            jogo.sons[i] = new ElementosSonoros().ogg;
            jogo.sons[i].setAudio(audio);

        }

    }

    //esse é o construtor da interface na engine
    this.renderizar = function () {
        background.renderizar(0, 0, 100, 100);
        logoMBEngine.renderizar(0, 0, 100, 100);
        
        barra.renderizar(5, 90, 90, 5);

        if (statusCarregamento === false) {
            statusCarregamento = true;
            iniciarCarregamento();
        }
        else {
            textoCarregando.renderizar("Carregando... (" + progressoAtual + "%)", 5, 87.5, 90, 10);
            barraProgresso.renderizar(5, 90, progressoAtual - 10, 5);
        }
        
    };

    //método padrao de uma interface que remove a interface e seus elementos por completo
    function destruir() {
        background.remover();
        logoMBEngine.remover();
        textoCarregando.remover();
        barraProgresso.remover();
        barra.remover();
    }
}