/*------------------------------------*\
    #IMAGES
\*------------------------------------*/

img {
    -webkit-transform: translateZ(0);
        -ms-transform: translateZ(0);
            transform: translateZ(0);
}

.img {
    display: block;
    max-width: 100%;
    height: auto;
}

.hidden-gif,
.hidden-img {
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    left: 50%;
}

.hidden-img {
    opacity: 0;
    -webkit-transform: translate(-50%, -100%);
        -ms-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
}

.hidden-gif {
    display: none;
    -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
}

/*------------------------------------*\
    #ALIGNMENTS
\*------------------------------------*/

.h-center {
    margin: 0 auto;
}
/*------------------------------------*\
    #ANIMATIONS
\*------------------------------------*/

.swing-animation-1 {
    -webkit-animation: swing 5s linear infinite;
            animation: swing 5s linear infinite;
}

.swing-animation-2 {
    -webkit-animation: swing 7s linear infinite;
            animation: swing 7s linear infinite;
}


.swing-animation-3 {
    -webkit-animation: swing 10s linear infinite;
            animation: swing 10s linear infinite;
}


@-webkit-keyframes swing {
      0% { -webkit-transform: rotate( 0deg); }
     25% { -webkit-transform: rotate(-3deg); }
     50% { -webkit-transform: rotate( 0deg); }
     75% { -webkit-transform: rotate( 3deg); }
    100% { -webkit-transform: rotate( 0deg); }
}

@keyframes swing {
      0% { -webkit-transform: rotate( 0deg); transform: rotate( 0deg); }
     25% { -webkit-transform: rotate(-3deg); transform: rotate(-3deg); }
     50% { -webkit-transform: rotate( 0deg); transform: rotate( 0deg); }
     75% { -webkit-transform: rotate( 3deg); transform: rotate( 3deg); }
    100% { -webkit-transform: rotate( 0deg); transform: rotate( 0deg); }
}


.sparkle-animation-1 {
    -webkit-animation: sparkle 1.5s ease-in-out infinite;
            animation: sparkle 1.5s ease-in-out infinite;
}

.sparkle-animation-2 {
    -webkit-animation: sparkle 7s ease-in-out infinite;
            animation: sparkle 7s ease-in-out infinite;
}


.sparkle-animation-3 {
    -webkit-animation: sparkle 10s ease-in-out infinite;
            animation: sparkle 10s ease-in-out infinite;
}


@-webkit-keyframes sparkle {
      0% { opacity: 1.0; }
     50% { opacity: 0.5; }
    100% { opacity: 1.0; }
}

@keyframes sparkle {
      0% { opacity: 1.0; }
     50% { opacity: 0.5; }
    100% { opacity: 1.0; }
}


.rotate-animation-1 {
    -webkit-animation: spin 20s linear infinite;
            animation: spin 20s linear infinite;
}

@-webkit-keyframes spin {
    from { -webkit-transform: rotate(  0deg); }
    to   { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    from {         -webkit-transform: rotate(  0deg);         transform: rotate(  0deg); }
    to   {         -webkit-transform: rotate(360deg);         transform: rotate(360deg); }
}

@-webkit-keyframes bounce {
      0% { -webkit-transform: translateY( 0px); }
     50% { -webkit-transform: translateY(10px); }
    100% { -webkit-transform: translateY( 0px); }
}

@keyframes bounce {
      0% {         -webkit-transform: translateY( 0px);         transform: translateY( 0px); }
     50% {         -webkit-transform: translateY(10px);         transform: translateY(10px); }
    100% {         -webkit-transform: translateY( 0px);         transform: translateY( 0px); }
}

.bounce-animation {
    -webkit-animation: bounce 500ms linear infinite;
            animation: bounce 500ms linear infinite;
}
/*------------------------------------*\
    #COLORS
\*------------------------------------*/

.color--start     { background-color: #000000; }
.color--sydney    { background-color: #0fbabb; }
.color--taiwan    { background-color: #f3845e; }
.color--hong-kong { background-color: #99cbee; }
.color--dubai     { background-color: #9cffde; }
.color--moscow    { background-color: #ffddce; }
.color--paris     { background-color: #fd637e; }
.color--madrid    { background-color: #fbe4d2; }
.color--london    { background-color: #dbdbdb; }
.color--brazil    { background-color: #f7c68c; }
.color--vegas     { background-color: #934d8f; }
.color--new-york  { background-color: #112266; }

/*------------------------------------*\
    #CONTAINERS
\*------------------------------------*/

.container,
.wrapper,
.parallax,
.layer,
.fireworks {
    height: 100%;
    width: 100%;
}

.momentum__container {
    height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-box-shadow: 0px 3px 30px rgba(0,0,0,.5);
            box-shadow: 0px 3px 30px rgba(0,0,0,.5);
}

    .momentum__screen {
        width: 800px;
        max-width: 100%;
        height: 450px;
        max-height: 47%;
        position: absolute;
        top: 35%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        overflow-x: visible;
        overflow-y: visible;
    }

    @media (max-width: 767px) { 
        .momentum__screen {
            max-height: 38%;
            top: 40%;
        }
    }

    .momentum__text {
        position: absolute;
        top: 55%;
        left: 50%;
        -webkit-transform: translate(-50%, -600%);
            -ms-transform: translate(-50%, -600%);
                transform: translate(-50%, -600%);
        overflow: hidden;
        text-align: center;
        opacity: 0;
        max-width: 90%;
        width: 450px;
    }
/*------------------------------------*\
    #DUBAI
\*------------------------------------*/

.dubai-moon  { 
	-webkit-transform: translate(-50%, 0%);
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}
/*------------------------------------*\
    #END
\*------------------------------------*/

.end-container {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%); 
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.end-logo {
    height: 13vh;
    margin: 0 auto;
    overflow: hidden;
}

.end-logo-img {
    max-width: 189px;
    max-height: 118px;
    -webkit-transform: translateY(120%);
        -ms-transform: translateY(120%);
            transform: translateY(120%);
}

.end-logo-img,
.end-text-img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100%;
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
}

.end-border-div {
    border-top: 1px solid #c8da3a;
    -webkit-transition: width 1s linear;
    transition: width 1s linear;
    width: 0;
    margin: 0 auto;
}

.end-text {
    height: 21vh;
    margin: 0 auto;
    overflow: hidden;
}

.end-text-img {
    max-width: 295px;
    max-height: 228px;
}

.end-social {
    opacity: 0;
    margin: 0 auto;
    text-align: center;
    margin-top: 40px;    
}

.end-subcontainer {
    min-height: 202px;
    background-color: #000;
    margin: 0 auto;
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-transform: translateY(-21vh);
        -ms-transform: translateY(-21vh);
            transform: translateY(-21vh);
}

.restart-text {
    margin: 0 auto;
    margin-top: 40px;
    width: 80px;
    height: 40px;
    background: url(../img/sprite.png) no-repeat -8px -115px;
}

.restart-arrow {
    margin: 0 auto;
    width: 40px;
    height: 40px;
    background: url(../img/sprite.png) no-repeat -29px -219px;
    margin-bottom: 10px;
}


.restart-button {
    opacity: 0;
    cursor: pointer;
}

.end-social,
.restart-button {
    -webkit-transition: opacity 1s ease-in;
    transition: opacity 1s ease-in;
}
/*------------------------------------*\
    #GENERICS
\*------------------------------------*/

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box; /* Android ≤ 2.3, iOS ≤ 4 */ /* Firefox ≤ 28 */
            box-sizing: border-box; /* Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 */
}

html, body {
    height: 100%;
}

html {
    font-family: sans-serif;
    overflow: hidden;
}

/*------------------------------------*\
    #HR
\*------------------------------------*/

hr {
    border-bottom: 1px solid #666;
    margin-left: 5px;
    width: 100%;
}
/*------------------------------------*\
    #ICONS
\*------------------------------------*/

.hexagon {
    background: url(../img/sprite.png) no-repeat;
    width: 51px;
    height: 44px;
    display: inline-block;
}

.hexagon--green { background-position: -24px -320px; }
.hexagon--black { background-position: -24px -379px; }

.hexagon--green:not(:first-child) {
    margin-left: 20px;
}

.social-icon {
    display: inline-block;
    width: 51px;
    height: 44px;
    background-image: url(../img/sprite.png);
}

.social-icon--fb   { background-position: -23px   -8px; }
.social-icon--tt   { background-position: -23px  -60px; }
.social-icon--mail { background-position: -23px -434px; }
/*------------------------------------*\
    #LOGO
\*------------------------------------*/

.static-logo {
    visibility: hidden;
    opacity: 0;
    height: 90px;
    width: 250px;
    position: fixed;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
    z-index: 9;
    background: url(../img/logo.png) no-repeat;
    -webkit-transition: visibility 0s, opacity 1s linear;
    transition: visibility 0s, opacity 1s linear;
}

@media (max-width: 767px) {
    .static-logo {
        top: 0;
        background-position: 0 -90px;
    }
}
/*------------------------------------*\
    #MOSCOW
\*------------------------------------*/

.moscow-cloud-1,
.moscow-cloud-2 { 
	-webkit-transform: translate(-50%, 0%);
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}

/*------------------------------------*\
    #MUSIC
\*------------------------------------*/

.music {
    position: fixed;
    top:  10px;
    right: 10px;
    z-index: 9;
}

    .music__audio {}

    .music__controls {
        display: none;
    }

        .music__control {
            height: 25px;
            width:  25px;
            background: url(../img/sprite.png) no-repeat;
            cursor: pointer;
        }
 
        .music__control--play  { 
            background-position: -36px -508px;
        }
        
        .music__control--pause { 
            background-position: -36px -478px;
            display: none;
        }
/*------------------------------------*\
    #NAVIGATION
\*------------------------------------*/

@media (max-width: 767px) {
    .navigation {
        display: none;
    }
}

.navigation {
    position: fixed;
    top: 50%;
    -webkit-transform: translate(0%, -50%);
        -ms-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    right: 0;
    z-index: 9;
}

    .navigation__center {
        background: url(../img/navigation.png);
        width: 40px;
        padding: 5px 0;
    }

    .navigation__top,
    .navigation__bottom {
        width:  40px;
        height: 40px;
    }

    .navigation__top {
        background: url(../img/corner.png) no-repeat;
    }

    .navigation__bottom {
        background: url(../img/corner.png) no-repeat 0 1px;
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
    }

    .navigation__cities {
        position: absolute;
        top: 99px;
        left: -127px;
        width: 146px;
        text-align: right;
    }

        .navigation__city {
            display: block;
            height: 20px;
            margin-bottom: 5px;
            text-align: right;
            opacity: 0; 
            color: rgba(0, 0, 0, .4);
            padding: 2px 22px 2px 2px;
            font-weight: 300;
            font-size: .8em;
            -webkit-transition: all 1s ease-in;
            transition: all 1s ease-in;
        }

        .navigation__city--active {
            opacity: 1;
        }

        .navigation__arrow {
            position: absolute;
            left: 0;
            top: 88px;
        }

            .navigation__arrow__top {
                border-bottom: 10px solid #fff;
                border-top:  10px solid transparent;
                border-left: 10px solid transparent;
                width: 0px;
                height: 0px;
            }

            .navigation__arrow__bottom {
                border-bottom: 10px solid transparent;
                border-top:  10px solid #fff;
                border-left: 10px solid transparent;
                width: 0px;
                height: 0px;
            }

    .navigation__links {
        padding: 0 10px;
    }

    .navigation__link {
        display: block;
        width:  10px;
        height: 10px;
        border-radius: 50px;
        margin: 15px 10px;
    }

    .navigation__link:hover {
        border-radius: 0;        
        -webkit-animation-name: spin;        
                animation-name: spin;
        -webkit-animation-duration: 4000ms;
                animation-duration: 4000ms;
        -webkit-animation-iteration-count: infinite;
                animation-iteration-count: infinite;
        -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
    }

    .navigation__pause {
        display: none;
        width:  10px;
        height: 10px;
        border-left:  4px solid #ccc;
        border-right: 4px solid #ccc;
        margin: 15px 10px;
    }

    .navigation__pause:hover {
        border-left:  4px solid #888;
        border-right: 4px solid #888;
    }

    .navigation__play {
        display: block;
        margin: 10px 12px;        
    }

    .navigation__pause,
    .navigation__play__top,
    .navigation__play__bottom {
        -webkit-transition: border 1s ease-in;
        transition: border 1s ease-in;
    }

        .navigation__play__top {
            border-bottom: 5px solid #ccc;
            border-top:  5px solid transparent;
            border-right: 7px solid transparent;
            width: 0px;
            height: 0px;
        }

        .navigation__play__bottom {
            border-bottom: 5px solid transparent;
            border-top:  5px solid #ccc;
            border-right: 7px solid transparent;
            width: 0px;
            height: 0px;
        }
        
        .navigation__play:hover .navigation__play__top {
            border-bottom: 5px solid #888;
        }

        .navigation__play:hover .navigation__play__bottom {
            border-top:  5px solid #888;
        }


@media (min-width: 768px) {
    .navigation-mobile {
        display: none;
    }

}

.navigation-mobile {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
    z-index: 9;
    -webkit-transition: visibility 0s, opacity 1s linear;
    transition: visibility 0s, opacity 1s linear;
}

    .navigation__mobile__pause {
        display: none;
        width:  13px;
        height: 15px;
        border-left:  4px solid #fff;
        border-right: 4px solid #fff;
        margin: 14px 19px;
    }


    .navigation__mobile__play {
        margin-top: 14px;
        margin-left: 3px;
    }

       .navigation__mobile__play__top {
            border-bottom: 8px solid #fff;
            border-right: 13px solid transparent;
            width: 0px;
            height: 0px;
            margin: 0 auto;
        }

        .navigation__mobile__play__bottom {
            border-top:  8px solid #fff;
            border-right: 13px solid transparent;
            width: 0px;
            height: 0px;
            margin: 0 auto;
        }


.show {
    opacity: 1;
    visibility: visible;
}
/*------------------------------------*\
    #NEW YORK
\*------------------------------------*/

.new-york-moon { 
	-webkit-transform: translate(-50%, 0%); 
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}

/*------------------------------------*\
    #PARIS
\*------------------------------------*/

.paris-moon { 
	-webkit-transform: translate(-50%, 0%); 
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    /*font: inherit;*/
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*------------------------------------*\
    #START
\*------------------------------------*/

.start-container {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%); 
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.start-logo {
    height: 13vh;
    margin: 0 auto;
    overflow: hidden;
}

.start-logo-img {
    max-width: 189px;
    max-height: 118px;
    -webkit-transform: translateY(120%); 
        -ms-transform: translateY(120%);
            transform: translateY(120%);
}

.start-logo-img,
.start-text-img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100%;
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
}

.start-border-div {
    border-top: 1px solid #c8da3a;
    -webkit-transition: width 1s linear;
    transition: width 1s linear;
    width: 0;
    margin: 0 auto;
}

.start-text {
    height: 21vh;
    margin: 0 auto;
    overflow: hidden;
}

.start-text-img {
    max-width: 307px;
    max-height: 202px;
}

.social {
    opacity: 0;
    margin: 0 auto;
    text-align: center;
    margin-top: 40px;
}

.start-subcontainer {
    min-height: 202px;
    background-color: #000;
    margin: 0 auto;
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-transform: translateY(-21vh); 
        -ms-transform: translateY(-21vh);
            transform: translateY(-21vh);
}

.lets-go {
    margin: 0 auto;
    margin-top: 40px;
    width: 80px;
    height: 40px;
    background: url(../img/sprite.png) no-repeat -8px -164px;
}

.start-arrow {
    margin: 0 auto;
    width: 40px;
    height: 40px;
    background: url(../img/sprite.png) no-repeat -27px -268px;
    margin-bottom: 10px;
}

.lets-go-button {
    opacity: 0;
    cursor: pointer;
}

.social,
.lets-go-button {
    -webkit-transition: opacity 1s ease-in;
    transition: opacity 1s ease-in;
}

/*------------------------------------*\
    #SYDNEY
\*------------------------------------*/

.sydney-cloud-1,
.sydney-cloud-2,
.sydney-cloud-3 {
	-webkit-transform: translate(-50%, 0%); 
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}

/*------------------------------------*\
    #TAIWAN
\*------------------------------------*/

.taiwan-moon {
	-webkit-transform: translate(-50%, 0%); 
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}

/*------------------------------------*\
    #TEXT
\*------------------------------------*/

h1 {
    color: rgba(0, 0, 0, .4);
}

h2 {
    color: rgba(0, 0, 0, .4);
    font-weight: 300;
    font-size: 1.3em;
    line-height: normal;
}

.text-white {
    color: #fff;
}

.happy-new-year {
    background: url(../img/texts.png) no-repeat;
    background-size: 100% auto;
    height: 43px;
    margin: 0 auto;
    height: 75px;
}

@media (max-width: 767px) {
    .happy-new-year {
        height: 55px;
    }
}



    .happy-new-year--sydney    { background-position: 0.00%   0.00%; }
    .happy-new-year--taiwan    { background-position: 0.00%  10.55%; }
    .happy-new-year--hong-kong { background-position: 0.00%  20.21%; }
    .happy-new-year--dubai     { background-position: 0.00%  30.00%; }
    .happy-new-year--moscow    { background-position: 0.00%  39.19%; }
    .happy-new-year--paris     { background-position: 0.00%  50.04%; }
    .happy-new-year--madrid    { background-position: 0.00%  59.90%; }
    .happy-new-year--london    { background-position: 0.00%  69.78%; }
    .happy-new-year--brazil    { background-position: 0.00%  80.04%; }
    .happy-new-year--new-york  { background-position: 0.00%  90.00%; }
    .happy-new-year--vegas     { background-position: 0.00%  99.48%; }

/*------------------------------------*\
    #LAS VEGAS
\*------------------------------------*/

.vegas-stars { 
	-webkit-transform: translate(-50%, 0%); 
	    -ms-transform: translate(-50%, 0%);
	        transform: translate(-50%, 0%);
}
