:root {
  --font: PingFangSC, PingFangSC-Regular, "Microsoft YaHei", 微软雅黑, STXihei,
    华文细黑, Georgia, "Times New Roman";
}

#app {
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
}

* {
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
}

body {
  font-family: var(--font);
}

button {
  border: none;
}

img,
video {
  display: block;
}

a {
  text-decoration: none !important;
  color: inherit !important;
}

a.def {
  text-decoration: none;
}

.disabled {
  color: #d8d8d8 !important;
  pointer-events: none;
}

.flex {
  display: flex;
}

.flex.v {
  flex-direction: column;
}

.flex.h {
  flex-direction: row;
  flex-wrap: wrap;
}

.flex.stretch {
  justify-content: stretch;
}

.flex.space-between {
  justify-content: space-between;
}

.flex.space-around {
  justify-content: space-around;
}

.flex.main-center {
  justify-content: center;
}

.flex.by-center {
  align-items: center;
}

.flex.center {
  align-items: center;
  justify-content: center;
}

.flex.stretch {
  align-items: stretch;
}

.average {
  flex: 1;
}

.full {
  width: 100%;
}

.full-h {
  height: 100%;
}

.fitw {
  width: fit-content;
}

.fith {
  height: fit-content;
}

/* 超出宽度加省略号 */
.ell {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.relative {
  position: relative;
}

.margin15 {
  margin: 15px 0;
}

.ell2 {
  overflow: hidden;
  -webkit-line-clamp: 2;
  /*设置文字显示行数*/
  -webkit-box-orient: vertical;
  /*必须结合的属性，设置或检索伸缩盒对象的子元素的排列方式*/
  display: -webkit-box;
  /*必须结合的属性，将对象作为弹性伸缩盒子模型显示 。*/
  text-overflow: ellipsis;
  /*可以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本*/
}

.ell3 {
  overflow: hidden;
  -webkit-line-clamp: 3;
  /*设置文字显示行数*/
  -webkit-box-orient: vertical;
  /*必须结合的属性，设置或检索伸缩盒对象的子元素的排列方式*/
  display: -webkit-box;
  /*必须结合的属性，将对象作为弹性伸缩盒子模型显示 。*/
  text-overflow: ellipsis;
  /*可以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本*/
}

.ell4 {
  overflow: hidden;
  -webkit-line-clamp: 4;
  /*设置文字显示行数*/
  -webkit-box-orient: vertical;
  /*必须结合的属性，设置或检索伸缩盒对象的子元素的排列方式*/
  display: -webkit-box;
  /*必须结合的属性，将对象作为弹性伸缩盒子模型显示 。*/
  text-overflow: ellipsis;
  /*可以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本*/
}

.ell5 {
  overflow: hidden;
  -webkit-line-clamp: 5;
  /*设置文字显示行数*/
  -webkit-box-orient: vertical;
  /*必须结合的属性，设置或检索伸缩盒对象的子元素的排列方式*/
  display: -webkit-box;
  /*必须结合的属性，将对象作为弹性伸缩盒子模型显示 。*/
  text-overflow: ellipsis;
  /*可以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本*/
}

.ell7 {
  overflow: hidden;
  -webkit-line-clamp: 7;
  /*设置文字显示行数*/
  -webkit-box-orient: vertical;
  /*必须结合的属性，设置或检索伸缩盒对象的子元素的排列方式*/
  display: -webkit-box;
  /*必须结合的属性，将对象作为弹性伸缩盒子模型显示 。*/
  text-overflow: ellipsis;
  /*可以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本*/
}

/* 清除滑条样式 */
::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: none;
}

/*chrome--------------------------------------------start*/
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

/* Track */
::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
  border-radius: 6px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #ececec;
  border-radius: 6px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: rgba(162, 162, 163, 1);
}

/*chrome--------------------------------------------end*/
/*IE--------------------------------------------start*/
* {
  /*三角箭头的颜色*/
  scrollbar-arrow-color: #c0c4cc;
  /*滚动条滑块按钮的颜色*/
  scrollbar-face-color: #a2a2a3;
  /*滚动条整体颜色*/
  scrollbar-highlight-color: #a2a2a3;
  /*滚动条阴影*/
  scrollbar-shadow-color: #a2a2a3;
  /*滚动条轨道颜色*/
  scrollbar-track-color: #f4f4f5;
  /*滚动条3d亮色阴影边框的外观颜色——左边和上边的阴影色*/
  scrollbar-3dlight-color: #a2a2a3;
  /*滚动条3d暗色阴影边框的外观颜色——右边和下边的阴影色*/
  scrollbar-darkshadow-color: #a2a2a3;
  /*滚动条基准颜色*/
  scrollbar-base-color: #f4f4f5;
  /* firefox */
  scrollbar-width: thin;
}

/*IE--------------------------------------------end*/

/* 当前项目的公共样式 */

.swiper-wrapper {
  width: 100%;
}

.swiper-slide {
  width: 100%;
}

/* 主标题包含两侧的横线 */
.main-title {
  font-size: 40px;
  font-weight: bold;
  color: #0e2f58;
  position: relative;
  text-align: center;
}

.main-title::after {
  content: "";
  position: absolute;
  width: 111px;
  height: 3px;
  background: rgba(0, 78, 161, 0.17);
  top: 50%;
  right: 100%;
  transform: translate(-20px, -50%);
}

.main-title::before {
  content: "";
  position: absolute;
  width: 111px;
  height: 3px;
  background: rgba(0, 78, 161, 0.17);
  left: 100%;
  top: 50%;
  transform: translate(20px, -50%);
}

/* progress-bar */
.progress_bar {
  height: 24px;
}

.progress_bar .bar {
  flex-shrink: 0;
  margin: 0 10px;
  width: 170px;
  height: 2px;
  background: #d8d8d8;
  position: relative;
}

/* 滑块宽度需要用js计算一下 */
.progress_bar .thumb {
  position: absolute;
  width: 33%;
  height: 2px;
  background: #0f0f0f;
  left: 0;
  top: 0;
  transition: all 0.05s linear;
}

.progress_bar .arrow-left {
  margin-left: 30px;
  margin-right: 20px;
}

/* common style */
.main-title {
  margin-bottom: 15px;
}

.cur-label {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  color: #4d5967;
  margin-bottom: 90px;
}

.glyphicon {
  cursor: pointer;
}

.common-bg {
  background: url(../images/common/bg-texture.png);
  background-size: cover;
}

.common-paddingtop {
  padding-top: 115px;
  padding-bottom: 100px;
}

/* ai数据人 */
.ai-digital-person {
  position: fixed;
  z-index: 1000;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.ai-digital-person .ai-pic {
  width: 172px;
  height: 668px;
  object-fit: contain;
}

.ai-digital-person .icon-list {
  background: #ffffff;
  margin-left: 18px;
  padding: 8px 22px;
  box-sizing: border-box;
  border-radius: 10px 0px 0px 10px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}

.ai-digital-person .icon {
  width: 24px;
  height: 24px;
  margin: 18px 0;
  cursor: pointer;
}

/* 面包屑 */
.breadcrumb {
  background: none;
  font-weight: 400;
  font-size: 16px;
}

.breadcrumb li a {
  color: #9e9e9e;
}

.breadcrumb>.active {
  font-weight: 500;
  color: #000000;
}

.breadcrumb>li+li:before {
  color: #cccccc;
  content: "> ";
  padding: 0 5px;
}

/* input */
input.form-control {
  border: none;
  background: none;
  outline: none;
  box-shadow: none;
}

/* 预约申请 */
.application {
  position: relative;
  margin: 0 15px;
  padding: 28px 38px;
  box-sizing: border-box;
  width: 100%;
  border-radius: 10px;
  background: linear-gradient(278deg, #8ec9ff -1%, #1e79e9 99%);
  /* 案例阴影 */
  box-shadow: 0px 4px 10px 0px rgba(13, 35, 62, 0.05);
}

.application::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/common/app-bg.png);
  background-size: contain;
  background-position: right top;
  background-repeat: no-repeat;
  z-index: 0;
}

.application .title {
  font-size: 34px;
  font-weight: 500;
  color: #ffffff !important;
}

.application .info {
  position: relative;
  z-index: 9;
  margin-top: 18px;
}

.application .info .space {
  margin: 10px 25px 10px 0;
}

.application .info .form-control {
  width: 176px;
  height: 34px;
  border-radius: 34px;
  background: #ffffff;
  box-sizing: border-box;
  border: 1px solid #ffffff;
}

.application .submit-btn {
  width: 108px;
  height: 31px;
  border-radius: 55px;
  background: linear-gradient(74deg, #8ec9ff 0%, #92c3ff 99%);

  /* 案例阴影 */
  box-shadow: 0px 4px 10px 0px rgba(13, 35, 62, 0.05);
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  cursor: pointer;
}

/* our-partner */
.our-partner {
  background: url(../images/commercial/partner-bg.png);
  background-size: cover;
}

.our-partner .item {
  user-select: none;
  line-height: 1.5;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0.1em;
  color: #000000;
  margin: 0 6%;
}

/* partner */
.partner-container {
  margin-top: 30px;
  position: relative;
}

.partner-container .tips {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -70%);
}

.partner-container .tips .tip {
  padding: 20px 80px;
  box-sizing: border-box;
  white-space: nowrap;
  font-size: 26px;
  font-weight: bold;
  line-height: normal;
  text-align: center;
  background: rgba(255, 255, 255, 0.95);

  border: 1px solid #e9e9e9;

  backdrop-filter: blur(20px);
  box-shadow: 0px 4px 17px 0px rgba(13, 35, 62, 0.1);
  border-radius: 10px;

  color: #004ea1;
  margin: 0 12px;
}

.partner-container img {
  width: 100%;
  object-fit: contain;
}

/* 弹出框 */
.modal-container {
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 524px;
  border-radius: 20px;
  background: #ffffff;
  padding: 30px 80px;
  box-sizing: border-box;
  width: fit-content;

  display: flex;
  flex-direction: column;
}

.modal-container .close-icon {
  cursor: pointer;
  position: absolute;
  width: 30px;
  height: 30px;
  right: 20px;
  top: 20px;
}

.modal-container .title {
  font-size: 36px;
  font-weight: 500;
  color: #1e1e1e;
  text-align: center;
}

.modal-container .gift {
  font-size: 24px;
  font-weight: 500;
  color: #676767;
  text-align: center;
  margin: 10px 0;
}

.modal-container .number-of-people {
  font-size: 16px;
  font-weight: 500;
  color: #239aff;
  text-align: center;
}

.modal-container .inputs {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
}

.modal-container .inputs input {
  margin: 10px 0;
  width: 522px;
  max-width: 80vw;
  height: 65px;
  border-radius: 10px;
  background: #ffffff;
  box-sizing: border-box;
  border: 2px solid #239aff;
  font-size: 18px;
  font-weight: 500;
  color: #676767;
}

.modal-container .send-yzm {
  width: fit-content !important;
  align-self: flex-end;
  padding: 10px 20px;
  box-sizing: border-box;
  border: none !important;
}

.modal-container .tips {
  font-size: 14px;
  font-weight: 500;
  color: #676767;
  margin-top: 40px;
  margin-bottom: 20px;
}

.modal-container .btn {
  width: 522px;
  max-width: 80vw;
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  padding: 10px 15px;
  box-sizing: border-box;
  border-radius: 10px;

  background: linear-gradient(86deg, #338ae7 -31%, #5ab2fc 114%);
}

.ad-container {
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 107px;
}

.ad-container .content {
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: relative;
}

.ad-container .close-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  cursor: pointer;
  position: absolute;
  top: 5px;
  left: 5px;
}

.ad-container .free-vr {
  font-size: 24px;
  font-weight: bold;
  color: #ffffff;
}

.ad-container .cover {
  width: 196px;
  height: 150px;
  object-fit: contain;
  position: relative;
  bottom: 20px;
  margin-right: 16px;
}

.ad-container .area {
  margin-bottom: 14px;
  margin-right: 36px;
}

.ad-container .area .top {
  width: 325px;
}

.ad-container .area .text {
  font-size: 24px;
  font-weight: bold;
  color: #ffffff;
}

.ad-container .area .tips {
  font-size: 16px;
  color: #ffffff;
}

.ad-container #slider {
  width: 325px;
}

.ad-container .slider-container .tips {
  margin-left: 10px;
}

.ad-container .user-info input {
  border: none;
  background: none;
  outline: none;
  box-shadow: none;
  margin-right: 20px;
  padding: 0 15px;
  box-sizing: border-box;
  font-size: 16px;
  color: #585858;
}

.ad-container .user-info .name {
  width: 145px;
  height: 45px;
  border-radius: 10px;
  background: #ffffff;
}

.ad-container .user-info .phone {
  width: 222px;
  height: 45px;
  border-radius: 10px;
  background: #ffffff;
}

.ad-container .user-info button {
  width: 145px;
  height: 45px;
  border-radius: 10px;
  background: linear-gradient(106deg, #6cb7fc 0%, #1e79e9 99%);
  font-size: 18px;
  font-weight: bold;
  color: #ffffff;
  margin-right: 36px;
}

.ad-container .tel {
  font-size: 24px;
  font-weight: 900;
  color: #ffffff;
}

.ad-container .tel img {
  width: 29px;
  height: 29px;
  object-fit: contain;
  margin-right: 5px;
}

/* 占位 */
.header-space {
  height: 120px;
}

/* 设计师轮播公共样式 */
.designer-container {
  position: relative;
}

.designer-container.swiper {
  overflow: hidden;
}

.designer-container .order {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 99;
}



/* 设计师职位标签 */

.designer-position {
  height: 22px;
  padding: 0 10px 0 30px;
  box-sizing: border-box;
  font-size: 12px;
  color: #b6d9ff;
  position: relative;
  border-radius: 22px;
  background: #3a3a3a;
  margin-left: 9px;
}

.designer-position.purple {
  color: #b6d9ff;
}

.designer-position.red {
  color: #ff7272;
}

.designer-position.blue {
  color: #88e4ee;
}

.designer-position.yellow {
  color: #ffe19c;
}

.designer-position.green {
  color: #8effa5;
}

.designer-position img {
  width: 22px;
  height: 22px;
  position: absolute;
  left: 0;
  top: 0;
}

/* 重写layer ui 一些样式 */
.layui-slider {
  height: 8px;
}

.layui-slider-wrap {
  top: -14px;
}

.layui-slider-wrap-btn {
  width: 14px;
  height: 14px;
}

.layui-form-select dl dd.layui-this {
  color: #004ea1;
}

.laydate-footer-btns span:hover {
  color: #004ea1;
}

.layui-form-radio:hover>*,
.layui-form-radioed,
.layui-form-radioed>i {
  color: #004ea1 !important;
}

/* bootstap 样式重写 */
.dropdown-backdrop {
  display: none;
}

/* bootstap 样式重写 */
.dropdown-backdrop {
  display: none;
}

/* bootstap 样式重写 */
.dropdown-backdrop {
  display: none;
}

@media screen and (max-width: 1510px) {
  .ad-container #slider {
    width: 200px;
  }

  .ad-container .area .top {
    width: 200px;
  }

  .ad-container .free-vr {
    font-size: 16px;
  }

  .ad-container .area .text {
    font-size: 16px;
  }

  .ad-container .area .tips {
    font-size: 14px;
  }

  .ad-container .tel {
    font-size: 16px;
  }
}

@media screen and (max-width: 1300px) {
  .ad-container .tel {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .ad-container .free-vr {
    display: none;
  }

  .ad-container .cover {
    display: none;
  }

  .header-space {
    height: 80px;
  }
}

@media screen and (max-width: 992px) {
  .common-paddingtop {
    padding-top: 90px;
    padding-bottom: 80px;
  }

  .cur-label {
    margin-bottom: 60px;
  }

  /* 底部广告 */
  .ad-container {
    height: 167px;
  }

  .ad-container .content {
    flex-direction: column;
  }

  /* logo */
  .partner-container .tips .tip {
    padding: 10px 20px;
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {

  /* 设计师模块 */
  .designer-container .order {
    position: unset !important;

  }
  .designer-container .order .order-content {
    margin-left: -15px;
    margin-right: -15px;
  }

  /* common */
  .main-title {
    font-size: 22px;
  }

  .container {
    width: 100%;
  }

  .cur-label {
    font-size: 14px;
    margin-bottom: 40px;
  }

  .ai-digital-person .ai-pic {
    display: none;
  }

  .ad-container {
    display: none;
  }

  .header-space {
    height: 60px;
  }

  .modal-container {
    padding: 15px;
  }

  /* logo */
  .partner-container .tips .tip {
    display: none;
  }
}

.col-xs-1-5,
.col-sm-1-5,
.col-md-1-5,
.col-lg-1-5 {
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}

.col-xs-1-5 {
  width: 20%;
  float: left;
}

@media (min-width: 768px) {
  .col-sm-1-5 {
    width: 20%;
    float: left;
  }
}

@media (min-width: 992px) {
  .col-md-1-5 {
    width: 20%;
    float: left;
  }
}

@media (min-width: 1200px) {
  .col-lg-1-5 {
    width: 20%;
    float: left;
  }
}