#top,
.fixed_footer {
  display: none;
  position: fixed;
}

.fixed_footer,
body,
html {
  overflow: hidden;
}

#top,
.down,
.links li {
  cursor: pointer;
}

#dl_btn,
#logo_box,
#top,
.data,
.disclaimer,
.dlbtn,
p {
  text-align: center;
}

a {
  text-decoration: none;
}

#top {
  line-height: 14px;
  padding: 9px;
  z-index: 99;
  right: 50px;
  bottom: 20px;
  width: 45px;
  height: 45px;
  border-radius: 45px;
  font-size: 12px;
  color: #c0d4f4;
  font-family: "Microsoft yahei";
  background-color: #3886e4;
  box-sizing: border-box;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

#top:hover {
  color: #fff;
}

.fixed_footer {
  bottom: 0;
  left: 0;
  z-index: 2;
  -webkit-transition: all 0.7s ease-out 0.1s;
  -moz-transition: all 0.7s ease-out 0.1s;
  -ms-transition: all 0.7s ease-out 0.1s;
  -o-transition: all 0.7s ease-out 0.1s;
  transition: all 0.7s ease-out 0.1s;
  width: 100%;
  height: 90px;
  opacity: 0;
}

.fixed_footer.show_footer {
  display: block;
  opacity: 0.8;
  height: 90px;
}

.footer_nav_list {
  width: 1200px;
  height: 16px;
  margin: 34px auto 0;
  padding-inline-start: 0;
  overflow: hidden;
}

.footer_nav_list li {
  list-style: none;
  position: relative;
  float: left;
  height: 16px;
}

.footer_nav_list li a {
  height: 15px;
  line-height: 15px;
  padding: 0 10px;
  font-size: 12px;
  color: #b5d4f7;
  display: block;
}

.footer_nav_list li:last-child a:after {
  border-right: none;
}

.footer_nav_list li a:after {
  content: "";
  border-right: 1px solid #b5d4f7;
  position: absolute;
  right: 0;
  top: 3px;
  height: 11px;
}

.down,
.header {
  position: fixed;
  left: 50%;
}

.footer_nav_list li a:hover {
  color: #fff;
  background-position: 14px -15px;
}

.disclaimer,
.disclaimer a {
  color: #b5d4f7;
}

.footer_nav_list li .foo_link0 {
  background-position: 15px -1px;
}

.footer_nav_list li:hover .foo_link0 {
  background-position: 15px -18px;
}

.footer_nav_list li .foo_link1 {
  background-position: 15px -37px;
}

.footer_nav_list li:hover .foo_link1 {
  background-position: 15px -54px;
}

.footer_nav_list li .foo_link2 {
  background-position: 15px -73px;
}

.footer_nav_list li:hover .foo_link2 {
  background-position: 15px -90px;
}

.footer_nav_list li .foo_link3 {
  background-position: 15px -108px;
}

.footer_nav_list li:hover .foo_link3 {
  background-position: 15px -125px;
}

.footer_nav_list li .foo_link4 {
  background-position: 15px -144px;
}

.footer_nav_list li:hover .foo_link4 {
  background-position: 15px -162px;
}

.footer_nav_list li .foo_link5 {
  background-position: 15px -181px;
}

.footer_nav_list li:hover .foo_link5 {
  background-position: 15px -198px;
}

.footer_nav_list li .foo_link6 {
  background-position: 15px -216px;
}

.footer_nav_list li:hover .foo_link6 {
  background-position: 15px -232px;
}

.disclaimer {
  width: 1000px;
  height: 39px;
  line-height: 39px;
  margin: 0 auto;
  font-size: 12px;
}

.after .links a,
.before .links a {
  line-height: 19px;
  font-size: 14px;
  text-decoration: none;
}

.disclaimer a:hover {
  color: #fff;
}

.down {
  opacity: 0;
  z-index: 999;
  width: 96px;
  height: 50px;
  bottom: 10px;
  margin-left: -48px;
}

.down.before {
  background: url(img/arrow.png) left bottom no-repeat;
}

.down.after {
  background: url(img/arrow.png) right bottom no-repeat;
}

.down.play {
  opacity: 1;
  -webkit-animation: arrow 2s linear 0s infinite;
  -moz-animation: arrow 2s linear 0s infinite;
  -o-animation: arrow 2s linear 0s infinite;
  -ms-animation: arrow 2s linear 0s infinite;
  animation: arrow 2s linear 0s infinite;
}

@-webkit-keyframes arrow {
  50% {
    bottom: 20px;
  }

  100% {
    bottom: 10px;
  }
}

@-moz-keyframes arrow {
  50% {
    bottom: 20px;
  }

  100% {
    bottom: 10px;
  }
}

@-o-keyframes arrow {
  50% {
    bottom: 20px;
  }

  100% {
    bottom: 10px;
  }
}

@-ms-keyframes arrow {
  50% {
    bottom: 20px;
  }

  100% {
    bottom: 10px;
  }
}

@keyframes arrow {
  50% {
    bottom: 20px;
  }

  100% {
    bottom: 10px;
  }
}

.header {
  font-family: "Microsoft yahei";
  z-index: 99;
  width: 1000px;
  height: 75px;
  margin: 0 auto 0 -500px;
}

.tit,
.word {
  left: 0;
  position: absolute;
}

.tit {
  width: 284px;
  height: 36px;
  top: 20px;
  z-index: 999;
}

.before .tit {
  background: url(img/logo4.png) left center no-repeat;
}

.after .tit {
  background: url(img/logo4.png) right center no-repeat;
}

.links {
  z-index: 9;
  position: absolute;
  right: -13px;
  top: 21px;
  color: #666;
  white-space: nowrap;
  height: 30px;
  padding-top: 6px;
  margin: 0;
}

.links li {
  margin-left: 13px;
  margin-right: 13px;
  float: left;
  list-style: none;
}

#w1,
#w2 {
  margin-left: 495px;
}

#w3,
#w4 {
  margin-left: 237px;
}

.before .links a {
  color: #b0ccf7;
}

#w1,
.before .links a:hover {
  color: #418fee;
}

.after .links a {
  color: #9ec1f5;
}

.after .links a:hover {
  color: #fff;
}

.word {
  font-family: tt2;
  top: 0;
  font-size: 60px;
  z-index: 99;
  letter-spacing: 0;
  opacity: 0;
  display: none;
  -webkit-transition: all 0.5s linear 0s;
  -moz-transition: all 0.5s linear 0s;
  -ms-transition: all 0.5s linear 0s;
  -o-transition: all 0.5s linear 0s;
  transition: all 0.5s linear 0s;
}

#w1,
#w3,
#w4 {
  top: 50%;
}

.dlbtn,
.word_l {
  font-size: 18px;
  font-family: source;
}

#w3 .dlbtn {
  left: 106%;
  bottom: 0;
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}

#dl_btn,
#logo_box,
#w1,
#w2,
#w4,
.data,
.dlbtn {
  left: 50%;
}

.dlbtn {
  text-decoration: none;
  position: absolute;
  width: 121px;
  height: 28px;
  bottom: -128%;
  -webkit-transform: translate3D(-50%, 0, 0);
  -moz-transform: translate3D(-50%, 0, 0);
  -ms-transform: translate3D(-50%, 0, 0);
  -o-transform: translate3D(-50%, 0, 0);
  transform: translate3D(-50%, 0, 0);
  border: 1px solid #a0c7f7;
  border-radius: 70px;
  line-height: 31.5px;
  min-width: 83px !important;
  min-height: 13px !important;
}

.word span {
  margin-right: 7px;
}

.word span:last-child {
  margin-right: 0;
}

.data,
p {
  font-size: 12px;
}

.word_l span {
  margin-right: 11px;
}

#w1 {
  -webkit-transform: translate3D(0, -100%, 0);
  -moz-transform: translate3D(0, -100%, 0);
  -ms-transform: translate3D(0, -100%, 0);
  -o-transform: translate3D(0, -100%, 0);
  transform: translate3D(0, -100%, 0);
}

#w1 .dlbtn,
#w2 .dlbtn {
  background-color: #fff;
  color: #418fee;
}

#w1 .dlbtn:hover,
#w2 .dlbtn:hover {
  background-color: #ecf4fd;
}

#dl_btn .dlbtn,
#w3 .dlbtn,
#w4 .dlbtn {
  color: #fff;
  border: 1px solid #fff;
}

#w3,
#w4 {
  color: #fff;
}

#dl_btn .dlbtn:hover,
#w3 .dlbtn:hover,
#w4 .dlbtn:hover {
  background-color: #62a3ef;
}

#top.fadein,
.down.fadein,
.word.fadein {
  display: block;
  opacity: 0;
  -webkit-animation: fadein linear 0.5s forwards 0.5s;
  -moz-animation: fadein linear 0.5s forwards 0.5s;
  -ms-animation: fadein linear 0.5s forwards 0.5s;
  -o-animation: fadein linear 0.5s forwards 0.5s;
  animation: fadein linear 0.5s forwards 0.5s;
}

#top.fadeout,
#w3.fadeout,
.down.fadeout,
.word.fadeout {
  opacity: 1;
  -webkit-animation: fadeout linear 0.5s forwards 0s;
  -moz-animation: fadeout linear 0.5s forwards 0s;
  -ms-animation: fadeout linear 0.5s forwards 0s;
  -o-animation: fadeout linear 0.5s forwards 0s;
  animation: fadeout linear 0.5s forwards 0s;
}

#w2 {
  top: auto;
  -webkit-transform: translate3D(-500px, -12px, 0);
  -moz-transform: translate3D(-500px, -12px, 0);
  -ms-transform: translate3D(-500px, -12px, 0);
  -o-transform: translate3D(-500px, -12px, 0);
  transform: translate3D(-500px, -12px, 0);
  color: #418fee;
  -webkit-transition: all 0.8s ease-out 0s;
  -moz-transition: all 0.8s ease-out 0s;
  -ms-transition: all 0.8s ease-out 0s;
  -o-transition: all 0.8s ease-out 0s;
  transition: all 0.8s ease-out 0s;
}

#w2.slideright {
  -webkit-animation: slideright ease-out 0.8s forwards 0.5s;
  -moz-animation: slideright ease-out 0.8s forwards 0.5s;
  -ms-animation: slideright ease-out 0.8s forwards 0.5s;
  -o-animation: slideright ease-out 0.8s forwards 0.5s;
  animation: slideright ease-out 0.8s forwards 0.5s;
}

#w2.slideright_back {
  opacity: 0;
  -webkit-animation: slideright ease-out 0.8s forwards 0s;
  -moz-animation: slideright ease-out 0.8s forwards 0s;
  -ms-animation: slideright ease-out 0.8s forwards 0s;
  -o-animation: slideright ease-out 0.8s forwards 0s;
  animation: slideright ease-out 0.8s forwards 0s;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -ms-animation-direction: reverse;
  -o-animation-direction: reverse;
  animation-direction: reverse;
}

#w4.rotatein {
  opacity: 1;
  display: block;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
  -moz-transform: perspective(2000px) rotateY(-90deg);
  -ms-transform: perspective(2000px) rotateY(-90deg);
  -o-transform: perspective(2000px) rotateY(-90deg);
  transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  perspective: 100px;
  -webkit-animation: rotatein linear 0.6s forwards 0.3s;
  -moz-animation: rotatein linear 0.6s forwards 0.3s;
  -ms-animation: rotatein linear 0.6s forwards 0.3s;
  -o-animation: rotatein linear 0.6s forwards 0.3s;
  animation: rotatein linear 0.6s forwards 0.3s;
}

#w4.rotateout {
  -webkit-transform: perspective(2000px) rotateY(0);
  -moz-transform: perspective(2000px) rotateY(0);
  -ms-transform: perspective(2000px) rotateY(0);
  -o-transform: perspective(2000px) rotateY(0);
  transform: perspective(2000px) rotateY(0);
  -webkit-animation: rotateout 0.3s linear forwards 0s;
  -moz-animation: rotateout 0.3s linear forwards 0s;
  -ms-animation: rotateout 0.3s linear forwards 0s;
  -o-animation: rotateout 0.3s linear forwards 0s;
  animation: rotateout 0.3s linear forwards 0s;
}

@-webkit-keyframes rotateout {
  0% {
    -webkit-transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@-moz-keyframes rotateout {
  0% {
    -moz-transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }

  100% {
    -moz-transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@-ms-keyframes rotateout {
  0% {
    -ms-transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }

  100% {
    -ms-transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@-o-keyframes rotateout {
  0% {
    -o-transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }

  100% {
    -o-transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes rotateout {
  0% {
    transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }

  100% {
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotatein {

  100%,
  33% {
    -webkit-transform: perspective(2000px) rotateY(0);
  }

  66% {
    -webkit-transform: perspective(2000px) rotateY(-30deg);
  }
}

@-moz-keyframes rotatein {

  100%,
  33% {
    -moz-transform: perspective(2000px) rotateY(0);
  }

  66% {
    -moz-transform: perspective(2000px) rotateY(-30deg);
  }
}

@-ms-keyframes rotatein {

  100%,
  33% {
    -ms-transform: perspective(2000px) rotateY(0);
  }

  66% {
    -ms-transform: perspective(2000px) rotateY(-30deg);
  }
}

@-o-keyframes rotatein {

  100%,
  33% {
    -o-transform: perspective(2000px) rotateY(0);
  }

  66% {
    -o-transform: perspective(2000px) rotateY(-30deg);
  }
}

@keyframes rotatein {

  100%,
  33% {
    transform: perspective(2000px) rotateY(0);
  }

  66% {
    transform: perspective(2000px) rotateY(-30deg);
  }
}

@-webkit-keyframes slideright {
  0% {
    opacity: 0;
    -webkit-transform: translate3D(-500px, -12px, 0);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3D(0, -12px, 0);
  }
}

@-moz-keyframes slideright {
  0% {
    opacity: 0;
    -moz-transform: translate3D(-500px, -12px, 0);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    -moz-transform: translate3D(0, -12px, 0);
  }
}

@-ms-keyframes slideright {

  100%,
  50% {
    opacity: 1;
  }

  0% {
    opacity: 0;
    -ms-transform: translate3D(-500px, -12px, 0);
  }

  100% {
    -ms-transform: translate3D(0, -12px, 0);
  }
}

@-o-keyframes slideright {
  0% {
    opacity: 0;
    -o-transform: translate3D(-500px, -12px, 0);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    -o-transform: translate3D(0, -12px, 0);
  }
}

@keyframes slideright {
  0% {
    opacity: 0;
    transform: translate3D(-500px, -12px, 0);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    transform: translate3D(0, -12px, 0);
  }
}

#w3 {
  left: 49%;
  margin-top: 55px;
}

#w4 {
  margin-top: 0;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#w4 .dlbtn {
  bottom: -109%;
}

@font-face {
  font-family: tt2;
  src: url(tt2.eot);
  src: url(tt2.eot%3F) format("embedded-opentype"),
    url(tt2.woff) format("woff"),
    url(tt2.ttf) format("truetype"), url(tt2.svg) format("svg");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: source;
  src: url(source.eot);
  src: url(source.eot%3F) format("embedded-opentype"),
    url(source.woff) format("woff"),
    url(source.ttf) format("truetype"),
    url(source.svg) format("svg");
  font-weight: 400;
  font-style: normal;
}

#logo_sogou_wrap {
  width: 577px;
  height: 64px;
  display: none;
  position: absolute;
  left: 50%;
  top: 20px;
  z-index: 2;
  -webkit-transform: translate3D(-50%, 0, 0);
  -moz-transform: translate3D(-50%, 0, 0);
  -ms-transform: translate3D(-50%, 0, 0);
  -o-transform: translate3D(-50%, 0, 0);
  transform: translate3D(-50%, 0, 0);
}

#logo_sogou {
  width: 100%;
  height: 100%;
  background: url(img/logo_sogou_min11.0.png) center 0 no-repeat;
  background-size: 100% 2500%;
}

#logo_sogou.write {
  -webkit-animation: write 1s steps(24, end) 0.5s forwards;
  -moz-animation: write 1s steps(24, end) 0.5s forwards;
  -o-animation: write 1s steps(24, end) 0.5s forwards;
  -ms-animation: write 1s steps(24, end) 0.5s forwards;
  animation: write 1s steps(24, end) 0.5s forwards;
}

#logo_sogou.write_back {
  -webkit-animation: write 0.5s steps(24, end) backwards;
  -moz-animation: write 0.5s steps(24, end) backwards;
  -o-animation: write 0.5s steps(24, end) backwards;
  -ms-animation: write 0.5s steps(24, end) backwards;
  animation: write 0.5s steps(24, end) backwards;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -o-animation-direction: reverse;
  -ms-animation-direction: reverse;
  animation-direction: reverse;
}

.data {
  -webkit-transform: translate3d(-50%, 0, 0);
  -moz-transform: translate3d(-50%, 0, 0);
  -ms-transform: translate3d(-50%, 0, 0);
  -o-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
  white-space: nowrap;
  position: absolute;
  top: 100%;
  width: 312px;
  height: 20px;
  color: #dae9fb;
  font-family: "Microsoft yahei";
}

.data span {
  color: #dae9fb;
}

.data2 {
  top: 150%;
  font-size: 14px;
  color: #ffffff;
}

.data2 span {
  color: #ffffff;
}

.data2 a {
  text-decoration: underline;
  color: #ffffff;
}

#ball_head_box,
#logo_box {
  position: absolute;
  top: 50%;
}

#ball_head,
.box,
body,
canvas {
  width: 100%;
  height: 100%;
}

.data span {
  margin-left: 7px;
  margin-right: 7px;
}

#dl_btn {
  text-decoration: none;
  position: absolute;
  background: transparent;
  top: 20px;
  -webkit-transform: translate3D(-50%, 0, 0);
  -moz-transform: translate3D(-50%, 0, 0);
  -ms-transform: translate3D(-50%, 0, 0);
  -o-transform: translate3D(-50%, 0, 0);
  transform: translate3D(-50%, 0, 0);
  opacity: 0;
  display: none;
  z-index: 99;
}

#dl_btn .dlbtn {
  opacity: 1;
  display: block;
}

#dl_btn.dlfadein {
  display: block;
  -webkit-animation: dlfadein 1s ease-out 1s forwards;
  -moz-animation: dlfadein 1s ease-out 1s forwards;
  -ms-animation: dlfadein 1s ease-out 1s forwards;
  -o-animation: dlfadein 1s ease-out 1s forwards;
  animation: dlfadein 1s ease-out 1s forwards;
}

#dl_btn.dlfadein_back {
  display: block;
  -webkit-animation: dlfadein 0.5s ease-out forwards;
  -moz-animation: dlfadein 0.5s ease-out forwards;
  -ms-animation: dlfadein 0.5s ease-out forwards;
  -o-animation: dlfadein 0.5s ease-out forwards;
  animation: dlfadein 0.5s ease-out forwards;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -ms-animation-direction: reverse;
  -o-animation-direction: reverse;
  animation-direction: reverse;
}

@-webkit-keyframes dlfadein {
  0% {
    -webkit-transform: translate3D(-50%, 0, 0);
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3D(-50%, -100%, 0);
    opacity: 1;
  }
}

@-moz-keyframes dlfadein {
  0% {
    -moz-transform: translate3D(-50%, 0, 0);
    opacity: 0;
  }

  100% {
    -moz-transform: translate3D(-50%, -100%, 0);
    opacity: 1;
  }
}

@-ms-keyframes dlfadein {
  0% {
    -ms-transform: translate3D(-50%, 0, 0);
    opacity: 0;
  }

  100% {
    -ms-transform: translate3D(-50%, -100%, 0);
    opacity: 1;
  }
}

@-o-keyframes dlfadein {
  0% {
    -o-transform: translate3D(-50%, 0, 0);
    opacity: 0;
  }

  100% {
    -o-transform: translate3D(-50%, -100%, 0);
    opacity: 1;
  }
}

@keyframes dlfadein {
  0% {
    transform: translate3D(-50%, 0, 0);
    opacity: 0;
  }

  100% {
    transform: translate3D(-50%, -100%, 0);
    opacity: 1;
  }
}

@-webkit-keyframes write {
  to {
    background-position: center bottom;
  }
}

@-moz-keyframes write {
  to {
    background-position: center bottom;
  }
}

@-ms-keyframes write {
  to {
    background-position: center bottom;
  }
}

@-o-keyframes write {
  to {
    background-position: center bottom;
  }
}

@keyframes write {
  to {
    background-position: center bottom;
  }
}

@-webkit-keyframes changebgblue_inner {

  10%,
  39.999999% {
    background-color: #4693ec;
  }

  100%,
  40% {
    background-color: #fff;
  }
}

@-moz-keyframes changebgblue_inner {

  10%,
  39.999999% {
    background-color: #4693ec;
  }

  100%,
  40% {
    background-color: #fff;
  }
}

@-ms-keyframes changebgblue_inner {

  10%,
  39.999999% {
    background-color: #4693ec;
  }

  100%,
  40% {
    background-color: #fff;
  }
}

@-o-keyframes changebgblue_inner {

  10%,
  39.999999% {
    background-color: #4693ec;
  }

  100%,
  40% {
    background-color: #fff;
  }
}

@keyframes changebgblue_inner {

  10%,
  39% {
    background-color: #4693ec;
  }

  100%,
  40% {
    background-color: #fff;
  }
}

@-webkit-keyframes rotate {
  10% {
    width: 16px;
    height: 16px;
    -webkit-transform: translate3D(5%, 0, 0) rotateY(0);
  }

  39% {
    -webkit-transform: translate3D(0, 0, 0) rotateY(0);
  }

  40% {
    width: 5000px;
    height: 5000px;
    left: 50%;
    -webkit-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }

  100% {
    width: 16px;
    height: 16px;
    left: 40%;
    -webkit-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }
}

@-moz-keyframes rotate {
  10% {
    width: 16px;
    height: 16px;
    -moz-transform: translate3D(5%, 0, 0) rotateY(0);
  }

  39% {
    -moz-transform: translate3D(0, 0, 0) rotateY(0);
  }

  40% {
    width: 5000px;
    height: 5000px;
    left: 50%;
    -moz-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }

  100% {
    width: 16px;
    height: 16px;
    left: 40%;
    -moz-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }
}

@-ms-keyframes rotate {

  10%,
  100% {
    width: 16px;
    height: 16px;
  }

  100%,
  40% {
    -ms-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }

  10% {
    -ms-transform: translate3D(5%, 0, 0) rotateY(0);
  }

  39% {
    -ms-transform: translate3D(0, 0, 0) rotateY(0);
  }

  40% {
    width: 5000px;
    height: 5000px;
    left: 50%;
  }

  100% {
    left: 40%;
  }
}

@-o-keyframes rotate {
  10% {
    width: 16px;
    height: 16px;
    -o-transform: translate3D(5%, 0, 0) rotateY(0);
  }

  39% {
    -o-transform: translate3D(0, 0, 0) rotateY(0);
  }

  40% {
    width: 5000px;
    height: 5000px;
    left: 50%;
    -o-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }

  100% {
    width: 16px;
    height: 16px;
    left: 40%;
    -o-transform: translate3D(0, 0, 0) rotateY(-180deg);
  }
}

@keyframes rotate {
  10% {
    transform: translate3D(5%, 0, 0) rotateY(0);
  }

  39% {
    transform: translate3D(0, 0, 0) rotateY(0);
  }

  40% {
    width: 5000px;
    height: 5000px;
    left: 50%;
    transform: translate3D(0, 0, 0) rotateY(-180deg);
  }

  100% {
    width: 16px;
    height: 16px;
    left: 40%;
    transform: translate3D(0, 0, 0) rotateY(-180deg);
  }
}

@-webkit-keyframes changebg {

  0%,
  40% {
    background-color: #fff;
  }

  100%,
  40.000001% {
    background-color: #4693ec;
  }
}

@-moz-keyframes changebg {

  0%,
  40% {
    background-color: #fff;
  }

  100%,
  40.000001% {
    background-color: #4693ec;
  }
}

@-ms-keyframes changebg {

  0%,
  40% {
    background-color: #fff;
  }

  100%,
  40.000001% {
    background-color: #4693ec;
  }
}

@-o-keyframes changebg {

  0%,
  40% {
    background-color: #fff;
  }

  100%,
  40.000001% {
    background-color: #4693ec;
  }
}

@keyframes changebg {

  0%,
  40% {
    background-color: #fff;
  }

  100%,
  40.000001% {
    background-color: #4693ec;
  }
}

@-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;
  }
}

@-o-keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-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;
  }
}

@-o-keyframes fadeout {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

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

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes slideup {
  0% {
    width: 100%;
    height: 100%;
    top: 0;
  }

  100% {
    width: 75%;
    height: 75%;
    -webkit-transform: translate3D(0, -23%, 0);
  }
}

@-moz-keyframes slideup {
  0% {
    width: 100%;
    height: 100%;
    top: 0;
  }

  100% {
    width: 75%;
    height: 75%;
    -moz-transform: translate3D(0, -23%, 0);
  }
}

@-ms-keyframes slideup {
  0% {
    width: 100%;
    height: 100%;
    top: 0;
  }

  100% {
    width: 75%;
    height: 75%;
    -ms-transform: translate3D(0, -23%, 0);
  }
}

@-o-keyframes slideup {
  0% {
    width: 100%;
    height: 100%;
    top: 0;
  }

  100% {
    width: 75%;
    height: 75%;
    -o-transform: translate3D(0, -23%, 0);
  }
}

@keyframes slideup {
  0% {
    width: 100%;
    height: 100%;
    top: 0;
  }

  100% {
    width: 75%;
    height: 75%;
    transform: translate3D(0, -23%, 0);
  }
}

body {
  position: absolute;
  margin: 0;
  padding: 0;
  background: #fff;
  perspective: 700px;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

canvas {
  position: relative;
  display: block;
  z-index: 1;
}

canvas.changebgblue {
  -webkit-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -moz-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -ms-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -o-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) forwards;
}

canvas.changebgblue_back {
  background-color: #4693ec;
  -webkit-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -moz-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -ms-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -o-animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  animation: changebg 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -ms-animation-direction: reverse;
  -o-animation-direction: reverse;
  animation-direction: reverse;
}

p {
  color: #454545;
}

#ball_head_box {
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  z-index: 99;
  background: 0 0;
  border-radius: 100%;
}

#ball_head {
  border-radius: 100%;
  position: absolute;
  -webkit-transform: translate3D(0, -50%, 0);
  -moz-transform: translate3D(0, -50%, 0);
  -ms-transform: translate3D(0, -50%, 0);
  -o-transform: translate3D(0, -50%, 0);
  transform: translate3D(0, -50%, 0);
  background: #4693ec;
  z-index: 2;
}

#ball_head_box.roll {
  -webkit-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -moz-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -ms-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -o-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) forwards;
}

#ball_head_box.roll #ball_head {
  -webkit-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -moz-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -ms-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  -o-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) forwards;
  animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) forwards;
}

#ball_head_box.roll_back #ball_head {
  -webkit-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -moz-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -ms-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -o-animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  animation: changebgblue_inner 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -ms-animation-direction: reverse;
  -o-animation-direction: reverse;
  animation-direction: reverse;
}

#ball_head_box.roll_back {
  -webkit-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -moz-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -ms-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -o-animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  animation: rotate 1s cubic-bezier(0.4, 0, 1, 1) 0.8s forwards;
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -ms-animation-direction: reverse;
  -o-animation-direction: reverse;
  animation-direction: reverse;
}

#logo_box.fadein {
  display: block;
  -webkit-animation: fadein 1s ease-in forwards;
  -moz-animation: fadein 1s ease-in forwards;
  -ms-animation: fadein 1s ease-in forwards;
  -o-animation: fadein 1s ease-in forwards;
  animation: fadein 1s ease-in forwards;
}

#logo_box.fadein_back {
  display: block;
  -webkit-animation: fadeout 0.5s ease-in forwards;
  -moz-animation: fadeout 0.5s ease-in forwards;
  -ms-animation: fadeout 0.5s ease-in forwards;
  -o-animation: fadeout 0.5s ease-in forwards;
  animation: fadeout 0.5s ease-in forwards;
}

#logo.slideup {
  display: block;
  width: 75%;
  height: 75%;
  -webkit-transform: translate3D(0, -23%, 0);
  -moz-transform: translate3D(0, -23%, 0);
  -ms-transform: translate3D(0, -23%, 0);
  -o-transform: translate3D(0, -23%, 0);
  transform: translate3D(0, -23%, 0);
}

#logo_box {
  opacity: 0;
  width: 426px;
  height: 426px;
  transform: translate3D(-50%, -50%, 0);
  -webkit-transform: translate3D(-50%, -50%, 0);
  -moz-transform: translate3D(-50%, -50%, 0);
  -ms-transform: translate3D(-50%, -50%, 0);
  -o-transform: translate3D(-50%, -50%, 0);
  transform-origin: left center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -ms-transform-origin: center center;
  -o-transform-origin: center center;
  display: none;
  z-index: 2;
}

#logo {
  width: 100%;
  height: 100%;
  background-image: url(img/logo.png);
  background-size: contain;
  margin: 0 auto;
  -webkit-transform: translate3D(0, 0, 0);
  -moz-transform: translate3D(0, 0, 0);
  -ms-transform: translate3D(0, 0, 0);
  -o-transform: translate3D(0, 0, 0);
  transform: translate3D(0, 0, 0);
  -webkit-transition: all 0.5s linear 0s;
  -moz-transition: all 0.5s linear 0s;
  -ms-transition: all 0.5s linear 0s;
  -o-transition: all 0.5s linear 0s;
  transition: all 0.5s linear 0s;
}