/*
* Noto Sans TC (Chinese_traditional) http://www.google.com/fonts/earlyaccess
 */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Thin.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Thin.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Thin.otf) format('opentype');
  font-display: fallback;
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 300;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Light.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Light.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Light.otf) format('opentype');
  font-display: fallback;
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Regular.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Regular.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Regular.otf) format('opentype');
  font-display: fallback;
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Medium.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Medium.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Medium.otf) format('opentype');
  font-display: fallback;
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Bold.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Bold.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Bold.otf) format('opentype');
  font-display: fallback;
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 900;
  src: url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Black.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Black.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosanstc/v1/NotoSansTC-Black.otf) format('opentype');
  font-display: fallback;
}

html {
  overflow-x: clip;
}

body {
  font-family: 'Noto Sans TC', Helvetica, Arial, sans-serif;
  overflow-x: clip;
  box-sizing: border-box;
}

i.fas,
i.far,
i.fal {
  font-weight: 700;
}

a,
a:hover,
a:active,
a:visited {
  color: var(--color-link);
}

a.underline {
  text-decoration: underline;
}

select,
input[type="text"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type*="date"],
input[type="email"] {
  border-radius: 4px;
  border: 1px solid var(--color-border);
  padding: 0 12px;
  height: 44px;
}

address {
  line-height: 2em;
}

.vertical-separator::after {
  content: " | ";
  color: var(--color-gray-200);
  margin: 0 5px;
}

.breadcrumbs {
  margin-top: 20px;
}

.navigation,
.breadcrumbs,
.page-header .header.panel,
.header.content,
.footer.content,
.page-wrapper>.widget,
.page-wrapper>.page-bottom,
.block.category.event,
.top-container,
.page-main {
  max-width: 1440px !important;
}

.page-header {
  border: 0;
  z-index: 2 !important;
}

/* 通用 */
/* 通用 */
/* 通用 */
/* 通用 */
/* 通用 */
.w50 {
  width: 50%
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.semi-bold {
  font-weight: 500;
}

.cursor-pointer {
  cursor: pointer;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.w-full {
  width: 100%;
}

.text-s {
  text-align: start;
}

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

.nowrap {
  white-space: nowrap;
}

.break-word {
  word-break: break-word;
}

.hidden {
  display: none !important;
}

.desktop-hidden {
  display: none !important;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.items-center {
  align-items: center;
}

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

.flex-1 {
  flex: 1;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.flex.gap-10 {
  gap: 10px;
}

.flex.gap-20 {
  gap: 20px;
}

.flex.gap-30 {
  gap: 30px;
}

.flex.gap-10 .pagebuilder-column-line {
  gap: 10px
}

.flex.gap-20 .pagebuilder-column-line {
  gap: 20px
}

.flex.gap-30 .pagebuilder-column-line {
  gap: 30px
}

.ml-30 {
  margin-left: 30px;
}

.mr-30 {
  margin-right: 30px;
}

.bold-5 {
  font-weight: 500 !important;
}

.bold-4 {
  font-weight: 400 !important;
}

.black {
  color: black;
}

.bg-white-full {
  position: relative;
}

.bg-white-full:after {
  position: absolute;
  content: "";
  background-color: var(--color-background-000);
  width: 200vw;
  height: 100%;
  top: 0;
  left: -100%;
  z-index: -1;
}

a,
button {
  border-radius: 2px;
}

button {
  font-size: 14px;
  padding: 17px 38px;
}

button.action,
.actions-toolbar button.primary,
.primary-btn,
.primary-btn button {
  background-color: var(--color-button-primary) !important;
  color: white !important;
  border-radius: 2px;
  font-size: inherit;
  line-height: 1.42857143;
  padding: 17px 38px;
}

button.action:hover,
.actions-toolbar button.primary:hover,
.primary-btn:hover,
.primary-btn button:hover {
  background-color: var(--color-button-primary-hover);
}

.stock.unavailable {
  padding: 17px 38px;
  background: var(--color-gray-200);
  color: var(--color-gray-900);
}

.page-title-wrapper h1 {
  font: normal normal bold 40px/64px Noto Sans TC;
  margin-top: 40px;
}

.block-collapsible-nav .item.current a,
.block-collapsible-nav .item.current>strong {
  border-color: var(--color-link);
  color: var(--color-link);
  font-weight: 600;
}

/* 小購物車 >> */
.minicart-items .action.edit>span,
.minicart-items .action.delete>span {
  white-space: nowrap;
}

/* 小購物車 << */

/* 會員登入、忘記密碼 >> */
form .fieldset .field:not(.choice) .label {
  padding: 6px 15px 0 0;
  font-weight: 700;
  text-align: left;
  width: 100%;
}

form .fieldset .field:not(.choice) .control {
  width: 100%;
}

form .fieldset .field.choice::before {
  width: 0px;
  padding: 0px;
}

.login-container .actions-toolbar {
  display: flex;
  flex-direction: row;
}

.column form .fieldset .actions-toolbar {
  margin-left: 0px;
}

.login-container .block .form-login .fieldset .actions-toolbar div {
  margin: 0;
}

form .fieldset .actions-toolbar .action {
  width: 180px;
  padding: 17px 38px;
}

form .fieldset .actions-toolbar .secondary a {
  padding: 0px;
  margin: 17px 38px;
}

a.action-primary,
.action.primary,
.action-primary {
  background: var(--color-button-primary);
  color: white;
  padding: 17px 38px;
}

a.action-primary:hover,
.action.primary:hover,
.action-primary:hover {
  background: var(--color-button-primary-hover);
}

a.delete,
a.field.note-required {
  color: var(--color-red);
}

.column:not(.sidebar-main) form .actions-toolbar {
  margin-left: 0;
}

/* 會員登入、忘記密碼 << */

/* 註冊頁、會員中心 >> */
.form-address-edit,
.form.form-edit-account,
.form.create.account {
  display: flex;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-address-edit .fieldset,
.form.form-edit-account .fieldset,
.form.create.account .fieldset {
  flex-basis: auto;
  flex: 0 0 45%;
  white-space: nowrap;
  margin: 0 20px;
  margin-bottom: 30px;
}

.form.create.account .fieldset.create.info {
  margin-bottom: 80px;
}

.form-address-edit legend.legend,
.form.form-edit-account legend.legend,
.form.create.account legend.legend {
  width: 100%;
  margin-left: 0px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border);
}

form .fieldset .name {
  display: flex;
  flex-direction: row;
  margin-top: 6px;
  margin-bottom: 29px;
}

.field.field-name-lastname,
.field.field-name-firstname {
  width: 50%;
}

.field.field-name-firstname {
  order: 2;
}

.field.field-name-lastname {
  margin-right: 10px;
  order: 1;
}

.block .block-title,
.admin__legend.step-title {
  line-height: 1.2;
  font-size: 2rem;
  margin-bottom: 25px;
  width: 100%;
  margin-left: 0px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border);
}

.block .box-actions {
  margin-top: 1em;
}

.form-create-account .block-addresses-default .block-title strong {
  line-height: 1.2;
  font-size: 2rem;
  font-weight: 400;
}

.form-create-account .actions-toolbar {
  margin-left: 0px;
  display: flex;
  flex-direction: row-reverse;
}

#group-fields-customer-attributes :not(input) {
  display: none;
  margin: 0;
}

/* 訂單明細頁 >> */
.account .page-title-wrapper .page-title {
  display: inline-block;
}

.page-title-wrapper .order-status {
  border: 2px solid #ccc;
  border-radius: 3px;
  display: inline-block;
  padding: 2px 10px;
}

.page-title-wrapper .order-date {
  margin: 20px 0;
}

.order-details-items.shipments span,
.order-details-items.shipments strong {
  margin-right: 1em;
}

/* 訂單明細頁 << */
/* 註冊頁、會員中心 << */

/* 分類頁 >> */
.modes-mode {
  padding: 5px 10px;
  border-radius: 3px;
  margin-right: 10px;
  border-right: 1px solid var(--color-border);
}

.modes-mode.active {
  background-color: #F0F6FF;
  border: 1px solid #F0F6FF;
}

.modes-mode.active:before {
  color: var(--color-action-700);
}

li.item.product.product-item {
  border: none;
}

.products-list .product-items .product-item-info {
  flex-direction: row;
  flex: 1;
  width: 100%;
}

.products-list .product-items .product-item-info .product-item-photo {
  width: auto;
}

.products-list .product-items .product-item .product-image-container {
  width: 240px !important;
}


.products-list .product-items .product-item-details {
  flex-direction: row;
  text-align: left;
  padding-top: 30px;
}

.products-list .product-items .product-item-details-left {
  flex: 1;
}

/* 分類頁 << */

/* 商品內容頁 >> */
.product-info-main .custom-inventory {
  margin: 30px 0;
}

#product_addtocart_form .swatch-option.text {
  border-radius: 2px;
  color: var(--color-gray-800);
  background: var(--color-background-000);
}

#product_addtocart_form .swatch-option.disabled {
  background: var(--color-gray-100);
  color: var(--color-gray-200);
}

.swatch-option.disabled:after {
  opacity: 0;
}

#product_addtocart_form .swatch-option:not(.disabled):hover {
  outline: 2px solid var(--color-warrnin-700);
}

#product_addtocart_form .swatch-option.selected {
  outline: 2px solid var(--color-action-700);
  color: var(--color-action-700);
  background: var(--color-action-100);
}

/* 商品數量 +-按鈕 >> */
.field.qty .control {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.field.qty .control .button {
  border: 1px solid var(--color-border);
  height: 46px;
  width: 30px;
  line-height: 46px;
  text-align: center;
  cursor: pointer;
  font-size: 20px;
  padding: 2px;
}

.field.qty .control .button.minus {
  border-radius: 5px 0 0 5px;
}

.field.qty .control .button.plus {
  border-radius: 0 5px 5px 0;
}

.field.qty .control .button:hover {
  border: 2px solid var(--color-warrnin-700);
  padding: 1px;
}

/* 商品數量 +-按鈕 << */

.product-info-main .product.attribute.overview {
  padding: 20px 0;
  border-top: solid var(--color-border) 1px;
  border-bottom: solid var(--color-border) 1px;
}

.product-info-main .box-tocart .input-text.qty,
.product-options-bottom .box-tocart .input-text.qty {
  border-radius: 0;
}

td.model-qty {
  text-align: right;
}

tr {
  border-bottom: solid var(--color-border) 1px;
}

/* 商品內容頁 <<*/

.cart-container div#block-shipping {
  display: none;
}

.form-cart .item-info {
  border-bottom: 0;
}

/* 商品 >>*/
.price-box.price-final_price {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: baseline;
}

.product-item .minimal-price .price-container {
  display: contents;
}

.product-info-main .price-box.price-final_price {
  justify-content: left;
}

/* .old-price span.price-label {
  display: none;
} */
.product-item .price-box .price-label {
  font-size: 12px;
}

.product-item .normal-price .price-label {
  display: none !important;
}

/* .product-info-main .price-box span.price-final_price [id]:not([id^="old-price-"]) .price, */
.product-info-main .price-box .special-price .price-container .price {
  font-size: 24px;
  color: var(--color-dange-800);
  margin-right: 10px;
}

.product-item .special-price .price-label {
  display: none;
}

.product-item .special-price .price-wrapper,
.product-item .minimal-price .price-wrapper {
  display: inline-block;
}

.product-item .special-price .price-including-tax+.price-excluding-tax,
.product-item .minimal-price .price-including-tax+.price-excluding-tax {
  display: block;
}

.product-item .special-price {
  display: block;
  margin-right: 2px;
}

.product-item .old-price .price {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

.product-info-main p>.price-container .price-wrapper .price {
  font-size: 24px;
  color: var(--color-dange-800);
}

.product-item .minimal-price-link {
  margin-left: 5px;
  font-size: 14px;
}

a.minimal-price-link {
  font-size: 24px;
  line-height: 48px;
  font-weight: 500;
  display: inline;
}
.product-item-actions .actions-secondary {
  display: none !important;
}
/* 商品 <<*/
/* 地址 >> */
fieldset .field {
  min-height: 40px;
}

.form-create-account fieldset,
.form-address-edit .fieldset {
  display: flex;
  flex-direction: column;
}

.field.country.required {
  order: 21;
}

.field.city.required {
  order: 22;
}

.field.region.required {
  order: 23;
}

.field.zip.required {
  order: 24;
}

.field.street.required {
  order: 25;
}

.field.choice.set.billing {
  order: 53;
}

.field.choice.set.shipping {
  order: 56;
}

/* 地址 << */
/* 部落格 >>*/
.amblog-post-container img {
  display: block;
  margin: auto;
  padding-top: 25px;
}

/* 部落格 <*/

/* 手機板 >> */
@media (max-width: 768px) {

  /* 會員登入、忘記密碼 >> */
  .login-container .actions-toolbar {
    flex-direction: column;
  }

  .login-container .block .form-login .fieldset .actions-toolbar div {
    width: 100%;
  }

  .login-container .block .form-login .fieldset .actions-toolbar div.secondary {
    margin: 17px 0;
  }

  .form .fieldset .actions-toolbar .action {
    width: 100%;
  }

  /* 會員登入、忘記密碼 << */

  /* 註冊頁 >> */
  form#form-validate .fieldset {
    flex: 1 0 100%;
  }

  /* 註冊頁 << */
}

/* 手機板 << */