.service {
  padding: 15% 60px;
}
.service-list {
  margin: 0 auto;
  max-width: 1100px;
}
.service-item {
  position: relative;
  margin-bottom: 20%;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
}
.service-item:last-child {
  margin-bottom: 0;
}
.service-item:nth-child(even) {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.service-item:hover img {
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.service-img {
  position: relative;
  width: 58%;
  padding-bottom: 40%;
  overflow: hidden;
}
.service-mask {
  position: absolute;
  top: 0;
  width: 100%;
  height: 167%;
  overflow: hidden;
  -moz-transition: top 4s;
  -o-transition: top 4s;
  -webkit-transition: top 4s;
  transition: top 4s;
}
.service-mask img {
  width: 100%;
  -moz-transition: -moz-transform 0.6s;
  -o-transition: -o-transform 0.6s;
  -webkit-transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
}
.service-info {
  position: relative;
  width: 42%;
  padding: 70px 60px;
  color: #FFF;
  -moz-transition: -moz-transform 1s;
  -o-transition: -o-transform 1s;
  -webkit-transition: -webkit-transform 1s;
  transition: transform 1s;
}
.service-item:nth-child(even) .service-info {
  margin-right: -120px;
  padding-right: 180px;
}
.service-item:nth-child(odd) .service-info {
  margin-left: -120px;
  padding-left: 180px;
}
.service-step, .service-title, .service-text {
  position: relative;
  top: 40px;
  opacity: 0;
  -moz-transition: opacity 0.6s, top 0.6s;
  -o-transition: opacity 0.6s, top 0.6s;
  -webkit-transition: opacity 0.6s, top 0.6s;
  transition: opacity 0.6s, top 0.6s;
}
.show-info .service-step, .show-info .service-title, .show-info .service-text {
  opacity: 1;
  top: 0;
}
.service-num {
  font-size: 1.5em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.service-step {
  color: #999;
}
.service-title {
  font-weight: normal;
  font-size: 1.5em;
  margin: 20px 0 40px;
  letter-spacing: 5px;
  -moz-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.service-text {
  font-size: 0.875em;
  color: #ccc;
  -moz-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
  min-height: 3em;
}
.service-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.service-box-line1, .service-box-line2 {
  position: absolute;
  width: 100%;
  height: 100%;
}
.service-box-line1 {
  top: -7px;
  left: -7px;
}
.service-box-t, .service-box-b {
  position: absolute;
  width: 0%;
  height: 1px;
  background: #fff;
  opacity: 0.5;
  -moz-transition: width 1s;
  -o-transition: width 1s;
  -webkit-transition: width 1s;
  transition: width 1s;
}
.show-info .service-box-t, .show-info .service-box-b {
  width: 100%;
}
.service-box-t {
  top: 0;
  left: 0;
}
.service-box-b {
  bottom: 0;
  right: 0;
}
.service-box-l, .service-box-r {
  position: absolute;
  height: 0%;
  width: 1px;
  background: #fff;
  opacity: 0.5;
  -moz-transition: height 0.5s;
  -o-transition: height 0.5s;
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}
.show-info .service-box-l, .show-info .service-box-r {
  height: 100%;
}
.service-box-l {
  bottom: 0;
  left: 0;
}
.service-box-r {
  top: 0;
  right: 0;
}

@media screen and (max-width: 1100px) {
  .service {
    padding: 15% 20px;
  }

  .service-item:nth-child(even) .service-info {
    margin-right: -60px;
    padding-right: 120px;
  }
  .service-item:nth-child(odd) .service-info {
    margin-left: -60px;
    padding-left: 120px;
  }
}
@media screen and (max-width: 800px) {
  .service-item {
    display: block;
  }
  .service-img {
    width: 100%;
    padding-bottom: 60%;
  }
  .service-info {
    width: 80%;
    margin: -60px auto 0;
    padding-top: 130px;
    box-sizing: border-box;
  }
  .service-item:nth-child(even) .service-info {
    margin-right: auto;
    padding-right: 60px;
  }
  .service-item:nth-child(odd) .service-info {
    margin-left: auto;
    padding-left: 60px;
  }
}
@media screen and (max-width: 640px) {
  .service-img {
    padding-bottom: 80%;
  }

  .service-info {
    width: 90%;
    margin-top: -30px;
    padding: 70px 30px 40px;
  }
  .service-item:nth-child(even) .service-info {
    padding-right: 30px;
  }
  .service-item:nth-child(odd) .service-info {
    padding-left: 30px;
  }

  .service-title, .service-num {
    font-size: 1.25em;
  }
}
