/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./assets/css/style.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.m-0 {
  margin: 0;
}

.m-0 p {
  margin: 0;
}

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

#contact-form .blur-overlay {
  position: absolute;
  width: 121%;
  height: 100%;
  left: -12px;
  z-index: 4;
  display: none;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
#contact-form .blur-overlay.active {
  display: block;
}
#contact-form .blur-overlay.active ~ .elementor-widget-container form .elementor-field-group {
  opacity: 0.5;
}
#contact-form .blur-overlay.active ~ .elementor-widget-container form .elementor-field-group:has(.select.active) {
  opacity: 1;
}
#contact-form form > .elementor-message-danger:before {
  content: "";
}
#contact-form button[type=submit] .elementor-button-icon {
  line-height: 0;
}
#contact-form button[type=submit] > span {
  font-weight: 400;
}
@media (max-width: 431px) {
  #contact-form button[type=submit] > span {
    flex-wrap: wrap;
    justify-content: flex-start;
    font-weight: 500;
  }
  #contact-form button[type=submit] > span .elementor-button-icon {
    margin: 0;
  }
}
#contact-form input, #contact-form textarea, #contact-form select, #contact-form .select {
  color: black;
}
#contact-form input::-moz-placeholder, #contact-form textarea::-moz-placeholder, #contact-form select::-moz-placeholder, #contact-form .select::-moz-placeholder {
  opacity: 1;
  color: #E6E6E6;
}
#contact-form input::placeholder, #contact-form textarea::placeholder, #contact-form select::placeholder, #contact-form .select::placeholder {
  opacity: 1;
  color: #E6E6E6;
}
#contact-form input:focus, #contact-form textarea:focus, #contact-form select:focus, #contact-form .select:focus {
  box-shadow: none;
  border-bottom-color: black;
}
#contact-form input:hover, #contact-form textarea:hover, #contact-form select:hover, #contact-form .select:hover {
  border-bottom-color: black;
}
@media (max-width: 431px) {
  #contact-form input, #contact-form textarea, #contact-form select, #contact-form .select {
    font-size: 20px;
  }
}
#contact-form .select,
#contact-form input,
#contact-form textarea,
#contact-form .elementor-field-type-acceptance,
#contact-form .elementor-field-type-radio {
  padding: 0 0 40px 0;
}
#contact-form input:focus,
#contact-form input.has-value,
#contact-form textarea:focus,
#contact-form textarea.has-value,
#contact-form .select[data-value] {
  padding: 0 0 24px 0;
}
#contact-form input.has-value ~ .placeholder-label,
#contact-form textarea.has-value ~ .placeholder-label,
#contact-form .select[data-value] ~ .placeholder-label {
  padding: 0 0 24px 0 !important;
}
#contact-form .elementor-field-type-select:has(.select.selected) label[for] {
  display: block !important;
}
#contact-form .elementor-field-type-select:has(.select.active) {
  z-index: 5;
}
#contact-form .elementor-field-type-acceptance {
  border-bottom: none !important;
}
#contact-form .elementor-field-type-acceptance label {
  line-height: 1;
  font-size: 20px !important;
  display: flex;
  align-items: center;
  font-weight: 500;
}
#contact-form .elementor-field-type-acceptance label a {
  text-decoration: underline;
  color: black;
  margin-left: 0.5rem;
}
#contact-form .elementor-field-type-radio,
#contact-form .elementor-field-type-acceptance {
  padding: 5px 0 20px 0;
  border-bottom: 0.8px solid;
  border-color: rgba(40, 40, 40, 0.1019607843);
}
#contact-form .elementor-field-type-radio input[type=radio],
#contact-form .elementor-field-type-radio input[type=checkbox],
#contact-form .elementor-field-type-acceptance input[type=radio],
#contact-form .elementor-field-type-acceptance input[type=checkbox] {
  display: none;
}
#contact-form .elementor-field-type-radio input[type=radio]:checked ~ label,
#contact-form .elementor-field-type-radio input[type=checkbox]:checked ~ label,
#contact-form .elementor-field-type-acceptance input[type=radio]:checked ~ label,
#contact-form .elementor-field-type-acceptance input[type=checkbox]:checked ~ label {
  opacity: 1;
}
#contact-form .elementor-field-type-radio input[type=radio]:checked ~ label:before,
#contact-form .elementor-field-type-radio input[type=checkbox]:checked ~ label:before,
#contact-form .elementor-field-type-acceptance input[type=radio]:checked ~ label:before,
#contact-form .elementor-field-type-acceptance input[type=checkbox]:checked ~ label:before {
  background: #00FF64;
  border: none;
}
#contact-form .elementor-field-type-radio input[type=radio]:checked ~ label:after,
#contact-form .elementor-field-type-radio input[type=checkbox]:checked ~ label:after,
#contact-form .elementor-field-type-acceptance input[type=radio]:checked ~ label:after,
#contact-form .elementor-field-type-acceptance input[type=checkbox]:checked ~ label:after {
  content: "";
  width: 12px;
  height: 12px;
  background: white;
  position: absolute;
  top: 10px;
  left: 10px;
}
#contact-form .elementor-field-type-radio input[type=radio] ~ label:before,
#contact-form .elementor-field-type-radio input[type=checkbox] ~ label:before,
#contact-form .elementor-field-type-acceptance input[type=radio] ~ label:before,
#contact-form .elementor-field-type-acceptance input[type=checkbox] ~ label:before {
  content: "";
  width: 32px;
  height: 32px;
  border: 1px solid #282828;
  display: inline-block;
  margin-right: 20px;
}
#contact-form .elementor-field-type-radio .elementor-field-option,
#contact-form .elementor-field-type-acceptance .elementor-field-option {
  margin-right: 40px;
  padding-right: 0;
}
@media (max-width: 431px) {
  #contact-form .elementor-field-type-radio .elementor-field-option,
  #contact-form .elementor-field-type-acceptance .elementor-field-option {
    margin: 20px 0;
  }
}
#contact-form .elementor-field-type-radio .elementor-field-option label,
#contact-form .elementor-field-type-acceptance .elementor-field-option label {
  display: flex;
  position: relative;
  opacity: 0.5;
}
#contact-form .elementor-field-type-radio .elementor-field-option label .inner,
#contact-form .elementor-field-type-acceptance .elementor-field-option label .inner {
  line-height: 1;
  font-size: 32px;
}
@media (max-width: 431px) {
  #contact-form .elementor-field-type-radio .elementor-field-option label .inner,
  #contact-form .elementor-field-type-acceptance .elementor-field-option label .inner {
    font-size: 28px;
  }
}
#contact-form .elementor-field-type-radio .elementor-field-option label .inner .c,
#contact-form .elementor-field-type-acceptance .elementor-field-option label .inner .c {
  display: block;
  font-size: 18px;
  margin: 10px 0;
  font-weight: 700;
}
@media (max-width: 431px) {
  #contact-form .elementor-field-type-radio .elementor-field-option label .inner .c,
  #contact-form .elementor-field-type-acceptance .elementor-field-option label .inner .c {
    display: inline-block;
    margin: 0 10px;
  }
}
#contact-form .elementor-field-group-type {
  border-bottom-width: 0;
  margin-bottom: 0px;
}
#contact-form .elementor-field-group-type label[for=form-field-type] {
  display: none;
}
#contact-form .elementor-field-group:has(.elementor-message-danger) .elementor-field {
  border-color: #FF5A55;
}
#contact-form .elementor-field-group .elementor-message-danger {
  font-size: 16px;
  font-weight: 500;
  margin-top: 12px;
}
#contact-form .elementor-field-group .elementor-message-danger:before {
  content: "";
}
#contact-form .elementor-field-group .elementor-message-danger:after {
  content: "";
  width: 13px;
  height: 13px;
  background-image: url(https://triangler.niiice-design.com/wp-content/uploads/2023/12/form-error-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 0;
}
#contact-form .label-for-wrapper {
  margin-bottom: 20px;
  transition: height 0.1s;
}
#contact-form .label-for-wrapper.field-show label[for] {
  height: 18px;
}
#contact-form .label-for-wrapper.field-hide label[for] {
  height: 0;
}
#contact-form label[for] {
  padding: 0;
  font-family: "Poppins", arial, "Noto Sans TC", "Microsoft JhengHei", "微軟正黑體", PingFang, sans-serif;
  font-weight: 500;
  font-size: 16px;
  transition: height 0.1s;
  overflow: hidden;
}
#contact-form .select-caret-down-wrapper {
  display: none;
}
#contact-form .select {
  width: 100%;
  border-bottom: 0.8px solid;
  border-color: rgba(40, 40, 40, 0.1019607843);
}
#contact-form .select.active .options {
  display: flex;
}
#contact-form .select.active:before {
  transform: translateY(-50%) rotate(45deg);
}
#contact-form .select.active:after {
  transform: translateY(-50%) rotate(-45deg);
}
#contact-form .select.active .value-wrapper .placeholder {
  opacity: 1;
}
#contact-form .select:before, #contact-form .select:after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 24px + 10px);
  width: 2px;
  background: black;
  height: 24px;
  transform-origin: center;
  transition: transform 0.3s;
}
@media (max-width: 431px) {
  #contact-form .select:before, #contact-form .select:after {
    height: 13px;
    top: calc(50% - 40px + 20px);
  }
}
#contact-form .select:before {
  right: 29px;
  transform: translateY(-50%) rotate(-45deg);
}
@media (max-width: 431px) {
  #contact-form .select:before {
    right: 20px;
  }
}
#contact-form .select:after {
  right: 10px;
  transform: translateY(-50%) rotate(45deg);
}
#contact-form .select .options {
  flex-direction: column;
  position: absolute;
  z-index: 1;
  background: white;
  width: 100%;
  display: none;
  border: 1px solid #E6E6E6;
}
#contact-form .select .options .option {
  border-top: 1px solid #282828;
  padding: 25px 28px;
  font-size: 20px;
  position: relative;
  line-height: 1;
}
#contact-form .select .options .option:hover {
  background: #F0F0F0;
}
#contact-form .select .options .option.selected:after {
  content: "";
  position: absolute;
  right: 32px;
  top: calc(50% - 4px);
  width: 8px;
  height: 8px;
  background: #282828;
}
#contact-form .select .value-wrapper .selected {
  position: absolute;
  top: 0;
  left: 0;
}
#contact-form .select .value-wrapper .placeholder {
  color: #E6E6E6;
  opacity: 0;
}
#contact-form .select.selected ~ .placeholder-label {
  display: none !important;
}
#contact-form .select.selected .value-wrapper .placeholder {
  opacity: 0;
}
#contact-form .placeholder-label {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  font-family: "Poppins", arial, "Noto Sans TC", "Microsoft JhengHei", "微軟正黑體", PingFang, sans-serif;
  font-weight: 500;
}
#contact-form .placeholder-label.field-hide {
  display: none !important;
}

@media (max-width: 431px) {
  .auto-accordion-container details summary {
    width: 50%;
  }
}
@media (max-width: 431px) {
  .auto-accordion-container details .elementor-widget-text-editor {
    width: 50%;
  }
}
@media (max-width: 431px) {
  .auto-accordion-container details .elementor-widget-image {
    align-self: flex-end;
    width: 50%;
  }
}
@media (max-width: 431px) {
  .auto-accordion-container details > [data-element_type=container] {
    row-gap: 0;
  }
}
@media (max-width: 431px) {
  .auto-accordion-container details .e-n-accordion-item-title-text {
    font-size: 40px;
  }
}
.auto-accordion-container details .e-n-accordion-item-title-text .zh {
  display: none;
  margin-left: 16px;
}
.auto-accordion-container details[open] .e-n-accordion-item-title-text .zh {
  display: inline-block;
}
@media (max-width: 431px) {
  .auto-accordion-container details[open] .e-n-accordion-item-title-text .zh {
    margin: 8px 0 0 0;
    display: block;
    font-size: 28px;
  }
}
.auto-accordion-container details img {
  display: none;
}
@media (max-width: 431px) {
  .auto-accordion-container details img {
    display: block;
  }
}
.auto-accordion-container .default .e-n-accordion-item-title-text {
  color: #282828 !important;
}

.tab-effect > .e-con-inner {
  overflow-x: scroll !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.tab-effect > .e-con-inner::-webkit-scrollbar {
  display: none;
}

.tab-effect-scroll.tab-effect-scroll {
  flex-wrap: nowrap;
  overflow-x: scroll !important;
  white-space: nowrap;
}
.tab-effect-scroll.tab-effect-scroll::-webkit-scrollbar {
  display: none;
}

#about-philosophy-container .e-n-accordion-item .e-n-accordion-item-title {
  width: 100%;
}

body.post-type-archive-project #project-info-switcher li.elementor-icon-list-item {
  padding-left: 22px;
}
body.post-type-archive-project #project-info-switcher li.elementor-icon-list-item.selected:before {
  content: "";
  width: 14px;
  height: 14px;
  background: black;
  border-radius: 100%;
  margin-right: 8px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  body.post-type-archive-project .pj-column {
    width: 50%;
    overflow: visible;
  }
}
body.post-type-archive-project .pj-column .learn-more-button {
  position: absolute;
  bottom: 0;
  right: -100%;
}
@media (max-width: 768px) {
  body.post-type-archive-project .pj-block-hover:first-child {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  body.post-type-archive-project .pj-block-hover:first-child .title-container {
    width: 100%;
  }
}
@media (max-width: 768px) {
  body.post-type-archive-project .pj-block-hover:first-child .pj-column {
    padding: 0;
  }
}
@media (max-width: 768px) {
  body.post-type-archive-project .pj-block-hover:first-child .features-large-image .elementor-widget-container {
    margin: 0;
  }
}
#mobile-project-filter .jet-radio-list__button:before {
  content: none;
}
#mobile-project-filter .jet-radio-list__row {
  border-bottom: 1px solid #A6A6A6;
}
#mobile-project-filter .jet-radio-list__item:has(input.jet-radio-list__input:checked):before {
  content: "";
  width: 20px;
  height: 20px;
  background: #282828;
  border-radius: 50%;
}
#mobile-project-filter .jet-radio-list__item:has(input.jet-radio-list__input:checked) .jet-radio-list__button {
  padding-left: 18px;
}
#mobile-project-filter .switcher .elementor-inline-item {
  color: #A6A6A6;
}
#mobile-project-filter .switcher .elementor-inline-item:before {
  content: "";
  width: 100%;
  height: 1px;
  background: #282828;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transition: transform 0.2s;
  transform-origin: left;
}
#mobile-project-filter .switcher .elementor-inline-item.active {
  color: #282828;
}
#mobile-project-filter .switcher .elementor-inline-item.active:before {
  transform: scaleX(1);
}

body.single-project [data-elementor-type=header] .elementor-widget-theme-site-logo img {
  filter: invert(100%) brightness(125%) contrast(100%);
}
body.single-project [data-elementor-type=header] li.menu-item a {
  color: white !important;
}
body.single-project [data-elementor-type=header] .e-lottie__animation svg path {
  fill: white;
  stroke: white;
}

/*# sourceMappingURL=style-style.css.map*/