html, body {
  overflow-x: hidden;
}

body {
  font-family: 'Microsoft Yahei', 'helvetica neue', helvetica, sans-serif;
  line-height: 1.8;
  background-color: #000;
  font-size: 18px;
  padding-top: 126px;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*-- header --*/

header {
  height: 126px;
  background: rgba(0, 0, 0, 0.96) url(../img/head-gradient.png) center bottom no-repeat;
  border-bottom: 1px solid #494048;
  position: relative;
  z-index: 10;
}

header .container {
  height: 100%;
}

header .navbar {
  height: 100%;
  padding-bottom: 0;
}

header .navbar a {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 18px;
}

header .navbar a:hover {
  color: #fff !important;
}

header .navbar-nav {
  width: 100%;
  height: 100%;
}

header .navbar-nav li {
  height: 100%;
  transition: all ease-out 300ms;
}

header .navbar-nav>li.active {
  border-bottom: 2px solid #fff;
}

header .navbar-nav>li.active a {
  color: #fff !important;
}

header .navbar-brand {
  margin-top: -15px;
}

header .navbar-brand img {
  width: 169px;
  height: 44px;
}

@media (min-width: 576px) {
  header .navbar>div {
    height: 100%;
  }
}

@media (max-width: 576px) {
  header {
    height: auto !important;
    padding-bottom: 20px;
    background-color: #000;
  }
  header .container {
    height: 100% !important;
  }
  header .navbar {
    height: 100% !important;
  }
  header .navbar-nav {
    width: auto !important;
    height: auto !important;
    margin-top: 20px;
  }
  header .navbar-nav li {
    height: auto !important;
  }
  header .navbar-nav>li.active {
    border: none;
  }
  header .navbar-nav>li.active a {
    color: #fff !important;
  }
  body {
    padding-top: 90px;
  }
}

/*-- container --*/

.container {
  max-width: 1200px !important;
}

.content-wrap {
  padding: 0 50px;
  position: relative;
}

/*-- section --*/

section {
  width: 100%;
  min-height: 1080px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: relative;
  padding-bottom: 80px;
}

@media (max-width: 576px) {
  section {
    min-height: 600px;
    height: auto;
  }
  .section-header h3 {
    transform: scale(0.65);
  }
}

section h3 {
  font-size: 60px;
  color: #fff;
  font-weight: bold;
  position: relative;
}

.section-top {
  background-image: url(../img/head-bg.jpg);
  position: relative;
  margin-top: -126px;
  padding-top: 126px;
}

.section-top .slogan {
  color: #fff;
  width: 750px;
  padding-top: 200px;
}

.section-top .slogan .slogan-1 {
  font-size: 66px;
  font-weight: bold;
}

.section-top .slogan .slogan-2 {
  font-size: 64px;
  font-weight: normal;
}

.section-top .slogan .slogan-3 {
  font-size: 20px;
  margin-top: 25px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.6);
}

.section-top .slogan .slogan-3 p {
  padding: 0;
  margin: 0;
}

.section-top .slogan .btn {
  width: 140px;
  margin-top: 60px;
}

.section-top .slogan .btn>span {
  background: -webkit-linear-gradient(90deg, rgba(236, 101, 80, 1) 40%, rgba(212, 128, 72, 1) 80%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #eb4f5a;
}

.section-top .slogan .btn>i {
  color: #fff;
  font-size: 14px;
}

.section-top .slogan .btn:hover {
  opacity: 0.8;
}

@media (max-width: 576px) {
  .section-top .slogan {
    padding-top: 75px;
    width: auto;
  }
  .section-top .slogan-1 {
    font-size: 34px !important;
  }
  .section-top .slogan-2 {
    font-size: 28px !important;
  }
  .section-top .slogan-3 {
    font-size: 14px !important;
  }
}

/*-- section aboutus --*/

.section-aboutus {
  background-image: url(../img/aboutus/bg.jpg);
  color: #fff;
}

.section-aboutus .section-header {
  padding-top: 23.5%;
  position: relative;
}

.section-aboutus .section-header>div {
  position: absolute;
  background: url(../img/aboutus/e1.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  top: 0;
}

.section-aboutus .section-header h3 {
  margin-top: 139px;
  margin-right: 70px;
}

.section-aboutus .section-header h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 500px;
  height: 10px;
  background-color: #fff;
  right: 10px;
  top: 13px;
  transform: translate3d(100%, 0, 0);
  z-index: 0;
}

.section-aboutus .section-header::before {
  content: '';
  position: absolute;
  background: url(../img/aboutus/e5.png) no-repeat;
  background-size: cover;
  width: 187px;
  height: 30px;
  z-index: 5;
  right: -25px;
  top: 60px;
}

.section-aboutus .about-text {
  margin-top: 140px;
  padding-left: 10px;
  padding-right: 30px;
  position: relative;
}

.section-aboutus .about-text::before {
  content: '';
  width: 60px;
  height: 80px;
  position: absolute;
  left: -40px;
  top: -32px;
  background: url(../img/aboutus/e3.png) no-repeat;
  background-size: contain;
}

.section-aboutus .about-text::after {
  content: '';
  width: 46px;
  height: 45px;
  position: absolute;
  background: url(../img/aboutus/e4.png) no-repeat;
  background-size: cover;
  bottom: -50px;
  right: 0;
}

.section-aboutus .about-pic {
  padding-top: 80px;
  padding-left: 50px;
}

.section-aboutus .about-list-text {
  margin-top: 30px;
}

.section-aboutus .about-list {
  margin-top: 130px;
}

.section-aboutus .about-list>li {
  margin-bottom: 30px;
}

.section-aboutus .about-list p {
  padding: 0;
  margin: 0;
  font-size: 20px;
  text-align: center;
}

@media (max-width: 576px) {
  .section-aboutus .section-header {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/*-- section adv --*/

.section-adv {
  background-image: url(../img/adv/bg.jpg)
}

.section-adv .section-header {
  padding-top: 100px;
  padding-left: 20px;
}

.section-adv .section-header h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 435px;
  height: 8px;
  background-color: #fff;
  left: 10px;
  top: 26px;
  transform: translate3d(-100%, 0, 0);
  z-index: 0;
}

.section-adv .adv-list {
  width: 97%;
  margin-top: 150px;
}

.section-adv .adv-list>li {
  padding: 40px 30px;
  color: #fff;
  font-size: 16px;
}

.section-adv .adv-list>li>div {
  padding: 70px 40px;
  text-align: center;
  background-image: linear-gradient(to bottom, #0d142a, #2c3755);
  border-radius: 8px;
  min-height: 470px;
}

.section-adv .adv-list>li:nth-child(2) {
  margin-top: 70px;
}

.section-adv .adv-list .adv-title {
  font-size: 22px;
  margin-top: 20px;
  background: -webkit-linear-gradient(0deg, #ef8d4f 40%, #ea3a5e 80%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  position: relative;
}

.section-adv .adv-list .adv-title::after {
  content: '';
  width: 35px;
  height: 2px;
  background-color: rgba(205, 288, 266, 0.5);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  margin-bottom: -25px;
  border-radius: 5px;
}

.section-adv .adv-list .adv-text-1 {
  margin-top: 40px;
}

.section-adv .adv-list .adv-text-2 {
  margin-top: 30px;
  font-weight: bold;
}

@media (max-width: 576px) {
  .section-adv .adv-list {
    margin-top: 0 !important;
  }
  .section-adv .adv-list>li>div {
    padding: 30px 20px;
    min-height: auto;
  }
  .section-adv .adv-list>li {
    padding: 0;
    margin-top: 0 !important;
    margin-bottom: 30px;
  }
  .section-adv .section-header {
    padding: 30px 0 20px 0;
  }
}

/*-- section service --*/

.section-service {
  background-image: url(../img/service/bg.jpg)
}

.section-service .section-header {
  padding-top: 100px;
  padding-left: 20px;
  text-align: right;
}

.section-service .section-header h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 435px;
  height: 8px;
  background-color: #fff;
  right: 10px;
  top: 31px;
  transform: translate3d(100%, 0, 0);
  z-index: 0;
}

.section-service .section-body {
  padding: 60px 100px;
}

.section-service .service-list>li {
  margin-bottom: 60px;
  color: #fff;
  font-size: 30px;
}

.section-service .service-list>li>div {
  position: relative;
}

.section-service .service-list>li .service-item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-service .service-list>li span {
  display: inline-block;
  position: absolute;
  width: 35%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  line-height: 1.3;
}

.section-service .service-list>li img {
  max-width: 100%;
}

@media (max-width: 576px) {
  .section-service .section-header {
    padding: 30px 0 20px 0;
  }
  .section-service .service-list>li span {
    width: 100%;
    font-size: 20px;
    margin-top: 120px;
  }
  .section-service .section-body {
    padding: 30px;
  }
}

/*-- section client --*/

.section-client {
  background-image: url(../img/client/bg.jpg)
}

.section-client .section-header {
  padding-top: 100px;
  padding-left: 20px;
}

.section-client .section-header h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 435px;
  height: 8px;
  background-color: #fff;
  left: 10px;
  top: 26px;
  transform: translate3d(-100%, 0, 0);
  z-index: 0;
}

.section-client .client-list {
  margin-top: 80px;
  width: 95%;
}

.section-client .client-list > li {
  margin-bottom: 50px;
}

.section-client .client-list .item-wrap {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 40px;
  margin: 40px 0;
}

.section-client .client-list .item-wrap:last-child {
  border: 0;
}

.section-client .client-list > li span {
  display: inline-block;
  width: 180px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-client .client-list img {
  max-width: 100%;
}

@media (max-width: 576px) {
  .section-client .section-header {
    padding: 30px 0 20px 0;
  }
  .section-client .client-list {
    margin-top: 30px;
  }
  .section-client .client-list > li span {
    width: auto;
    height: auto;
  }
  .section-client .client-list {
    margin-top: 0;
  }
}

/*-- section contact --*/

.section-contact {
  background-image: url(../img/contact/bg.jpg)
}

.section-contact .section-header {
  padding-top: 100px;
  padding-left: 20px;
  text-align: right;
}

.section-contact .section-header h3::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 435px;
  height: 8px;
  background-color: #fff;
  right: 10px;
  top: 13px;
  transform: translate3d(100%, 0, 0);
  z-index: 0;
}

.section-contact .section-body {
  padding: 100px 0;
}

.section-contact .contact-list img {
  max-width: 100%;
}

.section-contact .contact-list li {
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-contact .contact-list .contact-pic {
  padding-right: 70px;
}

@media (max-width: 576px) {
  .section-contact .section-header {
    padding: 30px 0 20px 0;
  }
  .section-contact .section-header {
    padding-top: 30px;
  }
  .section-contact .contact-list .contact-pic {
    padding-right: 0;
  }
  .section-contact .section-body {
    padding: 30px;
  }
}

/*-- side nav */
.side-nav {
  width: 200px;
  position: fixed;
  top: 300px; 
  right: 100px;
}

.side-nav ul > li {
  position: relative;  
  margin-bottom: 18px;
}

.side-nav ul > li::before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.5); 
  cursor: pointer;
  transition: all ease-out 300ms;
}

.side-nav ul > li.active::before {
  background-color: #fff;
  border-color: #fff;
}

.side-nav ul > li::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 23px;
  width: 2px;
  height: 20px;
  background-color: rgba(255, 255, 255, 0.3);
}

.side-nav ul > li span {
  display: inline-block;
  text-indent: -5000px;
}

.side-nav ul > li:last-child::after {
  display: none;
}

/*-- footer --*/

footer {
  height: 78px;
  border-top: 1px solid #062244;
  background-color: #0a0e1c;
  font-size: 20px;
}

footer a {
  color: #516090;
}

footer a:hover {
  text-decoration: none;
  color: #516090;
}

@media (max-width: 576px) {
  footer {
    font-size: 16px;
  }
}

/*-- button --*/

.btn {
  box-shadow: none !important;
}

.btn:focus {
  border: 1px solid #eb4f5a !important;
  background: none !important;
}

.btn.btn-outline-primary {
  border-radius: 0;
  border: 1px solid #eb4f5a;
}

.btn.btn-outline-primary:hover {
  background: none;
}