@font-face {
    font-family: xiangsu;
    src: url('../xiangsu.TTF');
}

html, body, #main-container {
    margin: 0;
    width: 100%;
    height: 100%;
    font-family: xiangsu, serif;
    overflow: hidden;
}

div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

#main-container {
    display: none;
    height: 100%;
    width: 100%;
    background: #fcedcc;

}

#gb {
    background: url('../images/GB.svg') bottom no-repeat;
    background-size: contain;
    min-width: 400px;
    width: 25%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.bg-element {
    position: absolute;
}

#bg-leftright {
    height: 100%;
    width: 100%;
    background: url('../images/left.png') left no-repeat, url('../images/right.png') right no-repeat;
    background-size: contain;
}

#year20th {
    background: url('../images/20th.png') no-repeat center;
    background-size: contain;
    width: 362px;
    height: 188px;
    left: 50%;
    margin-left: -181px;
    bottom: 75%;
}

#pikachu {
    background: url('../images/pikachu.png') no-repeat center;
    background-size: contain;
    width: 300px;
    height: 300px;
    left: 50%;
    margin-left: -150px;
    bottom: 65%;
}

#year1996 {
    background: url('../images/1996.png') no-repeat center;
    background-size: contain;
    width: 198px;
    height: 92px;
    top: 50%;
    left: 25%;
    margin-top: -46px;
}

#year2016 {
    background: url('../images/2016.png') no-repeat center;
    background-size: contain;
    width: 193px;
    height: 92px;
    top: 50%;
    right: 25%;
    margin-top: -46px;
}

#gb-screen {
    position: relative;
    background: url('../images/GB-bg.svg') no-repeat center;
}

#hero {
    position: absolute;
}

#select {
    position: absolute;
    left: 0;
    padding-right: 0;
    background: url("../images/select.svg") no-repeat center;
    background-size: contain;
}

#yesno {
    position: absolute;
    right: 0;
    padding-right: 0;
    background: url("../images/yesno.svg") no-repeat center;
    background-size: contain;
}

#dialog {
    position: absolute;
    bottom: 0;
    background: url("../images/dialog.svg") no-repeat center;
    background-size: contain;
}

#menu {
    position: absolute;
    right: 0;
    top: 0;
    background: url("../images/menu.svg") no-repeat center;
    background-size: contain;
}

#submenu {
    position: absolute;
    right: 0;
    background: url("../images/submenu.svg") no-repeat center;
    background-size: contain;
}

#yesno-cursor, #dialog-cursor, #select-cursor, #menu-cursor, #submenu-cursor {
    position: absolute;
}

@media screen and (max-width: 480px) {
    #main-container {
        background-image: none;
    }

    .bg-element {
        display: none;
    }

    #gb {
        min-width: 100%;
    }
}

#gb-buttons {
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.gb-button {
    float: left;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover {
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    background-color: #7d797a;
    color: #F6F6F6;
}

.welcomeLeftRight-enter {
    animation: welcomeLeftRight-in 1s;
}

@keyframes welcomeLeftRight-in {
    0% {
        transform: scale(2);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.welcomeYearLeft-enter {
    animation: welcomeYearLeft-in 1s;
}

@keyframes welcomeYearLeft-in {
    0% {
        margin-left: -100px;
        opacity: 0;
    }
    80% {
        margin-left: 20px;
    }
    100% {
        margin-left: 0;
        opacity: 1;
    }
}

.welcomeYearRight-enter {
    animation: welcomeYearRight-in 1s;
}

@keyframes welcomeYearRight-in {
    0% {
        margin-right: -100px;
        opacity: 0;
    }
    80% {
        margin-right: 30px;
    }
    100% {
        margin-right: 0;
        opacity: 1;
    }
}

.welcomeGB-enter {
    animation: welcomeGB-in 1s;
}

@keyframes welcomeGB-in {
    0% {
        margin-top: 100%;
    }
    100% {
        margin-top: 0;
    }
}

.welcomePikachu-enter {
    animation: welcomePikachu-in 1s;
}

@keyframes welcomePikachu-in {
    0% {
        bottom: 40%;
    }
}

.welcomeGBScreen-enter {
    animation: welcomeGBScreen-in 1s;
}

@keyframes welcomeGBScreen-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}