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, 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
}

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
}

:focus {
    outline: 0
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal
}

.clearfix:before, .section:before, .nav ul:before {
    content: "";
    display: table
}

.clearfix:after, .section:after, .nav ul:after {
    content: "";
    display: table;
    clear: both
}

input {
    -webkit-appearance: none;
    border-radius: 0
}

a {
    color: #2094c4;
    text-decoration: none;
    outline: none
}

a:hover {
    color: #3498db
}

p {
    padding: 0 0 20px
}

strong {
    font-weight: bold
}

body {
    color: #000;
    font: normal 14px/1.4 "helvetica neue", tahoma, "hiragino sans gb", stheiti, "wenquanyi micro hei", \5FAE\8F6F\96C5\9ED1, \5B8B\4F53, sans-serif;
    width: 100%;
    overflow: hidden
}

.left {
    float: left
}

.right {
    float: right
}

.section-wrap {
    position: relative;
    z-index: 2
}

.section {
    width: 960px;
    margin: 0 auto
}

.section h1 {
    margin-bottom: 40px;
    font-size: 36px
}

.overlay {
    background: #ecf0f1;
    position: absolute;
    display: none;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    opacity: 1;
    -webkit-transition: opacity 0.4s ease-in;
    -moz-transition: opacity 0.4s ease-in;
    -ms-transition: opacity 0.4s ease-in;
    -o-transition: opacity 0.4s ease-in;
    transition: opacity 0.4s ease-in
}

.loading-process .overlay {
    display: block
}

.finish-loading .overlay {
    opacity: 0
}

.finish-loading .loading-info, .finish-loading .loading-circle {
    opacity: 0
}

.finish-loading .loading-avatar {
    border: 4px solid #fff
}

.fade {
    opacity: 0;
    position: relative;
    top: 10px;
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in
}

.fade.fade-in {
    opacity: 1;
    top: 0
}

.section-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20
}

.finish-loading .nav {
    opacity: .6
}

.nav {
    width: 960px;
    position: absolute;
    z-index: 5
}

.nav li {
    float: left;
    text-align: center;
    position: relative;
    width: 20%
}

.nav li a {
    color: #fff;
    font-size: 30px;
    display: block;
    padding: 60px 0;
    width: 100%;
    -webkit-transition: all 0.6s ease-in;
    -moz-transition: all 0.6s ease-in;
    -ms-transition: all 0.6s ease-in;
    -o-transition: all 0.6s ease-in;
    transition: all 0.6s ease-in
}

.nav .fade1 a:hover, .nav .fade1.hover a {
    color: #95a5a6
}

.nav .fade2 a:hover, .nav .fade2.hover a {
    color: #2980b9
}

.nav .fade3 a:hover, .nav .fade3.hover a {
    color: #c0392b
}

.nav .fade4 a:hover, .nav .fade4.hover a {
    color: #27ae60
}

.nav .back-home {
    height: 1px;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none
}

.nav .back-home a {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 50%;
    margin-left: -50px;
    border-radius: 50%;
    border: 4px solid #fff;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../img/blog/avatar.jpg);
    -webkit-background-size: 100px 100px;
    background-size: 100px 100px;
    padding: 0 !important;
    top: 30px
}

.nav .back-home a:hover {
    border-bottom: 4px solid #fff
}

.nav-bg {
    background: #000;
    position: relative;
    z-index: 1;
    height: 80px;
    margin: 0 auto;
    width: 0;
    -webkit-transition: width 0.6s ease-in;
    -moz-transition: width 0.6s ease-in;
    -ms-transition: width 0.6s ease-in;
    -o-transition: width 0.6s ease-in;
    transition: width 0.6s ease-in
}

.shrink .nav li a {
    padding: 20px 0;
    font-size: 24px
}

.shrink .nav .back-home a {
    top: 0
}

.shrink .nav-bg {
    width: 100%
}

.home-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1
}

.home-bg img {
    max-width: none
}

.loading {
    margin: auto;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 120px;
    height: 120px;
    z-index: 10
}

.loading-circle {
    background-color: transparent;
    opacity: .9;
    border-top: 10px solid #27ae60;
    border-right: 10px solid #d35400;
    border-bottom: 10px solid #2980b9;
    border-left: 10px solid #c0392b;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin: 0 auto;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in;
    animation: spin 1s infinite linear;
    -webkit-animation: spin 1s infinite linear;
    -moz-animation: spin 1s infinite linear;
    -o-animation: spin 1s infinite linear
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(360deg)
    }
}

@-moz-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(360deg)
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(360deg)
    }
}

@-o-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(360deg)
    }
}

.loading-avatar {
    width: 100px;
    height: 100px;
    overflow: hidden;
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 50%;
    -webkit-transition: border-width 0.4s ease-in;
    -moz-transition: border-width 0.4s ease-in;
    -ms-transition: border-width 0.4s ease-in;
    -o-transition: border-width 0.4s ease-in;
    transition: border-width 0.4s ease-in
}

.loading-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50px
}

.loading-info {
    position: absolute;
    top: 130%;
    width: 160%;
    -webkit-transition: opacity 0.4s ease-in;
    -moz-transition: opacity 0.4s ease-in;
    -ms-transition: opacity 0.4s ease-in;
    -o-transition: opacity 0.4s ease-in;
    transition: opacity 0.4s ease-in
}

.section-fristpage {
    text-align: center;
    color: #fff;
    font-size: 30px
}

.section-fristpage p {
    padding-bottom: 0
}

.section-fristpage .fade2 {
    margin-top: 60px
}

.section-fristpage .fade3 {
    margin-top: 60px
}

.scroll-tip {
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    bottom: -30px;
    top: auto !important;
    left: 50%;
    margin-left: -30px;
    text-indent: -9999px;
    background: #fff url(../img/blog/bg-down-arrow.png) no-repeat 50% 30%
}

.section-about {
    background: #eee url(../img/blog/bg-tile.png) 0 0
}

.section-about .about-content h1 {
    margin-bottom: 30px;
    font-size: 36px
}

.section-about .about-content .introli {
    width: 100%;
    margin-left: 400px;
    line-height: 150%
}

.section-about .about-content .introli .bio-text {
    opacity: 0
}

.section-about .about-content .introli .left_icon {
    display: inline-block;
    width: 100px;
    height: 100px
}

.section-about .about-content .introli .left_icon .bio-icon-1 {
    -webkit-animation: bio-icon-in2 .6s ease-out .7s 1 forwards;
    -moz-animation: bio-icon-in2 .6s ease-out .7s 1 forwards
}

.section-about .about-content .introli .left_icon .bio-icon-2 {
    -webkit-animation: bio-icon-in2 .6s ease-out 1s 1 forwards;
    -moz-animation: bio-icon-in2 .6s ease-out 1s 1 forwards
}

.section-about .about-content .introli .left_icon .bio-icon-3 {
    -webkit-animation: bio-icon-in2 .6s ease-out 1.3s 1 forwards;
    -moz-animation: bio-icon-in2 .6s ease-out 1.3s 1 forwards
}

.section-about .about-content .introli .right_content .bio-text-1 {
    margin-left: -210px;
    -webkit-animation: bio-text-in .3s ease-out 0.6s 1 forwards;
    -moz-animation: bio-text-in .3s ease-out 0.6s 1 forwards
}

.section-about .about-content .introli .right_content .bio-text-2 {
    margin-left: -210px;
    -webkit-animation: bio-text-in .3s ease-out .9s 1 forwards;
    -moz-animation: bio-text-in .3s ease-out .9s 1 forwards
}

.section-about .about-content .introli .right_content .bio-text-3 {
    margin-left: -210px;
    -webkit-animation: bio-text-in .3s ease-out 1.2s 1 forwards;
    -moz-animation: bio-text-in .3s ease-out 1.2s 1 forwards
}

.section-about .fade {
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in
}

@-webkit-keyframes 'bio-text-in' {
    0% {
        -webkit-transform: translate(649px, 0);
        opacity: 0
    }
    100% {
        -webkit-transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes 'bio-icon-in2' {
    0% {
        margin-left: -300px;
        opacity: 0;
        -webkit-transform: rotate(-60deg)
    }
    100% {
        margin-left: -269px;
        opacity: 1;
        -webkit-transform: rotate(0deg)
    }
}

@-moz-keyframes bio-text-in {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-moz-keyframes bio-icon-in2 {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.section-works {
    background: #27ae60
}

.button2:hover {
    opacity: 1;
    -webkit-transform: scale(1);
    cursor: pointer
}

.button2 {
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    bottom: 40px;
    left: 50%;
    margin-left: -30px;
    opacity: 0.75;
    background: url(../img/blog/arrow.png);
    -webkit-transition: all .2s ease-in 0s;
    z-index: 9999;
    -webkit-transform: scale(0.8)
}

.dark-button2 {
    background-position: 0 -60px
}

.button2-2-top {
    background-position: -60px 0;
    bottom: none;
    width: 80px;
    height: 80px
}

.works-content h1 {
    text-align: center;
    color: #fff
}

.works-content .works-list .fade {
    top: 20px;
    left: 10px;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in
}

.works-content .works-list .fade.fade-in {
    left: 0;
    top: 0
}

.works-content .works-item {
    position: relative;
    width: 300px;
    margin-left: 30px;
    margin-bottom: 30px;
    float: left;
    overflow: hidden
}

.works-content .works-item img {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in
}

.works-content .works-item.first {
    margin-left: 0
}

.works-content .works-item:hover img {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5)
}

.works-content .works-item:hover .work-info {
    top: 0
}

.works-content .works-item .work-info {
    position: absolute;
    top: 137px;
    padding: 10px;
    left: 0;
    right: 0;
    height: 100%;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in
}

.works-content .works-item .work-info h2 {
    margin-bottom: 20px
}

.more-link {
    color: #fff;
    display: block;
    padding: 10px 20px;
    width: 60px;
    text-align: center;
    margin: 0 auto;
    background: #3d3d3d;
    background: rgba(0, 0, 0, 0.6)
}

.more-link:hover {
    color: #fff;
    background: #3d3d3d;
    background: rgba(0, 0, 0, 0.4)
}

.section-skill {
    background: #2980b9
}

.skill-content h1 {
    color: #fff
}

.skill-content ul {
    color: #fff
}

.skill-content li {
    font-size: 18px;
    line-height: 2
}

.skill-content .fade {
    top: 0;
    left: 10px;
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in
}

.skill-content .fade.fade-in {
    left: 0
}

.section-contact {
    background: #c0392b;
    color: #dadada
}

.section-contact a {
    color: #fff
}

.section-contact a:hover {
    color: #dadada
}

.section-contact .contact-content .left {
    width: 40%
}

.section-contact .contact-content .right {
    width: 50%
}

.section-contact .contact-content h1 {
    color: #fff;
    margin-bottom: 30px
}

.section-contact .contact-content .contact-info {
    margin-top: 20px
}

.section-contact .contact-content h2 {
    color: #fff;
    margin-bottom: 20px
}

.section-contact .contact-content .right ul {
    list-style-type: square;
    padding-left: 30px;
    margin-bottom: 20px;
    line-height: 1.6
}

.section-contact .contact-ways li {
    line-height: 1.8
}

.footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 40px;
    background: #000;
    color: #fff
}

.a-bounce, .a-flip, .a-flash, .a-shake, .a-swing, .a-wobble, .a-ring {
    -webkit-animation: 1s ease;
    -moz-animation: 1s ease;
    -ms-animation: 1s ease;
    animation: 1s ease
}

.a-fadein, .a-fadeinT, .a-fadeinR, .a-fadeinB, .a-fadeinL, .a-bouncein, .a-bounceinT, .a-bounceinR, .a-bounceinB, .a-bounceinL, .a-rotatein, .a-rotateinLT, .a-rotateinLB, .a-rotateinRT, .a-rotateinRB, .a-flipin, .a-flipinX, .a-flipinY {
    -webkit-animation: 1s ease-out backwards;
    -moz-animation: 1s ease-out backwards;
    -ms-animation: 1s ease-out backwards;
    animation: 1s ease-out backwards
}

.a-fadeout, .a-fadeoutT, .a-fadeoutR, .a-fadeoutB, .a-fadeoutL, .a-bounceout, .a-bounceoutT, .a-bounceoutR, .a-bounceoutB, .a-bounceoutL, .a-rotateout, .a-rotateoutLT, .a-rotateoutLB, .a-rotateoutRT, .a-rotateoutRB, .a-flipout, .a-flipoutX, .a-flipoutY {
    -webkit-animation: 1s ease-in forwards;
    -moz-animation: 1s ease-in forwards;
    -ms-animation: 1s ease-in forwards;
    animation: 1s ease-in forwards
}

.a-fadein {
    -webkit-animation-name: fadein;
    -moz-animation-name: fadein;
    -ms-animation-name: fadein;
    animation-name: fadein
}

.a-fadeinT {
    -webkit-animation-name: fadeinT;
    -moz-animation-name: fadeinT;
    -ms-animation-name: fadeinT;
    animation-name: fadeinT
}

.a-fadeinR {
    -webkit-animation-name: fadeinR;
    -moz-animation-name: fadeinR;
    -ms-animation-name: fadeinR;
    animation-name: fadeinR
}

.a-fadeinB {
    -webkit-animation-name: fadeinB;
    -moz-animation-name: fadeinB;
    -ms-animation-name: fadeinB;
    animation-name: fadeinB
}

.a-fadeinL {
    -webkit-animation-name: fadeinL;
    -moz-animation-name: fadeinL;
    -ms-animation-name: fadeinL;
    animation-name: fadeinL
}

.a-fadeout {
    -webkit-animation-name: fadeout;
    -moz-animation-name: fadeout;
    -ms-animation-name: fadeout;
    animation-name: fadeout
}

.a-fadeoutT {
    -webkit-animation-name: fadeoutT;
    -moz-animation-name: fadeoutT;
    -ms-animation-name: fadeoutT;
    animation-name: fadeoutT
}

.a-fadeoutR {
    -webkit-animation-name: fadeoutR;
    -moz-animation-name: fadeoutR;
    -ms-animation-name: fadeoutR;
    animation-name: fadeoutR
}

.a-fadeoutB {
    -webkit-animation-name: fadeoutB;
    -moz-animation-name: fadeoutB;
    -ms-animation-name: fadeoutB;
    animation-name: fadeoutB
}

.a-fadeoutL {
    -webkit-animation-name: fadeoutL;
    -moz-animation-name: fadeoutL;
    -ms-animation-name: fadeoutL;
    animation-name: fadeoutL
}

.a-bounce {
    -webkit-animation-name: bounce;
    -moz-animation-name: bounce;
    -ms-animation-name: bounce;
    animation-name: bounce
}

.a-bouncein {
    -webkit-animation-name: bouncein;
    -moz-animation-name: bouncein;
    -ms-animation-name: bouncein;
    animation-name: bouncein
}

.a-bounceinT {
    -webkit-animation-name: bounceinT;
    -moz-animation-name: bounceinT;
    -ms-animation-name: bounceinT;
    animation-name: bounceinT
}

.a-bounceinR {
    -webkit-animation-name: bounceinR;
    -moz-animation-name: bounceinR;
    -ms-animation-name: bounceinR;
    animation-name: bounceinR
}

.a-bounceinB {
    -webkit-animation-name: bounceinB;
    -moz-animation-name: bounceinB;
    -ms-animation-name: bounceinB;
    animation-name: bounceinB
}

.a-bounceinL {
    -webkit-animation-name: bounceinL;
    -moz-animation-name: bounceinL;
    -ms-animation-name: bounceinL;
    animation-name: bounceinL
}

.a-bounceout {
    -webkit-animation-name: bounceout;
    -moz-animation-name: bounceout;
    -ms-animation-name: bounceout;
    animation-name: bounceout
}

.a-bounceoutT {
    -webkit-animation-name: bounceoutT;
    -moz-animation-name: bounceoutT;
    -ms-animation-name: bounceoutT;
    animation-name: bounceoutT
}

.a-bounceoutR {
    -webkit-animation-name: bounceoutR;
    -moz-animation-name: bounceoutR;
    -ms-animation-name: bounceoutR;
    animation-name: bounceoutR
}

.a-bounceoutB {
    -webkit-animation-name: bounceoutB;
    -moz-animation-name: bounceoutB;
    -ms-animation-name: bounceoutB;
    animation-name: bounceoutB
}

.a-bounceoutL {
    -webkit-animation-name: bounceoutL;
    -moz-animation-name: bounceoutL;
    -ms-animation-name: bounceoutL;
    animation-name: bounceoutL
}

.a-rotatein {
    -webkit-animation-name: rotatein;
    -moz-animation-name: rotatein;
    -ms-animation-name: rotatein;
    animation-name: rotatein
}

.a-rotateinLT {
    -webkit-animation-name: rotateinLT;
    -moz-animation-name: rotateinLT;
    -ms-animation-name: rotateinLT;
    animation-name: rotateinLT
}

.a-rotateinLB {
    -webkit-animation-name: rotateinLB;
    -moz-animation-name: rotateinLB;
    -ms-animation-name: rotateinLB;
    animation-name: rotateinLB
}

.a-rotateinRT {
    -webkit-animation-name: rotateinRT;
    -moz-animation-name: rotateinRT;
    -ms-animation-name: rotateinRT;
    animation-name: rotateinRT
}

.a-rotateinRB {
    -webkit-animation-name: rotateinRB;
    -moz-animation-name: rotateinRB;
    -ms-animation-name: rotateinRB;
    animation-name: rotateinRB
}

.a-rotateout {
    -webkit-animation-name: rotateout;
    -moz-animation-name: rotateout;
    -ms-animation-name: rotateout;
    animation-name: rotateout
}

.a-rotateoutLT {
    -webkit-animation-name: rotateoutLT;
    -moz-animation-name: rotateoutLT;
    -ms-animation-name: rotateoutLT;
    animation-name: rotateoutLT
}

.a-rotateoutLB {
    -webkit-animation-name: rotateoutLB;
    -moz-animation-name: rotateoutLB;
    -ms-animation-name: rotateoutLB;
    animation-name: rotateoutLB
}

.a-rotateoutRT {
    -webkit-animation-name: rotateoutRT;
    -moz-animation-name: rotateoutRT;
    -ms-animation-name: rotateoutRT;
    animation-name: rotateoutRT
}

.a-rotateoutRB {
    -webkit-animation-name: rotateoutRB;
    -moz-animation-name: rotateoutRB;
    -ms-animation-name: rotateoutRB;
    animation-name: rotateoutRB
}

.a-flip {
    -webkit-animation-name: flip;
    -moz-animation-name: flip;
    -ms-animation-name: flip;
    animation-name: flip
}

.a-flipinX {
    -webkit-animation-name: flipinX;
    -moz-animation-name: flipinX;
    -ms-animation-name: flipinX;
    animation-name: flipinX
}

.a-flipin, .a-flipinY {
    -webkit-animation-name: flipinY;
    -moz-animation-name: flipinY;
    -ms-animation-name: flipinY;
    animation-name: flipinY
}

.a-flipoutX {
    -webkit-animation-name: flipoutX;
    -moz-animation-name: flipoutX;
    -ms-animation-name: flipoutX;
    animation-name: flipoutX
}

.a-flipout, .a-flipoutY {
    -webkit-animation-name: flipoutY;
    -moz-animation-name: flipoutY;
    -ms-animation-name: flipoutY;
    animation-name: flipoutY
}

.a-flash {
    -webkit-animation-name: flash;
    -moz-animation-name: flash;
    -ms-animation-name: flash;
    animation-name: flash
}

.a-shake {
    -webkit-animation-name: shake;
    -moz-animation-name: shake;
    -ms-animation-name: shake;
    animation-name: shake
}

.a-swing {
    -webkit-animation-name: swing;
    -moz-animation-name: swing;
    -ms-animation-name: swing;
    animation-name: swing
}

.a-wobble {
    -webkit-animation-name: wobble;
    -moz-animation-name: wobble;
    -ms-animation-name: wobble;
    animation-name: wobble
}

.a-ring {
    -webkit-animation-name: ring;
    -moz-animation-name: ring;
    -ms-animation-name: ring;
    animation-name: ring
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-moz-keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-ms-keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeinT {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes fadeinT {
    0% {
        opacity: 0;
        -moz-transform: translateY(-100px)
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0)
    }
}

@-ms-keyframes fadeinT {
    0% {
        opacity: 0;
        -ms-transform: translateY(-100px)
    }
    100% {
        opacity: 1;
        -ms-transform: translateY(0)
    }
}

@keyframes fadeinT {
    0% {
        opacity: 0;
        transform: translateY(-100px)
    }
    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeinR {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes fadeinR {
    0% {
        opacity: 0;
        -moz-transform: translateX(100px)
    }
    100% {
        opacity: 1;
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes fadeinR {
    0% {
        opacity: 0;
        -ms-transform: translateX(100px)
    }
    100% {
        opacity: 1;
        -ms-transform: translateX(0)
    }
}

@keyframes fadeinR {
    0% {
        opacity: 0;
        transform: translateX(100px)
    }
    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@-webkit-keyframes fadeinB {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes fadeinB {
    0% {
        opacity: 0;
        -moz-transform: translateY(100px)
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0)
    }
}

@-ms-keyframes fadeinB {
    0% {
        opacity: 0;
        -ms-transform: translateY(100px)
    }
    100% {
        opacity: 1;
        -ms-transform: translateY(0)
    }
}

@keyframes fadeinB {
    0% {
        opacity: 0;
        transform: translateY(100px)
    }
    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeinL {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes fadeinL {
    0% {
        opacity: 0;
        -moz-transform: translateX(-100px)
    }
    100% {
        opacity: 1;
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes fadeinL {
    0% {
        opacity: 0;
        -ms-transform: translateX(-100px)
    }
    100% {
        opacity: 1;
        -ms-transform: translateX(0)
    }
}

@keyframes fadeinL {
    0% {
        opacity: 0;
        transform: translateX(-100px)
    }
    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@-webkit-keyframes fadeout {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-moz-keyframes fadeout {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-ms-keyframes fadeout {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes fadeout {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes fadeoutT {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100px)
    }
}

@-moz-keyframes fadeoutT {
    0% {
        opacity: 1;
        -moz-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -moz-transform: translateY(-100px)
    }
}

@-ms-keyframes fadeoutT {
    0% {
        opacity: 1;
        -ms-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -ms-transform: translateY(-100px)
    }
}

@keyframes fadeoutT {
    0% {
        opacity: 1;
        transform: translateY(0)
    }
    100% {
        opacity: 0;
        transform: translateY(-100px)
    }
}

@-webkit-keyframes fadeoutR {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(100px)
    }
}

@-moz-keyframes fadeoutR {
    0% {
        opacity: 1;
        -moz-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -moz-transform: translateX(100px)
    }
}

@-ms-keyframes fadeoutR {
    0% {
        opacity: 1;
        -ms-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -ms-transform: translateX(100px)
    }
}

@keyframes fadeoutR {
    0% {
        opacity: 1;
        transform: translateX(0)
    }
    100% {
        opacity: 0;
        transform: translateX(100px)
    }
}

@-webkit-keyframes fadeoutB {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(100px)
    }
}

@-moz-keyframes fadeoutB {
    0% {
        opacity: 1;
        -moz-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -moz-transform: translateY(100px)
    }
}

@-ms-keyframes fadeoutB {
    0% {
        opacity: 1;
        -ms-transform: translateY(0)
    }
    100% {
        opacity: 0;
        -ms-transform: translateY(100px)
    }
}

@keyframes fadeoutB {
    0% {
        opacity: 1;
        transform: translateY(0)
    }
    100% {
        opacity: 0;
        transform: translateY(100px)
    }
}

@-webkit-keyframes fadeoutL {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(-100px)
    }
}

@-moz-keyframes fadeoutL {
    0% {
        opacity: 1;
        -moz-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -moz-transform: translateX(-100px)
    }
}

@-ms-keyframes fadeoutL {
    0% {
        opacity: 1;
        -ms-transform: translateX(0)
    }
    100% {
        opacity: 0;
        -ms-transform: translateX(-100px)
    }
}

@keyframes fadeoutL {
    0% {
        opacity: 1;
        transform: translateX(0)
    }
    100% {
        opacity: 0;
        transform: translateX(-100px)
    }
}

@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -webkit-transform: translateY(0)
    }
    40% {
        -webkit-transform: translateY(-30px)
    }
    60% {
        -webkit-transform: translateY(-15px)
    }
}

@-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -moz-transform: translateY(0)
    }
    40% {
        -moz-transform: translateY(-30px)
    }
    60% {
        -moz-transform: translateY(-15px)
    }
}

@-ms-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -ms-transform: translateY(0)
    }
    40% {
        -ms-transform: translateY(-30px)
    }
    60% {
        -ms-transform: translateY(-15px)
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0)
    }
    40% {
        transform: translateY(-30px)
    }
    60% {
        transform: translateY(-15px)
    }
}

@-webkit-keyframes bouncein {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.3)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(1.05)
    }
    70% {
        -webkit-transform: scale(0.9)
    }
    100% {
        -webkit-transform: scale(1)
    }
}

@-moz-keyframes bouncein {
    0% {
        opacity: 0;
        -moz-transform: scale(0.3)
    }
    50% {
        opacity: 1;
        -moz-transform: scale(1.05)
    }
    70% {
        -moz-transform: scale(0.9)
    }
    100% {
        -moz-transform: scale(1)
    }
}

@-ms-keyframes bouncein {
    0% {
        opacity: 0;
        -ms-transform: scale(0.3)
    }
    50% {
        opacity: 1;
        -ms-transform: scale(1.05)
    }
    70% {
        -ms-transform: scale(0.9)
    }
    100% {
        -ms-transform: scale(1)
    }
}

@keyframes bouncein {
    0% {
        opacity: 0;
        transform: scale(0.3)
    }
    50% {
        opacity: 1;
        transform: scale(1.05)
    }
    70% {
        transform: scale(0.9)
    }
    100% {
        transform: scale(1)
    }
}

@-webkit-keyframes bounceinT {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(30px)
    }
    80% {
        -webkit-transform: translateY(-10px)
    }
    100% {
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes bounceinT {
    0% {
        opacity: 0;
        -moz-transform: translateY(-100px)
    }
    60% {
        opacity: 1;
        -moz-transform: translateY(30px)
    }
    80% {
        -moz-transform: translateY(-10px)
    }
    100% {
        -moz-transform: translateY(0)
    }
}

@-ms-keyframes bounceinT {
    0% {
        opacity: 0;
        -ms-transform: translateY(-100px)
    }
    60% {
        opacity: 1;
        -ms-transform: translateY(30px)
    }
    80% {
        -ms-transform: translateY(-10px)
    }
    100% {
        -ms-transform: translateY(0)
    }
}

@keyframes bounceinT {
    0% {
        opacity: 0;
        transform: translateY(-100px)
    }
    60% {
        opacity: 1;
        transform: translateY(30px)
    }
    80% {
        transform: translateY(-10px)
    }
    100% {
        transform: translateY(0)
    }
}

@-webkit-keyframes bounceinR {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(-30px)
    }
    80% {
        -webkit-transform: translateX(10px)
    }
    100% {
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes bounceinR {
    0% {
        opacity: 0;
        -moz-transform: translateX(100px)
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(-30px)
    }
    80% {
        -moz-transform: translateX(10px)
    }
    100% {
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes bounceinR {
    0% {
        opacity: 0;
        -ms-transform: translateX(100px)
    }
    60% {
        opacity: 1;
        -ms-transform: translateX(-30px)
    }
    80% {
        -ms-transform: translateX(10px)
    }
    100% {
        -ms-transform: translateX(0)
    }
}

@keyframes bounceinR {
    0% {
        opacity: 0;
        transform: translateX(100px)
    }
    60% {
        opacity: 1;
        transform: translateX(-30px)
    }
    80% {
        transform: translateX(10px)
    }
    100% {
        transform: translateX(0)
    }
}

@-webkit-keyframes bounceinB {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(-30px)
    }
    80% {
        -webkit-transform: translateY(10px)
    }
    100% {
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes bounceinB {
    0% {
        opacity: 0;
        -moz-transform: translateY(100px)
    }
    60% {
        opacity: 1;
        -moz-transform: translateY(-30px)
    }
    80% {
        -moz-transform: translateY(10px)
    }
    100% {
        -moz-transform: translateY(0)
    }
}

@-ms-keyframes bounceinB {
    0% {
        opacity: 0;
        -ms-transform: translateY(100px)
    }
    60% {
        opacity: 1;
        -ms-transform: translateY(-30px)
    }
    80% {
        -ms-transform: translateY(10px)
    }
    100% {
        -ms-transform: translateY(0)
    }
}

@keyframes bounceinB {
    0% {
        opacity: 0;
        transform: translateY(100px)
    }
    60% {
        opacity: 1;
        transform: translateY(-30px)
    }
    80% {
        transform: translateY(10px)
    }
    100% {
        transform: translateY(0)
    }
}

@-webkit-keyframes bounceinL {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(30px)
    }
    80% {
        -webkit-transform: translateX(-10px)
    }
    100% {
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes bounceinL {
    0% {
        opacity: 0;
        -moz-transform: translateX(-100px)
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(30px)
    }
    80% {
        -moz-transform: translateX(-10px)
    }
    100% {
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes bounceinL {
    0% {
        opacity: 0;
        -ms-transform: translateX(-100px)
    }
    60% {
        opacity: 1;
        -ms-transform: translateX(30px)
    }
    80% {
        -ms-transform: translateX(-10px)
    }
    100% {
        -ms-transform: translateX(0)
    }
}

@keyframes bounceinL {
    0% {
        opacity: 0;
        transform: translateX(-100px)
    }
    60% {
        opacity: 1;
        transform: translateX(30px)
    }
    80% {
        transform: translateX(-10px)
    }
    100% {
        transform: translateX(0)
    }
}

@-webkit-keyframes bounceout {
    0% {
        -webkit-transform: scale(1)
    }
    25% {
        -webkit-transform: scale(0.95)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(1.1)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(0.3)
    }
}

@-moz-keyframes bounceout {
    0% {
        -moz-transform: scale(1)
    }
    25% {
        -moz-transform: scale(0.95)
    }
    50% {
        opacity: 1;
        -moz-transform: scale(1.1)
    }
    100% {
        opacity: 0;
        -moz-transform: scale(0.3)
    }
}

@-ms-keyframes bounceout {
    0% {
        -ms-transform: scale(1)
    }
    25% {
        -ms-transform: scale(0.95)
    }
    50% {
        opacity: 1;
        -ms-transform: scale(1.1)
    }
    100% {
        opacity: 0;
        -ms-transform: scale(0.3)
    }
}

@keyframes bounceout {
    0% {
        transform: scale(1)
    }
    25% {
        transform: scale(0.95)
    }
    50% {
        opacity: 1;
        transform: scale(1.1)
    }
    100% {
        opacity: 0;
        transform: scale(0.3)
    }
}

@-webkit-keyframes bounceoutT {
    0% {
        -webkit-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translateY(20px)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100px)
    }
}

@-moz-keyframes bounceoutT {
    0% {
        -moz-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -moz-transform: translateY(20px)
    }
    100% {
        opacity: 0;
        -moz-transform: translateY(-100px)
    }
}

@-ms-keyframes bounceoutT {
    0% {
        -ms-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -ms-transform: translateY(20px)
    }
    100% {
        opacity: 0;
        -ms-transform: translateY(-100px)
    }
}

@keyframes bounceoutT {
    0% {
        transform: translateY(0)
    }
    20% {
        opacity: 1;
        transform: translateY(20px)
    }
    100% {
        opacity: 0;
        transform: translateY(-100px)
    }
}

@-webkit-keyframes bounceoutR {
    0% {
        -webkit-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translateX(-20px)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(100px)
    }
}

@-moz-keyframes bounceoutR {
    0% {
        -moz-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -moz-transform: translateX(-20px)
    }
    100% {
        opacity: 0;
        -moz-transform: translateX(100px)
    }
}

@-ms-keyframes bounceoutR {
    0% {
        -ms-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -ms-transform: translateX(-20px)
    }
    100% {
        opacity: 0;
        -ms-transform: translateX(100px)
    }
}

@keyframes bounceoutR {
    0% {
        transform: translateX(0)
    }
    20% {
        opacity: 1;
        transform: translateX(-20px)
    }
    100% {
        opacity: 0;
        transform: translateX(100px)
    }
}

@-webkit-keyframes bounceoutB {
    0% {
        -webkit-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translateY(-20px)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(100px)
    }
}

@-moz-keyframes bounceoutB {
    0% {
        -moz-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -moz-transform: translateY(-20px)
    }
    100% {
        opacity: 0;
        -moz-transform: translateY(100px)
    }
}

@-ms-keyframes bounceoutB {
    0% {
        -ms-transform: translateY(0)
    }
    20% {
        opacity: 1;
        -ms-transform: translateY(-20px)
    }
    100% {
        opacity: 0;
        -ms-transform: translateY(100px)
    }
}

@keyframes bounceoutB {
    0% {
        transform: translateY(0)
    }
    20% {
        opacity: 1;
        transform: translateY(-20px)
    }
    100% {
        opacity: 0;
        transform: translateY(100px)
    }
}

@-webkit-keyframes bounceoutL {
    0% {
        -webkit-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translateX(20px)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(-100px)
    }
}

@-moz-keyframes bounceoutL {
    0% {
        -moz-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -moz-transform: translateX(20px)
    }
    100% {
        opacity: 0;
        -moz-transform: translateX(-100px)
    }
}

@-ms-keyframes bounceoutL {
    0% {
        -ms-transform: translateX(0)
    }
    20% {
        opacity: 1;
        -ms-transform: translateX(20px)
    }
    100% {
        opacity: 0;
        -ms-transform: translateX(-100px)
    }
}

@keyframes bounceoutL {
    0% {
        transform: translateX(0)
    }
    20% {
        opacity: 1;
        transform: translateX(20px)
    }
    100% {
        opacity: 0;
        transform: translateX(-200px)
    }
}

@-webkit-keyframes rotatein {
    0% {
        opacity: 0;
        -webkit-transform: rotate(-200deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate(0)
    }
}

@-moz-keyframes rotatein {
    0% {
        opacity: 0;
        -moz-transform: rotate(-200deg)
    }
    100% {
        opacity: 1;
        -moz-transform: rotate(0)
    }
}

@-ms-keyframes rotatein {
    0% {
        opacity: 0;
        -ms-transform: rotate(-200deg)
    }
    100% {
        opacity: 1;
        -ms-transform: rotate(0)
    }
}

@keyframes rotatein {
    0% {
        opacity: 0;
        transform: rotate(-200deg)
    }
    100% {
        opacity: 1;
        transform: rotate(0)
    }
}

@-webkit-keyframes rotateinLT {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
}

@-moz-keyframes rotateinLT {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
}

@-ms-keyframes rotateinLT {
    0% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
}

@keyframes rotateinLT {
    0% {
        transform-origin: left bottom;
        transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        transform-origin: left bottom;
        transform: rotate(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateineftB {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
}

@-moz-keyframes rotateineftB {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
}

@-ms-keyframes rotateineftB {
    0% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
}

@keyframes rotateineftB {
    0% {
        transform-origin: left bottom;
        transform: rotate(90deg);
        opacity: 0
    }
    100% {
        transform-origin: left bottom;
        transform: rotate(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateinRT {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
}

@-moz-keyframes rotateinRT {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
}

@-ms-keyframes rotateinRT {
    0% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(90deg);
        opacity: 0
    }
    100% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
}

@keyframes rotateinRT {
    0% {
        transform-origin: right bottom;
        transform: rotate(90deg);
        opacity: 0
    }
    100% {
        transform-origin: right bottom;
        transform: rotate(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateinRB {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
}

@-moz-keyframes rotateinRB {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
}

@-ms-keyframes rotateinRB {
    0% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
}

@keyframes rotateinRB {
    0% {
        transform-origin: right bottom;
        transform: rotate(-90deg);
        opacity: 0
    }
    100% {
        transform-origin: right bottom;
        transform: rotate(0);
        opacity: 1
    }
}

@-webkit-keyframes rotateout {
    0% {
        -webkit-transform-origin: center center;
        -webkit-transform: rotate(0);
        opacity: 1
    }
    100% {
        -webkit-transform-origin: center center;
        -webkit-transform: rotate(200deg);
        opacity: 0
    }
}

@-moz-keyframes rotateout {
    0% {
        -moz-transform-origin: center center;
        -moz-transform: rotate(0);
        opacity: 1
    }
    100% {
        -moz-transform-origin: center center;
        -moz-transform: rotate(200deg);
        opacity: 0
    }
}

@-ms-keyframes rotateout {
    0% {
        -ms-transform-origin: center center;
        -ms-transform: rotate(0);
        opacity: 1
    }
    100% {
        -ms-transform-origin: center center;
        -ms-transform: rotate(200deg);
        opacity: 0
    }
}

@keyframes rotateout {
    0% {
        transform-origin: center center;
        transform: rotate(0);
        opacity: 1
    }
    100% {
        transform-origin: center center;
        transform: rotate(200deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateoutLT {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }
}

@-moz-keyframes rotateoutLT {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }
}

@-ms-keyframes rotateoutLT {
    0% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
    100% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(-90deg);
        opacity: 0
    }
}

@keyframes rotateoutLT {
    0% {
        transform-origin: left bottom;
        transform: rotate(0);
        opacity: 1
    }
    100% {
        transform-origin: left bottom;
        transform: rotate(-90deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateoutLB {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }
}

@-moz-keyframes rotateoutLB {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }
}

@-ms-keyframes rotateoutLB {
    0% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
    100% {
        -ms-transform-origin: left bottom;
        -ms-transform: rotate(90deg);
        opacity: 0
    }
}

@keyframes rotateoutLB {
    0% {
        transform-origin: left bottom;
        transform: rotate(0);
        opacity: 1
    }
    100% {
        transform-origin: left bottom;
        transform: rotate(90deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateoutRT {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }
}

@-moz-keyframes rotateoutRT {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }
}

@-ms-keyframes rotateoutRT {
    0% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
    100% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(90deg);
        opacity: 0
    }
}

@keyframes rotateoutRT {
    0% {
        transform-origin: right bottom;
        transform: rotate(0);
        opacity: 1
    }
    100% {
        transform-origin: right bottom;
        transform: rotate(90deg);
        opacity: 0
    }
}

@-webkit-keyframes rotateoutBR {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(0);
        opacity: 1
    }
    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }
}

@-moz-keyframes rotateoutBR {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(0);
        opacity: 1
    }
    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }
}

@-ms-keyframes rotateoutBR {
    0% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(0);
        opacity: 1
    }
    100% {
        -ms-transform-origin: right bottom;
        -ms-transform: rotate(-90deg);
        opacity: 0
    }
}

@keyframes rotateoutBR {
    0% {
        transform-origin: right bottom;
        transform: rotate(0);
        opacity: 1
    }
    100% {
        transform-origin: right bottom;
        transform: rotate(-90deg);
        opacity: 0
    }
}

@-webkit-keyframes flip {
    0% {
        -webkit-transform: perspective(400px) rotateY(0);
        -webkit-animation-timing-function: ease-out
    }
    40% {
        -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
        -webkit-animation-timing-function: ease-out
    }
    50% {
        -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
        -webkit-animation-timing-function: ease-in
    }
    80% {
        -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
        -webkit-animation-timing-function: ease-in
    }
    100% {
        -webkit-transform: perspective(400px) scale(1);
        -webkit-animation-timing-function: ease-in
    }
}

@-moz-keyframes flip {
    0% {
        -moz-transform: perspective(400px) rotateY(0);
        -moz-animation-timing-function: ease-out
    }
    40% {
        -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
        -moz-animation-timing-function: ease-out
    }
    50% {
        -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
        -moz-animation-timing-function: ease-in
    }
    80% {
        -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
        -moz-animation-timing-function: ease-in
    }
    100% {
        -moz-transform: perspective(400px) scale(1);
        -moz-animation-timing-function: ease-in
    }
}

@-ms-keyframes flip {
    0% {
        -ms-transform: perspective(400px) rotateY(0);
        -ms-animation-timing-function: ease-out
    }
    40% {
        -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
        -ms-animation-timing-function: ease-out
    }
    50% {
        -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
        -ms-animation-timing-function: ease-in
    }
    80% {
        -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
        -ms-animation-timing-function: ease-in
    }
    100% {
        -ms-transform: perspective(400px) scale(1);
        -ms-animation-timing-function: ease-in
    }
}

@keyframes flip {
    0% {
        transform: perspective(400px) rotateY(0);
        animation-timing-function: ease-out
    }
    40% {
        transform: perspective(400px) translateZ(150px) rotateY(170deg);
        animation-timing-function: ease-out
    }
    50% {
        transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
        animation-timing-function: ease-in
    }
    80% {
        transform: perspective(400px) rotateY(360deg) scale(0.95);
        animation-timing-function: ease-in
    }
    100% {
        transform: perspective(400px) scale(1);
        animation-timing-function: ease-in
    }
}

@-webkit-keyframes flipinX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateX(10deg)
    }
    100% {
        -webkit-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
}

@-moz-keyframes flipinX {
    0% {
        -moz-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
    40% {
        -moz-transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        -moz-transform: perspective(400px) rotateX(10deg)
    }
    100% {
        -moz-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
}

@-ms-keyframes flipinX {
    0% {
        -ms-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
    40% {
        -ms-transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        -ms-transform: perspective(400px) rotateX(10deg)
    }
    100% {
        -ms-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
}

@keyframes flipinX {
    0% {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
    40% {
        transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        transform: perspective(400px) rotateX(10deg)
    }
    100% {
        transform: perspective(400px) rotateX(0);
        opacity: 1
    }
}

@-webkit-keyframes flipinY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateY(10deg)
    }
    100% {
        -webkit-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
}

@-moz-keyframes flipinY {
    0% {
        -moz-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
    40% {
        -moz-transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        -moz-transform: perspective(400px) rotateY(10deg)
    }
    100% {
        -moz-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
}

@-ms-keyframes flipinY {
    0% {
        -ms-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
    40% {
        -ms-transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        -ms-transform: perspective(400px) rotateY(10deg)
    }
    100% {
        -ms-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
}

@keyframes flipinY {
    0% {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
    40% {
        transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        transform: perspective(400px) rotateY(10deg)
    }
    100% {
        transform: perspective(400px) rotateY(0);
        opacity: 1
    }
}

@-webkit-keyframes flipoutX {
    0% {
        -webkit-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
    100% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@-moz-keyframes flipoutX {
    0% {
        -moz-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
    100% {
        -moz-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@-ms-keyframes flipoutX {
    0% {
        -ms-transform: perspective(400px) rotateX(0);
        opacity: 1
    }
    100% {
        -ms-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@keyframes flipoutX {
    0% {
        transform: perspective(400px) rotateX(0);
        opacity: 1
    }
    100% {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@-webkit-keyframes flipoutY {
    0% {
        -webkit-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
    100% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@-moz-keyframes flipoutY {
    0% {
        -moz-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
    100% {
        -moz-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@-ms-keyframes flipoutY {
    0% {
        -ms-transform: perspective(400px) rotateY(0);
        opacity: 1
    }
    100% {
        -ms-transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@keyframes flipoutY {
    0% {
        transform: perspective(400px) rotateY(0);
        opacity: 1
    }
    100% {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@-webkit-keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

@-moz-keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

@-ms-keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

@keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

@-webkit-keyframes shake {
    0%, 100% {
        -webkit-transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translateX(-10px)
    }
    20%, 40%, 60%, 80% {
        -webkit-transform: translateX(10px)
    }
}

@-moz-keyframes shake {
    0%, 100% {
        -moz-transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        -moz-transform: translateX(-10px)
    }
    20%, 40%, 60%, 80% {
        -moz-transform: translateX(10px)
    }
}

@-ms-keyframes shake {
    0%, 100% {
        -ms-transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        -ms-transform: translateX(-10px)
    }
    20%, 40%, 60%, 80% {
        -ms-transform: translateX(10px)
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0)
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-10px)
    }
    20%, 40%, 60%, 80% {
        transform: translateX(10px)
    }
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate(15deg)
    }
    40% {
        -webkit-transform: rotate(-10deg)
    }
    60% {
        -webkit-transform: rotate(5deg)
    }
    80% {
        -webkit-transform: rotate(-5deg)
    }
    100% {
        -webkit-transform: rotate(0)
    }
}

@-moz-keyframes swing {
    20% {
        -moz-transform: rotate(15deg)
    }
    40% {
        -moz-transform: rotate(-10deg)
    }
    60% {
        -moz-transform: rotate(5deg)
    }
    80% {
        -moz-transform: rotate(-5deg)
    }
    100% {
        -moz-transform: rotate(0)
    }
}

@-ms-keyframes swing {
    20% {
        -ms-transform: rotate(15deg)
    }
    40% {
        -ms-transform: rotate(-10deg)
    }
    60% {
        -ms-transform: rotate(5deg)
    }
    80% {
        -ms-transform: rotate(-5deg)
    }
    100% {
        -ms-transform: rotate(0)
    }
}

@keyframes swing {
    20% {
        transform: rotate(15deg)
    }
    40% {
        transform: rotate(-10deg)
    }
    60% {
        transform: rotate(5deg)
    }
    80% {
        transform: rotate(-5deg)
    }
    100% {
        transform: rotate(0)
    }
}

@-webkit-keyframes wobble {
    0% {
        -webkit-transform: translateX(0)
    }
    15% {
        -webkit-transform: translateX(-100px) rotate(-5deg)
    }
    30% {
        -webkit-transform: translateX(80px) rotate(3deg)
    }
    45% {
        -webkit-transform: translateX(-65px) rotate(-3deg)
    }
    60% {
        -webkit-transform: translateX(40px) rotate(2deg)
    }
    75% {
        -webkit-transform: translateX(-20px) rotate(-1deg)
    }
    100% {
        -webkit-transform: translateX(0)
    }
}

@-moz-keyframes wobble {
    0% {
        -moz-transform: translateX(0)
    }
    15% {
        -moz-transform: translateX(-100px) rotate(-5deg)
    }
    30% {
        -moz-transform: translateX(80px) rotate(3deg)
    }
    45% {
        -moz-transform: translateX(-65px) rotate(-3deg)
    }
    60% {
        -moz-transform: translateX(40px) rotate(2deg)
    }
    75% {
        -moz-transform: translateX(-20px) rotate(-1deg)
    }
    100% {
        -moz-transform: translateX(0)
    }
}

@-ms-keyframes wobble {
    0% {
        -ms-transform: translateX(0)
    }
    15% {
        -ms-transform: translateX(-100px) rotate(-5deg)
    }
    30% {
        -ms-transform: translateX(80px) rotate(3deg)
    }
    45% {
        -ms-transform: translateX(-65px) rotate(-3deg)
    }
    60% {
        -ms-transform: translateX(40px) rotate(2deg)
    }
    75% {
        -ms-transform: translateX(-20px) rotate(-1deg)
    }
    100% {
        -ms-transform: translateX(0)
    }
}

@keyframes wobble {
    0% {
        transform: translateX(0)
    }
    15% {
        transform: translateX(-100px) rotate(-5deg)
    }
    30% {
        transform: translateX(80px) rotate(3deg)
    }
    45% {
        transform: translateX(-65px) rotate(-3deg)
    }
    60% {
        transform: translateX(40px) rotate(2deg)
    }
    75% {
        transform: translateX(-20px) rotate(-1deg)
    }
    100% {
        transform: translateX(0)
    }
}

@-webkit-keyframes ring {
    0% {
        -webkit-transform: scale(1)
    }
    10%, 20% {
        -webkit-transform: scale(0.9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale(1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        -webkit-transform: scale(1.1) rotate(-3deg)
    }
    100% {
        -webkit-transform: scale(1) rotate(0)
    }
}

@-moz-keyframes ring {
    0% {
        -moz-transform: scale(1)
    }
    10%, 20% {
        -moz-transform: scale(0.9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        -moz-transform: scale(1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        -moz-transform: scale(1.1) rotate(-3deg)
    }
    100% {
        -moz-transform: scale(1) rotate(0)
    }
}

@-ms-keyframes ring {
    0% {
        -ms-transform: scale(1)
    }
    10%, 20% {
        -ms-transform: scale(0.9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        -ms-transform: scale(1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        -ms-transform: scale(1.1) rotate(-3deg)
    }
    100% {
        -ms-transform: scale(1) rotate(0)
    }
}

@keyframes ring {
    0% {
        transform: scale(1)
    }
    10%, 20% {
        transform: scale(0.9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        transform: scale(1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        transform: scale(1.1) rotate(-3deg)
    }
    100% {
        transform: scale(1) rotate(0)
    }
}

.state-indicator {
    position: absolute;
    top: -999em;
    left: -999em;
    z-index: 1
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .state-indicator {
        z-index: 2
    }

    .nav .back-home a {
        background-image: url(../images/avatar@2x.jpg)
    }
}

@media only screen and (max-width: 1024px) {
    .works-content {
        margin-top: 140px !important
    }
}

@media only screen and (max-width: 960px) {
    .nav {
        width: 760px
    }

    .section {
        width: 760px
    }
}

@media only screen and (max-width: 800px) {
    .section-about .about-content {
        position: relative
    }

    .section-about .about-content .left {
        float: none;
        margin: 20px 0 0 20px
    }

    .section-about .about-content .right {
        position: absolute;
        right: 10px;
        top: 0
    }

    .section-about .about-content .my-photo {
        width: 250px;
        height: auto
    }

    .works-list {
        width: 630px;
        margin: 0 auto
    }

    .works-content .works-item:nth-child(2n+1) {
        margin-left: 0 !important
    }

    .works-content .works-item:nth-child(2n) {
        margin-left: 30px !important
    }

    .skill-content {
        width: 600px;
        margin: 0 auto
    }

    .contact-content {
        width: 600px;
        margin: 0 auto
    }

    .section-contact .contact-content h1 {
        text-align: center
    }
}
