@charset "UTF-8";
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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100%;
}

ol, ul, li {
  list-style: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

a:focus {
  outline: thin dotted;
}
a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: 600;
}

dfn {
  font-style: italic;
}

hr {
  box-sizing: content-box;
  height: 0;
}

mark {
  background: #ff0;
  color: #000;
}

code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre-wrap;
}

q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

small {
  font-size: 80%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  max-width: 100%;
  height: auto;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

button, input, select, textarea {
  font-family: "PingFang TC", Helvetica, "\5FAE\8EDF\6B63\9ED1\9AD4", "Microsoft JhengHei", Arial, sans-serif;
  font-size: 100%;
  margin: 0;
}

button, input {
  line-height: normal;
  padding: 0;
  cursor: pointer;
  background: none;
}

button, select {
  text-transform: none;
  background: none;
}
button:focus, select:focus {
  outline: none;
}

button, html input[type=button] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}
input:focus {
  outline: none;
}
input[type=radio] {
  margin: 3px 3px 0 5px;
  -webkit-appearance: radio;
  width: auto;
  box-sizing: border-box;
  background-color: initial;
  padding: initial;
  border: initial;
}
input[type=radio]:checked {
  background-color: #333;
}
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
input[type=radio][disabled], input [type=checkbox][disabled], input [type=radio][readonly], input [type=checkbox][readonly] {
  background-color: transparent;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

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

html {
  font-family: "PingFang TC", Helvetica, "\5FAE\8EDF\6B63\9ED1\9AD4", "Microsoft JhengHei", Arial, sans-serif;
  font-size: 5.2vw;
}

a {
  text-decoration: none;
  color: black;
}

button {
  border: none;
}

button:focus {
  outline: none;
}

@media only screen and (min-width: 320px) {
  html {
    font-size: 14px;
  }
}
@media only screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
.contentTitle, .indexTitle.more {
  font-weight: 600;
  color: #454A54;
  border-left: 4px solid #6690FF;
  padding-left: 8px;
}

.searchInput.forLife .searchAutoComplete .searchLoc {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.carouselPrevious, .carouselNext {
  -webkit-filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.1));
}

.imagePreview a.on::after, .imageZoom a.on::after {
  content: "";
  background: rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 100%;
  border: 2px solid transparent;
  border-radius: 5px;
  position: absolute;
  top: -1px;
  left: -1px;
}

.gap4 {
  gap: 4px;
}

.gap8 {
  gap: 8px;
}

.gap12 {
  gap: 12px;
}

.gap16 {
  gap: 16px;
}

.gap20 {
  gap: 20px;
}

.gap32 {
  gap: 32px;
}

.gap40 {
  gap: 40px;
}

.hlH1, .hlH2, .hlH3, .hlH5, .hlH6, .subTit1, .subTit2 {
  font-weight: bold;
}

.hlH1 {
  font-size: 2.5em;
}

.hlH2 {
  font-size: 2em;
  letter-spacing: 0.2px;
}

.hlH3 {
  font-size: 1.5em;
}

.hlH5 {
  font-size: 1.25em;
  letter-spacing: 0.15px;
}

.hlH6 {
  font-size: 1.125em;
  letter-spacing: 0.125px;
}

.subTit1 {
  font-size: 1em;
  letter-spacing: 0.15px;
}

.subTit2 {
  font-size: 0.875em;
  letter-spacing: 0.1px;
}

.body1 {
  font-size: 1em;
  letter-spacing: 0.5px;
}

.body2 {
  font-size: 0.875em;
  letter-spacing: 1.25px;
}

.caption {
  font-size: 0.75em;
  letter-spacing: 0.4px;
}

/*大主圖*/
.portfolioImg {
  cursor: pointer;
  position: relative;
}
.portfolioImg a {
  display: flex;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.portfolioImg .iframeWrapper {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  position: relative;
}
.portfolioImg iframe {
  width: 100%;
  height: 100%;
  position: absolute;
}
.portfolioImg.video {
  position: relative;
}
.portfolioImg .list_video_play, .portfolioImg .video_list {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.portfolioImg.video::before, .videoPlayBtn {
  content: "";
  width: 50px;
  height: 50px;
  background: url("../img/icon/play_white.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  bottom: calc(50% - 25px);
  left: calc(50% - 25px);
  z-index: 1;
  -webkit-filter: drop-shadow(2px 2px 5px #000000);
          filter: drop-shadow(2px 2px 5px #000000);
  cursor: pointer;
}

.videoListPlayBtn {
  width: 100%;
  background: url(../img/icon/play_white.svg) center no-repeat;
  background-size: 50px 50px;
  padding-bottom: 75%;
  cursor: pointer;
  -webkit-filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.4));
  position: absolute;
  top: 0;
  left: 0;
}

/*VIPtag*/
.vipTag {
  background: #e1264a;
  font-size: 10px;
  color: #ffffff;
  line-height: 1.5;
  text-align: center;
  padding: 0 5px;
  display: inline-block;
  position: relative;
}
.vipTag::before, .vipTag::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #e1264a;
  position: absolute;
  right: -7px;
}
.vipTag::before {
  border-width: 0px 0 9px 7px;
  top: 0;
}
.vipTag::after {
  border-width: 9px 0 0px 7px;
  bottom: 0;
}
.vipTag.silver {
  background: #333333;
}
.vipTag.silver::before, .vipTag.silver::after {
  border-color: transparent transparent transparent #333333;
}

/*星星數*/
.stars {
  width: 65px;
  height: 14px;
  display: inline-block;
  position: relative;
}
.stars span {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.stars span:first-of-type {
  background: url(../img/icon/rate.svg) no-repeat;
  background-size: 65px auto;
  background-position: left;
}
.stars span:last-of-type {
  background: url(../img/icon/rate_yellow.svg) no-repeat;
  background-size: 65px auto;
  background-position: left;
}

/*slide效果*/
.slideFun {
  overflow-x: auto;
  -webkit-overflow-scrolling: touchcarousecarouse;
  display: -webkit-box;
  padding: 0 0 5px 0;
}

/*slide點點*/
.slideDot {
  text-align: center;
}
.slideDot button {
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.2);
  margin: 0 5px;
}
.slideDot button.on {
  background: rgba(0, 0, 0, 0.6);
}

.slickRowStep {
  padding-bottom: 40px;
}
.slickRowStep .slick-prev {
  left: calc(50% - 140px);
  transform: translateX(-50%);
}
.slickRowStep .slick-prev::before {
  content: "";
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon/back.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  opacity: 0.4;
}
.slickRowStep .slick-next {
  right: calc(50% - 140px);
  transform: translateX(50%);
}
.slickRowStep .slick-next::before {
  content: "";
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon/go.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  opacity: 0.4;
}

.slickRowCmty {
  padding-bottom: 40px;
}
.slickRowCmty .slick-prev {
  left: -20px;
}
.slickRowCmty .slick-prev::before {
  content: "";
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon/back.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  opacity: 0.4;
}
.slickRowCmty .slick-next {
  right: -20px;
}
.slickRowCmty .slick-next::before {
  content: "";
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon/go.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  opacity: 0.4;
}

/*輪播*/
.carouselPrevious, .carouselNext {
  content: "";
  width: 50px;
  height: 50px;
  background: url("../img/icon/circle_arrow_left.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  top: 50%;
  opacity: 0;
  cursor: pointer;
}

.carouselPrevious {
  left: 0;
}

.carouselNext {
  background-image: url("../img/icon/circle_arrow_right.svg");
  right: 0;
}

.carouselDots {
  position: absolute;
  right: calc(50% - 26px);
  bottom: 20px;
  z-index: 2;
}

.eachDot {
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.1);
  margin-right: 5px;
  display: inline-block;
  cursor: pointer;
}

.carouselContent {
  opacity: 0;
  height: 0;
  pointer-events: none;
}

.carousel {
  white-space: nowrap;
  overflow: hidden;
  position: relative;
}
.carousel input[type=radio] {
  display: none;
}
.carousel input[type=radio]:checked + .carouselContent {
  height: auto;
  opacity: 1;
  pointer-events: auto;
}

/*多格圖片*/
.imagePreview, .imageZoom {
  display: inline-block;
  vertical-align: text-top;
}
.imagePreview a, .imageZoom a {
  width: 100%;
  background-size: cover;
  background-position: center;
  margin-bottom: 10px;
  border-radius: 5px;
  display: block;
  position: relative;
}
.imagePreview a.on::after, .imageZoom a.on::after {
  background: rgba(0, 0, 0, 0.6);
  border: none;
  top: 0;
  left: 0;
}

.imagePreview {
  display: none;
}
.imagePreview a {
  padding-bottom: calc(75% - 5px);
}

.imageZoom {
  width: 100%;
}
.imageZoom a {
  padding-bottom: calc(75% - 15px);
}

/*排序*/
.sortBtn, .sortBtnNormal {
  width: 100%;
  display: inline-block;
  border-top: 3px solid rgba(0, 0, 0, 0.03);
  border-bottom: 3px solid rgba(0, 0, 0, 0.03);
  padding: 10px 0;
}
.sortBtn button, .sortBtnNormal button {
  width: calc(100% / 4 - 4px);
  font-size: 14px;
  color: rgba(0, 0, 0, 0.75);
  display: inline-block;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.sortBtn button::after, .sortBtnNormal button::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../img/icon/rank.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-left: 3px;
  vertical-align: middle;
  opacity: 0.2;
}
.sortBtn button.on, .sortBtnNormal button.on {
  color: #e1264a;
}
.sortBtn button.on::after, .sortBtnNormal button.on::after {
  background: url("../img/icon/rank_red.svg") no-repeat center;
  background-size: 100%;
  opacity: 1;
  opacity: 1;
}
.sortBtn button:last-of-type, .sortBtnNormal button:last-of-type {
  border: none;
}
.sortBtn button.talentPriceSort::after, .sortBtnNormal button.talentPriceSort::after {
  background: url("../img/icon/rank_updown.svg") no-repeat center;
  background-size: 100%;
  opacity: 1;
  opacity: 0.2;
}
.sortBtn button.talentPriceSort.up.on::after, .sortBtnNormal button.talentPriceSort.up.on::after {
  background: url("../img/icon/rank_updown_up.svg") no-repeat center;
  background-size: 100%;
  opacity: 1;
  opacity: 1;
}
.sortBtn button.talentPriceSort.down.on::after, .sortBtnNormal button.talentPriceSort.down.on::after {
  background: url("../img/icon/rank_updown_down.svg") no-repeat center;
  background-size: 100%;
  opacity: 1;
  opacity: 1;
}
.sortBtn.forLife button:hover, .sortBtn.forLife button.on, .sortBtnNormal.forLife button:hover, .sortBtnNormal.forLife button.on {
  color: #3366FF;
}
.sortBtn.forLife button:hover::after, .sortBtn.forLife button.on::after, .sortBtnNormal.forLife button:hover::after, .sortBtnNormal.forLife button.on::after {
  background: url("../img/icon/rank.svg") no-repeat center;
  background-size: 100%;
  opacity: 1;
  opacity: 0.6;
}

/*搜尋匡*/
.searchInput input[type=search] {
  width: calc(100% - 25px);
  min-height: 42px;
  background: #ffffff;
  padding: 0 10px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px 0 0 5px;
  line-height: 2.5;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.searchInput input[type=search]::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
.searchInput input[type=search]::-webkit-input-placeholder, .searchInput input[type=search]::placeholder {
  color: rgba(0, 0, 0, 0.2);
}
.searchInput input[type=submit] {
  width: 45px;
  height: 45px;
  background: url(../img/icon/search_btn_white.svg?20190820) center no-repeat #3366FF;
  background-size: 16px;
  text-indent: -9999px;
  border: none;
  border-radius: 0 5px 5px 0;
  margin-left: -8px;
  position: relative;
  z-index: 1;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.searchInput.forLife {
  width: 100%;
  font-size: 14px;
}
.searchInput.forLife .searchAutoComplete {
  width: calc(100% - 45px);
  max-width: 600px;
}
.searchInput.forLife .searchAutoComplete input[type=search] {
  width: 100%;
}
.searchInput.forLife .searchAutoComplete .searchLoc {
  width: 100px;
  background-color: #ffffff;
  color: rgba(0, 0, 0, 0.6);
  line-height: 3;
  text-align: left;
  padding-left: 10px;
  margin-left: -1px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
}
.searchInput.forLife .searchAutoComplete .searchLoc::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("../img/icon/expand.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-left: 5px;
  opacity: 0.6;
}
.searchInput.forLife .searchAutoComplete input[type=search], .searchInput.forLife .searchAutoComplete .searchLoc {
  float: left;
}
.searchInput.forLife .searchAutoComplete, .searchInput.forLife input[type=submit] {
  vertical-align: middle;
}
.searchInput.forLife input[type=submit] {
  margin-left: -5px;
}

.searchAutoComplete {
  width: calc(100% - 70px);
  display: inline-block;
  position: relative;
}

/*提示訊息*/
.popWindow, .popUpAd, .autoClose {
  width: calc(90% - 40px);
  max-height: 80vh;
  background: #ffffff;
  padding: 20px;
  border-radius: 5px;
  position: fixed;
  top: calc(10vh - 45px);
  left: 5%;
  z-index: 12;
  display: none;
}

.popWinLifePost {
  z-index: 12;
  display: none;
  position: fixed;
  top: calc(10vh - 45px);
  left: 50%;
  width: calc(100% - 20px);
  max-width: 400px;
  max-height: 90vh;
  transform: translateX(-50%);
  padding: 20px;
  border-radius: 5px;
  box-sizing: border-box;
}
.popWinLifePost .recTag {
  margin-right: 4px;
  font-size: 13px;
  color: white;
  padding: 1px 16px;
  background: linear-gradient(95deg, #26e1aa 0%, #94e677 100%);
  border-radius: 100px;
}

.popWindowForPub {
  width: 100vw;
  height: 100vh;
  font-size: 16px;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
}
.popWindowForPub.on {
  z-index: 102;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.popWindowForPub.on ~ .maskdiv {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  background: rgba(0, 0, 0, 0.5);
}
.popWindowForPub img {
  margin: 0 auto;
  width: calc(100% - 20px);
  max-width: 520px;
}
.popWindowForPub .pubBtnRow {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 20px);
}
.popWindowForPub .popPubFrame {
  position: relative;
}
.popWindowForPub .popWinPubClose {
  position: absolute;
  top: -30px;
  right: 20px;
}
.popWindowForPub .popWinPubClose img {
  width: 100%;
}
.popWindowForPub.resizeSmall .popWinImg {
  margin: 0 auto;
  width: calc(100% - 30px);
  max-width: 600px;
  border-radius: 5px;
}

/*提示訊息-loading*/
.loadingPop {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  display: none;
}
.loadingPop.on {
  z-index: 100;
  display: block;
}

.loading-overlay {
  opacity: 0.9 !important;
  position: relative;
}

.loadingPic, .loading-overlay-content {
  background: url("../img/animation/loading.gif") no-repeat center top;
  background-size: 100%;
  font-size: 16px;
  text-align: center;
  line-height: 1;
  width: 150px;
  padding-top: 170px;
  top: calc(50% - 100px);
  left: calc(50% - 75px);
}

.loadingPic {
  position: fixed;
}

.loading-overlay-content {
  letter-spacing: 0 !important;
  font-size: 14px !important;
  font-weight: normal !important;
  position: absolute;
}

/*給行動版舊框架預留版高度*/
.forHeadHeight {
  height: 50px;
}

/*跟屁蟲*/
.gotop {
  position: fixed;
  bottom: 20vh;
  right: 0;
  z-index: 3;
  width: 50px;
  text-align: center;
  display: none;
}
.gotop .gototop {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 5px auto;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  width: 34px;
  height: 50px;
  color: #ffffff;
  font-size: 12px;
  line-height: 20px;
  background: rgba(0, 0, 0, 0.3);
}
.gotop .gototop::before {
  content: "\25B2";
  display: block;
  line-height: 1;
}
.gotop .gototop:link, .gotop .gototop:visited {
  text-decoration: none;
}
.gotop .writeReview {
  width: 34px;
  height: 100px;
  background: url("../img/btn/review_btn.svg") no-repeat;
  margin-bottom: 10px;
  display: none;
}
.gotop.tips {
  z-index: 102;
  pointer-events: none;
}
.gotop.tips::after {
  content: "\9EDE\6B64\7D66\6211\5011\4E00\4E9B\53CD\994B\5427\FF01";
  background: url("../img/icon/tip_arrow_right.svg") right center no-repeat;
  background-size: 40px;
  color: #ffffff;
  font-size: 16px;
  font-weight: normal;
  padding-right: 40px;
  position: absolute;
  top: 200px;
  left: -220px;
}

/*黑屏*/
.maskdiv {
  background: rgba(0, 0, 0, 0.75);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  display: none;
}
.maskdiv.tips {
  display: block;
  z-index: 100;
}
.maskdiv.tips .tipsConfirmBtn {
  background: url("../img/icon/close_whi.svg") left center no-repeat;
  background-size: 15px;
  color: #ffffff;
  padding-left: 20px;
  display: block;
  position: fixed;
  top: 20px;
  right: 20px;
}

.autoCompleteList {
  width: calc(100% - 6px);
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 42px;
  left: 0;
  z-index: 2;
  max-height: 220px;
  overflow-y: scroll;
}

.autoCompleteItem {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.75);
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 10px;
}

.hotKeyWords {
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 14px;
}
.hotKeyWords a {
  color: rgba(0, 0, 0, 0.6);
  display: inline-block;
}
.hotKeyWords a:last-of-type {
  margin-right: 0;
}

/*返回按鈕*/
.menuBack::before {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../img/icon/back.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}

.backToList {
  padding: 15px 0;
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

/*置中標題＋more有看更多*/
.indexTitle {
  font-weight: 600;
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.25rem;
}
.indexTitle.more {
  width: calc(100% - 20px);
  max-width: 1200px;
  margin: 0 auto 20px auto;
  position: relative;
  text-align: left;
}
.indexTitle.more a {
  font-size: 16px;
  font-weight: normal;
  position: absolute;
  top: 5px;
  right: 0;
}

.illustrateTitle {
  position: relative;
  margin: 0 auto 20px auto;
  width: calc(100% - 20px);
  max-width: 1200px;
  font-size: 21px;
  font-weight: 600;
  text-align: left;
}
.illustrateTitle .catIcon {
  margin-right: 2px;
  height: 30px;
  transform: translateY(2px);
}
.illustrateTitle .catIcon.iconHot {
  content: "";
  width: 30px;
  background: url("../img/illustrate/icon_hot.svg") no-repeat;
  background-size: 100%;
  display: inline-block;
}
.illustrateTitle .catIcon.iconRepair {
  content: "";
  width: 30px;
  background: url("../img/illustrate/icon_repair.svg") no-repeat;
  background-size: 100%;
  display: inline-block;
}
.illustrateTitle .catIcon.iconHome {
  content: "";
  width: 30px;
  background: url("../img/illustrate/icon_home.svg") no-repeat;
  background-size: 100%;
  display: inline-block;
}
.illustrateTitle .catIcon.iconClear {
  content: "";
  width: 30px;
  background: url("../img/illustrate/icon_clear.svg") no-repeat;
  background-size: 100%;
  display: inline-block;
}

/*一般標題 沒有看更多*/
.contentTitle {
  font-size: 18px;
  margin: 40px auto 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.lineTit {
  padding-left: 4px;
  box-shadow: -4px 0 0 #6690FF;
}

/*一般的紅色按鈕*/
.redBtn {
  background: #e1264a;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #e1264a;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  width: 36%;
  color: #ffffff;
}

.redSubBtn {
  background: #ffffff;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #e1264a;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  color: #e1264a;
  border-width: 1px;
}

/*一般的黑色按鈕*/
.blackBtn {
  background: #333;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #333;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  width: 36%;
  color: #ffffff;
}

.grayBtn {
  background: #AAAEB2;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #AAAEB2;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  width: 36%;
  color: #ffffff;
}

/*小的紅色按鈕*/
.smallRedBtn {
  background: #e1264a;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  padding: 5px 15px;
  border: 1px solid #e1264a;
  border-radius: 5px;
  display: inline-block;
}
.smallRedBtn.black {
  background: #333;
  border-color: #333;
}
.smallRedBtn.grayBorder {
  background: none;
  color: rgba(0, 0, 0, 0.75);
  border-color: rgba(0, 0, 0, 0.6);
}
.smallRedBtn.grayBorder.click {
  color: #e1264a;
  border-color: #e1264a;
}
.smallRedBtn.grayBorder.click::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("../img/icon/check.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
}

.lifeBtn {
  background: #3366FF;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #3366FF;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  color: #ffffff;
  border-width: 1px;
  transition: 0.1s;
  cursor: pointer;
}

.lifeSubBtn {
  background: #ffffff;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #3366FF;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  color: #3366FF;
  border-width: 1px;
  transition: 0.1s;
  cursor: pointer;
}
.lifeSubBtn:hover {
  background: #3366FF;
  color: #ffffff;
}

.smallLifeBtn {
  background: #3366FF;
  color: #ffffff;
  padding: 5px 8px;
  border: 1px solid #3366FF;
  border-radius: 5px;
  display: inline-block;
}

.accentBtn {
  background: #FF7E33;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #FF7E33;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  width: 36%;
  color: #ffffff;
}

.subAccentBtn {
  background: #ffffff;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #FF7E33;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  color: #FF7E33;
  border-width: 1px;
  transition: 0.1s;
  cursor: pointer;
}
.subAccentBtn:hover {
  background: #FF7E33;
  color: #ffffff;
}

.dangerSubBtn {
  background: #ffffff;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #FF3535;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  color: #FF3535;
  border-width: 1px;
  transition: 0.1s;
  cursor: pointer;
}
.dangerSubBtn:hover {
  background: #FF3535;
  color: #ffffff;
}

.redBtn.forChat, .blackBtn.forChat, .smallRedBtn.forChat {
  position: relative;
}

.redBtn .count, .blackBtn .count, .smallRedBtn .count, .chatBtn .count {
  min-width: 15px;
  background: #333;
  color: #ffffff;
  font-size: 10px;
  line-height: 1.5;
  padding: 3px;
  border-radius: 100px;
  position: absolute;
  top: -5px;
  left: -5px;
}

/*line用*/
.lineBtn {
  background: #00C300;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid #00C300;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  width: 36%;
  color: #ffffff;
  transition: 0.1s;
}
.lineBtn:hover {
  background-color: #00E000;
  border-color: #00E000;
}
.lineBtn::before {
  content: "";
  display: inline-block;
  background: url(https://s1.945.com.tw/img/icon/line_id_green.svg) no-repeat 50%;
  width: 20px;
  height: 20px;
  padding-left: 0;
  margin-right: 5px;
  background-size: 100%;
  font-weight: 400;
  border: none;
  transform: translateY(4px);
}

/*載更多的鈕*/
.moreButton {
  background: none;
  max-width: 155px;
  line-height: 2.5;
  border: 2px solid rgba(0, 0, 0, 0.75);
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
  cursor: pointer;
  border-width: 1px;
  width: 40%;
  margin: 20px auto;
}

/*按鈕尺寸*/
.btnS {
  width: 96px;
}

.btnM {
  width: 120px;
}

.btnL {
  width: 160px;
}

.btnXl {
  width: 200px;
}

.btnFull {
  width: 100%;
  max-width: none;
}

/*物件對齊*/
.textCenter {
  text-align: center;
}

.textRight {
  text-align: right;
}

.textLeft {
  text-align: left;
}

.alignRight {
  float: right;
}

/*水平置左右、垂直對齊*/
.flexBtCenter {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex {
  display: flex;
}

.flexWrap {
  flex-wrap: wrap;
}

.flexColumn {
  flex-direction: column;
}

.flexAlignCenter {
  align-items: center;
}

.flexCenter {
  align-items: center;
  justify-content: center;
}

/*物件間距*/
.marginTop {
  margin-top: 20px;
}

.marginTopXl {
  margin-top: 40px;
}

.marginTopSmall {
  margin-top: 10px;
}

.marginBottom {
  margin-bottom: 20px;
}

.marginRight {
  margin-right: 20px;
}

.marginLeft {
  margin-left: 20px;
}

.marginLeftSmall {
  margin-left: 10px;
}

.marginTopBottom {
  margin-top: 10px;
  margin-bottom: 10px;
}

/*框線*/
.borderTop {
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/*換行*/
.break {
  display: block;
}

/*驚嘆號提示*/
.alertHint {
  font-size: 14px;
  color: #e1264a;
  line-height: 1;
  padding-right: 5px;
}
.alertHint::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("../img/icon/error.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-right: 5px;
  transform: translateY(2.4px);
}

/*提示小小字*/
.hintStyleSmaller {
  font-size: 12px;
  color: #848B9A;
}

/*提示小字*/
.hintStyle {
  font-size: 14px;
  color: #848B9A;
}

/*底線連結+藍字*/
.blueLink {
  color: #6690FF;
  text-decoration: underline;
  cursor: pointer;
}

/*宅任務非聯絡時段*/
.lifeGreyLink {
  cursor: pointer;
}

/*底線連結*/
.linkUnderline {
  text-decoration: underline;
  cursor: pointer;
}

/*紅字*/
.redText {
  color: #FF3535;
}

.pinkText {
  color: #D93B59;
}

/*藍字*/
.blueText {
  color: #6690FF;
}

/*黑字*/
.blackText {
  color: #000000;
}

/*灰字*/
.grayText {
  color: #848B9A;
}

/*黃字*/
.yellowText {
  color: #FCD307;
}

/*白字*/
.whiteText {
  color: #ffffff;
}

.lifeText {
  color: #3366FF;
}

/*粗字*/
.boldText {
  font-weight: 600;
}

/*粗+紅字*/
.boldRed {
  color: #e1264a;
  font-weight: 600;
}

.accentText {
  color: #FF7E33;
}

/*粗+黑字*/
.boldBlack {
  color: #454A54;
  font-weight: 600;
}

.fontXs {
  font-size: 12px;
}

.fontSmall {
  font-size: 14px;
}

.fontMedium {
  font-size: 18px;
}

/*大字*/
.fontLarge {
  font-size: 21px;
  font-weight: 600;
  line-height: 2.5;
}

/*超大字*/
.fontXl {
  font-size: 24px;
  font-weight: 600;
  line-height: 3;
}

/*顏色們*/
.bgRed {
  background: #FCE9EC;
}

.bgPurple {
  background: rgba(152, 89, 204, 0.2);
}

.bgBlue {
  background: rgba(0, 138, 217, 0.2);
}

.bgLightBlue {
  background: #E7F4FC;
}

.bgOrange {
  background: rgba(242, 113, 41, 0.2);
}

.bgGray {
  background: rgba(0, 0, 0, 0.05);
}

.bgDarkGray {
  background: rgba(0, 0, 0, 0.6);
}

.bgWhite {
  background: #ffffff;
}

/*桌機手機nav的宅任務提示*/
.forTalent {
  background: #313131;
  font-size: 10px;
  color: #ffffff;
  padding: 3px 5px;
  border-radius: 10px;
  white-space: nowrap;
  position: absolute;
  top: -26px;
  left: 6px;
  z-index: 5;
}
.forTalent i {
  color: #e1264a;
}

.forNew {
  position: absolute;
  top: -20px;
  left: 20px;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  line-height: 1.2;
  color: #000000;
  background-color: #FED33B;
}

/*滾軸*/
::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.03);
}

::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.2);
}

.joinVipTop2021 {
  position: relative;
  max-height: 400px;
  overflow: hidden;
}
.joinVipTop2021::before {
  content: "";
  position: absolute;
  left: calc( (100% - 650px) / 2);
  display: inline-block;
  background-image: url("../img/event/join_vip_2021/211004_event_3000x1050.png");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  width: 650px;
  height: 100%;
}

.forEventBn {
  background: center/cover no-repeat url("../img/event/211101/230719/230719_event_640x480.png") #D1182F;
}

.forEvent2Bn {
  background: center/cover no-repeat url("../img/event/211224_new/211224_event_640x480_new.png") black;
}

.forEvent1Bn {
  position: relative;
  background-color: #dce8ff;
}
.forEvent1Bn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  background-size: 100%;
  background-image: url("../img/life/211007/211007_event_2000x700.png");
  background-position: 100% 0%;
  background-repeat: no-repeat;
  width: 1000px;
  height: 100%;
}

.accIcon {
  margin-right: 4px;
}
.accIcon::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  transform: translateY(2px);
  background: center/contain no-repeat url("https://s1.945.com.tw/img/icon/life_level/cmty_medal_1.svg");
}

.infoIconRed {
  content: "";
  width: 14px;
  height: 14px;
  background: url("../img/icon/info_red.svg") no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-right: 5px;
  transform: translateY(1px);
}

.popContract {
  position: relative;
  font-size: 0.875rem;
  line-height: 1.8;
}
.popContract details span {
  line-height: 1.8;
  text-align: left;
}
.popContract summary {
  position: absolute;
  top: 0;
  right: calc(100% - 178px);
  width: 80px;
  text-align: left;
}
.popContract a {
  text-decoration: underline;
  cursor: pointer;
}
.popContract input[type=checkbox] {
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

@media only screen and (min-width: 320px) {
  .popContract summary {
    right: calc(100% - 188px);
  }
}
@media only screen and (min-width: 414px) {
  .joinVipTop2021::before {
    width: 900px;
    left: calc( (100% - 900px) / 2);
  }
}
@media only screen and (min-width: 500px) {
  .forEvent1Bn::before {
    background-position: 100% 0%;
    width: 1200px;
  }

  .joinVipTop2021::before {
    width: 1000px;
    left: calc( (100% - 1000px) / 2);
  }
}
@media only screen and (min-width: 640px) {
  .popContract summary {
    right: calc(100% - 200px);
  }
}
@media only screen and (max-width: 768px) {
  .forEvent1Bn::before {
    left: -200px;
  }
}
@media only screen and (min-width: 768px) {
  .forEventBn {
    background: center/contain no-repeat url("../img/event/211101/230719/230719_event_2000x700.png") #D1182F;
  }

  .forEvent2Bn {
    background: center/contain no-repeat url("../img/event/211224_new/211224_event_2000x700.png") black;
  }
}
@media only screen and (max-width: 991px) {
  .headerDesktop, .footerDesktop {
    display: none;
  }
  .headerDesktop.on, .footerDesktop.on {
    display: block;
  }

  .headerMobile, .footerMobile {
    display: block;
  }

  .instanHelpIcon {
    width: 50px;
    height: 50px;
    color: #ffffff;
    padding: 0;
    border-radius: 50%;
  }
  .instanHelpIcon span {
    display: none;
  }
  .instanHelpIcon::before {
    display: none;
  }
  .instanHelpIcon::after {
    content: "\7DDA\4E0A\5BA2\670D";
    width: 70%;
    height: 70%;
    color: #ffffff;
    font-size: 12px;
    line-height: 1.4;
    word-break: break-all;
    margin: 15% 25%;
    display: inline-block;
  }

  input[type=checkbox]#instan_help_icon:checked ~ .instanHelpIcon {
    display: block;
  }
}
@media only screen and (min-width: 992px) {
  .popWinLifePost {
    max-height: none;
  }

  .headerDesktop, .footerDesktop {
    display: block;
  }

  .headerMobile, .footerMobile, .forHeadHeight {
    display: none;
  }
  .headerMobile.on, .footerMobile.on, .forHeadHeight.on {
    display: block;
  }
  .headerMobile.on ~ .forHeadHeight, .footerMobile.on ~ .forHeadHeight, .forHeadHeight.on ~ .forHeadHeight {
    display: block;
  }

  .tFlag:hover::after {
    content: "Tasker\5C0F\7DE8\7CBE\9078";
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-size: 14px;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.75);
    padding: 5px;
    position: absolute;
    top: 35px;
    left: 0;
  }
  .tFlag:hover::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 5px 10px 5px;
    border-color: transparent transparent rgba(0, 0, 0, 0.75) transparent;
    position: absolute;
    top: 25px;
    right: 5px;
  }

  .addToList button:hover {
    background-image: url("../img/icon/like_red.svg");
    background-size: 18px;
    opacity: 1;
  }

  .fbSignIn, .gSignIn, .lineSignIn {
    display: inline-block;
  }

  .inviteTalentBtn button:hover, .inviteAllTalent:hover, .redBtn:hover, .smallRedBtn:hover, .smallLifeBtn:hover, .guideForLife button:hover, .grayBtn:hover {
    position: relative;
  }
  .inviteTalentBtn button:hover::after, .inviteAllTalent:hover::after, .redBtn:hover::after, .smallRedBtn:hover::after, .smallLifeBtn:hover::after, .guideForLife button:hover::after, .grayBtn:hover::after {
    content: "";
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(0, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    border-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
  }

  .pageSelect {
    float: right;
    display: inline-block;
  }

  .inviteAddLineat:hover span {
    display: contents;
  }

  .eachDot:hover {
    background: rgba(0, 0, 0, 0.4);
  }

  .carousel:hover input[type=radio]:checked + .carouselContent .carouselPrevious, .carousel:hover input[type=radio]:checked + .carouselContent .carouselNext {
    opacity: 1;
  }

  .carouselPrevious:hover::after, .carouselNext:hover::after, .videoPlayBtn:hover::after {
    content: "";
    background: rgba(0, 0, 0, 0.2);
    width: 86%;
    height: 86%;
    border-radius: 50%;
    position: absolute;
    top: 8%;
    left: 8%;
  }

  .joinVipTop2021::before {
    max-width: none;
    width: 100%;
    left: 0;
  }

  .popWindowForPub img, .popWindowForPub .pubBtnRow {
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) {
  .carouselPrevious {
    left: calc(50% - 600px);
  }

  .carouselNext {
    right: calc(50% - 600px);
  }

  .forEvent1Bn::before, .forEventLifeBn::before {
    width: 100%;
  }
}