@charset "UTF-8";
/*----------reset css-----------*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
  height: auto;
}

iframe {
  max-width: 100%;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

input {
  line-height: normal;
}

input[type="text"]:focus {
  outline: none;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
}

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

td,
th {
  padding: 0;
}

ul,
ol,
dl,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
  padding: 0;
  margin: 0;
}

textarea {
  resize: none;
}

/*元素垂直置中*/
/*會由後台上稿的圖片*/
/*-------------------unrest css-----------------*/
.unreset li {
  display: list-item;
}
.unreset head {
  display: none;
}
.unreset col {
  display: table-column;
}
.unreset colgroup {
  display: table-column-group;
}
.unreset td, .unreset th {
  display: table-cell;
}
.unreset caption {
  display: table-caption;
  text-align: center;
}
.unreset th {
  font-weight: bold;
  text-align: center;
}
.unreset body {
  margin: 8px;
}
.unreset address, .unreset blockquote, .unreset dd, .unreset div, .unreset dl, .unreset dt, .unreset fieldset, .unreset form, .unreset frame, .unreset frameset, .unreset h1, .unreset h2, .unreset h3, .unreset h4, .unreset h5, .unreset h6, .unreset noframes, .unreset ol, .unreset p, .unreset ul, .unreset center, .unreset dir, .unreset hr, .unreset menu, .unreset pre {
  display: block;
}
.unreset h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
.unreset h2 {
  font-size: 1.5em;
  margin: 0.75em 0;
}
.unreset h3 {
  font-size: 1.17em;
  margin: 0.83em 0;
}
.unreset h4, .unreset p, .unreset blockquote, .unreset ul, .unreset fieldset, .unreset form, .unreset ol, .unreset dl, .unreset dir, .unreset menu {
  margin: 0;
}
.unreset h5 {
  font-size: .83em;
  margin: 1.5em 0;
}
.unreset h6 {
  font-size: .75em;
  margin: 1.67em 0;
}
.unreset h1, .unreset h2, .unreset h3, .unreset h4, .unreset h5, .unreset h6, .unreset b, .unreset strong {
  font-weight: bolder;
}
.unreset blockquote {
  margin-left: 40px;
  margin-right: 40px;
}
.unreset i, .unreset cite, .unreset em, .unreset var, .unreset address {
  font-style: italic;
}
.unreset pre, .unreset tt, .unreset code, .unreset kbd, .unreset samp {
  font-family: monospace;
}
.unreset pre {
  white-space: pre;
}
.unreset button, .unreset textarea, .unreset input, .unreset select {
  display: inline-block;
}
.unreset big {
  font-size: 1.17em;
}
.unreset small, .unreset .unreset sub, .unreset .unreset sup {
  font-size: 0.83em;
}
.unreset sub {
  vertical-align: sub;
}
.unreset sup {
  vertical-align: super;
}
.unreset s, .unreset strike, .unreset del {
  text-decoration: line-through;
}
.unreset hr {
  border: 1px inset;
}
.unreset ol, .unreset ul, .unreset dir, .unreset menu, .unreset dd {
  margin-left: 40px;
}
.unreset ol, .unreset ol li {
  list-style-type: decimal;
}
.unreset ol ul, .unreset ul ol, .unreset ul ul, .unreset ol ol {
  margin-top: 0;
  margin-bottom: 0;
}
.unreset ul, .unreset ul li {
  list-style-type: disc;
}
.unreset .contractliststyle {
  font-size: 18px;
}
.unreset .contractliststyle ul li {
  list-style-type: inherit;
}
.unreset .contractliststyle p {
  margin-top: 10px;
}
.unreset .contractliststyle ol, .unreset .contractliststyle ul, .unreset .contractliststyle dir, .unreset .contractliststyle menu, .unreset .contractliststyle dd {
  margin-left: 32px;
}
.unreset .contractliststyle ul > li {
  margin-bottom: 30px;
}
.unreset .contractliststyle li {
  margin-bottom: 10px;
}
.unreset .contractliststyle ol {
  list-style-type: none;
  counter-reset: item;
}
.unreset .contractliststyle ol li {
  counter-increment: item;
}
.unreset .contractliststyle ol li::before {
  content: "(" counter(item,cjk-ideographic) ") ";
  position: absolute;
  left: -32px;
}
.unreset .contractliststyle ol ol li::before {
  display: none;
}
.unreset .contractliststyle ol ul, .unreset .contractliststyle ul ol, .unreset .contractliststyle ul ul, .unreset .contractliststyle ol ol {
  margin-top: 10px;
  margin-bottom: 0;
}
.unreset .contractliststyle ul {
  list-style-type: cjk-ideographic;
}
.unreset .contractliststyle ol ol {
  list-style-type: decimal;
}
.unreset u, .unreset ins {
  text-decoration: underline;
}
.unreset br:before {
  content: "\A";
  white-space: pre-line;
}
.unreset center {
  text-align: center;
}
.unreset:link, .unreset:visited {
  text-decoration: underline;
}
.unreset:focus {
  outline: thin dotted invert;
}
.unreset img {
  max-width: 100%;
  height: initial !important;
}
.unreset iframe {
  max-width: 100%;
}
.unreset .embeddedContent {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.unreset .embeddedContent iframe, .unreset .embeddedContent object, .unreset .embeddedContent embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.unreset a {
  color: #0066ff;
}

.f12 {
  font-size: 12px;
}

.f14 {
  font-size: 14px;
}

.f15 {
  font-size: 15px;
}

.f17 {
  font-size: 17px;
}

.fontwthin {
  font-weight: var(--Thin);
}

.fontwlight {
  font-weight: var(--Light);
}

.fontwregular {
  font-weight: var(--Regular);
}

.redcolor {
  color: var(--red_color);
}

.whitecolor {
  color: #fff;
}

.normalP {
  letter-spacing: 0em;
  line-height: calc(30/17);
  font-size: 17px;
}

.displaynone {
  display: none;
}

.displayinlineblock {
  display: inline-block;
}

.displayflex {
  display: flex;
}

.flexend {
  align-items: flex-end;
}

.inlineblockmarr5 {
  display: inline-block;
  margin-right: 5px;
}

.textaligncenter {
  text-align: center;
}

.flexnormal {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 15px;
}

.flexcenter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flexaligncenter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.flex-shrink {
  flex-shrink: 0;
}

.flexaligncenternowrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.flexbetween {
  align-items: start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 15px;
}

.marginright10 {
  margin-right: 10px;
}

.marginbottom10 {
  margin-bottom: 10px;
}

.marginbottom20 {
  margin-bottom: 20px;
}

.margintop30 {
  margin-top: 30px;
}

.margintop10 {
  margin-top: 10px;
}

@media (max-width: 480px) {
  .mobiledisplaybr br {
    display: none;
  }
}

.btnset {
  gap: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}
.btnset.style2 {
  justify-content: flex-start;
  gap: 16px;
}

@media (max-width: 375px) {
  .btnset {
    gap: 5px;
  }
}
.btnstyle {
  font-size: 19px;
  line-height: 1;
  padding: 12px 25px;
  border: 1px solid #222;
  background: #222;
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  overflow: hidden;
  border-radius: 20px;
  letter-spacing: 0.05em;
}
.btnstyle.style2 {
  background-color: initial;
  color: #222;
}
.btnstyle.w200 {
  min-width: 200px;
}
.btnstyle .fa-arrow-right {
  font-size: 12px;
  margin-left: 3px;
}
.btnstyle img.icon {
  margin-right: 10px;
  height: 20px;
  vertical-align: sub;
  display: inline;
}
.btnstyle.bigbtn {
  font-size: 20px;
  margin-top: 15px;
}
.btnstyle.bigbtn .en {
  font-size: 18px;
  font-weight: var(--Light);
}
.btnstyle.w100 {
  width: 100%;
}
.btnstyle.active {
  color: #fff;
  background-color: var(--main_color);
  opacity: 0.9;
}
.btnstyle .t {
  text-align: center;
  line-height: 1;
}
.btnstyle:hover {
  transform: scale(0.95);
}
.btnstyle.clear {
  background-color: #fff;
  color: #222;
  border: 1px solid #222;
}

.btnstyle2 {
  font-size: 15px;
  line-height: 1;
  border: 1px solid #dddddd;
  padding: 12px 24px 10px 24px;
  color: #222;
  display: inline-block;
  border-radius: 18.5px;
  background-color: #fff;
  text-align: center;
}
.btnstyle2:hover {
  border: 1px solid #444444;
}
.btnstyle2.style2 {
  border: 1px solid #444444;
}
.btnstyle2.collected {
  border: 1px solid #b63434;
  color: #b63434;
}

.btnstyle3 {
  font-size: 15px;
  line-height: 1;
  border: 1px solid #444;
  padding: 10px 20px 8px 20px;
  color: #222;
  display: inline-block;
  border-radius: 18.5px;
  background-color: #fff;
}
.btnstyle3:hover {
  background-color: #222222;
  color: #fff;
}

.btnlong {
  width: 100%;
  text-align: center;
  background: none;
  border: none;
  border: 1px solid #444444;
  border-radius: 25px;
  padding: 10px 20px;
  font-size: 16px;
  letter-spacing: 0.05em;
}
.btnlong:hover {
  background-color: #222222;
  border: #222222;
  color: #fff;
}
.btnlong.fblogin:hover {
  background-color: #395693;
  border-color: #395693;
  color: #fff;
}
.btnlong.linelogin:hover {
  background-color: #56b838;
  border-color: #56b838;
  color: #fff;
}
.btnlong.style2 {
  background-color: #222222;
  color: #fff;
}
.btnlong.style2:hover {
  background-color: #fff;
  border: 1px solid #444444;
  color: #222;
}
.btnlong.style3 {
  background-color: var(--main_color);
  border: var(--main_color);
  color: #fff;
}
.btnlong.style3:hover {
  background-color: #222222;
  border: #222222;
  color: #fff;
}

@media (max-width: 1600px) {
  .btnstyle2 {
    font-size: 14px;
    padding: 10px 15px 8px 15px;
  }
}
@media (max-width: 768px) {
  .btnlong {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .btnstyle2 {
    font-size: 13px;
    padding: 10px 12px 8px 12px;
  }
}
.smallbtn {
  font-size: 14px;
  padding: 5px 10px 3px 10px;
  border-radius: 3px;
  background-color: var(--main_color);
  color: #fff;
}
.smallbtn:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}

.openbtn {
  font-size: 14px;
  padding: 7px 15px 5px 15px;
  border-radius: 3px;
  letter-spacing: 0.05em;
  color: #666666;
  background-color: #eeeae4;
  display: inline-block;
  border: none;
  transition: 0.3s;
}
.openbtn.style2 {
  background-color: #eeeeee;
}
.openbtn.style3 {
  background-color: #666666;
  color: #fff;
}
.openbtn.style4 {
  font-weight: var(--Medium);
  background: var(--main_color);
  color: #fff;
}
.openbtn:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}

.squrebtn {
  font-size: 14px;
  font-weight: var(--Medium);
  border: none;
  background: var(--main_color);
  border-radius: 4px;
  padding: 12px 25px 10px;
  color: #fff;
  line-height: 1;
  display: inline-block;
}
.squrebtn.style2 {
  border-radius: 0;
  padding: 0px 25px 0px;
  font-size: 16px;
  letter-spacing: 0.05em;
}

.radiusbtn {
  padding: 8px 30px;
  background: #333333;
  border-radius: 22.5px;
  color: #fff;
}
.radiusbtn:hover {
  background-color: var(--main_color);
}

.iconcirclebtnsets {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.iconcirclebtn {
  font-size: 14px;
  border-radius: 50px;
  display: inline-block;
  text-align: center;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border: 1px solid #666666;
  color: #666666;
}
.iconcirclebtn.editor {
  border: 1px solid #cc3333;
  color: #cc3333;
}
.iconcirclebtn.link {
  border: 1px solid #3399ff;
  color: #3399ff;
}

@media (max-width: 768px) {
  .btnstyle {
    font-size: 14px;
    padding: 12px 14px 10px 14px;
  }

  .btnstyle.w200 {
    min-width: initial;
  }
}
@media (max-width: 480px) {
  .btnstyle {
    padding: 12px 14px 9px 14px;
  }
}
.btnstyle_circle {
  background-color: #f74848;
  border-radius: 50%;
  border: 4px solid #cc2929;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  height: 80px;
  width: 80px;
  line-height: 72px;
  text-align: center;
  display: block;
}
.btnstyle_circle:hover {
  transform: scale(1.05);
}

.morebtn {
  color: var(--main_color);
  font-size: 16px;
  font-weight: bold;
  padding: 8px 30px;
  border-radius: 20px;
  border: 1px solid var(--main_color);
  margin-top: 20px;
  display: inline-block;
  background-color: #fff;
}
.morebtn:hover {
  background: var(--main_color);
  color: #fff;
}

.btncenter {
  text-align: center;
  margin: 20px 0px;
}

.linkstyle {
  color: #509eda;
}
.linkstyle:hover {
  text-decoration: underline;
}

.hoverunderline:hover {
  text-decoration: underline;
}

.backpre {
  text-align: center;
}

.vefify {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.inputstyle {
  background-color: #fff;
  padding: 0px 15px;
  width: 100%;
  height: 42px;
  font-size: 15px;
  border: 1px solid #999;
}
.inputstyle.lightborder {
  border: 1px solid #ebe4da;
}
.inputstyle.lightborder::placeholder {
  color: #9e9c9c;
}
.inputstyle.taginput {
  padding: 0px;
}
.inputstyle .placeholder {
  color: #777;
}
.inputstyle[disabled] {
  background-color: #f9f8f7;
}
.inputstyle[type="date"] {
  padding: 7px 10px;
}
.inputstyleselect {
  padding: 9px 10px;
}
.inputstyle::placeholder {
  color: #777;
}
.inputstyle.w75 {
  width: 75px;
}
.inputstyle.w80 {
  width: 80px;
}
.inputstyle.w100 {
  width: 100px;
}
.inputstyle.w130 {
  width: 130px;
}
@media (max-width: 767px) {
  .inputstyle.w130 {
    width: 100%;
  }
}
.inputstyle.w145 {
  width: 145px;
}
.inputstyle.w150 {
  width: 150px;
}
.inputstyle.w170 {
  width: 170px;
}
.inputstyle.w180 {
  width: 180px;
}
.inputstyle.w200 {
  width: 200px;
}
.inputstyle.w310 {
  width: 310px;
}
@media (max-width: 767px) {
  .inputstyle.w310 {
    width: 100%;
  }
}
.inputstyle.w240 {
  max-width: 240px;
}
@media (max-width: 767px) {
  .inputstyle.w240 {
    width: 100%;
  }
}
.inputstyle.w336 {
  max-width: 336px;
}
@media (max-width: 767px) {
  .inputstyle.w336 {
    width: 100%;
  }
}
.inputstyle.w280 {
  width: 280px;
}
@media (max-width: 767px) {
  .inputstyle.w280 {
    width: 100%;
  }
}
.inputstyle.textareastyle {
  height: 200px;
  padding: 10px 15px;
}
.inputstyle.smallinput {
  padding: 5px;
  height: 30px;
}

.noborder {
  border: none;
  padding: 0 5px;
}

.inputbotline {
  border: none;
  border-bottom: 1px solid var(--main_color);
  padding: 5px;
  color: var(--main_color);
}
.inputbotline:focus {
  outline: none;
}

@media (max-width: 1366px) {
  .inputstyle.addressinput {
    width: 100%;
    flex: initial !important;
  }
}
@media (max-width: 640px) {
  .inputstyle {
    font-size: 15px;
    padding: 0 10px;
  }
  .inputstyle.w100.zipcode {
    width: 81px;
  }
  .inputstyle.w170.county {
    width: 101px;
  }
  .inputstyle.w170.district {
    width: 101px;
  }
  .inputstyle.w170.teldistrict {
    width: 120px;
  }
  .inputstyle.w170.birdthyear {
    width: 132px;
  }
  .inputstyle.w100.birdthday {
    width: 70px;
  }
}
@media (max-width: 480px) {
  .inputstyle.w100.zipcode {
    width: 100%;
  }
  .inputstyle.w170.county {
    width: 100%;
  }
  .inputstyle.w170.district {
    width: 100%;
  }
  .inputstyle.w170.teldistrict {
    width: 120px;
  }
  .inputstyle.w170.birdthyear {
    width: 132px;
  }
  .inputstyle.w100.birdthday {
    width: 70px;
  }
}
.twzipcodeinput {
  margin-right: 5px;
}

.radio_sets {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 25px;
  padding: 5px 0 5px 0;
}
.radio_sets.style2 {
  gap: 0 60px;
}
.radio_sets.style3 {
  flex-direction: column;
  align-items: start;
}
.radio_sets .one_radio {
  display: flex;
  gap: 4px;
}
.radio_sets .one_radio input {
  width: 16px;
  height: 16px;
}

.labelblock {
  display: inline-block;
  padding: 3px 0px 3px 0px;
  color: #222;
}
.labelblock label {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0 3px;
}

input.radiostyle[type=radio] {
  visibility: hidden;
  position: absolute;
}

input.radiostyle[type=radio] + .radiobefore {
  cursor: pointer;
  display: flex;
}

input.radiostyle[type=radio] + .radiobefore:before {
  height: 20px;
  width: 20px;
  margin-right: 4px;
  content: " ";
  display: inline-block;
  vertical-align: text-bottom;
  transition: 0.3s;
  background: url(../images/radio.png) no-repeat;
  background-size: contain;
}

input.radiostyle[type=radio]:checked + .radiobefore:before {
  background: url(../images/radio_checked.png) no-repeat;
  background-size: contain;
}

.radiobox {
  margin-right: 10px;
}

.radiostyle {
  margin-right: 5px;
  width: 20px;
  height: 20px;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: #4aaa4e;
  /* ✅ 勾選符號顏色 */
}
input[type="checkbox"]:checked, input[type="radio"]:checked {
  color: #fff;
}

.radiobtnset .radiobtn {
  cursor: pointer;
}
.radiobtnset .radiobtn input[type=radio], .radiobtnset .radiobtn input[type=checkbox] {
  visibility: hidden;
  width: 0;
  height: 0;
}
.radiobtnset .radiobtn .t {
  font-size: 15px;
  cursor: pointer;
  padding: 12px 24px 10px 24px;
  line-height: 1;
  background-color: #fff;
  border-radius: 18.5px;
  border: 1px solid #444444;
  text-align: center;
  display: inline-block;
}
.radiobtnset .radiobtn input[type=radio]:checked + .t, .radiobtnset .radiobtn input[type=checkbox]:checked + .t {
  background-color: #444;
  border: 1px solid #444;
  color: #fff;
}

.switch {
  position: relative;
  display: inline-block;
  width: 30.5px;
  height: 15.3px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #dddddd;
  border-radius: 7.65px;
  transition: 0.4s;
}
.switch .slider::before {
  position: absolute;
  content: "";
  height: 11px;
  width: 11px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: 0.4s;
}
.switch input:checked + .slider {
  background-color: var(--main_color);
}
.switch input:checked + .slider::before {
  transform: translateX(16px);
}

input.checkstyle[type=checkbox] {
  visibility: hidden;
  position: absolute;
}

input.checkstyle[type=checkbox] + .checkboxbefore {
  cursor: pointer;
  display: flex;
}

input.checkstyle[type=checkbox] + .checkboxbefore:before {
  height: 20px;
  width: 20px;
  content: " ";
  display: inline-block;
  vertical-align: text-bottom;
  transition: 0.3s;
  background: url(../images/checkbox.png) no-repeat;
  background-size: contain;
}

input.checkstyle[type=checkbox]:checked + .checkboxbefore:before {
  background: url(../images/checkbox_checked.png) no-repeat;
  height: 20px;
  width: 20px;
  background-size: contain;
}

.upload-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  cursor: pointer;
  font-size: 14px;
  color: var(--main_color);
  /* 文字紅色，跟你圖示類似 */
  transition: background-color 0.2s;
}

.upload-btn:hover {
  background-color: #f9f9f9;
}

.upload-btn img {
  width: 16px;
  /* 可依需要調整 */
}

.upload-btn input.file-input {
  display: none;
  /* 隱藏原生 input */
}

.unreset .listystyle {
  margin-left: 0;
}

.listystyle {
  padding-left: 20px;
}
.listystyle li {
  margin-bottom: 10px;
}

.enlist {
  padding-left: 30px;
}
.enlist li {
  list-style: upper-roman;
}
.enlist li::marker {
  color: #ca000a;
}

.listDot {
  font-size: 15px;
  letter-spacing: 0;
  color: #666666;
  padding-top: 25px;
  padding-left: 20px;
}

.listDot_brown {
  padding-left: 15px;
}
.listDot_brown li::marker {
  color: #c9a175;
}

.listsqure {
  font-size: 15px;
  letter-spacing: 0;
}
.listsqure li {
  list-style: none;
  padding-left: 20px;
}
.listsqure li:before {
  content: "";
  width: 4px;
  height: 4px;
  display: block;
  background-color: #222222;
  position: absolute;
  left: 0;
  top: 10px;
}

.page_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 0 40px 0;
}
.page_box.flexend {
  justify-content: end;
}
.page_box .page_num {
  display: inline-block;
  font-size: 15px;
  text-align: center;
  margin: 0 5px;
  text-decoration: none;
  width: 32px;
  height: 32px;
  line-height: 32px;
  color: #333333;
  margin-bottom: 10px;
  border-radius: 50px;
}
.page_box .page_num.active, .page_box .page_num:hover {
  background-color: #222;
  border: 1px solid #222;
  color: #fff;
}
.page_box a.page_arrow {
  padding: 0 10px;
  display: inline-block;
  color: #222222;
}
.page_box a.page_arrow:hover {
  background-color: initial;
  color: var(--main_color2);
  border: none;
}
.page_box .page_dot {
  display: inline-block;
  padding: 10px;
  text-align: center;
  margin: 0 3px;
}
.page_box .page_select {
  display: inline-block;
  margin-left: 20px;
  margin-bottom: 10px;
  font-size: 15px;
}
.page_box .page_select .num_input {
  border: none;
  background-color: #ffffff;
  width: 60px;
  height: 32px;
  padding: 3px 0px;
  margin: 0 3px;
  text-align: center;
}

@media (max-width: 768px) {
  .page_box {
    padding: 20px 0 20px 0;
  }
}
table.formtable {
  border: 1px solid #eeeeee;
  width: 100%;
  font-size: 16px;
  letter-spacing: 0;
}
table.formtable tbody tr td, table.formtable tbody tr th {
  padding: 10px 15px;
}
@media (max-width: 767px) {
  table.formtable tbody tr td, table.formtable tbody tr th {
    padding: 5px;
    font-size: 15px;
  }
}
table.formtable tbody tr td {
  padding: 10px 15px;
  border: 1px solid #dddddd;
  border-left: none;
  background: #fff;
}
table.formtable tbody tr th {
  background: #f4f4f4;
  border: 1px solid #dddddd;
  border-right: none;
  font-weight: var(--Regular);
  text-align: left;
}
@media (max-width: 767px) {
  table.formtable tbody tr th {
    width: 80px !important;
  }
}

.table_overflow {
  width: 100%;
  overflow: auto;
}

table.carttable {
  width: 100%;
  font-size: 15px;
}
table.carttable.style2 tr th {
  padding: 12px;
  border-top: none;
  border-bottom: none;
}
table.carttable.style2 tr:nth-child(2) td {
  border-top: none;
}
table.carttable.style2 tr td {
  text-align: center;
}
table.carttable tr th, table.carttable tr td {
  border-top: 1px solid #ecebe9;
  border-bottom: 1px solid #ecebe9;
  padding: 20px;
}
table.carttable tr th {
  background: #f7f7f7;
  font-weight: var(--Regular);
  text-align: left;
}

@media (max-width: 960px) {
  table.carttable tr th {
    display: none;
  }

  table.carttable tr th, table.carttable tr td {
    display: block;
    width: 100% !important;
    padding: 10px 10px;
  }

  table.carttable thead {
    display: none;
  }

  table.carttable tr th, table.carttable tr td, table.carttable.style2 tr td {
    text-align: left;
  }
}
table.marketingtable {
  width: 100%;
}
table.marketingtable tr th, table.marketingtable tr td {
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
  padding: 10px 20px;
  text-align: center;
}
table.marketingtable tr th.textalignleft, table.marketingtable tr td.textalignleft {
  text-align: left;
}
table.marketingtable tr th {
  background: #f4f3f2;
  font-weight: var(--Regular);
}

.twotableflex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: start;
}
.twotableflex table {
  width: calc((100% - 20px) / 2);
}

@media (max-width: 960px) {
  .twotableflex table {
    width: 100%;
  }
}
@media (max-width: 640px) {
  table.marketingtable tr th, table.marketingtable tr td {
    padding: 10px 5px;
  }
}
.botbordertable {
  overflow: auto;
  width: 100%;
  margin-top: 40px;
}
.botbordertable table {
  width: 100%;
}
.botbordertable table tbody tr th, .botbordertable table tbody tr td {
  text-align: center;
  line-height: 1.2;
}
.botbordertable table tbody tr th .senfont, .botbordertable table tbody tr td .senfont {
  font-size: 13px;
  font-weight: var(--Light);
}
.botbordertable table tbody tr th:nth-child(2), .botbordertable table tbody tr td:nth-child(2) {
  text-align: left;
}
.botbordertable table tbody tr th {
  padding: 10px 15px;
  font-weight: var(--Regular);
  border-bottom: 2px solid #000000;
  font-size: 17px;
}
.botbordertable table tbody tr td {
  font-size: 16px;
  padding: 20px 15px;
  border-bottom: 1px solid #cccccc;
  font-weight: var(--Medium);
}

ul.iconlist li {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
  margin-bottom: 3px;
}
ul.iconlist li.normalweight {
  font-weight: normal;
}
ul.iconlist li .icon {
  flex-shrink: 0;
}
ul.iconlist li .txt {
  flex: 1;
  padding-left: 5px;
}

ol.ollist {
  margin-left: 20px;
}

.flexlist {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 34px;
  margin-bottom: 20px;
}
.flexlist.bot0 {
  margin-bottom: 0;
}
.flexlist li {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
.flexlist li .txt {
  font-weight: var(--Light);
}

.titlelist {
  gap: 5px;
  font-size: 16px;
}
.titlelist li {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
.titlelist li .txt {
  font-weight: var(--Medium);
}

.empty-row {
  margin-left: auto;
  margin-right: auto;
  padding: 40px 20px;
  max-width: 640px;
}
.empty-row .img-box {
  max-width: 100px;
  margin-left: auto;
  margin-right: auto;
}
.empty-row .img-box img {
  display: block;
  width: 100%;
}
.empty-row .content {
  margin-top: 40px;
  text-align: center;
}
.empty-row .content .title {
  color: #222;
  font-size: 32px;
  line-height: 1.2;
  margin: 0;
}
.empty-row .content .des {
  color: #999;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  margin-top: 20px;
}
.empty-row .btn-row {
  margin-top: 40px;
}
.empty-row .btn-row .link {
  background: #aaa;
  color: #fff;
  display: block;
  font-size: 17px;
  margin-left: auto;
  margin-right: auto;
  padding: 13px;
  text-align: center;
  text-decoration: inherit;
  transition: all .4s;
  width: 120px;
}
.empty-row .btn-row .link:hover {
  background: #777;
}

@media (max-width: 640px) {
  .empty-row .content {
    margin-top: 30px;
  }
  .empty-row .content .title {
    font-size: 26px;
  }
  .empty-row .content .des {
    font-size: 16px;
    margin-top: 15px;
  }
  .empty-row .btn-row {
    margin-top: 30px;
  }
}
.error-row {
  background: url(../images/error-background.svg) no-repeat;
  background-position: center top;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 20px 80px 20px;
}
.error-row .img-box {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
}
.error-row .img-box img {
  display: block;
  width: 100%;
}
.error-row .img-box .error-code {
  color: #555;
  font-size: 120px;
  font-weight: bold;
  letter-spacing: 5px;
  line-height: 1;
  margin: 0;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translateX(-57%);
}
.error-row .content {
  margin-top: 50px;
  text-align: center;
}
.error-row .content .title {
  color: #444;
  font-size: 30px;
  font-weight: bold;
  margin: 0;
}
.error-row .content .des {
  margin-top: 25px;
}
.error-row .content .des p {
  color: #555;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
}
.error-row .content .des p:not(:last-child) {
  margin-bottom: 5px;
}
.error-row .btn-row {
  margin-top: 80px;
}
.error-row .btn-row .link {
  border-radius: 30px;
  background: #666666;
  color: #fff;
  display: block;
  font-size: 18px;
  padding: 12px 20px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-decoration: inherit;
  text-transform: uppercase;
  transition: all .4s;
  width: 200px;
}
.error-row .btn-row .link:hover {
  background: #333;
}

@media (max-width: 1440px) {
  .error-row .img-box {
    max-width: 540px;
  }
  .error-row .img-box .error-code {
    font-size: 100px;
  }
  .error-row .btn-row {
    margin-top: 50px;
  }
}
@media (max-width: 1024px) {
  .error-row .img-box {
    max-width: 440px;
  }
  .error-row .img-box .error-code {
    font-size: 70px;
    top: 45%;
  }
  .error-row .btn-row {
    margin-top: 50px;
  }
}
@media (max-width: 640px) {
  .error-row .img-box .error-code {
    font-size: 50px;
    top: 45%;
  }
  .error-row .content {
    margin-top: 30px;
  }
  .error-row .content .title {
    font-size: 26px;
  }
  .error-row .content .des {
    margin-top: 15px;
  }
  .error-row .content .des p {
    font-size: 16px;
  }
  .error-row .btn-row {
    margin-top: 30px;
  }
  .error-row .btn-row .link {
    font-size: 17px;
    max-width: 170px;
  }
}
.sharebox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 16px;
  font-weight: var(--Light);
}
.sharebox a.a2a_button_facebook:hover {
  filter: brightness(0) saturate(100%) invert(34%) sepia(81%) saturate(438%) hue-rotate(179deg) brightness(92%) contrast(96%);
}
.sharebox a.a2a_button_line:hover {
  filter: brightness(0) saturate(100%) invert(66%) sepia(34%) saturate(4683%) hue-rotate(62deg) brightness(97%) contrast(109%);
}
.sharebox a.a2a_button_x:hover {
  filter: brightness(0) saturate(100%) invert(0%) sepia(7%) saturate(7465%) hue-rotate(337deg) brightness(89%) contrast(97%);
}
.sharebox .share_t {
  color: #666666;
}
.sharebox .sharelinks {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sharebox .sharelinks img {
  height: 22px;
  max-width: 22px;
}

.sitemap-row {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0;
  margin-left: auto;
  margin-right: auto;
  gap: 25px;
}

.sitemap-row a {
  text-decoration: inherit;
}

.sitemap-row .map-item {
  border-right: 1px solid #fff;
  box-sizing: border-box;
  margin-bottom: 30px;
  width: calc((100% - 25px*3) / 4);
}

.sitemap-row .map-item .title-link {
  background: #eeeeee;
  color: #15263b;
  display: block;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  padding: 17px 25px 15px;
  text-align: center;
  border-radius: 2px;
}

.sitemap-row .map-item .title-link:hover {
  font-weight: bold;
}

.sitemap-row .map-list {
  margin-top: 15px;
  margin-bottom: 0;
  padding-left: 40px;
  padding-right: 20px;
}

.sitemap-row .map-list li {
  list-style: none;
}

.sitemap-row .map-list > li {
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eeeeee;
  text-align: center;
}

.sitemap-row .map-list .second-link {
  color: #262626;
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
}

.sitemap-row .map-list .second-link:hover {
  font-weight: bold;
  position: relative;
}

.sitemap-row .third-list {
  padding-left: 17px;
  margin-top: 10px;
}

.sitemap-row .third-list > li {
  padding-top: 5px;
  padding-bottom: 5px;
}

.sitemap-row .third-list .third-link {
  color: #333;
  font-size: 16px;
  line-height: 1.3;
  position: relative;
}

.sitemap-row .third-list .third-link:before {
  color: #aaa;
  content: "\f0da";
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: 14px;
  position: absolute;
  top: 3px;
  left: -15px;
}

.sitemap-row .third-list .third-link:hover {
  font-weight: bold;
}

.sitemap-row .third-list .third-link:hover:before {
  color: #333;
}

.sitemap-row .four-list {
  padding-left: 17px;
  margin-top: 10px;
}

.sitemap-row .four-list > li {
  padding-top: 5px;
  padding-bottom: 5px;
}

.sitemap-row .four-list .four-link {
  color: #333;
  font-size: 16px;
  line-height: 1.3;
  position: relative;
}

.sitemap-row .four-list .four-link:before {
  color: #aaa;
  content: "-";
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: 14px;
  position: absolute;
  top: 3px;
  left: -15px;
}

.sitemap-row .four-list .four-link:hover {
  font-weight: bold;
}

.sitemap-row .four-list .four-link:hover:before {
  color: #333;
}

@media (max-width: 1024px) {
  .sitemap-row .map-item {
    width: 25%;
  }
}
@media (max-width: 960px) {
  .sitemap-row .map-item {
    width: 33.3333333333%;
  }
}
@media (max-width: 768px) {
  .sitemap-row .map-item {
    width: 50%;
  }

  .sitemap-row .map-item .title-link {
    padding: 15px;
    padding-bottom: 12px;
  }

  .sitemap-row .map-list {
    padding-left: 15px;
    padding-right: 10px;
  }

  .sitemap-row .map-list > li {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .sitemap-row .map-list .second-link:hover:before {
    left: -20px;
  }

  .sitemap-row .third-list {
    margin-top: 5px;
  }

  .sitemap-row .map-list .second-link:before {
    left: -14px;
  }
}
/*ck editor編輯器*/
.ck-editor__editable {
  min-height: 500px;
}

.ck-editor *, .ck-body-wrapper, .ck-body-wrapper * {
  position: initial;
}

/* 整體 */
.swal-minimal {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  /* 微字距 = 高級感 */
}

/* 標題 */
.swal-title {
  font-size: 18px;
  font-weight: 500;
  /* 比內文稍重 */
  letter-spacing: 0.04em;
  /* 標題字距可大一點 */
  padding-top: 25px;
}

/* 內文 */
.swal-text {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

/* 按鈕 */
.swal-btn {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.06em;
  border-radius: 4px;
}

.swal-icon-small {
  width: 40px !important;
  height: 40px !important;
}

.titleDot {
  font-size: 19px;
  letter-spacing: 0;
  font-weight: var(--Medium);
  color: var(--main_color3);
  padding-left: 18px;
  margin-bottom: 10px;
  margin-top: 30px;
}
.titleDot.f17 {
  font-size: 17px;
}
.titleDot:before {
  display: block;
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--main_color3);
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
}
.titleDot span {
  color: var(--main_color);
}

.blockTitle {
  font-size: 17px;
  letter-spacing: 0.05em;
  gap: 5px 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.blockTitle .smallgraytxt {
  color: #777777;
  font-size: 14px;
}

.titleBigW {
  font-size: 19px;
  font-weight: var(--ExtraBold);
}

.titleSearch {
  font-size: 18px;
  font-weight: var(--Bold);
}
.titleSearch .regularw {
  font-weight: var(--Regular);
}

.closeizibtn {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #222;
  color: #fff;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.closeizibtn:hover img {
  transform: rotate(180deg);
}
.closeizibtn img {
  width: 10px;
  transition: 0.3s;
}

.izi_body {
  padding: 60px 60px;
  background: url(../images/index_bg.jpg) repeat;
}

@media (max-width: 768px) {
  .izi_body {
    padding: 50px 20px;
    background: #fff;
  }
}
.upload-wrapper .upload-box-out {
  border: 2px dotted #999999;
  padding: 3px;
  height: 220px;
  width: 345px;
  overflow: hidden;
  position: relative;
}
.upload-wrapper .upload-box-out.sellerbanner {
  width: 707px;
  height: 177px;
}
.upload-wrapper .upload-box-out.productlist {
  width: 210px;
  height: 210px;
}
.upload-wrapper .upload-box {
  position: relative;
  width: 100%;
  height: 100%;
  background: #f9f8f7;
  cursor: pointer;
}
.upload-wrapper .upload-box:hover .upload-mask {
  opacity: 1;
}
.upload-wrapper .upload-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 3;
}
.upload-wrapper .preview {
  width: 100%;
  height: 100%;
}
.upload-wrapper .preview-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.upload-wrapper .upload-mask {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: 0.3s;
  z-index: 2;
}
.upload-wrapper .camera-icon {
  width: 40px;
  height: 40px;
  background: #c9a175;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.upload-wrapper .camera-icon img {
  width: 20px;
}
.upload-wrapper .uploadetitle {
  color: #a4a4a4;
  position: absolute;
  bottom: 5px;
  left: 15px;
}

.upload-container .upload-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.upload-container .upload-list .upload-item {
  width: 100px;
  height: 100px;
  border: 2px dotted #999999;
  position: relative;
  padding: 3px;
}
.upload-container .upload-list .upload-item .upload-item-in {
  background-color: #f9f8f7;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.upload-container .upload-list .upload-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.upload-container .upload-list .upload-item .remove-btn {
  width: 25px;
  height: 25px;
  position: absolute;
  top: 3px;
  right: 3px;
  background: var(--main_color);
  border-radius: 50px;
  color: #fff;
  border: none;
  cursor: pointer;
}
.upload-container .upload-list .upload-item.add {
  cursor: pointer;
}
.upload-container .upload-list .upload-item.add label {
  font-size: 24px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  background-color: var(--main_color);
  color: #fff;
  border-radius: 50%;
  text-align: center;
  display: flex;
  justify-content: center;
}
.upload-container .upload-list .upload-item.add input {
  display: none;
}

@media (max-width: 960px) {
  .upload-wrapper .upload-box-out.sellerbanner {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .upload-wrapper {
    width: 100%;
  }

  .upload-wrapper .upload-box-out {
    width: 100%;
  }
}
.radiusbtnstyle {
  color: #777;
  font-size: 14px;
  border-radius: 5px;
  text-align: center;
  letter-spacing: 0;
  display: inline-block;
  padding: 4px 8px 3px 8px;
  border: none;
  margin: 2px 2.7px;
  cursor: pointer;
  background-color: #fff;
  border-width: 1px;
  border-bottom-width: 3px;
  border-style: solid;
  border-color: #777;
}
.radiusbtnstyle.big {
  font-size: 18px;
  font-weight: bold;
  padding: 7px 16px 4px 16px;
}
.radiusbtnstyle.active {
  border-color: var(--active_color);
  color: var(--active_color);
}
.radiusbtnstyle.active:hover {
  background-color: var(--active_color_bg);
}
.radiusbtnstyle.paymoney {
  color: #fff;
  border-color: #a03937;
  background-color: #d85546;
}
.radiusbtnstyle.paymoney:hover {
  background-color: #f17163;
}
.radiusbtnstyle.qrcode, .radiusbtnstyle.agree {
  color: var(--main_color3);
  border-color: var(--main_color3);
}
.radiusbtnstyle.qrcode:hover, .radiusbtnstyle.agree:hover {
  background-color: #effff0;
}
.radiusbtnstyle.infodetail {
  color: #509eda;
  border-color: #509eda;
}
.radiusbtnstyle.infodetail:hover {
  background-color: #f1f9ff;
}
.radiusbtnstyle.blue {
  background-color: #00a3d4;
}
.radiusbtnstyle:active {
  border-bottom-width: 2px;
}
.radiusbtnstyle.addbtncolor {
  border-color: var(--addbtn_color);
  color: var(--addbtn_color);
}
.radiusbtnstyle.addbtncolor:hover {
  background-color: var(--addbtn_color_bg);
}
.radiusbtnstyle.deletbtn, .radiusbtnstyle.reject {
  color: #ef4444;
  border-color: #ef4444;
}
.radiusbtnstyle.deletbtn:hover, .radiusbtnstyle.reject:hover {
  background-color: #ffeded;
}
.radiusbtnstyle.mediumsize {
  font-size: 17px;
  padding: 6px 12px 4px 12px;
  font-weight: bold;
  margin: 0;
}
.radiusbtnstyle.sharebtn {
  color: #a875e2;
  border-color: #a875e2;
}
.radiusbtnstyle.sharebtn:hover {
  background-color: #f5edff;
}

/*-------------------basic scss---------------------*/
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
}

html {
  position: relative;
  font-size: 100%;
}

html * {
  position: relative;
}

@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    /* Chrome, Safari 6 – 15.3, Edge */
    color-adjust: exact !important;
    /* Firefox 48 – 96 */
    print-color-adjust: exact !important;
    /* Firefox 97+, Safari 15.4+ */
  }

  table {
    page-break-inside: auto;
  }

  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  .page {
    page-break-inside: avoid;
    /* 若順著向下排列時會切開此元素，則直接換頁 */
  }
}
a {
  text-decoration: none;
  color: inherit;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a:active, a:focus {
  text-decoration: none;
}

h1, h2, h3 {
  font-size: inherit;
  font-weight: inherit;
}

table {
  table-layout: fixed;
}

::-webkit-input-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
  opacity: 1;
}

/* firefox 19+ */
:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

/* ie */
input:-moz-placeholder {
  color: #999;
}

::-webkit-scrollbar {
  background-color: transparent;
  width: 5px;
  height: 5px;
}

/* background of the scrollbar except button or resizer */
::-webkit-scrollbar-track {
  background-color: #eeeeee;
}

/* scrollbar itself */
::-webkit-scrollbar-thumb {
  background-color: #222;
  border-radius: 4px;
}

/*反白文字*/
::selection {
  background: yellow;
  color: #000;
}

::-moz-selection {
  background: yellow;
  color: #000;
}

.inlineblock {
  display: inline-block;
}

.floatleft {
  float: left;
}

.floatright {
  float: right;
}

.clearfloat {
  clear: both;
  height: 0;
  line-height: 0px;
}

.video-container {
  position: relative;
  padding-bottom: 53.8%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.oembed-provider-youtube {
  position: relative;
  padding-bottom: 56.25%;
  /* padding-top: 30px; */
  height: 0;
  overflow: hidden;
}

.oembed-provider-youtube iframe, .oembed-provider-youtube object, .oembed-provider-youtube embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.googlemap-container {
  position: relative;
  padding-bottom: 25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.googlemap-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vermid {
  vertical-align: middle;
}

.vertop {
  vertical-align: top;
}

.txtleft {
  text-align: left;
}

.txtrigh {
  text-align: right;
}

.txtcenter {
  text-align: center;
}

.textunderline {
  text-decoration: underline;
}

/*變數*/
:root {
  --Thin: 100;
  --ExtraLight: 200;
  --Light: 300;
  --Regular: 400;
  --Medium: 500;
  --SemiBold: 600;
  --Bold: 700;
  --ExtraBold: 800;
  --Black: 900;
  --shadow: 3px 3px 21px 0px rgba(0, 0, 0, 0.1);
  --main_color: #0f2350;
  --main_color2: #2a4073;
  --main_color3: #4cae50;
  --main_color4: #555;
  --main_color5: #b0b0b0;
  --main_color6: #deedf0;
  --red_color: #f23d29;
  --filter-white: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
  --filter-black: brightness(0) saturate(100%) invert(13%) sepia(21%) saturate(0%) hue-rotate(132deg) brightness(94%) contrast(98%);
  --filter-maincolor: brightness(0) saturate(100%) invert(21%) sepia(18%) saturate(6881%) hue-rotate(170deg) brightness(96%) contrast(101%);
  --filter-maincolor2: brightness(0) saturate(100%) invert(28%) sepia(96%) saturate(966%) hue-rotate(157deg) brightness(95%) contrast(99%);
  --box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.05);
  --border: 1px solid #ececec;
}

.main_color {
  color: var(--main_color);
}

.main_color3 {
  color: var(--main_color3);
}

.main_color4 {
  color: var(--main_color4);
}

body {
  background-size: 100%;
  color: #222;
  font-size: 17px;
  font-family: "Poppins", "Noto Sans TC", Microsoft JhengHei, Arial, sans-serif, PMingLiU, "FontAwesome";
  line-height: 1.6;
  width: 100%;
  min-width: 360px;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
  letter-spacing: 0em;
  min-height: 100vh;
}

body.lock-scroll {
  overflow: hidden;
  /* 桌機/Android 有效 */
  position: fixed;
  /* iOS 防止背景滑動 */
  width: 100%;
}

html[lang="en"] body * {
  letter-spacing: 0 !important;
}

@media (max-width: 320px) {
  body {
    overflow-x: auto;
  }
}
.unreset {
  font-size: 16px;
  line-height: calc(32/16);
  letter-spacing: 0em;
}

@media (max-width: 480px) {
  .unreset {
    font-size: 15px;
  }
}
.wrapper {
  max-width: 1450px;
  padding: 0 40px;
  margin: 0 auto;
  width: 100%;
}

@media (max-width: 960px) {
  .wrapper {
    padding: 0 30px;
  }
}
@media (max-width: 480px) {
  .wrapper {
    padding: 0 20px;
  }
}
header {
  z-index: 100;
  position: sticky;
  top: 0;
  background-color: #fff;
}

.site-header {
  padding: 0;
}
.site-header .wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  align-items: center;
  justify-content: space-between;
  position: static;
}
.site-header .logo {
  padding: 28px 0;
}
.site-header .logo img {
  width: 196px;
}
.site-header .navbar ul.menu {
  display: flex;
  list-style: none;
  gap: 10px 70px;
  align-items: center;
  padding: 14px 0 0 0;
}
.site-header .navbar ul.menu li a {
  text-decoration: none;
  font-weight: var(--Medium);
  font-size: 17px;
  letter-spacing: 0.05em;
}
.site-header .navbar ul.menu li a:after {
  position: absolute;
  width: 0;
  height: 1px;
  bottom: -5px;
  content: "";
  left: 0;
  background: #aab0c1;
  transition: 0.3s;
}
.site-header .navbar ul.menu li a:hover:after {
  width: 100%;
}
.site-header .navbar ul.menu li.lastimg {
  margin-left: 5px;
}
.site-header .menu-toggle {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #fff;
  width: 30px;
  height: 30px;
  cursor: pointer;
  display: flex;
  display: none;
  justify-content: end;
  align-items: center;
  position: relative;
}
.site-header .menu-toggle .line {
  position: absolute;
  width: 25px;
  height: 1px;
  background: #f7f7f7;
}
.site-header .menu-toggle .line:before, .site-header .menu-toggle .line:after {
  content: "";
  display: block;
  position: absolute;
  width: 25px;
  height: 1px;
  background: #f7f7f7;
  right: 0;
}
.site-header .menu-toggle .line:before {
  top: 0;
  transform: translateY(-8px);
}
.site-header .menu-toggle .line:after {
  bottom: 0;
  transform: translateY(8px);
}

.loginmobilemenu {
  position: static;
}
.loginmobilemenu:after {
  height: 100%;
  background: url(../images/header_blue_bg.jpg) repeat;
  right: 0;
  top: 0;
  width: calc((100vw - 1370px) / 2);
  position: absolute;
  content: "";
  z-index: -1;
}

.headerlogin {
  display: flex;
  flex-wrap: wrap;
  gap: 0 17px;
  height: 100%;
  background: url(../images/header_blue_bg.jpg) repeat;
  padding: 40px 0px 28px 75px;
  justify-content: start;
  position: static;
}
.headerlogin a {
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.headerlogin a:hover img {
  transform: translateY(-3px);
}
.headerlogin a img {
  height: 15px;
  margin-right: 6px;
  transition: 0.3s;
}

.mobile_masker {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  pointer-events: none;
  opacity: 0;
}

.mobile_masker.active {
  pointer-events: auto;
  opacity: 1;
}

.mobile_navBox {
  position: fixed;
  z-index: 1000;
  max-width: 480px;
  width: 100%;
  right: 0;
  top: 0;
  height: 100vh;
  background-color: var(--main_color);
  overflow-x: hidden;
  padding: 20px 20px;
  padding-bottom: calc(30px + env(safe-area-inset-bottom));
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transform: translateX(100%);
}
.mobile_navBox .mh_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.mobile_navBox .mh_top .mh_logo img {
  height: 28px;
}
.mobile_navBox .mh_top .mh_close {
  width: 30px;
  height: 30px;
  cursor: pointer;
  display: flex;
  justify-content: end;
  align-items: center;
}
.mobile_navBox .mh_top .mh_close .line {
  position: absolute;
}
.mobile_navBox .mh_top .mh_close .line:before, .mobile_navBox .mh_top .mh_close .line:after {
  content: "";
  display: block;
  position: absolute;
  width: 25px;
  height: 1px;
  background: #f7f7f7;
  right: 0;
}
.mobile_navBox .mh_top .mh_close .line:before {
  transform: translateY(0) rotate(45deg);
}
.mobile_navBox .mh_top .mh_close .line:after {
  transform: translateY(0) rotate(-45deg);
}
.mobile_navBox .mh_nav {
  list-style: none;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 0;
}
.mobile_navBox .mh_nav li {
  font-size: 15px;
  padding: 10px;
}
.mobile_navBox .mh_bot {
  text-align: center;
  padding: 15px 0;
}
.mobile_navBox .mh_bot .txt {
  color: #d6d6d6;
  font-size: 13px;
}
.mobile_navBox .mh_bot .copyright {
  color: #aaa;
  font-size: 12px;
  margin-top: 5px;
}

.mobile_navBox.active {
  pointer-events: auto;
  opacity: 1;
  transform: translateX(0);
}
.mobile_navBox.active .mh_top {
  animation: textSlideRightAnimation 0.5s 0s ease-in-out both;
}
.mobile_navBox.active .mh_nav {
  animation: textSlideRightAnimation 0.5s 0.5s ease-in-out both;
}
.mobile_navBox.active .mh_bot {
  animation: textSlideRightAnimation 0.5s 0.8s ease-in-out both;
}

@media (max-width: 1480px) {
  .loginmobilemenu:after {
    width: 80px;
  }
}
@media (max-width: 1200px) {
  .site-header .navbar ul.menu {
    gap: 5px;
  }

  .site-header .navbar ul.menu li a {
    padding: 5px 15px;
  }
}
@media (max-width: 960px) {
  .site-header .wrapper {
    align-items: stretch;
    padding: 0 0;
  }

  .loginmobilemenu {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--main_color);
    align-items: center;
    padding-right: 40px;
  }

  .site-header .navbar {
    display: none;
  }

  .site-header .menu-toggle {
    display: flex;
    padding: 0px;
  }

  .site-header .logo {
    padding: 15px 30px;
  }

  .site-header .logo img {
    width: 160px;
  }

  .headerlogin a {
    font-size: 15px;
  }

  .loginmobilemenu:after {
    display: none;
  }

  .headerlogin {
    padding: 0px 35px 0px 40px;
  }
}
@media (max-width: 540px) {
  .site-header .logo {
    padding: 15px 0px 15px 15px;
  }

  .site-header .logo img {
    width: 125px;
  }

  .headerlogin {
    padding: 0px 15px 0px 20px;
  }

  .headerlogin a {
    font-size: 14px;
  }

  .loginmobilemenu {
    padding-right: 20px;
  }

  .headerlogin a img {
    height: 13px;
  }

  .headerlogin .mobilehide {
    display: none;
  }
}
@keyframes marqueeBox-left {
  0% {
    transform: translate(30%, 0);
  }
  100% {
    transform: translate(-102%, 0);
  }
}
.iBanner .ibannerslick img.photo {
  width: 100%;
  animation: Slick-SlideOut 2s both;
  filter: blur(5px);
}
.iBanner .ibannerslick .slick-current img.photo {
  animation: 4s linear forwards photosize1;
  filter: blur(0px);
}
.iBanner .fixbanner {
  position: absolute;
  right: 0;
  top: 0;
  background: url(../images/header_blue_bg.jpg) repeat;
  z-index: 1;
}
.iBanner .fixbanner .txt {
  writing-mode: vertical-rl;
  /* 從上到下，右到左 */
  font-size: 15px;
  font-weight: var(--ExtraLight);
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1;
  padding: 50px 40px 55px 45px;
}

@media (max-width: 1600px) {
  .iBanner .fixbanner .txt {
    padding: 30px 35px 30px 40px;
  }
}
@media (max-width: 960px) {
  .iBanner .fixbanner .txt {
    padding: 20px 40px 20px 35px;
  }

  .iBanner .fixbanner .txt {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .iBanner .fixbanner .txt {
    display: none;
  }
}
.exhibition_title {
  padding: 62px 0 18px 0;
}
.exhibition_title.style2 {
  padding: 0px 0 18px 0;
}
.exhibition_title.style2 .wrapper .exhibition_name {
  border-bottom: none;
  padding-bottom: 0px;
  font-size: 28px;
  line-height: 1.4;
}
.exhibition_title .wrapper .exhibition_name {
  color: var(--main_color);
  font-size: 36px;
  text-align: center;
  line-height: 1.6;
  border-bottom: var(--border);
  padding-bottom: 14px;
}
.exhibition_title .wrapper .exhibition_info {
  display: flex;
  flex-wrap: wrap;
  color: #555;
  justify-content: center;
  gap: 10px 30px;
  margin-top: 15px;
}
.exhibition_title .wrapper .exhibition_info .one {
  font-size: 16px;
  letter-spacing: 0;
}
.exhibition_title .wrapper .exhibition_info .one .bold {
  font-weight: var(--Bold);
}

@media (max-width: 1480px) {
  .exhibition_title .wrapper .exhibition_name {
    font-size: 32px;
  }
}
@media (max-width: 1280px) {
  .exhibition_title .wrapper .exhibition_name {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .exhibition_title .wrapper .exhibition_name {
    font-size: 24px;
  }
}
.titlestyle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--Bold);
  font-size: 20px;
  gap: 0 40px;
}
.titlestyle::before, .titlestyle::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #b0b0b0;
}

@media (max-width: 768px) {
  .titlestyle {
    gap: 0 25px;
  }
}
.titleUnderline {
  border-bottom: 1px solid #d4d4d4;
  margin-bottom: 20px;
}
.titleUnderline .txt {
  font-size: 18px;
  font-weight: var(--Bold);
  letter-spacing: 0.05em;
  display: inline-block;
  padding-bottom: 5px;
}
.titleUnderline .txt:after {
  display: block;
  content: "";
  background: var(--main_color3);
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.exhibition_intro {
  padding-top: 30px;
  margin-bottom: 45px;
}
.exhibition_intro.style2 {
  padding-top: 70px;
  margin-bottom: 45px;
}
.exhibition_intro.style2:before {
  content: "";
  background: url(../images/index_bg.jpg) repeat;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.exhibition_intro .htmleitor {
  padding: 25px 35px;
}

@media (max-width: 768px) {
  .exhibition_intro .htmleitor {
    padding: 25px 15px;
  }
}
.exhibition_photo:before {
  content: "";
  background: url(../images/index_bg.jpg) repeat;
  display: block;
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.exhibition_photo .exhibitionpic_slick .oneset img.photo {
  width: 100%;
  display: block;
}

.blue_titleblock {
  margin-top: 40px;
}
.blue_titleblock .oneset {
  background: #fff;
  padding: 50px;
  margin-bottom: 40px;
}
.blue_titleblock .oneset .bluetitle {
  color: #fff;
  letter-spacing: 0.075em;
  padding: 8px 25px;
  position: absolute;
  top: -15px;
  left: -40px;
  background: url(../images/blue_bg.jpg) repeat;
}
.blue_titleblock .oneset .whiteblock {
  font-size: 16px;
  line-height: calc(28/16);
  letter-spacing: 0.075em;
}

@media (max-width: 768px) {
  .blue_titleblock .oneset .bluetitle {
    padding: 6px 20px;
    top: -15px;
    left: -20px;
  }

  .blue_titleblock .oneset {
    padding: 50px 30px 20px 30px;
  }

  .blue_titleblock .oneset .whiteblock {
    font-size: 15px;
  }
}
.inoteitem {
  padding-top: 70px;
  margin-bottom: 100px;
}

.inoteitem .wrapper .inotelist {
  margin-top: 45px;
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
}
.inoteitem .wrapper .inotelist .oneset {
  width: calc(100% / 3);
  padding: 0 45px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.inoteitem .wrapper .inotelist .oneset .icon {
  background: url(../images/note_icon_bg.png) no-repeat;
  width: 66px;
  height: 66px;
  padding: 10px;
  flex-shrink: 0;
}
.inoteitem .wrapper .inotelist .oneset .icon img {
  max-width: 36px;
  height: 36px;
}
.inoteitem .wrapper .inotelist .oneset .leftbox {
  flex: 1;
}
.inoteitem .wrapper .inotelist .oneset .leftbox .t1 {
  font-weight: var(--Bold);
}
.inoteitem .wrapper .inotelist .oneset .leftbox .con {
  font-size: 16px;
  line-height: calc(26/16);
  margin-top: 5px;
}

@media (max-width: 1480px) {
  .inoteitem {
    padding-top: 50px;
    margin-bottom: 80px;
  }
}
@media (max-width: 1280px) {
  .inoteitem .wrapper .inotelist .oneset {
    padding: 0 20px;
  }
}
@media (max-width: 1024px) {
  .inoteitem .wrapper .inotelist .oneset {
    width: calc(100% / 2);
    padding: 15px;
  }
}
@media (max-width: 768px) {
  .inoteitem .wrapper .inotelist .oneset {
    width: 100%;
  }

  .inoteitem {
    padding-top: 20px;
    margin-bottom: 50px;
  }
}
.gobtnbox {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gobtnbox.style2 {
  justify-content: start;
}
.gobtnbox.style2 .gobtn {
  line-height: 1.4;
  max-width: initial;
  width: initial;
  letter-spacing: 0.05em;
}
.gobtnbox.style2 .gobtn .redbg {
  background-color: var(--red_color);
  font-size: 14px;
  padding: 3px 15px;
}
.gobtnbox .gobtn {
  background: url(../images/btn_bg.jpg) repeat;
  border-radius: 4px;
  padding: 18px 25px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.15em;
  max-width: 500px;
  width: 100%;
  font-size: 19px;
  line-height: 1;
  border: none;
  transition: 0.3s;
  font-weight: var(--Light);
}
.gobtnbox .gobtn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.gobtnbox .gobtn:active {
  transform: translateY(-1px);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.gobtnbox .gobtn::after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 100%;
  border-radius: 4px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.4s;
  background-color: var(--main_color3);
}
.gobtnbox .gobtn:hover::after {
  transform: none;
  opacity: 0;
}

.goback {
  margin-top: 15px;
  text-align: left;
}
.goback a {
  font-size: 16px;
  font-weight: var(--Light);
}
.goback a:hover i {
  transform: translateX(-5px);
}
.goback a i {
  margin-right: 5px;
  transition: 0.3s;
}
.goback a.grayback {
  display: inline-block;
  background-color: #dedede;
  border-radius: 4px;
  padding: 10px 15px;
}

footer {
  padding: 40px 0;
  width: 100%;
  background: url(../images/header_blue_bg.jpg) repeat;
}
footer .wrapper .copyright {
  font-size: 15px;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  font-weight: var(--Light);
}

.pagewrap {
  background: url(../images/index_bg.jpg) repeat;
  padding-top: 70px;
  padding-bottom: 65px;
}

@media (max-width: 960px) {
  .pagewrap {
    padding-top: 50px;
  }
}
.login-card {
  width: 100%;
  max-width: 400px;
  padding: 40px 0;
  text-align: center;
  margin: 0 auto;
}
.login-card .boldtext {
  font-size: 18px;
  font-weight: var(--Bold);
  margin: 20px 0 20px;
}

.btn-social {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border-radius: 4px;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.3s;
}
.btn-social img {
  width: 23px;
  margin-right: 8px;
  transition: 0.3s;
}
.btn-social:hover img {
  filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(6%) hue-rotate(292deg) brightness(106%) contrast(100%);
}
.btn-social.btn-line {
  border: 1px solid #4aa94e;
  color: #4aa94e;
  transition: 0.3s;
}
.btn-social.btn-line:hover {
  background: #4aa94e;
  color: #fff;
}
.btn-social.btn-google {
  border: 1px solid #dd5144;
  color: #dd5144;
  transition: 0.3s;
}
.btn-social.btn-google:hover {
  background: #dd5144;
  color: #fff;
}

.divider {
  display: flex;
  align-items: center;
  margin: 25px 0;
  font-weight: var(--ExtraLight);
  font-style: italic;
  font-size: 24px;
}
.divider::before, .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #b8b8b8;
}
.divider span {
  padding: 0 15px;
}

.login-form .form-group {
  margin-bottom: 20px;
  text-align: left;
}
.login-form .form-group .label-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0px;
  font-size: 17px;
  color: var(--main_color4);
}
.login-form .form-group .label-wrapper label {
  margin-bottom: 5px;
}
.login-form .form-group .label-wrapper .helper-text,
.login-form .form-group .label-wrapper .forgot-password {
  font-size: 15px;
}
.login-form .form-group .label-wrapper .helper-text a, .login-form .form-group .label-wrapper .helper-text.forgot-password,
.login-form .form-group .label-wrapper .forgot-password a,
.login-form .form-group .label-wrapper .forgot-password.forgot-password {
  color: var(--red_color);
}
.login-form .form-group .label-wrapper .helper-text a:hover, .login-form .form-group .label-wrapper .helper-text.forgot-password:hover,
.login-form .form-group .label-wrapper .forgot-password a:hover,
.login-form .form-group .label-wrapper .forgot-password.forgot-password:hover {
  text-decoration: underline;
}
.login-form .form-group input {
  width: 100%;
  padding: 12px;
  border: 1px solid #eee;
  background: #fff;
  box-sizing: border-box;
  outline: none;
  border-radius: 4px;
}
.login-form .form-group input:disabled {
  background: #f7f8fa;
  border: 1px solid #e3e3e3;
}
.login-form .form-group input:focus {
  border-color: var(--main_color3);
}

.price .big {
  font-size: 36px;
}

.pagesidecontainer {
  display: flex;
  align-items: start;
  width: 100%;
  gap: 40px 100px;
}

.sidebar {
  width: 184px;
  position: relative;
  height: fit-content;
  margin-top: 28px;
}
.sidebar::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  height: 28px;
  background: url(../images/sidebar_head.png) no-repeat;
}
.sidebar .user-card {
  padding: 20px 0px;
  background: url(../images/side_body.png) repeat;
}
.sidebar .user-card .user-info {
  margin-bottom: 15px;
  padding: 0 8px 0 10px;
}
.sidebar .user-card .user-info p {
  color: #8d8d8d;
  font-size: 16px;
  margin-bottom: 8px;
}
.sidebar .user-card .user-info .qr-button_out {
  padding-bottom: 20px;
}
.sidebar .user-card .user-info .qr-button_out:after {
  content: "";
  background: url(../images/dot.png) repeat;
  position: absolute;
  bottom: 0;
  left: -9px;
  width: 175px;
  height: 5px;
}
.sidebar .user-card .user-info a.qr-button {
  display: flex;
  color: #fff;
  border-radius: 5px 0 0 5px;
  padding: 5px 10px;
  background-color: var(--main_color);
  background-image: linear-gradient(315deg, #5a70a5 0%, #0f2350 74%);
  border: none;
  z-index: 1;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: block;
  box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, 0.5), 7px 7px 20px 0px rgba(0, 0, 0, 0.1), 4px 4px 5px 0px rgba(0, 0, 0, 0.1);
  outline: none;
}
.sidebar .user-card .user-info a.qr-button img {
  width: 17px;
  margin-right: 5px;
  transition: 0.3s;
  filter: var(--filter-white);
}
.sidebar .user-card .user-info a.qr-button:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: 5px 0 0 5px;
  background-color: var(--main_color);
  background-image: linear-gradient(315deg, #5a70a5 0%, #0f2350 74%);
  box-shadow: -7px -7px 20px 0px #fff9, -4px -4px 5px 0px #fff9, 7px 7px 20px 0px #0002, 4px 4px 5px 0px #0001;
  transition: all 0.3s ease;
}
.sidebar .user-card .user-info a.qr-button:hover {
  color: #fff;
}
.sidebar .user-card .user-info a.qr-button:hover:after {
  top: 0;
  height: 100%;
}
.sidebar .user-card .user-info a.qr-button:active {
  top: 2px;
}
.sidebar .side-menu ul {
  list-style: none;
  padding: 0;
}
.sidebar .side-menu ul li {
  padding: 10px 9px 5px 10px;
}
.sidebar .side-menu ul li a {
  color: #fff;
  border-radius: 5px 0 0 5px;
  padding: 5px 10px;
  background-color: var(--main_color3);
  background-image: linear-gradient(315deg, #83db86 0%, #4cae50 74%);
  border: none;
  z-index: 1;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: block;
  box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, 0.5), 7px 7px 20px 0px rgba(0, 0, 0, 0.1), 4px 4px 5px 0px rgba(0, 0, 0, 0.1);
  outline: none;
}
.sidebar .side-menu ul li a:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: 5px 0 0 5px;
  background-color: var(--main_color3);
  background-image: linear-gradient(315deg, #83db86 0%, #4cae50 74%);
  box-shadow: -7px -7px 20px 0px #fff9, -4px -4px 5px 0px #fff9, 7px 7px 20px 0px #0002, 4px 4px 5px 0px #0001;
  transition: all 0.3s ease;
}
.sidebar .side-menu ul li a:hover {
  color: #fff;
}
.sidebar .side-menu ul li a:hover:after {
  top: 0;
  height: 100%;
}
.sidebar .side-menu ul li a:active {
  top: 2px;
}
.sidebar .ticket-edge {
  background: url(../images/side_footer.png) no-repeat;
  width: 184px;
  height: 74px;
}

.pagemain-content {
  width: calc(100% - 184px - 50px);
}

@media (max-width: 1480px) {
  .pagesidecontainer {
    gap: 40px 50px;
  }
}
@media (max-width: 960px) {
  .pagesidecontainer {
    gap: 40px 20px;
  }
}
@media (max-width: 767px) {
  .pagesidecontainer {
    flex-wrap: wrap;
  }

  .sidebar {
    width: 100%;
    margin-top: 0px;
  }

  .sidebar::before {
    display: none;
  }

  .sidebar .user-card {
    background: #f4ece4;
  }

  .sidebar .ticket-edge {
    display: none;
  }

  .sidebar .user-card .user-info .qr-button:after {
    width: 100%;
    display: none;
  }

  .sidebar .side-menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 10px;
  }

  .sidebar .user-card .user-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
  }

  .sidebar .user-card .user-info .qr-button {
    position: static;
    padding-bottom: 7px;
  }

  .sidebar .side-menu ul li {
    padding: 2px 15px;
    font-size: 16px;
  }

  .pagemain-content {
    width: 100%;
  }

  .sidebar .user-card .user-info {
    border-bottom: 3px dotted #fff;
  }
}
.edit-form {
  margin-top: 15px;
}
.edit-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}
.edit-form .form-group {
  display: flex;
  flex-direction: column;
  color: var(--main_color4);
}
.edit-form .form-group .txt {
  margin-bottom: 5px;
  display: inline-block;
}
.edit-form .form-group .required {
  color: var(--red_color);
  margin-right: 4px;
}
.edit-form .form-group input,
.edit-form .form-group select,
.edit-form .form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid transparent;
  background: #fff;
  border-radius: 4px;
  outline: none;
}
.edit-form .form-group input:focus,
.edit-form .form-group select:focus,
.edit-form .form-group textarea:focus {
  border-color: var(--main_color3);
}
.edit-form .form-group input.readonly,
.edit-form .form-group select.readonly,
.edit-form .form-group textarea.readonly {
  background: #dfdfdf;
}
.edit-form .form-group textarea {
  height: 150px;
}
.edit-form .form-group.col-1-3 {
  width: calc(100%/3);
}
.edit-form .form-group.col-2-3 {
  width: calc(100%*2/3);
}
.edit-form .form-group.col-1-2 {
  width: calc((100% - 20px) /2);
}
.edit-form .form-group.full-width {
  width: 100%;
}

.form-footer {
  margin-top: 30px;
  display: flex;
}
.form-footer .checkbox-group {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.form-footer .checkbox-group .txt {
  line-height: 1;
}

@media (max-width: 767px) {
  .edit-form .form-row {
    flex-wrap: wrap;
  }

  .edit-form .form-group.col-1-3 {
    width: 100%;
  }

  .edit-form .form-group.col-1-2 {
    width: 100%;
  }
}
.table_list {
  overflow-x: auto;
  width: 100%;
  margin-top: 30px;
}
.table_list table {
  width: 100%;
  letter-spacing: 0;
  min-width: 900px;
}
.table_list table tbody tr:hover td:not(.radioselected_active) {
  background-color: #f4ece3;
}
.table_list table tr th,
.table_list table tr td {
  padding: 12px 10px;
  border: 1px solid var(--border-color);
  transition: 0.3s;
}
.table_list table tr th {
  font-size: 16px;
  color: #fff;
  text-align: left;
  background-color: var(--main_color);
  font-weight: var(--Regular);
}
.table_list table tr td {
  border-bottom: 1px solid #bcbcbc;
  font-size: 15px;
  color: #555;
}
.table_list table tr td .registerdate {
  font-size: 14px;
  font-weight: var(--Light);
}
.table_list table tr td .registertime {
  color: #a8a8a8;
  font-size: 14px;
  font-weight: var(--Light);
}
.table_list table tr td.radioselected_active {
  background-color: var(--main_color3);
}
.table_list table tr td .date {
  font-size: 14px;
  font-weight: var(--Light);
  letter-spacing: 0;
}
.table_list table tr td.tdgroup {
  background-color: var(--main_color2);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}
.table_list table tr td.tdgroup:hover {
  background-color: var(--main_color2) !important;
}

@media (max-width: 960px) {
  .table_list {
    overflow: initial;
  }
  .table_list table {
    min-width: 100%;
  }
  .table_list table thead {
    display: none;
  }
  .table_list table tr {
    display: block;
    border-bottom: 1px solid #c0c0c0;
    padding: 20px 10px;
    background: #fff;
    margin-bottom: 20px;
  }
  .table_list table tr.trgroup {
    padding: 0;
    border-bottom: none;
  }
  .table_list table tr:last-child {
    border-bottom: none;
  }
  .table_list table tr th,
  .table_list table tr td {
    display: block;
    border-bottom: none;
    padding: 5px 10px;
  }
  .table_list table tr td .boldtxt {
    font-weight: bold;
    color: #000;
  }
  .table_list table tr td:before {
    content: attr(data-label);
    font-weight: bold;
    color: #000;
  }
  .table_list table tr td .smallbtnsets {
    flex-direction: row;
  }
  .table_list table tr td .radiusbtnstyle {
    font-size: 15px;
    padding: 5px 13px;
  }
  .table_list table tr td .selfcenter {
    display: inline-block;
  }
  .table_list table tr td .brnone br {
    display: none;
  }
  .table_list table tr td .time {
    margin-left: 5px;
  }

  .table_list table tr td .registerdate {
    display: inline-block;
  }

  .table_list table tr td .registertime {
    display: inline-block;
  }

  .table_list table tr td .linkstyle {
    display: inline-block;
  }
}
.qrcodeticketctnter {
  display: flex;
  margin-top: 20px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 5px;
}

.qrcodeticket_title {
  font-size: 19px;
  letter-spacing: 0;
  font-weight: var(--Medium);
  color: var(--main_color3);
}

.qrcodeticket {
  background: url(../images/qrcode_bg.png) no-repeat;
  width: 263px;
  height: 244px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qrcodeticket img {
  width: 220px;
}

.slickqrcode {
  padding: 0 40px;
  margin-top: 10px;
  max-width: 400px;
  width: 100%;
}
.slickqrcode .oneset .flexcenter {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.slickqrcode p {
  text-align: center;
  margin-top: 8px;
}
.slickqrcode .slick-prev {
  left: 0;
}
.slickqrcode .slick-next {
  right: 0;
}

.attendform {
  width: 100%;
  max-width: 1095px;
  margin: 0 auto;
}

.schedule-container.flexbox {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.schedule-container.flexbox .date-group {
  width: calc((100% - 15px*2) / 3);
  margin-bottom: 0px;
}
.schedule-container .date-group {
  margin-bottom: 30px;
}
.schedule-container .date-group .date-header {
  display: inline-block;
  background-color: var(--main_color);
  color: white;
  padding: 6px 15px;
  border-radius: 4px;
  font-size: 17px;
  margin-bottom: 10px;
}

.day-cap {
  background: #fdecea;
  border: 1px solid #f3b8b3;
  color: #b3261e;
  border-radius: 6px;
  padding: 10px 14px;
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
}

.day-note {
  background: #eef4fb;
  border: 1px solid #c7d8ee;
  color: #1f3f6e;
  border-radius: 6px;
  padding: 10px 14px;
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
}
.day-note.is-hidden {
  display: none;
}

.session-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 15px;
}

.session-card {
  position: relative;
  cursor: pointer;
}
.session-card.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.session-card input[type="radio"], .session-card input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.session-card input[type="radio"]:disabled + .card-content, .session-card input[type="checkbox"]:disabled + .card-content {
  cursor: not-allowed;
}
.session-card input[type="radio"]:checked + .card-content, .session-card input[type="checkbox"]:checked + .card-content {
  background-color: #f0faf0;
  border-color: var(--main_color3);
}
.session-card input[type="radio"]:checked + .card-content .status-box, .session-card input[type="checkbox"]:checked + .card-content .status-box {
  background-color: var(--main_color3);
  border-color: var(--main_color3);
}
.session-card input[type="radio"]:checked + .card-content .status-box::after, .session-card input[type="checkbox"]:checked + .card-content .status-box::after {
  content: '\f00c';
  font-family: FontAwesome;
  color: white;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
}
.session-card .card-content {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
  gap: 10px;
}
.session-card .card-content:hover {
  border-color: #bbb;
}
.session-card .card-content .info .title {
  font-size: 16px;
  margin-bottom: 5px;
}
.session-card .card-content .info .time {
  font-size: 15px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 5px;
}
.session-card .card-content .info .time::before {
  content: '\f017';
  font-size: 14px;
  font-family: FontAwesome;
}
.session-card .card-content .status-box {
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  background: white;
  transition: all 0.2s;
  flex-shrink: 0;
}

/* 場次卡：剩餘與額滿 */
.session-card .sc-left {
  font-size: 13px;
  color: #888;
  margin-left: 6px;
  font-weight: 400;
}

.session-card .sc-left.low {
  color: var(--red_color);
}

.session-card.full {
  cursor: not-allowed;
}
.session-card.full .card-content {
  background: #f5f5f5;
  color: #999;
}
.session-card.full .card-content:hover {
  border-color: #e0e0e0;
}
.session-card.full .status-box {
  visibility: hidden;
}
.session-card.full .sc-full {
  font-size: 13px;
  color: #999;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1px 8px;
  flex-shrink: 0;
}
.session-card.full .sc-left {
  display: none;
}
.session-card.full .card-content {
  background: #f5f5f5 !important;
  border: 1px solid #e0e0e0 !important;
  color: #999;
}

.entry-full {
  font-size: 13px;
  color: var(--red_color);
  margin-top: 4px;
  font-weight: 700;
}

.apply_result {
  text-align: center;
  padding: 30px 0;
}
.apply_result .icon img {
  width: 78px;
}
.apply_result .txt1 {
  font-size: 24px;
  font-weight: var(--Bold);
  margin-top: 15px;
  letter-spacing: 0.075em;
}
.apply_result .txt2 {
  font-size: 16px;
  font-weight: var(--Light);
  margin-top: 10px;
  letter-spacing: 0.05em;
}

.credicardpay {
  margin-top: 10px;
}

.transfermoneybox {
  margin-top: 10px;
}
.transfermoneybox .titleDot {
  text-align: left;
}
.transfermoneybox .formstyle {
  text-align: left;
}

.circle-btn {
  color: #212121;
  width: 124px;
  height: 124px;
  font-size: 2.4rem;
  line-height: 100%;
  font-weight: 400;
  background-color: #FFFFFF;
  border-radius: 50%;
  border: none;
  align-items: center;
  justify-content: flex-end;
  display: flex;
}

@media (max-width: 991px) {
  .circle-btn {
    width: 60px;
    height: 60px;
    justify-content: center;
    background: rgba(0, 0, 0, 0.2);
  }
}
.circle-btn.left .long-arrow {
  transform: rotate(180deg);
}

.circle-btn.right .long-arrow {
  transform: rotate(0deg);
}

.circle-btn .long-arrow {
  width: 124px;
  height: 124px;
  background-size: inherit;
  mask-size: 17px;
  mask-image: url("../images/banner_arrow.svg");
  mask-repeat: no-repeat;
  mask-position: center center;
  background-color: #FFFFFF;
  transition: transform 0.3s ease;
}

@media (max-width: 991px) {
  .circle-btn .long-arrow {
    width: 60px;
    height: 60px;
    mask-size: 20px;
  }
}
.slide-btn {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 900;
  text-indent: 0;
  padding: 0;
  opacity: 0;
  transition: color 0.2s ease;
  transition: transform 0.3s ease;
  -webkit-transform: scale(0);
  transform: scale(0);
}

@media (max-width: 991px) {
  .slide-btn {
    display: none;
  }
}
.slide-btn .long-arrow {
  background-color: #111111;
}

.slide-btn.over {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* 桌機隨鼠按鈕 */
@media (min-width: 992px) {
  .slide-btn {
    position: absolute;
    z-index: 1000;
    /* 關鍵：讓滑鼠事件穿透按鈕，點擊才會觸發到下方的容器 */
    pointer-events: none;
    transition: opacity 0.3s ease, color 0.2s ease;
    /* 移除 transform 的 transition 避免移動延遲 */
    opacity: 0;
    will-change: transform;
    display: flex;
    margin: 0;
  }

  .slide-btn.over {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .slick-next {
    right: 20px !important;
  }

  .slick-prev {
    left: 20px !important;
  }
}
.ticketlist {
  margin-top: 30px;
}
.ticketlist .oneset {
  display: flex;
  margin-bottom: 30px;
  min-height: 180px;
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
}
.ticketlist .oneset .qrcodebox {
  border-top-left-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
  padding: 2rem;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ticketlist .oneset .qrcodebox img {
  max-width: 140px;
}
.ticketlist .oneset .dashline {
  border-right: 2px dashed #dfdfdf;
  background-color: #fff;
}
.ticketlist .oneset .dashline:before, .ticketlist .oneset .dashline:after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/index_bg.jpg);
  border-radius: 50%;
  position: absolute;
  width: 32px;
  height: 32px;
  left: -16px;
  z-index: 99;
}
.ticketlist .oneset .dashline:before {
  top: -16px;
}
.ticketlist .oneset .dashline:after {
  bottom: -16px;
}
.ticketlist .oneset .contentbox {
  padding: 2rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
  background-color: #fff;
  border-top-right-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem;
  flex: 1;
}
.ticketlist .oneset .contentbox .activityname {
  font-size: 20px;
  font-weight: var(--Bold);
}
.ticketlist .oneset .contentbox .item_more {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
  justify-content: space-between;
  align-items: center;
}
.ticketlist .oneset .contentbox .item_more .item {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 35px;
}
.ticketlist .oneset .contentbox .item_more .item .one .t1 {
  color: #aaa;
  font-size: 12px;
}
.ticketlist .oneset .contentbox .item_more .item .one .t2 {
  font-size: 14px;
  margin-top: 0px;
}

@media (max-width: 540px) {
  .ticketlist .oneset {
    flex-direction: column;
  }

  .ticketlist .oneset .qrcodebox img {
    max-width: 280px;
  }

  .ticketlist .oneset .dashline {
    border-radius: none;
    border-bottom: 2px dashed #dfdfdf;
  }

  .ticketlist .oneset .dashline:after {
    left: initial;
    right: -16px;
  }
}
.searchKeyword {
  display: flex;
  margin-top: 20px;
}
.searchKeyword input {
  flex: 1;
  border: 1px solid #ecebe9;
  background-color: #fff;
  font-size: 15px;
  padding: 0 20px;
  color: #888888;
}
.searchKeyword button {
  flex-shrink: 0;
  background-color: var(--main_color);
  border: none;
  font-size: 13px;
  color: #fff;
  height: 44px;
  width: 44px;
}
.searchKeyword button:hover {
  background-color: var(--main_color);
}

.passtoptxt {
  color: #666;
  font-size: 14px;
  line-height: 1.9;
  text-align: left;
  margin: 0 0 20px;
}

.mock-rule {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  text-align: left;
  font-size: 14px;
  color: #888;
}

.mock-rule li {
  margin: 2px 0;
}

.mock-rule li.ok {
  color: #2e7d32;
}

.mock-rule li.ok::before {
  content: "✓ ";
}

.mock-rule li.no::before {
  content: "• ";
}

.mock-pwbox {
  position: relative;
}

.mock-pwbox input {
  padding-right: 52px !important;
}

.mock-eye {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: none;
  color: #888;
  font-size: 14px;
  cursor: pointer;
}

.mock-msg {
  background: #fff;
  border: 1px solid #cfe8cf;
  border-left: 4px solid #2e7d32;
  border-radius: 4px;
  padding: 16px 18px;
  text-align: left;
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.9;
  color: #333;
}

.mock-msg b {
  display: block;
  color: #2e7d32;
  font-size: 17px;
  margin-bottom: 4px;
}

.mock-note {
  margin-top: 6px;
  font-size: 13px;
  color: #2e7d32;
}

.entry-lock {
  font-size: 13px;
  color: #2e7d32;
  margin-top: 4px;
}

.mock-summary {
  background: #fff;
  border: 1px solid #cfe8cf;
  border-left: 4px solid #2e7d32;
  border-radius: 4px;
  padding: 12px 16px;
  margin: 6px 0 18px;
}

.mock-summary-h {
  font-weight: 700;
  color: #2e7d32;
  margin-bottom: 6px;
}

.mock-sum-row {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  border-bottom: 1px dashed #eee;
  font-size: 14px;
}

.mock-sum-row.total {
  border-bottom: 0;
  font-size: 16px;
}

.mock-sum-row span {
  color: #888;
}

.mock-sum-row.total b {
  color: #d85546;
  font-size: 24px;
}

/* 票種與張數 */
.tk-box {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
}

.tk-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 20px;
  border-bottom: 1px solid #eee;
}

.tk-head .tk-for {
  font-size: 15px;
  color: #333;
}

.tk-head .tk-for b {
  font-weight: 500;
}

.tk-limit {
  font-size: 14px;
  color: #888;
}

.tk-limit.hit {
  color: var(--red_color);
}

.tk-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px 28px;
  align-items: center;
  padding: 14px 20px;
}

.tk-row + .tk-row {
  border-top: 1px solid #f0f0f0;
}

.tk-name {
  font-size: 17px;
  color: #222;
}

.tk-desc {
  font-size: 13px;
  color: #888;
  margin-top: 2px;
}

.tk-left {
  font-size: 13px;
  color: var(--red_color);
  margin-left: 8px;
}

.tk-price {
  font-size: 17px;
  color: #222;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.tk-step {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.tk-step button {
  width: 42px;
  height: 42px;
  border: 0;
  background: #fff;
  color: var(--main_color);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-step button:hover:not(:disabled) {
  background: #f0f4fa;
}

.tk-step button:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: -2px;
}

.tk-step button:disabled {
  color: #c8c8c8;
  cursor: not-allowed;
}

.tk-step output {
  min-width: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
}

.tk-row.soldout .tk-name, .tk-row.soldout .tk-price {
  color: #aaa;
}

.tk-sold {
  font-size: 14px;
  color: #888;
  background: #f2f2f2;
  border-radius: 4px;
  padding: 8px 14px;
  white-space: nowrap;
}

.tk-empty {
  padding: 22px 20px;
  color: #888;
  font-size: 15px;
}

.tk-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 20px;
  background: #fafafa;
  border-top: 1px solid #eee;
  border-radius: 0 0 6px 6px;
}

.tk-foot .n {
  font-size: 15px;
  color: #555;
}

.tk-foot .sum {
  font-size: 24px;
  font-weight: 700;
  color: #d85546;
  font-variant-numeric: tabular-nums;
}

.tk-err {
  color: var(--red_color);
  font-size: 15px;
  margin: 10px 0 0;
  min-height: 1.5em;
  text-align: center;
}

.tk-ok {
  color: #2e7d32;
  font-size: 15px;
  margin: 10px 0 0;
  text-align: center;
}

.tk-sess + .tk-sess {
  border-top: 6px solid #eef1f4;
}

.entry-lock {
  font-size: 13px;
  color: #2e7d32;
  margin-top: 4px;
}

.mock-note-inline {
  font-size: 13px;
  color: #888;
  margin: 6px 0 0;
}

input[type=checkbox]:disabled + .card-content {
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .tk-row {
    flex-direction: column;
    display: flex;
    align-items: flex-start;
  }

  .mock-sum-row {
    flex-direction: column;
    display: flex;
    align-items: flex-start;
  }
}
.al-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 30px;
}

.al-grid .al-card {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.al-grid .al-card img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}
.al-grid .al-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.al-grid .al-name {
  font-size: 19px;
  font-weight: 700;
  color: #011f35;
}
.al-grid .al-sub {
  font-size: 15px;
  color: #666;
}
.al-grid .al-meta {
  font-size: 14px;
  color: #444;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 4px 0 8px;
}
.al-grid .al-price {
  font-size: 20px;
  font-weight: 700;
  color: #d85546;
}
.al-grid .al-left {
  font-size: 13px;
  color: #888;
}
.al-grid .al-left.low {
  color: var(--red_color);
}
.al-grid .al-card .gobtnbox {
  margin-top: auto;
}
.al-grid .al-card .gobtn {
  display: block;
  text-align: center;
  width: 100%;
}
.al-grid .al-card.full .gobtn {
  background: #bbb;
  pointer-events: none;
}
.al-grid .al-card.full img {
  filter: grayscale(0.7);
}

.al-empty {
  padding: 30px;
  text-align: center;
  color: #888;
  background: #fff;
  border: 1px dashed #ccc;
  border-radius: 10px;
  margin-top: 30px;
}

.act-intro-body .act-img {
  width: 100%;
  max-width: 500px;
  margin-bottom: 10px;
}
.act-intro-body .act-img img {
  width: 100%;
}

.order-detail {
  padding: 18px;
  background: #fff;
  border: 1px solid #c9ddc9;
  border-left: 4px solid #398c42;
  border-radius: 4px;
  font-size: 15px;
}
.order-detail__title {
  margin: 0 0 16px;
  color: #2e7d32;
  font-weight: 700;
  font-size: 17px;
}

.detail-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  padding: 10px 0;
  border-bottom: 1px dashed #ddd;
}

.detail-label {
  color: #777;
}

.detail-value {
  text-align: right;
  font-weight: 600;
  color: #222;
}

.ordsession {
  margin-top: 14px;
  border: 1px solid #e0e8e0;
  border-radius: 6px;
  overflow: hidden;
}
.ordsession__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 14px;
  background: #f3f8f3;
}
.ordsession__title {
  color: #34833e;
  font-weight: 700;
}
.ordsession__time {
  font-weight: 600;
  color: #222;
}
.ordsession__tickets {
  background: #fff;
}

.ticket-row {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto 100px;
  align-items: center;
  gap: 24px;
  padding: 10px 14px 10px 30px;
}
.ticket-row + .ticket-row {
  border-top: 1px dashed #e5e5e5;
}

.ticket-name {
  color: #555;
}

.ticket-calc {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #555;
  white-space: nowrap;
}

.ticket-total {
  text-align: right;
  font-weight: 700;
  color: #222;
}

.related-event {
  margin-top: 16px;
}

.grand-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
}
.grand-total__label {
  color: #777;
}
.grand-total__price {
  color: #e4513f;
  font-size: 26px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .detail-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .detail-value {
    text-align: left;
  }

  .session__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .ticket-row {
    grid-template-columns: 1fr auto;
    gap: 6px 16px;
    padding-left: 18px;
  }

  .ticket-name {
    grid-column: 1 / 2;
  }

  .ticket-calc {
    grid-column: 1 / 2;
    grid-row: 2;
    font-size: 14px;
  }

  .ticket-total {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }
}
/* 動畫：右 → 中間停留 → 左 */
@keyframes marqueeOne {
  0% {
    transform: translateX(100%);
  }
  40% {
    transform: translateX(0);
  }
  /* 移到中間 */
  70% {
    transform: translateX(0);
  }
  /* 停留 */
  100% {
    transform: translateX(-100%);
  }
  /* 移出 */
}
/* ==== Slider Image Transition === */
@keyframes Slick-SlideIn {
  from {
    transform: rotate3d(0, 1, 0, -60deg) skewX(10deg) perspective(400px);
  }
  to {
    transform: rotate3d(0, 1, 0, 0deg) skewX(0deg) perspective(400px);
  }
}
@keyframes Slick-SlideOut {
  from {
    transform: rotate3d(0, 1, 0, 0deg) skewX(0deg) perspective(400px);
  }
  to {
    transform: rotate3d(0, 1, 0, -60deg) skewX(10deg) perspective(400px);
  }
}
@keyframes photosize1 {
  0% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
  }
}
@keyframes marquee-left {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-50%, 0);
  }
}
@-webkit-keyframes textSlideRightAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes textSlideRightAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes textSlideDownAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes textSlideDownAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes textSlideUpAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes textSlideUpAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes loadingImgShow {
  0% {
    opacity: 0;
  }
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes loadingImgShow {
  0% {
    opacity: 0;
  }
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes loadingTxtShow {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    opacity: 0.5;
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@keyframes loadingTxtShow {
  0% {
    opacity: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    opacity: 0.5;
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@-webkit-keyframes loadOut {
  to {
    top: -100%;
  }
}
@keyframes loadOut {
  to {
    top: -100%;
  }
}
@-webkit-keyframes rotate {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotate2 {
  from {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@keyframes rotate2 {
  from {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@-webkit-keyframes upDown {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
}
@keyframes upDown {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
}

/* 後台內文從別的網站複製貼上時，會帶進原網站的白色底色與固定寬度，在灰底頁面上變成一塊貼邊的白底、手機上還會超出畫面。
   只拿掉白色底色（刻意加的螢光標記等其他顏色保留），固定寬度改成跟著版面縮放 */
.ck-content [style*="background-color:#ffffff" i],
.ck-content [style*="background-color:white" i],
.ck-content [style*="background-color:rgb(255,255,255)" i],
.ck-content [style*="background-color:rgb(255, 255, 255)" i],
.ck-content [style*="background-color:#fff;" i],
.ck-content [style$="background-color:#fff" i],
.ck-content [style*="background-color: #ffffff" i],
.ck-content [style*="background-color: white" i],
.ck-content [style*="background-color: rgb(255,255,255)" i],
.ck-content [style*="background-color: rgb(255, 255, 255)" i],
.ck-content [style*="background-color: #fff;" i],
.ck-content [style$="background-color: #fff" i],
.ck-content [style*="background:#ffffff" i],
.ck-content [style*="background:white" i],
.ck-content [style*="background:rgb(255,255,255)" i],
.ck-content [style*="background:rgb(255, 255, 255)" i],
.ck-content [style*="background:#fff;" i],
.ck-content [style$="background:#fff" i],
.ck-content [style*="background: #ffffff" i],
.ck-content [style*="background: white" i],
.ck-content [style*="background: rgb(255,255,255)" i],
.ck-content [style*="background: rgb(255, 255, 255)" i],
.ck-content [style*="background: #fff;" i],
.ck-content [style$="background: #fff" i] {
  background-color: transparent !important;
  background-image: none !important;
}
.ck-content div[style*="width:" i],
.ck-content section[style*="width:" i] {
  width: auto !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}
