// card-preview
.card-preview {
  padding: 10px 0;
  background-color: #f0f0f0;
  color: #000;
  .page-box {
    margin: 10px auto;
    box-shadow: 0 0 4px #ddd;
  }
}
.card-print {
  padding: 0;

  .page-box {
    margin: 0 auto;
    box-shadow: none;
    page-break-after: always;
  }
  // 印刷模式：隐藏客观题强调标记
  .elem-fill-question-first {
    &::before {
      display: none;
    }
  }
  .elem-fill-question .option-item,
  .elem-fill-number .fill-number-option,
  .card-head-body .head-stdno .stdno-fill-option,
  .page-number-rect-list li,
  .card-head-body .head-dynamic-rect {
    border-width: 0.5pt;
  }

  .elem-fill-question .option-item {
    line-height: 9px;
  }

  .package-number {
    display: block !important;
  }
}

// page-box
.page-box {
  position: relative;
  background: #fff;
  margin: 0 auto;
  font-weight: normal;
  font-family: "Times New Roman", "宋体", "宋体-简", Arial, sans-serif;

  .package-number {
    position: absolute;
    width: 200px;
    height: 40px;
    top: 10px;
    right: 25%;
    margin-left: -100px;
    text-align: center;
    z-index: 99;
    display: none;

    img {
      display: block;
      height: 28px;
      width: 100%;
      border: none;
    }
    p {
      line-height: 1;
      font-size: 12px;
      margin: 0;
    }
  }

  .page-main {
    height: 100%;
    position: relative;
    white-space: nowrap;
    margin: 0 -10px;
    font-size: 0;

    &-2 {
      .page-column {
        width: 50%;
      }
    }
    &-3 {
      .page-column {
        width: 33.33%;
      }
    }
    &-4 {
      .page-column {
        width: 25%;
      }
    }
  }

  &-A3 {
    width: 1586px;
    height: 1122px;
  }
  &-A4 {
    width: 793px;
    height: 1122px;

    .page-main {
      &-inner {
        padding: 60px 45px;
      }
    }
  }
  &-8K {
    // w:370mm,h:255mm
    width: 1399px;
    height: 964px;
  }

  &-less {
    .page-number-rect {
      display: none;
    }
  }
}

// 分栏间距，默认20px
// page-main-inner
.page-main-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 60px 80px;
  z-index: 9;
  font-size: 0;
}
// page-main-outer
.page-main-outer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 7;
  background-color: transparent;
  overflow: hidden;
}

.page-column {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  height: 100%;
  width: 100%;
  font-size: 14px;
  padding: 0 10px;

  &-forbid-area {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    border: 1px solid #000;
    overflow: hidden;
    > p {
      padding: 20px;
      position: absolute;
      width: 260px;
      height: 82px;
      top: 50%;
      left: 50%;
      margin-top: -41px;
      margin-left: -130px;
      z-index: 9;
      font-weight: bold;
      font-size: 30px;
      color: #333;
      background-color: #fff;
      text-align: center;
    }
  }
  &-main {
    position: relative;
    height: 100%;
  }
  &-body {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
  }
  &-element {
    .element-item {
      position: relative;

      &-width {
        width: 100% !important;
      }

      &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        box-sizing: border-box;
        z-index: 2;
        border: 1px solid #000;
        border-top: 0;
      }

      > div {
        z-index: 9;
        position: relative;
      }
      &-card-head {
        &::before {
          border: 0;
        }
      }

      &-topic-head {
        &::before {
          border: 0;
        }
      }
      &-fill-question,
      &-fill-line {
        &::before {
          border-bottom: 0;
        }
      }
      // 预览时，小题扩展答题区之间隐藏分割线
      &-explain {
        &::before {
          border-bottom-color: transparent;
        }
      }
      &-type-last {
        &::before {
          border-bottom: 1px solid #000;
        }
      }
    }
    &:last-child {
      .element-item {
        &::before {
          border-bottom: 1px solid #000;
        }
      }
      .element-item-card-head.element-item-type-pre {
        &::before {
          border-bottom: none;
        }
      }
    }
  }
}

// locator
.page-locator {
  position: absolute;
  left: 80px;
  right: 80px;
  height: 16px;
  z-index: 8;

  &-top {
    top: 30px;
  }
  &-bottom {
    bottom: 30px;
  }

  &-item {
    position: absolute;
    width: 24px;
    border-bottom: 16px solid #000;
    top: 0;

    &:nth-of-type(1) {
      left: 0;
    }
    &:nth-of-type(2) {
      right: 96px;
    }
  }
}
.page-box-1 {
  .page-locator {
    &-bottom {
      .page-locator-item:nth-of-type(1) {
        right: 0;
        left: auto;
      }
    }
    &-item {
      &:nth-of-type(1) {
        left: 96px;
      }
      &:nth-of-type(2) {
        right: 0;
      }
    }
  }
}
// page-number
.page-number {
  position: absolute;
  bottom: 30px;
  &-rect {
    left: 25%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
  }
  &-rect-list {
    font-size: 0;

    li {
      display: inline-block;
      vertical-align: top;
      font-size: 14px;
      width: 24px;
      height: 16px;
      border: 1px solid #000;
      margin-right: 10px;
      &.rect-li-act {
        background-color: #000;
      }
    }
  }
  &-text {
    right: 25%;
  }
  &-text-cont {
    height: 16px;
    line-height: 16px;
  }
}
.page-box-A4 {
  .page-number-rect {
    left: 50%;
  }
}

// course-barcode
.course-barcode {
  position: absolute;
  width: 200px;
  height: 40px;
  top: 10px;
  left: 50%;
  margin-left: -200px;
  text-align: center;

  img {
    display: block;
    height: 28px;
    width: 100%;
    border: none;
  }
  img[src=""] {
    display: none;
  }
  p {
    line-height: 1;
    font-size: 12px;
    margin: 0;
  }
}

// elem
.elem {
  &-title {
    padding: 10px;
    font-size: 14px;
    font-weight: bold;
    color: rgba(0, 0, 0, 1);
    line-height: 1;
    white-space: normal;
  }
  &-body {
    padding: 10px;
  }
}
// grid
.grid-container {
  margin-left: -10px;
  margin-right: -10px;
}
.grid-row {
  display: table;
  width: 100%;
  border-spacing: 10px 0;
  border-collapse: separate;

  &:nth-of-type(2) {
    margin-top: 10px;
  }

  .grid-col {
    display: table-cell;
    width: 50%;
    vertical-align: top;
    border: 1px solid #000;
    &-dash {
      border-style: dashed;
      vertical-align: middle;
    }
  }
}
// card-head
.card-head {
  &-top {
    text-align: center;
    color: #000;
  }
  &-title {
    font-size: 24px;
    font-weight: bold;
    overflow: hidden;

    > h1 {
      line-height: 33px;
      white-space: nowrap;
      letter-spacing: -1px;
    }
  }
  &-subtitle {
    height: 44px;
    font-family: $--font-family;
    font-size: 14px;
    overflow: hidden;
    white-space: normal;
    margin-bottom: 10px;

    p {
      padding: 0 10px;
      line-height: 22px;
      height: 22px;
      white-space: pre;
    }
  }
  &-body {
    font-weight: normal;
    .el-col {
      padding-top: 5px;
      padding-bottom: 5px;
    }
    &-spin {
      padding: 5px 12px;
      white-space: normal;
      word-break: break-all;
    }
    .stdinfo-item {
      height: 30px;
      line-height: 30px;
      position: relative;
      overflow: hidden;

      &::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        border-bottom: 1px solid #000;
        bottom: 6px;
        left: 0;
        z-index: 1;
      }

      > span {
        z-index: 2;
        display: block;
        position: relative;
        font-size: 14px;

        &:first-child {
          float: left;
          background-color: #fff;
          text-align: justify;
          font-size: 0px;
          & > i {
            font-size: 14px;
          }

          &::after {
            content: "";
            display: inline-block;
            width: 100%;
            height: 0;
            line-height: 0;
          }
        }
        &:nth-of-type(2) {
          float: left;
          width: 20px;
          background-color: #fff;
        }
        &:last-child {
          margin-left: 80px;
          height: 100%;
        }
      }
    }
    .head-stdno {
      height: 100%;
      padding: 0;
      .stdno-empty {
        min-height: 130px;
        font-weight: bold;
        letter-spacing: 3px;
        text-align: center;
        position: relative;
        > p {
          position: absolute;
          left: 0;
          width: 100%;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
        }
      }
      .stdno-fill {
        min-height: 240px;
        height: 100%;
        position: relative;

        &-rect {
          font-size: 0;
          height: 27px;
          border-bottom: 1px solid #000;
        }
        &-number {
          display: inline-block;
          vertical-align: top;
          width: 7.692%;
          height: 100%;
          &:not(:last-child) {
            border-right: 1px solid #000;
          }
        }

        &-head {
          position: absolute;
          width: 100%;
          height: 51px;
          top: 0;
          left: 0;
          z-index: 9;

          > h5 {
            border-bottom: 1px solid #000;
            line-height: 24px;
            font-size: 14px;
            font-weight: bold;
            text-align: center;
          }
        }

        &-body {
          position: absolute;
          top: 0;
          bottom: 0;
          padding-top: 51px;
          display: table;
          width: 100%;
        }
        &-list {
          display: table-cell;
          width: 7.692%;
          padding: 1px 0;
        }
        &-option {
          margin: 8px auto;
          width: 18px;
          height: 10px;
          font-size: 12px;
          line-height: 8px;
          text-align: center;
          color: #000;
          // border-rect
          border: 1px solid #000;
          font-family: "Times New Roman", Arial, sans-serif;
          > i {
            display: inline-block;
            transform: scale(0.67, 0.67);
            -webkit-transform: scale(0.67, 0.67);
          }
        }
      }
      .stdno-auto {
        &-barcode {
          height: 70px;
          text-align: center;

          > img {
            display: block;
            height: 50px;
            width: 300px;
            margin: 0 auto;
          }
          > p {
            line-height: 20px;
          }
        }
      }
    }

    .head-notice {
      > h4 {
        font-weight: normal;
        margin-bottom: 8px;
        line-height: 20px;
      }
      &-cont {
        line-height: 1.5;
        font-size: 12px;
        margin-bottom: 5px;

        > span {
          display: block;

          &:first-child {
            width: 20px;
            white-space: nowrap;
            float: left;
          }
          &:last-child {
            margin-left: 20px;
          }
        }
      }

      &-exam-number-fill {
        span {
          display: inline;

          &:first-child {
            float: none;
          }
          &:last-child {
            margin: 0;
          }
        }
      }
    }

    .head-dynamic {
      padding: 0;
      font-size: 12px;
      border-spacing: 0;
      border-collapse: collapse;

      &-part:not(:last-child) {
        border-bottom: 1px solid #000;
      }
      &-write {
        padding: 5px 12px;
        .stdinfo-item {
          margin-bottom: 0;
        }
        > p {
          line-height: 18px;
        }
      }
      &-missfill {
        display: table;
        width: 100%;
      }
      &-miss {
        padding: 10px;
        display: table-cell;
        vertical-align: middle;

        &:nth-of-type(2) {
          border-left: 1px solid #000;
        }
        span {
          display: block;
        }
        .head-dynamic-content {
          height: 14px;
          line-height: 14px;
        }
        .dynamic-miss-title {
          width: 54px;
          float: left;
        }
        .dynamic-miss-body {
          margin-left: 54px;
          height: 14px;
          text-align: center;
          font-size: 0;
        }
      }
      &-fill {
        padding: 10px;

        p {
          display: inline-block;
          vertical-align: middle;
          line-height: 18px;
          word-wrap: normal;

          &:first-child {
            margin-right: 20px;
          }

          > span,
          > i {
            display: inline-block;
            vertical-align: middle;
            box-sizing: border-box;
          }
          &:first-child {
            i {
              width: 28px;
              height: 14px;
              background-color: #000;
            }
          }
          &:last-child {
            > i {
              width: 28px;
              height: 14px;
              border: 1px solid #000;
              font-size: 14px;
              font-weight: bold;
              margin-right: 6px;
              line-height: 12px;
              text-align: center;

              &:last-child {
                margin-right: 0;
              }
              // wkhtmltopdf 工具无法渲染如下样式：
              // &:nth-of-type(1) {
              //   position: relative;
              //   &::before {
              //     content: "";
              //     display: block;
              //     position: absolute;
              //     left: 30%;
              //     top: 1px;
              //     height: 5px;
              //     width: 11px;
              //     transform: rotate(-45deg);
              //     border-left: 1px solid #000;
              //     border-bottom: 1px solid #000;
              //   }
              // }
              // &:nth-of-type(2) {
              //   position: relative;
              //   &::before {
              //     content: "";
              //     display: block;
              //     position: absolute;
              //     left: 7px;
              //     top: 5px;
              //     width: 11px;
              //     transform: rotate(-45deg);
              //     transform-origin: center center;
              //     border-bottom: 1px solid #000;
              //   }
              //   &::after {
              //     content: "";
              //     display: block;
              //     position: absolute;
              //     left: 8px;
              //     top: 5px;
              //     width: 11px;
              //     transform: rotate(45deg);
              //     transform-origin: center center;
              //     border-bottom: 1px solid #000;
              //   }
              // }

              &:nth-of-type(3) {
                &::before {
                  content: "";
                  display: inline-block;
                  vertical-align: top;
                  margin-left: -5px;
                  height: 100%;
                  width: 5px;
                  background-color: #000;
                }
              }
              &:nth-of-type(4) {
                &::before {
                  content: "";
                  display: inline-block;
                  margin-top: 1px;
                  width: 10px;
                  height: 10px;
                  border-radius: 50%;
                  background-color: #000;
                }
              }
            }
          }
        }
      }
      &-rect {
        display: inline-block;
        vertical-align: middle;
        width: 24px;
        height: 12px;
        // border-rect
        border: 1px solid #000;
        font-size: 12px;
        text-align: center;
        line-height: 10px;
        color: #000;
        margin: 0 5px;
        font-family: "Times New Roman", Arial, sans-serif;

        > i {
          display: inline-block;
          transform: scale(0.67, 0.67);
          -webkit-transform: scale(0.67, 0.67);
        }
      }
      &-aorb {
        display: table;
        width: 100%;
        .dynamic-aorb-item {
          display: table-cell;
          vertical-align: middle;
        }
        &-fill {
          .dynamic-aorb-item:first-child {
            border: none;
          }
        }

        .dynamic-aorb-title {
          width: 40%;
          padding: 10px;
        }
        .dynamic-aorb-info {
          width: 60%;
          font-size: 16px;
          position: relative;
          overflow: hidden;
          text-align: center;
          .dynamic-aorb-content {
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            z-index: auto;
          }
        }
        .dynamic-aorb-barcode {
          img {
            display: block;
            position: relative;
            margin: 0 auto;
            width: 200px;
            height: 26px;
            padding: 7px 0;
          }
        }
        .dynamic-aorb-rects {
          width: 60%;
          padding: 16px 10px;
          text-align: center;
        }

        .head-dynamic-rect {
          margin: 0 30px;

          &:first-child {
            margin-left: 0;
          }
          &:last-child {
            margin-right: 0;
          }
        }
      }
    }
  }
  &-part {
    border: 1px solid #000;
    &:not(:last-child) {
      margin-bottom: 10px;
    }
  }
  &-normal {
    .head-dynamic {
      &-1 {
        .head-dynamic-part {
          height: 100%;
        }
      }
    }
  }
  &-narrow {
    .head-stdno {
      height: 138px;
      .stdno-auto {
        position: relative;
        top: 50%;
        margin-top: -40px;
      }
    }
  }

  &-handle {
    &.card-head-narrow {
      .head-stdno {
        height: 242px;
      }
    }
  }
}
// card-head-body-auto-resize
.card-head-body-auto-resize {
  margin-left: -5px;
  margin-right: -5px;
  overflow: hidden;

  &.col-item-auto-height {
    .card-head-body-spin {
      height: auto;
    }
  }

  .head-dynamic-2 {
    .head-dynamic-part {
      height: auto;
    }
  }

  .rect-col {
    padding: 5px;
    &:first-child {
      float: left;
      width: 50%;
    }
    &:last-child {
      float: right;
      width: 50%;
    }

    &-item {
      border: 1px solid #000;
      &:nth-of-type(2) {
        margin-top: 10px;
      }
      &-none {
        border: none;
        margin: 0 !important;
      }
    }
  }
}
// elem-topic-head
.elem-topic-head {
  text-align: center;
  .elem-body {
    padding: 0;
    border: 1px solid #000;
  }
  &-pad {
    padding-top: 10px;
  }
  &-empty {
    .elem-body {
      border-top: none;
    }
  }
  h3 {
    font-size: 16px;
    height: 29px;
    line-height: 28px;
    border-bottom: 1px dotted #000;
    font-weight: normal;
  }
  p {
    font-size: 12px;
    height: 22px;
    line-height: 22px;
    white-space: nowrap;
    overflow: hidden;
    // text-overflow: ellipsis;
  }
}
// elem-line
.elem-line-horizontal {
  height: 100%;
  line-height: 30px;
  .line-body {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    border-bottom: 1px solid #000;
  }
}
.elem-line-vertical {
  height: 100%;
  text-align: center;
  .line-body {
    display: inline-block;
    vertical-align: top;
    height: 100%;
    border-left: 1px solid #000;
  }
}
// elem-lines
.elem-lines {
  .line-item {
    display: inline-block;
    vertical-align: top;
  }
}
// elem-rect
.elem-rect {
  .rect-body {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
}
// elem-text
.elem-text {
  .text-body {
    padding: 5px;
    line-height: 1.4;

    span {
      white-space: pre-wrap;
      word-wrap: normal;
      word-break: break-all;
      &.cont-variate {
        color: #a0a0a0;
        margin: 0 2px;
      }
    }
  }
}
// elem-barcode
.elem-barcode {
  height: 100%;
  border-color: transparent;
  border-width: 1pt;
  position: relative;
  > img {
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
}
// elem-image
.elem-image {
  height: 100%;
  border-color: transparent;
  border-width: 1pt;
  position: relative;
  > p {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: table;
    text-align: center;
    color: #b0b0b0;
    font-size: 30pt;

    i {
      display: table-cell;
      vertical-align: middle;
    }
  }
  > img {
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
}
// elem-girds
.elem-grids {
  > table {
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse;
    td {
      border: 1px solid #000;
    }
  }
  &-halving {
    > table {
      table-layout: auto;
      width: 100%;
    }
    td > div {
      padding-bottom: 100%;
    }
  }
}
.elem-pane {
  height: 100%;
}
// elem-fill-question
.elem-fill-question {
  white-space: normal;

  // 客观题强调标记
  &-first::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    z-index: 99;
    color: #fff;
    padding: 6px 10px;
    line-height: 1;
    font-size: 18px;
    border-bottom-left-radius: 10px;
  }

  &-first.elem-fill-question-simple {
    &::before {
      content: "单选";
      background-color: mix(#fff, $--color-success, 20%);
    }
  }
  &-first.elem-fill-question-multiply {
    &::before {
      content: "多选";
      background-color: $--color-primary-light;
    }
  }
  &-first.elem-fill-question-boolean {
    &::before {
      content: "判断";
      background-color: mix(#fff, $--color-warning, 20%);
    }
  }
  &-boolean {
    .option-item {
      &:nth-of-type(2) i {
        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAItJREFUOE/Vk9ERgCAMQ8M+GUInEyfTITKQV065KuDh8SWftHkNAQIGVxjU44cAkhHAAmCVFD8dwYktulnS3g2oiY2SAdZglmq34sS7pNn3JADJCcAGoGggaftWL2qFgzOc3OjEKbCau1sG3uo51TRN8c3BRX+E9SquAlwmU8t2EeLIf+h+B60hw4ADyTE7EWzzfYYAAAAASUVORK5CYII=);
        background-size: 100% 100%;
        width: 10px;
        height: 10px;
        margin-top: -1px;
      }
      &:nth-of-type(3) i {
        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAIVJREFUOE+tk9sNwCAIRa/7MES7WTerQ7BPGxolCpKmVT+Fe3gnTL40qUcHIKKNmXMEFTsA8TmqjwKK8SyG3YIiewQQjkKMGMysOlcCgJrFAykZdX9tdq6JNprphyttOIUA4sQCXw+YKmEg/tZEIrqapoVjbEe8bpEk8tsqj3zWHtOfy7wB41tXEXo/wKEAAAAASUVORK5CYII=);
        background-size: 100% 100%;
        width: 8px;
        height: 8px;
      }
    }
  }

  .elem-body {
    padding: 10px 5px;
    font-size: 0;
  }

  .group-item {
    font-family: "Times New Roman", Arial, sans-serif;
    display: inline-block;
    vertical-align: top;
    font-size: 0;
    // margin-bottom: 20px;
  }
  .question-item {
    font-size: 0;
  }
  .option-item {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    width: 18px;
    height: 10px;
    text-align: center;
    font-size: 12px;
    line-height: 8px;
    // border-rect
    border: 1px solid #000;
    color: #000;
    box-sizing: border-box;

    > i {
      display: inline-block;
      transform: scale(0.67, 0.67);
      -webkit-transform: scale(0.67, 0.67);
    }

    &:first-child {
      text-align: center;
      border: none;
      font-size: 12px;
      line-height: 10px;
      color: #000;
      > i {
        transform: scale(0.9, 0.9);
        -webkit-transform: scale(0.9, 0.9);
      }
    }
    &:last-child {
      margin-right: 0 !important;
    }
  }

  &-vertical {
    .elem-body {
      padding: 10px 20px;
    }
    .question-item {
      display: inline-block;
      vertical-align: top;
      &:last-child {
        margin-right: 0 !important;
      }
    }
    .option-item {
      display: block;

      &:first-child {
        padding: 0;
        text-align: center;
      }
      &:last-child {
        margin-bottom: 0 !important;
      }
    }
  }
}
// elem-fill-area
.elem-fill-area {
  .option-item {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 16px;
    border: 1px solid #000;

    &:last-child {
      margin-right: 0 !important;
    }
  }

  &-vertical {
    .option-item {
      display: block;
      &:last-child {
        margin-bottom: 0 !important;
      }
    }
  }
}
// elem-fill-line
.elem-fill-line {
  white-space: normal;

  .elem-body {
    padding: 0 15px 0 10px;
    font-size: 0;
  }
  .elem-fill-quesiton {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 1px;
    font-size: 12px;

    li {
      &.elem-fill-line {
        height: 40px;
        position: relative;
        margin: 0 10px 0 20px;
        z-index: 8;
        &::after {
          content: "";
          display: block;
          position: absolute;
          width: 100%;
          border-bottom: 1px solid #000;
          bottom: 8px;
        }
      }
      &.elem-fill-no {
        position: absolute;
        top: 2px;
        bottom: 2px;
        left: 1px;
        z-index: 9;
        min-width: 20px;
        text-align: left;
        background-color: #fff;
        border: none;

        span {
          display: block;
          position: relative;
          padding-bottom: 5px;
          padding-right: 3px;
          transform: translateY(-100%);
          -webkit-transform: translateY(-100%);
        }
      }
      &.elem-fill-comma {
        position: absolute;
        top: 0;
        right: -10px;
        z-index: 9;
        transform: translateY(-100%);
        -webkit-transform: translateY(-100%);
        width: 10px;
        padding-bottom: 4px;
        background-color: #fff;
        text-align: center;
        border: none;
      }
    }
  }
}

// elem-explain
.elem-explain {
  .elem-title {
    padding-bottom: 0;
  }
  .elem-body {
    min-height: 60px;
    position: relative;
  }
  .elem-explain-no {
    position: absolute;
    left: 20px;
    top: 10px;
    font-size: 12px;
    z-index: 9;
  }
  .elem-explain-elements {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 8;
  }
  .elem-explain-element {
    .explain-element-body {
      position: absolute;
    }
  }
}
// .elem-composition
.elem-composition {
  .elem-title {
    padding-bottom: 0;
  }
  .elem-body {
    min-height: 60px;
    position: relative;
  }
  &-elements {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 8;
  }

  .elem-composition-element {
    .composition-element-body {
      position: absolute;
      overflow: hidden;
    }
  }
}
// elem-fill-number
.elem-fill-number {
  border: 1px solid #000;
  .fill-number {
    &-rect {
      font-size: 0;
      height: 27px;
      border-bottom: 1px solid #000;
    }
    &-number {
      display: inline-block;
      vertical-align: top;
      width: 7.692%;
      height: 100%;
      &:not(:last-child) {
        border-right: 1px solid #000;
      }
    }

    &-head {
      height: 51px;

      > h5 {
        border-bottom: 1px solid #000;
        line-height: 24px;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
      }
    }

    &-body {
      display: table;
      width: 100%;
    }
    &-list {
      display: table-cell;
      width: 7.692%;
      padding: 1px 0;
    }
    &-option {
      margin: 8px auto;
      width: 18px;
      height: 10px;
      font-size: 12px;
      line-height: 8px;
      text-align: center;
      color: #000;
      // border-rect
      border: 1px solid #000;
      font-family: "Times New Roman", Arial, sans-serif;
      > i {
        display: inline-block;
        transform: scale(0.67, 0.67);
        -webkit-transform: scale(0.67, 0.67);
      }
    }
  }
}
// elem-fill-field
.elem-fill-field {
  white-space: normal;
  overflow: hidden;
}
.fill-field {
  &-item {
    display: inline-block;
    padding: 0 10px;
    width: 100%;
  }
  &-content {
    height: 30px;
    line-height: 26px;
    overflow: hidden;
    position: relative;

    &::after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      border-bottom: 1px solid #000;
      bottom: 2px;
      left: 0;
      z-index: 1;
    }

    > span {
      z-index: 2;
      display: block;
      position: relative;
      font-size: 14px;

      &:first-child {
        float: left;
        background-color: #fff;
        text-align: justify;
        font-size: 0px;
        & > i {
          font-size: 14px;
        }

        &::after {
          content: "";
          display: inline-block;
          width: 100%;
          height: 0;
          line-height: 0;
        }
      }
      &:nth-of-type(2) {
        float: left;
        width: 20px;
        background-color: #fff;
      }
      &:last-child {
        margin-left: 80px;
        height: 100%;
      }
    }
  }
}

// elem-fill-pane
.elem-fill-pane {
  font-size: 0;
  white-space: normal;
  overflow: hidden;
  .fill-pane {
    &-item {
      display: inline-block;
      vertical-align: top;
      font-size: 14px;
    }
    &-cont {
      border: 1px solid #000;
    }
  }
}
// elem-forbid-area
.elem-forbid-area {
  height: 100%;
  position: relative;

  .text-body {
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);

    font-size: 30px;
    text-align: center;
  }
}

// elem-fill-table
.elem-fill-table {
  .table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    text-align: left;
    td {
      padding: 0;
    }
  }
}
// elem-undertaking
.elem-undertaking {
  position: absolute;
  width: 60px;
  top: 60px;
  bottom: 60px;
  right: 10px;
  font-size: 12px;
  line-height: 15px;

  .para-text {
    width: 15px;
    text-align: center;
    position: absolute;
    top: 0;

    span {
      display: inline-block;
      transform: rotate(90deg);
      -webkit-transform: rotate(90deg);
    }
    em {
      display: inline-block;
      margin-left: 5px;
      margin-bottom: 5px;
      height: 10px;
      line-height: 10px;
    }
  }
  .para-title {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
  .para-cl {
    right: 15px;
  }
  .para-body {
    right: 30px;
    height: 100%;
    width: 30px;

    > p {
      display: block;
      width: 15px;
      height: 100%;
      float: right;
      &:first-child {
        padding-top: 30px;
      }
    }
  }
  .para-std {
    bottom: 130px;
    top: auto;
    left: 0;
  }
}

// card-free-preview
.card-free-preview {
  &:not(.card-print) {
    padding: 10px 0;
    background-color: #f0f0f0;

    .page-box {
      margin: 10px auto;
      box-shadow: 0 0 4px #ddd;
    }
  }
  .page-column-element {
    .element-item {
      position: absolute;
      overflow: hidden;

      &::before {
        display: none;
      }
    }
  }
}

@media print {
  .card-preview {
    padding: 0;

    .page-box {
      margin: 0 auto;
      box-shadow: none;
      page-break-after: always;
    }
    // 印刷模式：隐藏客观题强调标记
    .elem-fill-question-first {
      &::before {
        display: none;
      }
    }
    .elem-fill-question .option-item,
    .card-print .elem-fill-number .fill-number-option,
    .card-head-body .head-stdno .stdno-fill-option,
    .page-number-rect-list li,
    .card-head-body .head-dynamic-rect {
      border-width: 0.5pt;
    }
    .elem-fill-question .option-item {
      line-height: 9px;
    }
  }
}
