/* Gongji website icon contract. The project uses the vendored Font Awesome 7 Free set. */
.gj-site .fa,
.nw26-page .fa {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.gj-site .gj-icon-action,
.nw26-page .gj-icon-action {
  width: 1em;
  min-width: 1em;
  margin-left: .45em;
  vertical-align: -.08em;
}

.gj-site .gj-icon-meta,
.nw26-page .gj-icon-meta {
  width: 1em;
  min-width: 1em;
  margin-right: .35em;
  vertical-align: -.06em;
}

.gj-site .gj-icon-download,
.gj-site .gj-icon-flow,
.gj-site .gj-icon-control,
.gj-site .gj-icon-accordion,
.nw26-page .gj-icon-download,
.nw26-page .gj-icon-flow,
.nw26-page .gj-icon-control,
.nw26-page .gj-icon-accordion {
  width: 1em;
  min-width: 1em;
  text-align: center;
}

.gj-site .gj-icon-flow,
.nw26-page .gj-icon-flow {
  margin: 0 .35em;
}

.gj-site .gj-icon-control,
.nw26-page .gj-icon-control {
  margin-left: .5em;
}

.menu_button {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #26354a;
}

.menu_button > svg {
  display: block;
  width: 30px;
  height: 30px;
  overflow: visible;
}

.menu_button > svg .line {
  fill: none;
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: round;
  transition: stroke-dasharray 600ms cubic-bezier(.4, 0, .2, 1),
    stroke-dashoffset 600ms cubic-bezier(.4, 0, .2, 1), stroke .2s ease;
}

.menu_button > svg .line1 { stroke-dasharray: 60 207; }
.menu_button > svg .line2 { stroke-dasharray: 45 60; }
.menu_button > svg .line3 { stroke-dasharray: 30 207; }
.menu_button.opened { color: #1268f3; }
.menu_button.opened > svg .line1,
.menu_button.opened > svg .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
}
.menu_button.opened > svg .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
}

.menu_button:focus-visible {
  outline: 2px solid #1268f3;
  outline-offset: 3px;
}

.backtop > i[class*="fa-"] {
  position: relative;
  z-index: 1;
  color: var(--backtop-color);
  font-size: 3em;
  line-height: 1;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.backtop:hover > i[class*="fa-"] {
  transform: translateY(-2px);
}

.nw-modal-close i[class*="fa-"],
.nw26-modal header button i[class*="fa-"],
.video-modal-close i[class*="fa-"] {
  margin: 0;
  width: 1em;
  min-width: 1em;
  line-height: 1;
}

/* FAQ indicators use the active Font Awesome variable rather than text content. */
.nw26-page .nw26-accordion i.gj-icon-accordion::before {
  content: var(--fa);
}

.nw26-page .nw26-accordion i.gj-icon-accordion {
  color: #1268f3;
  transform: rotate(0deg);
  transition: transform .24s cubic-bezier(.4, 0, .2, 1), color .2s ease;
}

.nw26-page .nw26-accordion button.active i.gj-icon-accordion::before {
  --fa: "\f068";
}

.nw26-page .nw26-accordion button.active i.gj-icon-accordion {
  transform: rotate(180deg);
}

@media only screen and (max-width: 990px) {
  .backtop > i[class*="fa-"] {
    font-size: 2em;
  }
}
