body {
  font-family: "Libre Baskerville", "Noto Sans TC", sans-serif, serif;
}

.custom-font-primary {
  font-family: "Libre Baskerville", "Noto Sans TC", serif !important;
}

.custom-font-secondary {
  font-family: "Libre Baskerville", sans-serif, serif !important;
}

.custom-negative-margin-top {
  margin-top: -150px;
}

.custom-box-shadow-1 {
  box-shadow: 0px 0px 100px -27px rgba(0, 0, 0, 0.2);
}

.custom-btn-pos-1 {
  transform: translate3d(0, 100%, 0);
  margin-top: -37px;
}

.custom-text-size-1 {
  font-size: 6.4em;
}

.custom-text-color-grey-1 {
  color: var(--default) !important;
}

.custom-border-color-grey {
  border-color: #43474a !important;
}

.custom-transition-1 rect {
  transition: ease all 3s !important;
}

@media (min-width: 1200px) and (max-width: 1530px) {
  .custom-responsive-text-size-1 {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }
}

@media (min-width: 1440px) {
  .custom-responsive-m-p-x {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
}

.custom-plus {
  position: relative;
}

.custom-plus:before {
  content: "+";
  position: absolute;
  top: 30px;
  right: -23px;
  font-size: 0.4em;
  font-weight: 400;
}

.custom-square-1 {
  position: absolute;
  top: -10px;
  left: -10px;
}

.custom-square-1 rect {
  fill-opacity: 0;
  stroke-dasharray: 1550;
  stroke-dashoffset: 1550;
  transition: ease all 2000ms;
}

.custom-square-1 rect.appear-animation-visible {
  stroke-dashoffset: 0;
}

.custom-square-1.custom-square-top-right {
  right: -10px;
  left: auto;
}

.custom-square-1.custom-square-1-no-pos {
  top: 0;
  left: 0;
}

.custom-square-1.custom-square-1-no-pos rect.appear-animation-visible {
  fill-opacity: 1;
}

@media (max-width: 575px) {
  .custom-mobile-square-thickness rect {
    stroke-width: 15px;
  }
}

.lineProgressFrom {
  stroke-dashoffset: 1550 !important;
  transition: ease stroke-dashoffset 8s !important;
}

.lineProgressTo {
  stroke-dashoffset: 0 !important;
}

.lineProgressAndFillFrom {
  stroke-dashoffset: 1550;
  fill-opacity: 0;
  transition: ease stroke-dashoffset 3s, ease fill-opacity 1s 2s !important;
}

.lineProgressAndFillTo {
  stroke-dashoffset: 300;
  fill-opacity: 1;
}

.custom-btn-color-1 {
  border-color: #43474a !important;
}

.custom-btn-color-1:hover {
  border-color: var(--dark) !important;
}

.custom-btn-style-1.btn-dark {
  background: #fff !important;
}

.custom-btn-style-1.btn-dark:hover {
  background: var(--dark) !important;
}

.active-revslide .custom-square-1 rect {
  stroke-dashoffset: 0;
}

.custom-featured-boxes-style-1 .featured-box .box-content {
  padding: 60.8px 28.8px;
  padding: 3.8rem 1.8rem;
  border: 7px solid #43474a;
  transition: ease border-color 300ms;
}

.custom-featured-boxes-style-1 .featured-box .box-content svg {
  width: 88px;
  height: auto;
  fill: #fff;
  transition: ease fill 300ms;
}

.custom-thumb-info-style-1.thumb-info-bottom-info-dark-linear
  .thumb-info-title {
  background: transparent;
}

.custom-thumb-info-style-1.thumb-info-bottom-info .thumb-info-title {
  padding: 36.8px;
  padding: 2.3rem;
}

.owl-carousel.custom-nav-size-1 .owl-nav .owl-prev,
.owl-carousel.custom-nav-size-1 .owl-nav .owl-next {
  font-size: 22.4px;
  font-size: 1.4rem;
}

.card:hover .custom-square-1 rect {
  stroke-dashoffset: 0;
}

.card.custom-card-style-1 {
  background: transparent;
  border: 7px solid #43474a;
}

.inner-page .main {
  padding-top: 100px;
}

#header.side-header-hide [data-plugin-scrollable] {
  display: none;
}

/* Skin */
.custom-square-1 rect {
  stroke: var(--primary);
  fill: var(--primary);
}

.custom-featured-boxes-style-1 .featured-box:hover .box-content {
  border: 7px solid var(--primary);
}

.custom-featured-boxes-style-1 .featured-box:hover .box-content svg {
  fill: var(--primary);
}

.custom-thumb-info-style-1 .thumb-info-wrapper:after {
  background: var(--primary);
}

.custom-testimonial-colored-quotes.testimonial-with-quotes blockquote:before,
.custom-testimonial-colored-quotes.testimonial-with-quotes blockquote:after {
  color: var(--primary) !important;
}

@keyframes customTextColored {
  from {
    color: var(--light);
  }
  to {
    color: var(--primary);
  }
}

.customTextColored {
  animation-name: customTextColored;
}

@keyframes customBorderColored {
  from {
    border-color: #43474a;
  }
  to {
    border-color: var(--primary);
  }
}

.customBorderColored {
  animation-name: customBorderColored;
}
