@charset "utf-8";
body {
  padding: 0;
  margin: 0;
  font-family: "NotoSansTC-Regular", "NotoSansTC-Bold", "WorkSans-Regular", "WorkSans-SemiBold";
  word-wrap: break-word;
  word-break: normal;
  overflow-x: hidden;
  background: #fff;
  color: #3a3a3a;
  font-size: 100%;
}
@font-face {
  font-family: "NotoSansTC-Regular", "NotoSansTC-Bold", "WorkSans-Regular", "WorkSans-SemiBold";
  src: url('../fonts/NotoSansTC-Bold.otf');
  src: url('../fonts/NotoSansTC-Regular.otf');
  src: url('../fonts/NotoSansTC-Medium.otf');
  src: url('../fonts/WorkSans-Regular.otf');
  src: url('../fonts/WorkSans-SemiBold.otf');
}
img {
  border: none;
}
a:hover {
  color: inherit !important;
}
a:focus, button:focus, [type=button]:focus, [type="submit"]:focus, select:focus {
  outline: 3px #F1D046 dotted;
  outline-offset: -3px;
  opacity: 1;
}
.left {
  float: left;
}
.right {
  float: right;
}
.clear {
  clear: both;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
header {
  padding: 15px 10px 15px 10px;
  background: #fff;
  width: 100%;
}

header.smaller {
    position: fixed;
    z-index: 4;
    top: 0;
    background: rgb(255, 255, 255, 95%);
    -webkit-box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.3);
}

header h1 {
  margin: 0;
}
.logo {
  margin-top: 8px;
}
.toplink {
  font-size: 100%;
  padding: 0 10px;
}
.toplink ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.toplink ul li {
  display: inline-block;
  margin-right: 10px;
}
.toplink a {
  color: #757575;
  text-decoration: none;
  display: block;
}
.toplink a:hover {
  color: #000000;
}
a.go_ebutton {
  background-color: #6764f0;
  color: #fff !important;
  border-radius: 12px;
  padding: 5px 10px;
}
/*menu*/
#menu {
  margin-top: 20px;
}
#menu2 {
  position: relative;
  width: 100%;
}
.nav {
  list-style: none;
  *zoom: 1;
}
.nav:before, .nav:after {
  content: " ";
  display: table;
}
.nav:after {
  clear: both;
}
.nav ul {
  list-style: none;
}
.nav a {
  color: #fff;
}
.nav li {
  position: relative;
}
.nav > li {
  float: left;
}
.nav > li > .parent {}
.nav > li > a {
  display: block;
}
.nav li ul {
  position: absolute;
  left: -9999px;
  margin-top: -4px;
}
.nav > li.hover > ul {
  left: 0;
}
.nav li li.hover ul {
  left: 100%;
  top: 0;
}
.nav li li a {
  display: block;
  background: #0d4365;
  position: relative;
  z-index: 100;
  border-bottom: 1px solid #fff;
  padding: 10px 15px;
}
.nav li li li a {
  background: #0f4e76;
  z-index: 200;
  border-bottom: 1px solid #fff;
}
.nav li ul ul {
  margin-top: 0;
}
.toggleMenu {
  display: none;
}
.sm-blue a img {
  padding-right: 5px;
  vertical-align: text-bottom;
}
.img_size {
  max-width: 980px;
  max-height: 435px;
}
.sm-blue > li > a {
  position: relative
}
#main-menu li span:after {
  content: '';
  position: absolute;
  bottom: -18px;
  left: 0px;
  width: 0px;
  height: 5px;
  background: #6764f0;
  -webkit-transition: width .2s cubic-bezier(.25, .46, .45, .94);
  transition: width .2s cubic-bezier(.25, .46, .45, .94);
}
#main-menu li:hover span:after {
  width: 100%;
}
.sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active {
  font-weight: 500 !important;
}
.mbpc {
  display: none !important;
}
.pcmb {
  display: block !important;
}
/*end menu*/
.bg {
  position: fixed;
  z-index: -1;
  bottom: 0;
  left: 0;
}
.bg img {
  height: calc(100vh - 110px);
}
/*搜尋*/
.input {
  border: 1px solid #e1e1e1;
  box-shadow: 0px -3px #e1e1e1;
  height: 48px;
  border-radius: 5px;
}
span.sc_icon {
  border: 1px solid #ccc;
  border-right-color: #fff;
  display: flex;
  align-items: center;
  padding-left: 10px;
  border-radius: 5px;
  color: #7d7d7d;
}
span.sc_icon:after {
  content: "|";
  padding-left: 10px;
}
span.sc_icon ~ input {
  border-left: 0px;
  padding-left: 10px;
}
.adv_sch {
  margin: 10px 0 0 10px;
}
.adv_sch a {
  color: #4c44ea;
  text-decoration: none;
}
.grad_btn {
  background-image: -moz-linear-gradient(-90deg, rgb(148, 130, 255) 0%, rgb(122, 101, 255) 99%);
  background-image: -webkit-linear-gradient(-90deg, rgb(148, 130, 255) 0%, rgb(122, 101, 255) 99%);
  background-image: -ms-linear-gradient(-90deg, rgb(148, 130, 255) 0%, rgb(122, 101, 255) 99%);
  color: #fff;
  text-align: center;
  width: 100%;
  border-radius: 40px;
  padding: 8px;
  border: none;
  max-width: 320px;
  height: 48px;
}
.white-card .modal-content {
  border-radius: 16px;
}
.white-card .modal-header, .white-card .modal-body, .white-card .modal-footer {
  padding: 20px;
}
.white-card .modal-title {
  font-weight: 500;
  text-align: center;
  color: #1f2a52;
  font-size: 150%;
}
/*salina_0809新增*/
.white-card .modal-header .btn-close {
  position: absolute;
  right: 20px;
}
/*salina_0809新增*/
.nobd {
  border: none !important;
}
/*搜尋end*/
/*形象區*/
.slick-slide img {
  width: 100%;
}
ul.slick-dots {
  margin-top: -70px;
  position: relative;
}
.slick-dots li {
  width: 10px !important;
  height: 10px !important;
}
.slick-dots li.slick-active button:before {
  color: #f4f76f !important;
  width: 10px !important;
  height: 10px !important;
}
.slick-dots li button:before {
  color: #fff !important;
  opacity: 1 !important;
  width: 10px !important;
  height: 10px !important;
}
/*end 形象區*/
/*跑馬燈*/
section.msgSlide {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 2px 8px #ccc;
  margin-top: -40px;
  font-size: 112.5%;
}
.msgSlide .slick-list.draggable {
  width: 90%;
  margin: 0 auto;
}
section.msgSlide a {
  text-decoration: none;
  color: #323232;
}

.msgSlide-wrap {
    position: relative;
}

button.slide-control-bt {
    border-radius: 10px;
    padding: 2px 5px;
    color: #fff !important;
    border: 0;
    font-size: 110%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    position: absolute;
    top: 5px;
    left: calc((100% - 1200px) / 2 + 75px);;
    z-index: 2;
    background-color: #6764f0;
}
/*跑馬燈 end*/
/*分類項目*/
.newsList {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.newsList > div {
  width: 100%;
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
}
.newsList img {
  width: 100%;
}
.newsList ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.newsList:before {
  background: url(/static/css11/images/line-bl.png) right bottom;
  display: block;
  position: absolute;
  content: "";
  width: 250px;
  height: 300px;
  top: -150px;
  left: 0px;
  animation: jump 3s infinite;
  z-index: -1;
}
.newsContent {
  position: relative;
  padding: 50px 20px;
  box-sizing: border-box;
  max-width: 1200px;
  width: 100%;
}
.newsContent ul {
  margin: 50px auto 10px auto;
  width: 85%;
}
.newsContent li {}
.newsContent li a {
  color: #000;
  text-decoration: none;
  display: block;
  line-height: 50px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 10px;
  box-sizing: border-box;
}
.newsContent li:nth-child(even) {
  background-color: #f1f1f1;
}
.newsContent li a:hover {
  background: #f9f9f9;
}
.newsContent li a span {
  color: #686868;
  padding-left: 10px;
  background-repeat: no-repeat;
  padding-right: 30px;
}
.newsContent li a {
  line-height: 35px;
}
.Newstitle {
  position: relative;
  text-align: center;
  max-width: 430px;
  margin: 0 auto;
}
.Newstitle > h2 {
  text-align: center;
  margin: 0;
  font-size: 175%;
  font-weight: bold;
  color: #1f2a52;
  padding: 0px 30px;
  margin-bottom: 50px;
}
.mg_ct {
  margin: 20px auto;
}
.serviceItem h3 {
  font-size: 150%;
  font-weight: bold;
  position: relative;
}
.serviceItem .col {
  margin-bottom: 50px;
}
.serviceItem h3:before {
  content: "";
  background: #e3e7ff;
  width: 30px;
  height: 5px;
  border-radius: 30px;
  position: absolute;
  top: -10px;
}
.serviceItem a {
  color: inherit;
  text-decoration: none;
  display: block;
}
.ser_subttl {
  font-size: 112.5%;
  color: #757575;
}
/*end 分類項目*/
/*下載e指通banner*/
.banner {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  text-align: center;
  background: linear-gradient(181deg, #927fff, #7862ff);
}
/*end 下載e指通banner */
.locationPic {
  margin-top: 30px;
}
.locationPic > .slick-list.draggable {
  width: 90%;
  margin: 0 auto;
}
.imagesPic img {
  width: 100%;
}
.slick-next:before, .slick-prev:before {
  content: "" !important;
}
.slick-next {
  height: 32px !important;
  background-image: url(/static/css11/images/chevron-right.png) !important;
  width: 32px !important;
  background-size: cover !important;
}
.slick-prev {
  width: 32px !important;
  background-image: url(/static/css11/images/chevron-left.png) !important;
  height: 32px !important;
  z-index: 0 !important;
  background-size: cover !important;
}
.slick-prev {
  left: 25px !important;
}
.slick-next {
  right: 25px !important;
}
.slick-track {
  display: flex;
  align-items: center;
}
/*計費標準*/
.payment {
  background: #e3e7ff;
  position: relative;
  padding: 62px 10px 82px 10px;
  min-height: 400px;
}
.payment:before {
  background: url(/static/css11/images/payment_bg.png);
  content: "";
  position: absolute;
  z-index: 0;
  width: 460px;
  height: 380px;
  left: 0;
  bottom: 28px;
  background-size: cover;
  animation: jump 3s infinite;
  animation-delay: 0s;
}
.freepay {
  background: #6764f0;
  color: #fff;
  font-size: 100%;
  padding: 5px;
  text-align: center;
  width: 100px;
  margin: 0 auto;
  border-radius: 20px;
}
.payment h2 {
  font-size: 175%;
  font-weight: bold;
  color: #1f2a52;
  text-align: center;
  background: #fff;
  padding: 15px;
  border-radius: 40px;
}
.payment h3 {
  font-size: 150%;
  font-weight: bold;
}
.paybox {
  padding: 20px;
  z-index: 1;
  position: relative;
}
.paycard {
  background: #fff;
  border-radius: 16px;
  padding: 50px 20px 20px 20px;
  min-height: 184px;
  margin-bottom: 20px;
}
.paycard a {
  text-decoration: none;
  color: #3a3a3a;
}
.sm-box {
  width: calc(100% / 3 - 10px);
  display: block;
  margin: 5px;
  float: left;
}
/*計費標準 end*/
/*scroll bar*/
/* width */
.paybox::-webkit-scrollbar {
  width: 8px;
  height: 10px;
}
/* Track */
.paybox::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #8a88f4;
}
/* Handle */
.paybox::-webkit-scrollbar-thumb {
  background: #6764f0;
  border-radius: 10px;
}
/* Handle on hover */
.paybox::-webkit-scrollbar-thumb:hover {
  background: #6764f0;
}
/*scroll bar end*/
/*footer*/
footer {
  background: #f3f3f3;
  color: #111111;
  padding: 30px 0;
}
.footerinfo {
    line-height: 26px;
    display: flex;
    flex-wrap: wrap;
}
.acc_box img {
    height: 45px;
    margin-right: 15px;
    margin-bottom: 15px;
}

/*end footer*/
.gotop {
  width: 60px;
  height: 60px;
  text-align: center;
  color: #ffffff;
  background: #7862ff;
  position: fixed;
  right: 10px;
  bottom: 10px;
  border-radius: 50px;
  animation: jump 3s infinite;
  animation-delay: 1s;
  z-index: 1;
}
.gotop > a {
  color: #fff;
  text-decoration: none;
}
.gotop > a:hover {
  text-decoration: none;
}
.gotop:hover {
  filter: contrast(2);
  transition: 3s;
}
/*抬頭*/
.sticky .search {
  display: none;
}
header.home {
  position: relative;
}
header.sticky {
  background: rgb(255 255 255 / 85%);
  padding: 10px 20px;
  z-index: 45;
  width: 100%;
  position: fixed;
  box-shadow: 5px 10px 20px 0 rgba(0, 0, 0, .1);
  box-sizing: border-box;
  top: 0
}
header.sticky nav > a {
  padding: 8px 0;
}
header.home.sticky {
  background: rgba(70, 117, 75, 0.8);
}
/*end 抬頭*/
a.sr-only {
  position: fixed;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  top: 0;
  left: 0;
  z-index: 99;
  color: #000;
}
a.sr-only-focusable:active, a.sr-only-focusable:focus {
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  position: absolute;
}
/*sitemap*/
.sitemap_dc {
  line-height: 2;
  padding: 0px 10px;
  font-size: 105%;
}
.container.sitemap_box {
  padding: 0px;
}
.sitemap_box a {
  color: inherit;
  text-decoration: none;
}
.sitemap_box h4 {
  font-size: 125%;
  padding: 10px;
  border-radius: 8px;
  background: #EAEAFD;
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
}
.sitemap_box h4:before {
  content: "»";
  position: absolute;
  right: 10px;
}
/*填寫內容*/
textarea {
  height: 250px !important;
  border-radius: 8px;
}
.filebox {
  background: #fff;
  padding: 20px;
  border: 2px dashed #ddd;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px 0px 0px 0px;
  border-radius: 8px;
}
.filepic {
  width: 120px;
  height: 120px;
  margin: 10px;
  position: relative;
}
.filepic img {
  width: 100%;
  height: 100%;
}
.filedel {
  background: #6764F0;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  right: -10px;
  top: -10px;
  width: 24px;
  height: 24px;
}
.filedel a {
  color: inherit;
  text-decoration: none;
}
.filebox ul {
  width: 100%;
  margin: 0px;
  padding: 0px;
}
.filebox ul li {
  text-align: left;
  width: 100%;
  list-style: none;
  margin-bottom: 20px;
  background-image: url(/static/css11/images/icon-map-blue.png);
  background-repeat: no-repeat;
  padding-left: 30px;
  border-bottom: 1px solid #eaeafd;
  padding-bottom: 5px;
  display: block;
}
.filebox ul li:last-child {
  margin-bottom: 0px;
  background-image: none;
  border-bottom: 0px;
  margin-left: 0px;
  padding-left: 0px;
}
a.addpin {
  border-radius: 30px;
  width: 24px;
  height: 24px;
  text-decoration: none;
  background: #6764f0;
  color: #fff;
  text-align: center;
  display: block;
}
a.addpin:hover {
  color: #fff !important;
}
a.delbtn {
  float: right;
  border-radius: 30px;
  width: 24px;
  height: 24px;
  text-decoration: none;
  background: #6764f0;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
a.delbtn:hover {
  color: #fff !important;
}

/*填寫內容end*/
@media (max-width: 1350px) {
  .paycard {
    min-height: 208px;
  }
}
@media (max-width:1300px) {
  .logo img, .sticky .logo img {
    max-width: 200px;
  }
  .sm-blue {
    font-size: 112.5% !important;
  }
  .sm-blue > li {
    padding: 0 10px 0 10px !important;
  }
  header.sticky {
    padding: 10px 15px;
  }
}
@media (max-width:1200px) {
  header.sticky {
    padding: 10px 5px !important;
  }
}
@media (min-width: 1200px) {
  button.slide-control-bt {
    left: calc((100% - 1200px) / 2 + 75px);
  }
}
@media (max-width: 1190px) {
  button.slide-control-bt {
    left: 50px;
    top: -15px;
  }
}


.addr-candidates{max-height:200px; overflow:auto; background:#fff; border:1px solid #ccc; border-radius:6px; padding:6px; margin-top:6px;}
.addr-candidates .title{font-weight:600; margin:4px 0 6px;}
.addr-candidates ul{list-style:none; padding:0; margin:0;}
.addr-candidates li{padding:6px 8px; cursor:pointer; border-radius:4px;}
.addr-candidates li:hover{background:#f5f5f5;}


/* 讓地址list面板能相對定位在輸入列底下 */
.searchMap { position: relative; }

/* 面板外框 */
#addrCandidates.addr-candidates{
  position:absolute; left:0; right:0; top:100%;
  margin-top:30px; z-index: 1000;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  overflow:hidden;
  max-height: 340px; display:none;
}

/* 標題列 */
#addrCandidates .ac-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; background:#f8fafc; border-bottom:1px solid #eef2f7;
  font-weight:600; font-size:14px; color:#0f172a;
}
#addrCandidates .ac-close{
  appearance:none; border:0; background:transparent; font-size:18px; line-height:1;
  color:#64748b; cursor:pointer; padding:2px 6px; border-radius:6px;
}
#addrCandidates .ac-close:hover{ background:#e2e8f0; color:#0f172a; }

/* 清單 */
#addrCandidates .ac-list{ list-style:none; margin:0; padding:0; max-height:280px; overflow:auto; }
#addrCandidates .ac-item{
  padding:10px 12px; cursor:pointer; outline:none;
  display:flex; flex-direction:column; gap:2px;
  border-left:4px solid transparent;
}
#addrCandidates .ac-item:hover,
#addrCandidates .ac-item:focus,
#addrCandidates .ac-item.is-active{
  background:#f1f5f9; border-left-color:#2563eb;
}
#addrCandidates .ac-line1{ font-size:14px; color:#0f172a; }
#addrCandidates .ac-line2{ font-size:12px; color:#475569; }
#addrCandidates .ac-meta { font-size:11px; color:#94a3b8; }

#addrCandidates .ac-foot{
  padding:6px 12px; font-size:11px; color:#64748b; border-top:1px solid #eef2f7;
}

/* 關鍵字高亮 */
#addrCandidates mark{
  background:#fde68a; color:inherit; padding:0 2px; border-radius:3px;
}

  /* 登出鈕：亮黃色 */
#btnTopHcLogout.go_ebutton.hc-logout{
  background-color:#FFEB3B;
  border:1px solid rgb(248 248 248 / 20%);
}

/* 強制所有狀態都是黑字 */
#btnTopHcLogout.go_ebutton.hc-logout,
#btnTopHcLogout.go_ebutton.hc-logout:link,
#btnTopHcLogout.go_ebutton.hc-logout:visited,
#btnTopHcLogout.go_ebutton.hc-logout:hover,
#btnTopHcLogout.go_ebutton.hc-logout:active,
#btnTopHcLogout.go_ebutton.hc-logout:focus{
  color:#000 !important;
  text-shadow:none; /* 若原本有白色字的陰影，順便關掉 */
}

/* 卡2：登出鈕亮黃色底 + 黑字（和 Top 一致） */
#btnHcLogoutCard2.btn {
  background-color: #FFEB3B;
  border: 1px solid #d6c400;
  color: #000 !important;
  text-shadow: none;
}
#btnHcLogoutCard2.btn:hover,
#btnHcLogoutCard2.btn:focus {
  filter: brightness(0.95);
  color: #000 !important;
}

/* 地圖容器：桌機 */
/* 讓地圖容器在手機上能完整吃到 pinch/drag 事件 */
#myMap {
  width: 100%;
  height: 600px;
}


/* 手機：高度別太大，避免超出畫面造成滾動干擾 */
@media (max-width: 768px) {
  #myMap {
    height:45vh;
    min-height:320px;
    max-height:520px;
    touch-action:none;
    -ms-touch-action:none;
  }
}

/* 預設：桌機不顯示 */
#btnMapConfirm{
  display: none !important;
}

/* 手機才顯示 */
@media (max-width: 768px){
  #btnMapConfirm{
    display: inline-flex !important;  /* 或 block */
    align-items: center;
    justify-content: center;
    height:36px;
    padding:0 12px;
    margin:0 35px 20px;
    border-radius:999px;
    white-space:nowrap;
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    z-index: 3000;
    white-space: nowrap;
  }
}


.googleMap { position: relative; }

/* ✅ 預設不顯示準心（PC 不用） */
#mapCrosshair { display: none; }

/* ✅ 手機顯示中心準心 */
@media (max-width: 768px) {
  #mapCrosshair{
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width:32px;
    height:32px;
    transform: translate(-50%, -50%);
    z-index: 1999;
    pointer-events: none;

    /* 簡單十字準心，可自行換成 icon */
    background:
      linear-gradient(to right, transparent 48%, rgba(255,0,0,.9) 48%, rgba(255,0,0,.9) 52%, transparent 52%),
      linear-gradient(to bottom, transparent 48%, rgba(255,0,0,.9) 48%, rgba(255,0,0,.9) 52%, transparent 52%);
    border-radius: 2px;
    filter: drop-shadow(0 0 2px rgba(0,0,0,.35));
  }
}


/* 圖片縮小：跟文字同一行時比較不會撐爆 */
.hint-img{
  width: 22px;          /* 你可改 18~28 試手感 */
  height: 22px;
  vertical-align: -3px; /* 讓圖標跟文字更貼齊 */
  margin: 0 2px;
}

.mobile-only{ display:none; }
@media (max-width:768px){
  .mobile-only{ display:block; }
}


.atuopoimg{
  width: 80px;
  height: 80px;
  vertical-align: -3px;
  margin: 10px 0 5px;
}





