/*reset*/
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,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,
var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html,body {
    font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
    color: #333;
    font: 14px/1.5 -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
    overflow-x: hidden;
}
body{
    font: 14px/1.5 -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
	color: #8fe9e0;
    overflow: hidden;
}
h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block;
    box-sizing: border-box;
}

input,textarea{
    margin: 0;
    padding: 0;
    outline: 0;
    -webkit-appearance: none;
    border-radius: 0;
    font-family: -apple-system-font;
    box-sizing: border-box;
}

/*a,a:link,a:visited,a:hover,a:active {*/
/*    text-decoration: none;*/
/*    color: #333;*/
/*    -webkit-tap-highlight-color: transparent;*/
/*}*/

table {
    border-collapse: separate;
    border-spacing: 0;
}

ol,ul {
    list-style: none;
}

hr {
    margin: 0;
    padding: 0;
    border: 0;
    color: #000;
    background-color: #000;
    height: 1px
}

em,span,i {
    font-style: normal;
}

body {
    background: #f6f5f5;
}

body.home-body {
    background: #fff;
}

* {
    margin: 0;
    padding: 0;
    /*去掉禁用文字或者在其他地方用类添加，否则input禁掉文字，ios输入不了文字*/
    /*-webkit-user-select:none;*/
    /*-moz-user-select:none;*/
    /*-ms-user-select:none;*/
    /*user-select:none;*/
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;;outline: none;border: none;
}

.select-none {
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}
html, body, .map-wrap, #map, #olMap {
    margin:0;
    padding:0;
    width:100%;
    height:100%;
    background-color: #8fe9e0;
    font-family: Helvetica, "Microsoft YaHei", Arial, sans-serif;
    color: #333;
    font: 14px/1.5 Helvetica, "Microsoft YaHei", Arial, sans-serif;
}

html, body {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width:100%;
    height:100%;
    overflow: hidden;
}

.cursor-pointer {
    cursor: pointer;
}

.pr {
    position: relative;
}

.pa {
    position: absolute;
}

.pf {
    position: fixed;
}


/*弹性盒子*/
.flex-box {
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
.flex-box>.flex-left,
.flex-box>.flex-right {
    flex-shrink: 0;
}
.flex-box>.flex-center {
    flex: 1;
}

/*弹性盒子左侧flex为1*/
.flex-box-left {
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
.flex-box-left>.flex-left {
    flex: 1;
}
.flex-box-left>.flex-right {
    flex-shrink: 0;
    padding-left: 5px;
}

/*弹性盒子右侧flex为1*/
.flex-box-right {
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
.flex-box-right>.flex-left {
    flex-shrink: 0;
    /*padding-right: 5px;*/
}
.flex-box-right>.flex-right {
    flex: 1;
}
.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
}

.flex-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    flex-direction: row;
}

.flex-col {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    flex-direction: column;
}

.flex-grow-0 {
    min-width: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.flex-grow-1 {
    min-width: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
}

.flex-x-center {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex-y-center {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}

.flex-y-bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    -ms-grid-row-align: flex-end;
    align-items: flex-end;
}
.flex-y-top {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
}
.text-more {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

.text-more-2 {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.text-more-3 {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.none {
    display: none!important;
}

/*封面图*/
.cover-wrap {
    position: relative;
    overflow: hidden;
    background: #ececec;
}
.cover-wrap > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.cover-wrap.m-vertical > img {
    position: absolute;
    top: 50%;
    height: auto;
    transform: translateY(-50%);
}

.cover-wrap .voide-ctrl {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/icon-audio-play-5.png) no-repeat center;
    background-size: 56px;
}

.cover-wrap video {
    width: 100%;
    height: 100%;
}

.cover-wrap.no-img > img,
.cover-wrap.no-img.m-vertical > img {
    position: absolute;
    top: 10%;
    left: 50%;
    width: auto;
    height: 80%;
    transform: translateX(-50%) translateY(0);
}

.cover-wrap .loading {
    display: none;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    width: 80px;
    height: 80px;
}

.loading {
    padding: 6px;
    width: 100%;
    height: 100%;
}

.loading-bar {
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    background-color: transparent;
    border: 2px solid #808281;
    border-bottom-color: transparent;
    background: transparent !important;
    -webkit-animation: loading 0.75s 0s linear infinite; 
    animation: loading 0.75s 0s linear infinite; 
}

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

.sets-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 990;
}

.sets-page {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #efeff4;
    transform: translateX(100%);
    transition: transform .3s;
}

.sets-page.show {
    transform: translateX(0);
}

.page-header {
    background-color: #fff;
    line-height: 1.41176471;
    padding: 10px 15px;
    font-size: 17px;
    overflow: hidden;
    position: relative;
}

.header-left, .header-right {
    width: 40px;
}
.header-right {
    text-align: right;
}
/*.header-left:after {*/
/*    content: " ";*/
/*    display: inline-block;*/
/*    -webkit-transform: rotate(45deg);*/
/*    transform: rotate(45deg);*/
/*    height: 10px;*/
/*    width: 10px;*/
/*    border-width: 0 0 2px 2px;*/
/*    border-color: #333;*/
/*    border-style: solid;*/
/*    position: relative;*/
/*    top: -2px;*/
/*    top: -1px;*/
/*    margin-left: .3em;*/
/*}*/

.header-center {
    text-align: center;
}

.line-list-wrap .icon-close {
    top: 0;
    right: 0;
    width: 48px;
    height: 42px;
    background: #fff url(../images/icon-close.png) no-repeat center;
    background-size: 13px;
    z-index: 99;
}

.line-info-wrap .line-marker-list {
    width: auto;
}

.left-bottom-wrap {
    left: 15px;
    bottom: 65px;
    transition: left .25s;
}

.right-bottom-wrap {
    right: 15px;
    bottom: 65px;
    transition: right .25s;
}

body.device-iphone-x .left-bottom-wrap {
    bottom: 95px;
}

body.device-iphone-x .right-bottom-wrap {
    bottom: 95px;
}


.right-top-wrap {
    padding: 12px 4px;
    top: 65px;
    right: 15px;
    transition: right .25s;
    background-color: #fff;
    border-radius: 8px;
    transition: left .25s;
    box-shadow: 0 4px 8px 0 rgba(0, 120, 119, 0.3);
}

body.audio-show .right-top-wrap,
body.line-show .right-top-wrap {
    right: -55px;
}

body.line-show .left-bottom-wrap {
    left: -55px;
}

body.line-show .right-bottom-wrap {
    right: -55px;
}

body.line-show .line-list-wrap {
    transform: translateY(0);
}

.line-list-wrap {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 167px;
    z-index: 999;
    transform: translateY(200%);
    transition: transform .25s;
}


.bg-in-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
    
.detail-wrap {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.7);
    z-index: 9999;
}

.detail-content {
    top: 5%;
    left: 5%;
    width: 90%;
    height: 90%;
    overflow: hidden;
    background: #fff;
    transform: translateY(200%);
    transition: transform 0.25s;
}

.detail-content.show {
    transform: translateY(0);
}

.detail-c-title {
    display: -webkit-flex;
    display: flex;
    padding: 0 48px;
    margin: 0;
    width: 100%;
    height: 48px;
    line-height: 48px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: solid 1px #e8e8e8;
    background: #f9f9f9;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
    z-index: 99;
    align-items: center;
    justify-content: center;
}

.icon-close {
    display: block;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    background: url(../images/icon-close.png) no-repeat center;
    background-size: 13px;
    cursor: pointer;
}

.detail-c-cont {
    padding: 64px 15px 15px;
    width: 100%;
    height: 100%;
    word-break: break-all;
    overflow-x: hidden;
    overflow-y: auto;
}

.detail-c-cont img {
    width: 100%;
    height: auto;
}

#fullscreenid {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*播放条start*/
.audio-wrap {
    top: 50px;
    right: 0;
    height: 40px;
    border-radius: 8px 0 0 8px;
    background: #fff;
    color: #6A6A6A;
    font-size: 12px;
    overflow: hidden;
    transform: translateX(100%);
    transition: all 0.25s;
}
.audio-text,
.audio-close {
    display: none;
}

.audio-show .audio-wrap {
    transform: translateX(0);
}
.audio-wrap.show {
    left: 50%;
    right: auto;
    width: 260px;
    border-radius: 8px;
    transform: translateX(150%);
}
.audio-wrap.show .audio-text,
.audio-wrap.show .audio-close {
    display: block;
}
.audio-show .audio-wrap.show {
    transform: translateX(-50%);
}
.audio-info {
    padding-left: 7.5px;
    padding-right: 2.5px;
    font-size: 12px;
    flex: 1;
}

.audio-info-wrap {
    display: -webkit-flex;
    display: flex;
    padding-bottom: 15px;
    flex: 1;
    overflow: unset;
}

.audio-tip-wrap {
    flex: 1;
}

.progress-wrap {
    margin-bottom: 2.5px;
    bottom: 0;
    width: 100%;
    height: 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.6);
}

.progress-bar {
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    transition: width 0.1s;
    border-radius: 5px;
    background: #fff;
}

.progress-bar:after {
    content: "";
    display: block;
    position: absolute;
    top: -2.5px;
    right: -2.5px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 10px;
}

.btn-close {
    margin-left: 15px;
    width: 18px;
    height: 18px;
    background: #227abc url(../images/icon-close-2.png) no-repeat center;
    border-radius: 100%;
    background-size: 9px;
    opacity: 0.88;
    cursor: pointer;
}

#audio {
    width: 0;
    height: 0;
    opacity: 0;
}
/*播放条end*/
/*推荐线路start*/
.lineListSwiper {
    width: 100%;
    height: 100%;
    background: #fff;
}
.line-list-wrap .content-wrap {
    display: inline-block;
    top: unset;
    left: unset;
    right: unset;
    bottom: unset;
    margin: 0;
    border-radius: 0;
}
.line-list-wrap .title-wrap {
    padding: 15px 48px 0 15px;
    margin: 0;
    width: 100%;
    height: auto;
    text-align: left;
    border: none;
    line-height: 38px;
    box-sizing: border-box;
    font-size: 16px;
}
.line-list-wrap .detail-title {
    min-height: 38px;
}
.line-info-wrap {
    font-size: 12px;
}
.line-list-wrap .line-info {
    padding: 0 15px 10px;
    line-height: 1;
}
.line-info-item {
    color: #808281;
}
.line-list-detail {
    padding: 15px 15px 10px 10px;
    margin-top: -15px;
    margin-right: -15px;
    margin-bottom: -10px;
}
.icon-triangle-r {
    display: inline-block;
    margin-left: 8px;
    width: 8px;
    height: 13px;
    background: url(../images/icon-triangle-r.png) no-repeat center;
    background-size: contain;
}
.line-marker-list-wrap {
    padding: 10px 0;
    width: 100%;
    /*overflow: hidden;*/
}
.line-marker-list {
    width: 10000px;
    height: 56px;
    white-space: nowrap;
}
.line-marker-item {
    display: inline-block;
    width: 90px;
    padding: 0 15px;
    text-align: center;
}
.line-marker-item + .line-marker-item .line-marker-index:after {
    content: "";
    display: block;
    width: 40px;
    top: 50%;
    left: -53px;
    position: absolute;
    border-top: 1px dashed #929592;
}
.line-marker-index {
    margin: 0 auto 6px;
    width: 28px;
    height: 28px;
    text-align: center;
    border-radius: 100%;
    border: 1px solid #ff544c;
    font-size: 18px;
    font-weight: 700;
    color: #ff544c;
    background: #fff;
}
.line-marker-item.active .line-marker-index {
    color: #fff;
    background: #ff544c;
}
.line-marker-name {
    min-height: 18px;
}
/*推荐线路end*/
/*按钮start*/
.btn-item {
    display: block;
    width: 38px;
    height: 38px;
    z-index: 99;
    border-radius: 100%;
    cursor: pointer;
}

.btn-item + .btn-item {
    margin-top: 15px;
}

.btn-back-map {
    background: #fff url(../images/icon-back-map.png) no-repeat center;
    background-size: 26px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}

.btn-local-wrap {
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
    overflow: hidden;
}

.icon-local {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff url(../images/icon-local.png?v20210605) no-repeat center;
    background-size: 28px;
}

.btn-local-wrap.error .icon-local {
    opacity: 0.2;
}

.btn-local-wrap .weui-mask-loading {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    transform: translate(-50%, -50%);
}

.btn-local-wrap.locating .weui-mask-loading {
    display: inline-block;
}

.btn-local-wrap.locating .icon-local {
    display: none;
}

.btn-introduce {
    background: #fff url(../images/icon-introduce.png) no-repeat center;
    background-size: 22px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}

.btn-contacts {
    display: none;
    background: #fff url(../images/icon-wechat.png) no-repeat center;
    background-size: 26px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}

.btn-return {
    background: #fff url(../images/icon-return.png) no-repeat center;
    background-size: 26px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}

.btn-line {
    background: #fff url(../images/icon-line.png) no-repeat center;
    background-size: 24px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}

.btn-sets {
    background: #fff url(../images/icon-set.png) no-repeat center;
    background-size: 26px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
}
/*按钮end*/
.ztoo-marker {
    width: 24px;
    height: 24px;
    z-index: 9;
    cursor: pointer;
}

.ztoo-marker-div {
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    z-index: 9;
}

.ztoo-marker-img {
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    z-index: 9;
    transform: translate(-50%, -50%);
}

.ztoo-marker.playing .ztoo-marker-img {
    width: 50px;
}

.ztoo-cluster-marker .ztoo-marker-div,
.ztoo-line-marker .ztoo-marker-div {
    border-radius: 100%;
    background: url(../images/icon-linepoi.png) no-repeat center;
    background-size: 100%;
}

.ztoo-cluster-marker .ztoo-marker-img,
.ztoo-line-marker .ztoo-marker-img {
    top: 0;
    width: 24px;
    height: 24px;
    line-height: 20px;
    color: #F17F5A;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    transform: translateX(-50%);
}

.ztoo-marker-icon {
    width: 100%;
    height: 100%;
    z-index: 9;
    border-radius: 100%;
}

.ztoo-marker-play>img {
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
}

.ztoo-label {
    position: absolute;
    top: -24px;
    left: -50%;
    padding: 3px;
    margin-left: 24px;
    min-height: 21.5px;
    z-index: 2;
    white-space: nowrap;
    cursor: default;
    background: #fff;
    color: #333;
    border: 1px solid #fff;
    border-radius: 7px;
    font-size: 12px;
    line-height: 14px;
    transform: translateX(-50%);
}

.ztoo-label:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    border: 1px solid #fff;
    width: 0;
    height: 5px;
    overflow: hidden;
    transform: translateX(-50%);
}

.ztoo-label.hide {
    display: none;
}

.icon-locate-wrap {
    position: relative;
    display: block;
    width: 24px!important;
    height: 24px!important;
    border-radius: 100%;
    border: 3px solid #fff;
    background-color: #e63b33;
    z-index: 9999;
}

.icon-locate-wrap.orientation {
    border: 0;
    background-color: transparent;
}


.icon-locate-wrap.orientation .icon-orientation {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -18px;
    margin-top: -18px;
    width: 36px;
    height: 36px;
    background: url(../images/icon-orientation.png?v2025) no-repeat center;
    background-size: 100%;
    border-radius: 100%;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}
.guide-popup {
    padding: 5px;
    width: 100px;
    /*height: 71px;*/
    background: #fff;
    border-radius: 5px;
}
.guide-popup .cover-wrap {
    margin-right: 5px;
    width: 40px;
    height: 40px;
    border-radius: 5px;
}
.guide-popup .info-b {
    text-align: right;
    color: #ff544c;
}
.guide-popup .info-sharp {
    bottom: -7px;
}
.info-contentContainer {
    padding-bottom: 9px;
}

.info-content {
    position: relative;
    padding: 10px 10px 0 10px;
    background: #fff;
    line-height: 1.4;
    overflow: auto;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    text-align: left;
    border-radius: 8px;
}

.info-sharp {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -10px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #fff;
}

.info-sharp:after {
    position: absolute;
    content: "";
    margin-left: -8px;
    margin-top: -7px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid rgba(0, 0, 0, 0.3);
    filter: blur(2px);
    z-index: -1;
}

.info-cover {
    width: 180px;
    height: 116px;
    border-radius: 8px;
    background-color: rgba(0, 0, 0, .05);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.info-cont {
    padding: 8px 0;
    width: 180px;
    font-size: 15px;
    color: #323232;
    font-weight: 700;
    line-height: 20px;
}
.h-detail-desc {
    margin-bottom: 8px;
    width: 180px;
    font-size: 13px;
    line-height: 18px;
    color: #6A6A6A;
}
.info-bottom {
    position: relative;
    display: -webkit-flex;
    display: flex;
    margin: 0 -10px;
    align-items: center;
}

.info-bottom::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #F0F0F0;
    transform: scaleY(.5);
}

.info-item {
    position: relative;
    padding: 16px 0;
    flex: 1;
    text-align: center;
    font-size: 12px;
    cursor: pointer;
    line-height: 1;
    /*white-space: nowrap;*/
    /*word-break: keep-all;*/
}

.info-item.more-guide {
    background: #FFD700;
    color: #fff;
}

.info-item + .info-item:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -1px;
    width: 2px;
    height: calc(100% - 16px);
    background: #F0F0F0;
    transform: scaleX(.25) translateY(-50%);
}

/*简介start*/

.introduce-wrap {
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    z-index: 980;
    background: #fff;
    transform: translateY(200%);
    transition: transform .25s, top .25s;
}

.introduce-wrap.open {
    transform: translateY(0);
}

.introduce-wrap.unfold {
    top: 0;
}

.introduce-info {
    padding: 13px 18px 5px;
}

.introduce-cover-wrap {
    margin-right: 10px;
    width: 68px;
}

.introduce-cover {
    position: absolute;
    left: 0;
    top: -50px;
    width: 68px;
    height: 68px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
    background-color: #ececec;
    border-radius: 100%;
    overflow: hidden;
    z-index: 99;
    /*图片img用了transform动画，导致safari的显示bug*/
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
}

.introduce-cover img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#mapCover {
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translate(-50%, -50%);
}

.circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    height: 68px;
    border-radius: 50%;
}
.pie-left,
.pie-right {
    width: 68px;
    height: 68px;
    position: absolute;
    top: 0;
    left: 0;
}
.border-left,
.border-right {
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    height: 68px;
    border: 6px solid #ff544c;
    border-radius: 50%;
    transform: rotate(180deg);
}
.pie-right,
.border-right {
    clip: rect(0, auto, auto, 34px);
}
.pie-left,
.border-left {
    clip: rect(0, 34px, auto, 0);
}

.introduce-cover.playing .btn-audio-pause,
.btn-audio-play {
    display: block;
}

.introduce-cover.playing .btn-audio-play,
.btn-audio-pause {
    display: none;
}

.introduce-wrap.unfold .introduce-cover {
    position: relative;
    top: 0;
}

.introduce-touch {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    touch-action: none;
}

.introduce-title {
    padding: 0 5px;
    font-size: 16px;
}

.introduce-close {
    margin-right: -7px;
    width: 28px;
    height: 28px;
    background: url(../images/icon-close.png) no-repeat center;
    background-size: 13px;
    z-index: 99;
}

.introduce-info-item {
    min-height: 30px;
}

.introduce-info-2 {
    padding: 0 18px;
}

.introduce-context-wrap {
    padding: 8px 0;
    height: 79px;
    overflow: hidden;
    border-top: 8px solid #f8f8f8;
}

.introduce-context {
    padding: 0 18px;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.introduce-context .swiper-slide {
    height: auto;
}

.introduce-switch-wrap {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 1;
}

.blurry-block {
    top: -40px;
    width: 100%;
    height: 40px;
    background: linear-gradient(180deg,rgba(255,255,255,0) 0,#fff 100%);
}

.introduce-wrap.unfold .introduce-context-wrap {
    height: 100%;
    padding-bottom: 30px;
}

.introduce-wrap.unfold .introduce-context-wrap .introduce-touch,
.introduce-wrap.unfold .blurry-block {
    display: none;
}

.introduce-wrap.unfold .introduce-switch-wrap {
    position: relative;
}

.introduce-wrap.unfold .introduce-switch {
    background: url(../images/icon-wrap-close.png) no-repeat center;
    background-size: 38px;
}

.introduce-switch {
    margin: 0 auto;
    width: 100px;
    height: 30px;
    background: url(../images/icon-wrap-open.png) no-repeat center;
    background-size: 38px;
    opacity: 0.56;
}

.icon-address {
    display: inline-block;
    width: 21px;
    height: 21px;
    background: url(../images/icon-address.png) no-repeat center;
    background-size: 13px;
}

.icon-phone-2 {
    display: inline-block;
    width: 21px;
    height: 21px;
    background: url(../images/icon-phone-2.png) no-repeat center;
    background-size: 13px;
}

.introduce-phone {
    color: #ff544c;
}
/*简介end*/
/*菜单start*/
.footer-wrap {
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: #fff;
    z-index: 200;
}

body.device-iphone-x .footer-wrap {
    bottom: 20px;
}

body.device-iphone-x .footer-wrap::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -20px;
    left: 0;
    height: 30px;
    width: 100%;
    background: #fff;
    z-index: 9;
}

.navbar-wrap {
    width: 100%;
    height: 49px;
    background: #fff;
    overflow: hidden;
    z-index: 10;
}

.navbar-left {
    padding-right: 55px;
    width: 100%;
    height: 100%;
}

.btn-toggle-box {
    top: 0;
    right: 0;
    width: 55px;
    height: 49px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px 2px;
    z-index: 9;
    cursor: pointer;
}

.btn-toggle {
    width: 55px;
    height: 49px;
    background: url(../images/icon-triangle-t.png) no-repeat center;
    background-size: 15px 7.5px;
    transform: rotate(0deg);
    transition: transform 0.3s;
}

.footer-wrap.open .btn-toggle {
    transform: rotate(180deg);
}

.list-wrap {
    height: 0;
    transition: height 0.3s;
    /*overflow: hidden;*/
}

.footer-wrap.open .list-wrap {
    height: 280px;
    background: #fff;
}

.nav-swiper {
    width: 100%;
    height: 49px;
}

.nav-swiper .swiper-slide {
    padding: 4px 18px;
    width: auto;
    height: 49px;
}

.nav-icon {
    margin: 0 auto;
    width: 24px;
    height: 24px;
}

.icon-marker {
    width: 24px;
    height: 24px;
    bottom: 0;
}

.nav-text {
    margin-top: 2.5px;
    font-size: 12px;
    text-align: center;
    line-height: 1;
}

.icon-show {
    display: none;
}

.btn-icon.show .icon-show {
    display: block;
}

.icon-default {
    display: block;
}

.btn-icon.show .icon-default {
    display: none;
}

.btn-icon {
    color: #808281;
    cursor: pointer;
}

.btn-icon.show {
    color: #333;
}

.list-swiper {
    width: 100%;
    height: 100%;
}

.list-swiper .swiper-slide {
    padding: 0 15px;
    height: auto;
}

.list-swiper .swiper-slide .list-item {
    position: relative;
    padding: 7.5px 20px 7.5px 0;
    min-height: 65px;
    cursor: pointer;
}
.list-swiper .swiper-slide + .swiper-slide .list-item {
    border-top: 1px solid #eee;
}

.list-swiper .swiper-slide .list-item .cover-wrap {
    margin-right: 7.5px;
    width: 50px;
    height: 50px;
}

.list-swiper .swiper-slide .list-item .cover-wrap .loading {
    left: 50%;
    top: 50%;
    margin-left: -15px;
    margin-top: -15px;
    width: 30px;
    height: 30px;
}

.list-swiper .swiper-slide .list-item .cate-num {
    position: absolute;
    top: 0;
    left: 0;
    padding: 2px 4px;
    font-size: 12px;
    line-height: 1;
    background: #f98e7c;
    color: #fff;
    z-index: 10;
    border-radius: 0 0 4px 0;
}

/*菜单end*/

.contacts-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contacts-content {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -160px;
    margin-top: -190px;
    width: 320px;
    height: 380px;
    background: #fff;
    z-index: 1010;
    transform: translateY(200%);
    transition: transform .25s;
}

.contacts-content.show {
    transform: translateY(0);
}

.contacts-swiper {
    width: 320px;
    height: 380px;
}

.contacts-swiper img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    height: auto;
    transform: translate(-50%, -50%);
}

.tabbar {
    bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	z-index: 99;
}

.device-iphone-x .tabbar {
    padding-bottom: 20px;
}
.tabbar-item {
	width: calc(100% / 6);
	font-size: 12px;
	opacity: 0.6;
}
.tabbar-item.active {
    opacity: 1;
    font-weight: 700;
}
.tabbar-icon {
	margin: 0 auto;
	width: 36px;
	height: 36px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.tabbar-icon.icon-1 {
	background-image: url(../images/icon-type1.png);
}
.tabbar-icon.icon-2 {
	background-image: url(../images/icon-type2.png);
}
.tabbar-icon.icon-3 {
	background-image: url(../images/icon-type3.png);
}
.tabbar-icon.icon-4 {
	background-image: url(../images/icon-type4.png);
}
.tabbar-icon.icon-5 {
	background-image: url(../images/icon-type5.png);
}
.tabbar-icon.icon-6 {
	background-image: url(../images/icon-type6.png);
}
.map-wrap {
    height: calc(100% - 54px);
}
.device-iphone-x .map-wrap {
    height: calc(100% - 74px);
}
.btn + .btn {
    margin-top: 10px;
}
.btn-icon {
    margin: 0 auto;
	width: 20px;
	height: 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.btn-icon.icon-11 {
	background-image: url(../images/icon-type11.png);
}
.btn-icon.icon-12 {
	background-image: url(../images/icon-type12.png);
}
.btn-icon.icon-13 {
	background-image: url(../images/icon-type13.png);
}
.btn-icon.icon-14 {
	background-image: url(../images/icon-type14.png);
}
.btn-text {
    font-size: 11px;
    text-align: center;
}
.notice-wrap {
    top: 0;
    left: 0;
    padding: 0 10px;
    width: 100%;
    height: 34px;
    background-color: rgba(36,128,134,0.6);
    color: #fff;
    transform: translateX(0);
    transition: transform .25s;
}
.notice-icon {
    margin-right: 8px;
    width: 24px;
    height: 24px;
    background: url(../images/icon-notice.png) no-repeat center;
    background-size: 100%;
}
.notice-text {
    overflow: hidden;
    white-space: nowrap;
    word-break: break-all;
}
.notice-content {
    display: inline-block;
    animation: 20s 0s run infinite linear;
    transform: translateX(calc(100vw - 84px));
}
@keyframes run {
    0% {
        transform: translateX(calc(100vw - 84px));
    }
    100% {
        transform: translateX(-100%);
    }
}
.notice-close {
    margin-left: 8px;
    width: 24px;
    height: 24px;
    background: url(../images/icon-notice-close.png) no-repeat center;
    background-size: 16px;
}

.panel {
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 24px 24px 0 0;
    z-index: 999;
    overflow: hidden;
    /*box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);*/
    transition: transform .25s;
}
.panel-poi,
.panel-line {
    transform: translateY(150%);
}
.panel-poi.show {
    transform: translateY(0);
}
.line-show .panel-line {
    transform: translateY(230px);
}
.line-show .panel-line.show {
    transform: translateY(0);
}
.line-show .panel-line.show .panel-down.up {
    transform: rotate(0deg);
}
.device-iphone-x .panel {
    bottom: 20px;
}
.device-iphone-x .panel-line .info2 {
    margin-bottom: 20px;
}
.device-iphone-x .panel-line.show .info2 {
    margin-bottom: 0;
}
.device-iphone-x.line-show .panel-line {
    transform: translateY(250px);
}
.device-iphone-x.line-show .panel-line.show {
    transform: translateY(0);
}
.panel-bar {
    height: 40px;
}
.panel-down {
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    background: url(../images/icon-down.png) no-repeat center;
    background-size: 100%;
    transform: rotate(0deg);
    transition: transform .25;
}
.panel-down.up {
    transform: rotate(180deg);
}
.panel-close {
    top: 50%;
    right: 16px;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    background: url(../images/icon-close.png) no-repeat center;
    background-size: 100%;
}
.panel-swiper1 {
    padding: 0 4px;
    width: 100%;
    height: 38px;
}
.panel-swiper2 {
    padding: 0 11px;
    width: 100%;
    height: 40px;
}
.panel-swiper1 .swiper-slide {
    padding: 0 12px;
    width: auto;
    height: 28px;
}
.btn2 {
    font-size: 16px;
    line-height: 22px;
    font-weight: 700;
}
.btn2.active {
    color: #56C6B8;
}

.btn2.active::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -6px;
    left: 50%;
    margin-left: -11px;
    width: 22px;
    height: 4px;
    background: linear-gradient(to left, #56C6B8, rgba(86,198,184,0));
    border-radius: 4px;
}

.btn3 {
    padding: 7px 10px;
    line-height: 1;
    font-size: 14px;
    border-radius: 28px;
    background: #F7F7F7;
    color: #545454;
}

.btn3.active {
    background: #EBF7F5;
    color: #56C6B8;
    font-weight: 700;
}

.panel-swiper2 .swiper-slide {
    padding: 0 5px;
    width: auto;
    height: 28px;
}

.panel-swiper3 {
    margin: -10px 0;
    padding: 0 16px 10px;
    width: 100%;
    height: 272px;
}
.s2-hide .panel-swiper3 {
    height: calc(272px + 40px);
}
.search-list {
    padding: 0 16px 10px;
}
.panel-swiper3 .swiper-slide,
.search-list .search-item {
    padding: 8px 0;
    width: 100%;
    height: auto;
}
.search-list .search-item + .search-item,
.panel-swiper3 .swiper-slide + .swiper-slide {
    border-top: 1px solid #F0F0F0;
}
.cover1 {
    margin-right: 8px;
    width: 104px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    background-color: rgba(0,0,0,0.05);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.info1 {
    height: 80px;
    justify-content: space-around;
}
.title1 {
    font-size: 15px;
    font-weight: 700;
}
.desc2 {
    font-size: 13px;
    color: #6A6A6A;
}
.info2 {
    padding: 0 16px 12px;
    height: 64px;
}
.num {
    margin-right: 15px;
    width: 22px;
    height: 26px;
    color: #fff;
}
.num-text {
    z-index: 1;
}
.num-icon {
    top: 0;
    left: 0;
    width: 28.42px;
    height: 28.77px;
    background: url(../images/icon-num.png) no-repeat center;
    background-size: 100%;
}
.info3 {
    height: 52px;
    justify-content: space-between;
}
.title2 {
    font-size: 14px;
    font-weight: 700;
}
.tag {
    padding: 5px 8px;
    font-size: 12px;
    line-height: 1;
    color: #56C6B8;
    background: #EFF8F7;
    border-radius: 24px;
}
.tag + .tag {
    margin-left: 10px;
}
.panel-swiper4 {
    width: 100%;
    height: 230px;
    background: #FAFAFA;
}

.panel-swiper4 .swiper-slide {
    padding: 16px;
    width: auto;
    height: 100%;
}
.line-list {
    height: 100%;
}
.line-list::before {
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: 1px;
    background: #56C6B8;
}
.line-poi {
    position: relative;
    height: 100%;
}
.line-poi + .line-poi {
    margin-left: 50px;
}
.line-num {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 14px;
    text-align: center;
    background: #56C6B8;
    color: #fff;
    border: 1px solid #A3EAE1;
    border-radius: 100%;
}
.line-txt {
    margin-top: 2px;
    height: 100%;
    color: #6A6A6A;
    font-size: 12px;
    writing-mode: vertical-rl;
    letter-spacing: 0.2rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}
.pagel {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    background: #fff;
    transition: transform .25s;
}
.search-top {
    padding: 10px 16px;
    height: 56px;
}
.search-wrap {
    padding: 2px;
    width: 100%;
    height: 36px;
    border-radius: 36px;
    border: 1px solid #56C6B8;
}

.search-voice {
    width: 24px;
    height: 24px;
    background: url(../images/icon-voice.png) no-repeat center;
    background-size: 100%;
}
.search-line {
    margin-right: 8px;
    margin-left: 4px;
    width: 1px;
    height: 14px;
    background: #E3E3E3;
}
.search-input {
    font-size: 14px;
}
.search-btn {
    margin-left: 8px;
    width: 66px;
    height: 32px;
    border-radius: 32px;
    background: #56C6B8;
    color: #fff;
}
.search-bottom {
    width: 100%;
    height: calc(100% - 56px);
}
.search-bottom .swiper-slide {
    height: auto;
}
.history-wrap {
    padding: 16px;
}
.history-txt {
    font-size: 16px;
    font-weight: 700;
}
.history-del {
    width: 22px;
    height: 22px;
    background: url(../images/icon-del.png) no-repeat center;
    background-size: 100%;
}
.history-tags {
    padding-top: 10px;
    flex-wrap: wrap;
}
.history-tag {
    padding: 0 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    color: #6A6A6A;
    background: #F7F7F7;
    line-height: 28px;
    border-radius: 28px;
}
.tag-del {
    width: 16px;
    height: 16px;
    background: url(../images/icon-close2.png) no-repeat center;
    background-size: 100%;
}
.pagel-search {
    transform: translateX(150%);
}
.pagel-search.show {
    transform: translateX(0);
}
.icon-back {
    width: 24px;
    height: 24px;
    background: url(../images/icon-back.png) no-repeat center;
    background-size: 100%;
}
.pagel-search .icon-back {
    margin: 0 8px 0 -8px;
}
.icon-none .weui-icon_toast {
    display: none;
}
.mask-none .weui-mask_transparent {
    display: none;
}
.btn-local .weui-icon_toast.weui-primary-loading {
    display: none;
    margin: 0 auto;
    width: 20px;
    height: 20px;
    color: #4A4A4A;
}
.btn-local .weui-primary-loading::after,
.btn-local .weui-primary-loading::before {
    width: 10px;
    height: 20px;
}
.btn-local.locating .weui-icon_toast.weui-primary-loading {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
}
.btn-local.locating .icon-13 {
    display: none;
}
.btn-local.error {
    opacity: 0.3;
}
.hide {
    display: none;
}
.num1 {
    margin-right: 15px;
    width: 22px;
    height: 26px;
    color: #fff;
    font-weight: 700;
}
.num1-icon {
    top: 0;
    left: 0;
    width: 28.2px;
    height: 28.7px;
    background: url(../images/icon-num.png) no-repeat center;
    background-size: 100%;
    z-index: -1;
}
.num1-text {
    width: 100%;
    height: 100%;
    line-height: 1;
}
.title3 {
    margin-bottom: 8px;
    font-weight: 700;
}
.tags2 {
    font-size: 12px;
    color: #6A6A6A;
}
.tag2 + .tag2 {
    margin-left: 10px;
}

body.line-show .panel-poi {
    transform: translateY(150%);
}
body.line-show .notice-wrap {
    transform: translateX(-150%);
}

.vr-item {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.vr-icon {
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    transform: translate(-50%, -50%);
    background: url(../images/icon-vr.png) no-repeat center;
    background-size: 100%;
}
.vr-text {
    bottom: 6px;
    right: 6px;
    padding: 0 4px;
    line-height: 20px;
    border-radius: 16px;
    background: #fff;
    font-size: 12px;
    color: #333;
    transform: scale(0.8);
    transform-origin: right bottom;
}

.audio-icon {
    width: 48px;
    height: 40px;
    background: url(../images/icon-sound.png) no-repeat center;
    background-size: 24px 24px;
}

.audio-close {
    width: 44px;
    height: 40px;
    background: url(../images/icon-close.png) no-repeat center;
    background-size: 20px 20px;
}

.title4 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}
.tip-wrap {
    margin-top: 16px;
    width: 256px;
    height: 106px;
    background-color: #F2FCFB;
    border-radius: 16px;
    border: 1px solid #C1EEE8;
}
.tip1 {
    font-size: 12px;
    color: #81D8CD;
}
.tip2 {
    font-size: 16px;
    font-weight: 700;
    color: #56C6B8;
}
.btn-voice {
    margin: 60px 0 200px 0;
    padding: 0 24px;
    min-width: 220px;
    height: 48px;
    border-radius: 48px;
    background: linear-gradient(-90deg, #D1FBF6 0%, #92F0E1 21%, #81F2CF 75%, #BCF7DE 100%);
    color: #219889;
    font-weight: 700;
    box-shadow: 0px 9px 20px 0px rgba(75,176,140,0.2),
                inset 0px 4px 4px 0px rgba(224, 252, 255, 0.2);
}
.icon-voice {
    margin-right: 6px;
    width: 24px;
    height: 24px;
    background: url(../images/icon-voice.png) no-repeat center;
    background-size: 100%;
}