body {
  color: #222;
}

option {
  font-size: inherit;
  font-family: inherit;
}

a {
  cursor: pointer;
}

h4 {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 25px;
}

.wow {
  visibility: hidden;
}

.email_msg {
  color: #d00;
}

.msg-after-element {
  color: #d00;
  line-height: 120%;
}

td {
  white-space: normal;
}

.clr {
  clear: both;
}

hr,
.hr {
  border-top: #ddd solid 1px;
  margin: 30px 0;
  opacity: 1;
}

a:hover .card-box {
  box-shadow: rgba(0, 0, 0, 0.3) 0 0 2px;
}

a:hover .card-box h4 {
  background: #fff;
  color: #000 !important;
}

.card-box h4 {
  margin-top: 0;
}

/*
#operate ul {
  margin: 20px 0 20px 32px;
  padding: 0;
}

#operate li {
  margin: 2px 0;
  padding: 0;
}
*/

span.status {
  padding: 0 5px;
  display: inline-block;
}

.focus {
  background: rgba(0, 153, 255, 0.2);
}

.focus-delete {
  background: rgba(255, 0, 0, 0.2);
  color: #f00;
}

.topbar-left img {
  vertical-align: middle;
  padding-bottom: 5px;
}

.focus-btn-group {
  display: none;
}

label {
  font-weight: inherit;
}

#file-tip {
  color: #090;
}

#file-tip .file-tip-text {
  margin: 5px 0;
}

.white-space-normal td {
  white-space: normal;
}

/* table align */
table.align-middle th,
table.align-middle td {
  vertical-align: middle;
}

/* table th, td padding */
.table-py-2 th,
.table-py-2 td {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

.table-py-3 th,
.table-py-3 td {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.table-py-4 th,
.table-py-4 td {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.table-py-5 th,
.table-py-5 td {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.table-py-6 th,
.table-py-6 td {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.table-py-7 th,
.table-py-7 td {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.table-py-8 th,
.table-py-8 td {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.btn span.btn-label i {
  margin: 0;
  padding: 0;
}

/*
#operate.affix-top {
  position: static;
  display: block;
}

#operate.affix {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 100;
  display: block;
  box-sizing: border-box;
  padding-bottom: 10px;
  margin-top: -10px;
}
*/
.affix {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 100;
  display: block;
  box-sizing: border-box;
  padding-bottom: 10px;
  margin-top: -10px;
}

#operate {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: #f8f9fa;
  padding: 1rem;
  border-bottom: 1px solid #ddd;
}

#languageTabs {
  position: sticky;
  top: calc(var(--operator-height, 60px));
  /* fallback 預設為 60px */
  z-index: 1020;
  /* 高於一般內容，低於 navbar */
  background-color: #fff;
}

/*
#operate .btn,
.operate .btn {
  font-size: 15px;
}

#operate ul,
.operate ul {
  margin: 0;
  padding: 0;
  display: table;
}

#operate li,
.operate li {
  float: left;
  margin: 0;
  margin-right: 5px;
  padding: 0;
  list-style: none;
}

.operate-absolute {
  position: absolute;
  top: 20px;
  left: 30px;
  width: auto;
}

.operate table,
.operate-absolute table {
  width: auto;
  float: left;
}

.operate td,
.operate-absolute td {
  padding: 0 4px;
}
*/

input.short {
  max-width: 100px;
}

.nowrap {
  white-space: nowrap;
}

.no-border {
  border: none;
  background: none;
}

.tablelist {
  margin: 0;
  padding: 0;
}

.tablelist th {
  white-space: nowrap;
  padding-left: 1px;
  padding-right: 1px;
  border: 0;
}

.tablelist td {
  border: 0;
  padding-left: 1px;
  padding-right: 1px;
  white-space: normal;
}

.tablelist td.nowrap {
  white-space: nowrap;
}

span.label {
  font-size: 16px;
  line-height: 20px;
  height: 20px;
  padding: 0 6px;
  letter-spacing: 0;
}

.btn-gray,
.label-gray {
  background: #ccc;
}

input.dynamic {
  border: none;
  background: none;
  max-width: 120px;
  width: auto;
}

/**************/
.remove-row {
  vertical-align: middle;
  color: #ccc;
  height: 100%;
  padding: 4px;
  font-size: 18px;
  cursor: pointer;
}

.remove-row:hover {
  color: rgba(255, 0, 0, 1);
}

.fa-spin {
  -webkit-animation: fa-spin 0.1s infinite linear;
  animation: fa-spin 0.3s infinite linear;
}

.file-block {
  width: 120px;
  height: 180px;
  float: left;
  margin: 5px 20px;
}

.file-block table {
  width: 120px;
  height: 120px;
}

.file-block td {
  vertical-align: middle;
  text-align: center;
}

.file-block table img {
  max-width: 120px;
  max-height: 120px;
}

.thumb-title {
  font-size: 13px;
}

.thumb-xs {
  max-height: 30px;
  max-width: 30px;
}

.att {
  cursor: pointer;
}

/* file-att */
.thumb-title {
  font-size: 13px;
  line-height: 120%;
}

.att-item {
  height: 30px;
  line-height: 30px;
  vertical-align: top;
  border-bottom: #ddd solid 1px;
}

.filename {
  display: inline-block;
  padding: 0;
  margin: 0;
}

.removefile {
  cursor: pointer;
  padding: 0;
  margin: 0;
  margin-left: 15px;
}

.removefile:hover {
  color: #f00;
}

/* =============
   Form Advanced
============= */
.error {
  color: #ef4554;
  font-size: 12px;
  font-weight: 500;
}

/* Form validation */
.parsley-error {
  border-color: #ef4554 !important;
}

.parsley-errors-list {
  display: none;
  margin: 0;
  padding: 0;
}

.parsley-errors-list.filled {
  display: block;
}

.parsley-errors-list>li {
  font-size: 12px;
  list-style: none;
  color: #f6504d;
}

.required {
  color: #f30;
  margin-left: 3px;
  margin-right: -10px;
}

.td-button span.fa {
  display: inline-block;
  width: 20px;
  margin: 0;
  padding: 0;
}

.dropdown-menu li {
  clear: both;
  vertical-align: top;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: none;
}

.dropdown-menu input[type="checkbox"] {
  width: 100%;
}

.width50-list div {
  width: 50%;
  float: left;
  margin: 0;
  padding: 0;
}

.tablelist .medium {
  max-width: 120px;
  float: left;
}

.tablelist .long {
  max-width: 200px;
  float: left;
}

.sshort {
  width: 50px !important;
}

.tablelist td {
  vertical-align: top;
}

.rfq-item {
  margin: 20px;
}

.icon {
  font-weight: normal;
}

th.width0 {
  width: 0;
}

h4 .badge {
  margin: -3px 3px 0 0;
  padding: 0;
  font-size: 21px;
  display: inline-block;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  line-height: 28px;
}

.opacity-2 {
  opacity: 0.2;
}

.opacity-5 {
  opacity: 0.5;
}

.history-box {
  width: 800px;
}

h5 {
  font-size: 15px;
  font-weight: bold;
  line-height: 120%;
}

.remove {
  color: #999;
  cursor: pointer;
}

.remove:hover {
  color: #f00;
}

h2 {
  font-size: 21px;
  font-weight: normal;
}

/* select2 */

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: inherit;
  line-height: inherit;
}

.history-box {
  width: 800px;
}

.table-center,
.table-center th,
.table-center td {
  text-align: center;
}

.tags-default,
.bootstrap-tagsinput .label-info {
  font-size: 13px;
  font-weight: normal;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 17px;
}

.select2 {
  width: 100% !important;
}

.select2-container .select2-selection--single {
  height: 38px;
  line-height: 38px;
  padding: 0 12px;
  border-radius: 4px;
  border: 1px solid #e3e3e3;
  width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  margin: 0;
  line-height: 38px;
  box-sizing: border-box;
  width: 100% !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  margin: 0;
  line-height: 38px;
  box-sizing: border-box;
  width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 5px;
  right: 3px;
}

.bootstrap-tagsinput {
  background-color: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  color: #333;
  padding: 7px 5px;
  height: 38px;
  width: 100%;
  max-width: 100%;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}

.bootstrap-tagsinput input {
  width: 100%;
}

.select2-container--default .select2-selection--multiple {
  border: #e3e3e3 solid 1px;
  padding: 2px 5px;
  height: 38px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {}

.form-control-static {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.w-0 {
  width: 0 !important;
}

/* font size */
.lead {
  font-weight: inherit;
}

@media all and (max-width: 576px) {
  .xs-small {
    font-size: 90%;
  }
}

.font-weight-bold::placeholder {
  font-weight: normal;
}

.font-lighter {
  font-weight: lighter !important;
}

.font-11 {
  font-size: 11px !important;
}

.font-12 {
  font-size: 12px !important;
}

.font-13 {
  font-size: 13px !important;
}

.font-14 {
  font-size: 14px !important;
}

.font-15 {
  font-size: 15px !important;
}

.font-16 {
  font-size: 16px !important;
}

.font-17 {
  font-size: 17px !important;
}

.font-18 {
  font-size: 18px !important;
}

.font-19 {
  font-size: 19px !important;
}

.font-20 {
  font-size: 20px !important;
}

.font-21 {
  font-size: 21px !important;
}

.font-24 {
  font-size: 24px !important;
}

.font-26 {
  font-size: 26px !important;
}

.font-28 {
  font-size: 28px !important;
}

.font-32 {
  font-size: 32px !important;
}

.font-36 {
  font-size: 36px !important;
}

.font-42 {
  font-size: 42px !important;
}

.font-46 {
  font-size: 46px !important;
}

.font-48 {
  font-size: 48px !important;
}

.font-52 {
  font-size: 52px !important;
}

.font-66 {
  font-size: 66px !important;
}

.font-72 {
  font-size: 72px !important;
}

.font-86 {
  font-size: 86px !important;
}

.font-96 {
  font-size: 96px !important;
}

/* colors */
.text-red {
  color: #f00 !important;
}

.text-blue {
  color: #06f !important;
}

.text-black {
  color: #000 !important;
}

.text-ddd {
  color: #ddd !important;
}

.text-ccc {
  color: #ccc !important;
}

.text-666 {
  color: #666 !important;
}

.text-999 {
  color: #999 !important;
}

.text-gray {
  color: #999 !important;
}

.text-green {
  color: #090 !important;
}

.text-orange {
  color: #f90 !important;
}

.text-shanghai {
  color: #d4b100 !important;
}

.btn-shanghai {
  background: #d4b100 !important;
}

.badge-shanghai {
  background: #d4b100 !important;
}

button.disabled,
a.disabled {
  cursor: default !important;
}

/* letter spacing */
.ls-1 {
  letter-spacing: 1px;
}

.ls-2 {
  letter-spacing: 2px;
}

.ls-3 {
  letter-spacing: 3px;
}

.ls-4 {
  letter-spacing: 4px;
}

.ls-5 {
  letter-spacing: 5px;
}

@media all and (max-width: 768px) {
  .ls-* {
    letter-spacing: 0;
  }
}

/* bg */
.bg-white {
  background-color: #fff !important;
}

.bg-yellow {
  background: #ff0 !important;
}

.cover-slip-black {
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* bg-cover */
.bg-cover {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.bg-cover-black {
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.bg-cover-bottom-title {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
}

.bg-contain {
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.pt-50p {
  padding-top: 50%;
}

.pt-60p {
  padding-top: 60%;
}

.pt-67p {
  padding-top: 67%;
}

.pt-75p {
  padding-top: 75%;
}

.pt-76p {
  padding-top: 76%;
}

.pt-84p {
  padding-top: 84%;
}

.pt-100p {
  padding-top: 100%;
}

.circle {
  border-radius: 50%;
  overflow: hidden;
}

.circle-brown {
  background: #f7f3f0;
}

.fixed {
  position: fixed;
  z-index: 10;
  top: 0;
}

.btn-lg {
  font-size: 21px;
}

.btn-xs {
  padding: 0 0.5rem;
  font-size: 0.8rem;
  line-height: 1.6rem;
  height: 1.6rem;
}

.black-ingredient {
  background: rgba(0, 0, 0, 0);
  background: -moz-linear-gradient(top,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.7) 100%);
  background: -webkit-gradient(left top,
      left bottom,
      color-stop(0%, rgba(0, 0, 0, 0)),
      color-stop(100%, rgba(0, 0, 0, 0.7)));
  background: -webkit-linear-gradient(top,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.7) 100%);
  background: -o-linear-gradient(top,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.7) 100%);
  background: -ms-linear-gradient(top,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.7) 100%);
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#000000', GradientType=0);
}

#header-title {
  font-size: 21px;
  margin-top: 9px;
  color: #000 !important;
}

/* line-height */
.lh-80 {
  line-height: 80% !important;
}

.lh-120 {
  line-height: 120% !important;
}

.lh-130 {
  line-height: 130% !important;
}

.lh-140 {
  line-height: 140% !important;
}

.lh-150 {
  line-height: 150% !important;
}

/* att */
.attfile {
  width: 100%;
  border: none;
  margin: 0;
  padding: 0;
}

iframe,
iframe.attfile {
  width: 100%;
  border: none;
  margin: 0;
  padding: 0;
  background: none;
  min-height: 320px;
  overflow: hidden;
}

iframe.paycert {
  min-height: 250px;
}

.att-area {
  background: #f6f6f6;
  border: #ddd dashed 2px;
  position: relative;
  padding-top: 100%;
  cursor: pointer;
  overflow: hidden;
  width: 100%;
}

.paycert-area {
  padding-top: 76% !important;
}

.att-area:hover {
  background: #eee;
  color: #000;
}

.att-area-absolute {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.att-area-absolute table {
  width: 100% !important;
  height: 100% !important;
  text-align: center;
  vertical-align: middle !important;
  color: #666 !important;
  line-height: 1.3;
  border-spacing: 0;
  border: 0;
  padding: 0;
}

.paycert-area table {
  height: 100% !important;
}

.group-span-filestyle {
  display: block !important;
  width: 100% !important;
}

.bootstrap-filestyle {
  text-align: center !important;
}

/* list */
ol.li-badge>li {
  list-style: none;
  margin-left: 0;
  text-indent: -21px;
}

ol.li-badge>li span {
  text-indent: 0;
}

ol.li-badge ol,
ol.li-badge ul {
  margin: 0 0 0 22px;
  padding: 0;
}

ol.li-badge>li li {
  list-style: inherit;
  margin: 0;
  padding: 0;
  text-indent: 0;
}

/*  */

.justify-content-end .nav-item {
  margin-left: 20px;
}

/* btn color */
.btn-green {
  color: #ffffff !important;
}

.btn-green,
.btn-green:hover,
.btn-green:focus,
.btn-green:active,
.btn-green.active,
.btn-green.focus,
.btn-green:active,
.btn-green:focus,
.btn-green:hover,
.open>.dropdown-toggle.btn-green {
  background-color: #093 !important;
  border: 1px solid #093 !important;
}

.badge-green {
  background-color: #093 !important;
}

.open>.dropdown-toggle.btn-green.btn-custom {
  border-width: 2px !important;
  color: #ffffff !important;
}

.btn-custom.btn-green {
  color: #093 !important;
  background: #fff !important;
}

.btn-custom.btn-green:hover {
  color: #ffffff !important;
  background: #093 !important;
}

/* margin */
@media all and (max-width: 576px) {
  .mx-xs--3 {
    margin-left: -9px;
    margin-right: -9px;
  }

  .mx-xs--4 {
    margin-left: -12px;
    margin-right: -12px;
  }

  .mx-xs--5 {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

/* grid gutters */

.row.gutters-1 {
  margin-right: -3px;
  margin-left: -3px;
}

.row.gutters-1>.col,
.row.gutters-1>[class*="col-"] {
  padding-right: 3px;
  padding-left: 3px;
}

@media all and (max-width: 576px) {
  .row.gutters-xs-1 {
    margin-right: -3px !important;
    margin-left: -3px !important;
  }

  .row.gutters-xs-1>.col,
  .row.gutters-xs-1>[class*="col-"] {
    padding-right: 3px !important;
    padding-left: 3px !important;
  }
}

.row.gutters-2 {
  margin-right: -6px;
  margin-left: -6px;
}

.row.gutters-2>.col,
.row.gutters-2>[class*="col-"] {
  padding-right: 6px;
  padding-left: 6px;
}

.row.gutters-3 {
  margin-right: -9px;
  margin-left: -9px;
}

.row.gutters-3>.col,
.row.gutters-3>[class*="col-"] {
  padding-right: 9px;
  padding-left: 9px;
}

/* dropzone-rsn */
.dropzone-rsn {
  position: relative;
  min-height: 0;
  height: 200px;
  border: #ccc dashed 2px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.dropzone-rsn:hover {
  background: #f9f9f9;
  border: #aaa dashed 2px;
}

.dropzone-rsn p {
  display: block;
  margin: 0 auto;
}

.dropzone-rsn .files {
  width: 100%;
  min-height: 0;
  height: 150px;
  border: #ccc dashed 2px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: absolute;
  z-index: 999;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.remove,
.checkout-remove {
  color: #999;
  cursor: pointer;
}

.remove:hover,
.checkout-remove:hover {
  color: #f00;
}

/* dropzone-rsn */
.dropzone-rsn {
  position: relative;
  min-height: 0;
  height: 150px;
  border: #ccc dashed 2px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.dropzone-rsn:hover {
  background: #f9f9f9;
  border: #aaa dashed 2px;
}

.dropzone-rsn p {
  display: block;
  margin: 0 auto;
}

.dropzone-rsn .files {
  width: 100%;
  min-height: 0;
  height: 150px;
  border: #ccc dashed 2px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: absolute;
  z-index: 999;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}