@charset "UTF-8";
/* CSS Document */
.commentsFloatBox form input, .commentsFloatBox form select, .commentsFloatBox form textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.topBox, .reviewList, .reviewAlbumList li, .commentsFloatBox form .item, .commentsFloatBox form input, .commentsFloatBox form select, .commentsFloatBox form textarea, .commentsFloatBox form .agreeBox input[type="checkbox"]::before {
  -webkit-transition: all .5s ease-out;
  -o-transition: all .5s ease-out;
  transition: all .5s ease-out; }

.topBox, .reviewList {
  opacity: 0; }

.topBox, .reviewList {
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.mainArea > .wrap.show .topBox, .mainArea > .wrap.show .reviewList, .floatBox.show .titleEn, .floatBox.show .titleMark {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  opacity: 1; }

/*
	Authors: Alvin, Randy, Rex
    Version: 2.0
	Latest Update: 2020/03/13
*/
.contentBox .titleBox {
  padding-bottom: 0; }
  .contentBox .titleBox::before, .contentBox .titleBox::after {
    display: none; }

.mainArea > .wrap.show .reviewList {
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  transition-delay: .3s; }

/*****列表*****/
@media (min-width: 641px) {
  .topBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    margin-top: 50px; } }

@media (max-width: 640px) {
  .topBox {
    padding-bottom: 20px;
    text-align: center; } }

.topBox .Txt {
  font-size: 13px;
  color: #262626; }
  .topBox .Txt span {
    margin: 0 5px;
    color: #808080; }

@media (max-width: 640px) {
  .topBox .btn {
    margin-top: 20px; } }

.topBox .btn a {
  width: 200px;
  margin: 0; }
  .topBox .btn a:not(:hover) {
    color: #fff;
    background-color: #b9b9b9; }
  .topBox .btn a::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    width: 11px;
    height: 14px;
    background: url(../images/icon_review.png) no-repeat center; }
  @media (max-width: 640px) {
    .topBox .btn a.reviewBtn {
      margin-left: auto;
      margin-right: auto; } }

.reviewList > li {
  padding: 30px 0;
  border-top: 1px solid #e5e5e5; }
  .reviewList > li:last-of-type {
    border-bottom: 1px solid #e5e5e5; }

.reviewList .txtName {
  font-size: 18px;
  font-family: 'Cardo', 'Noto Sans TC', sans-serif;
  color: #1dcad3; }

.reviewList .txtDate {
  margin-top: 5px;
  font-size: 14px;
  color: #191919; }
  .reviewList .txtDate span {
    display: inline-block;
    margin-right: 10px;
    padding-right: 10px;
    color: #1dcad3;
    background: -webkit-gradient(linear, left top, right top, from(#e0e0e0), to(#e0e0e0)) 100% 50%/1px 12px no-repeat;
    background: -webkit-linear-gradient(left, #e0e0e0, #e0e0e0) 100% 50%/1px 12px no-repeat;
    background: -o-linear-gradient(left, #e0e0e0, #e0e0e0) 100% 50%/1px 12px no-repeat;
    background: linear-gradient(to right, #e0e0e0, #e0e0e0) 100% 50%/1px 12px no-repeat; }
    .reviewList .txtDate span ~ span {
      margin-left: 30px; }

.reviewList .txtExp {
  font-size: 15px;
  line-height: 25px;
  color: #808080; }
  @media (min-width: 641px) {
    .reviewList .txtExp {
      margin-top: 35px; } }
  @media (max-width: 640px) {
    .reviewList .txtExp {
      margin-top: 25px; } }
  .reviewList .txtExp .textMoreBtn {
    color: #1dcad3; }

.reviewAlbumList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .reviewAlbumList li {
    border: 1px solid #fff;
    cursor: pointer; }
    @media (min-width: 1181px) {
      .reviewAlbumList li {
        width: calc(100% / 8); } }
    @media (min-width: 961px) and (max-width: 1180px) {
      .reviewAlbumList li {
        width: calc(100% / 6); } }
    @media (min-width: 641px) and (max-width: 960px) {
      .reviewAlbumList li {
        width: calc(100% / 5); } }
    @media (min-width: 501px) and (max-width: 640px) {
      .reviewAlbumList li {
        width: calc(100% / 4); } }
    @media (max-width: 500px) {
      .reviewAlbumList li {
        width: calc(100% / 3); } }
    @media (min-width: 641px) {
      .reviewAlbumList li {
        padding: 20px 20px 0 0; } }
    @media (max-width: 640px) {
      .reviewAlbumList li {
        padding: 15px 10px 0 0; } }
    .reviewAlbumList li:hover {
      opacity: .5; }
    .reviewAlbumList li img {
      display: block;
      width: 100%;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }

/*****填寫視窗*****/
.floatBox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow-y: auto;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out; }
  .floatBox.show .titleMark {
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s; }
  @media (min-width: 961px) {
    .floatBox {
      padding-top: 30vh; } }
  @media (max-width: 960px) {
    .floatBox {
      padding-top: 80vh; } }
  .floatBox.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }
    @media (min-width: 961px) {
      .floatBox.show {
        padding-top: 15vh; } }
    @media (max-width: 960px) {
      .floatBox.show {
        padding-top: 20vh; } }
  .floatBox .mask {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4); }

.commentsFloatBox {
  position: relative;
  width: 94%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff; }
  @media (min-width: 961px) {
    .commentsFloatBox {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      min-height: 70vh; } }
  @media (min-width: 961px) and (max-width: 1180px) {
    .commentsFloatBox {
      padding-right: 80px; } }
  @media (min-width: 501px) and (max-width: 960px) {
    .commentsFloatBox {
      padding: 80px 70px 60px 60px; } }
  @media (min-width: 401px) and (max-width: 500px) {
    .commentsFloatBox {
      padding: 80px 35px 60px; } }
  @media (max-width: 400px) {
    .commentsFloatBox {
      padding: 70px 25px 50px; } }
  .commentsFloatBox > .leftBox {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    @media (min-width: 1181px) {
      .commentsFloatBox > .leftBox {
        width: 420px; } }
    @media (max-width: 1180px) {
      .commentsFloatBox > .leftBox {
        width: 300px; } }
    @media (max-width: 960px) {
      .commentsFloatBox > .leftBox {
        display: none; } }
  @media (min-width: 961px) {
    .commentsFloatBox > .rightBox {
      max-width: 600px; } }
  @media (min-width: 1181px) {
    .commentsFloatBox > .rightBox {
      width: calc(100% - 420px);
      max-width: 600px;
      padding: 90px 35px 70px; } }
  @media (min-width: 961px) and (max-width: 1180px) {
    .commentsFloatBox > .rightBox {
      width: calc(100% - 300px);
      padding: 50px 0 50px 35px; } }
  @media (max-width: 960px) {
    .commentsFloatBox > .rightBox {
      width: 100%;
      padding: 0; } }
  .commentsFloatBox .textEditor {
    padding: 90px 15px 10px;
    text-align: center; }
    @media (max-width: 1180px) {
      .commentsFloatBox .textEditor {
        display: none; } }
    .commentsFloatBox .textEditor strong.title {
      font-size: 16px;
      color: #191919; }
      .commentsFloatBox .textEditor strong.title::after {
        content: '';
        display: block;
        margin: 8px auto 15px;
        width: 70px;
        height: 1px;
        background-color: rgba(0, 0, 0, 0.1); }
    .commentsFloatBox .textEditor p {
      font-size: 13px;
      font-weight: 300;
      color: #808080;
      line-height: 21px; }
  .commentsFloatBox .titleBox {
    text-align: center; }
    @media (min-width: 501px) {
      .commentsFloatBox .titleBox {
        padding-top: 38px;
        padding-bottom: 60px;
        background: url(../images/title_price.png) no-repeat center top; } }
    @media (max-width: 500px) {
      .commentsFloatBox .titleBox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 0;
        padding-bottom: 0; } }
  .commentsFloatBox .titleMark {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .8px;
    font-family: "Cardo", "Noto Serif TC", serif;
    text-transform: uppercase; }
    @media (min-width: 501px) {
      .commentsFloatBox .titleMark {
        margin-bottom: 5px; } }
    @media (max-width: 500px) {
      .commentsFloatBox .titleMark {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2; } }
  .commentsFloatBox .titleEn {
    color: #454545;
    line-height: 1.1; }
    @media (min-width: 501px) {
      .commentsFloatBox .titleEn {
        font-size: 28px; } }
    @media (max-width: 500px) {
      .commentsFloatBox .titleEn {
        font-size: 22px; } }
  .commentsFloatBox form {
    width: 100%; }
    @media (min-width: 961px) {
      .commentsFloatBox form {
        max-width: 420px;
        margin: 0 auto; } }
    .commentsFloatBox form .item {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 18px;
      border-bottom: 1px solid #e5e5e5; }
      .commentsFloatBox form .item::-webkit-input-placeholder {
        /* Chrome */
        color: #a9a9a9; }
      .commentsFloatBox form .item:-ms-input-placeholder {
        /* IE 10+ */
        color: #a9a9a9; }
      .commentsFloatBox form .item::-moz-placeholder {
        /* Firefox 19+ */
        color: #a9a9a9;
        opacity: 1; }
      .commentsFloatBox form .item:-moz-placeholder {
        /* Firefox 4 - 18 */
        color: #a9a9a9;
        opacity: 1; }
      @media (max-width: 500px) {
        .commentsFloatBox form .item {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      .commentsFloatBox form .item.focus {
        border-bottom-color: #1dcad3; }
      .commentsFloatBox form .item.addImgBox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .commentsFloatBox form label {
      display: block;
      padding-top: 8px;
      font-size: 15px; }
      @media (min-width: 501px) {
        .commentsFloatBox form label {
          width: 100px; } }
      @media (max-width: 500px) {
        .commentsFloatBox form label {
          width: 100%; } }
    .commentsFloatBox form input, .commentsFloatBox form select, .commentsFloatBox form textarea {
      height: 40px;
      line-height: 40px;
      padding: 0 10px;
      border: 0;
      border-radius: 0;
      font-family: "Noto Sans TC", sans-serif; }
      @media (min-width: 501px) {
        .commentsFloatBox form input, .commentsFloatBox form select, .commentsFloatBox form textarea {
          width: calc(100% - 100px); } }
      @media (max-width: 500px) {
        .commentsFloatBox form input, .commentsFloatBox form select, .commentsFloatBox form textarea {
          width: 100%;
          padding-left: 0; } }
    .commentsFloatBox form textarea {
      height: 80px;
      resize: none; }
    .commentsFloatBox form select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHCAYAAADebrddAAAAkElEQVQYlXXOsQrBYRSG8R+5ApdglZlZYjdRBqsrUK7A7BZs/kUhUWZyC3bKaGEh+vSRgadOp97znNNJJUkywBpT/ymjlcYRwxj8oogRThn0kcUEVey+NgqYY4xeuBzoYhYrH7McFtigg8dbfqCNLZYoYYU9GrgH6S0HbmjiEJeuqMf+4lsOXFCL/1dw/kzwBKByIBPjlYD2AAAAAElFTkSuQmCC");
      background-position: top 50% right 15px;
      background-repeat: no-repeat;
      -webkit-appearance: none;
      -moz-appearance: none;
      color: #808080; }
    @media (min-width: 501px) {
      .commentsFloatBox form .item.hasBtn input {
        width: calc(100% - 100px - 100px); } }
    @media (max-width: 500px) {
      .commentsFloatBox form .item.hasBtn input {
        width: calc(100% - 100px); } }
    .commentsFloatBox form .captchaBtn {
      display: block;
      width: 100px;
      line-height: 40px;
      font-size: 14px;
      color: #fff;
      text-align: center;
      background-color: #1dcad3; }
      .commentsFloatBox form .captchaBtn:hover {
        color: #888;
        background-color: #eee; }
    .commentsFloatBox form .reCaptchaBtn {
      position: relative;
      display: block;
      width: 100px;
      line-height: 40px;
      font-size: 14px;
      color: #808080;
      text-align: center; }
      .commentsFloatBox form .reCaptchaBtn:hover {
        color: #1dcad3; }
      .commentsFloatBox form .reCaptchaBtn::before {
        content: '';
        position: absolute;
        top: calc(50% - 10px);
        left: 0;
        width: 1px;
        height: 20px;
        background-color: #ccc; }
    .commentsFloatBox form .addImgBox label {
      width: 100%;
      margin-bottom: 15px; }
      .commentsFloatBox form .addImgBox label span {
        margin-left: 5px;
        font-size: 13px;
        color: #808080; }
    .commentsFloatBox form .addImgBox ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 5px 0 20px; }
      .commentsFloatBox form .addImgBox ul li {
        display: inline-block; }
        @media (min-width: 361px) {
          .commentsFloatBox form .addImgBox ul li {
            margin-right: 10px; } }
        @media (max-width: 360px) {
          .commentsFloatBox form .addImgBox ul li {
            margin-right: 5px; } }
      .commentsFloatBox form .addImgBox ul input[type="file"] {
        display: none; }
      .commentsFloatBox form .addImgBox ul label {
        position: relative;
        display: block;
        width: 45px;
        height: 45px;
        background-color: #cacaca; }
        .commentsFloatBox form .addImgBox ul label::before, .commentsFloatBox form .addImgBox ul label::after {
          content: '';
          position: absolute;
          top: 50%;
          left: calc(50% - 6px);
          width: 12px;
          height: 1px;
          background-color: #fff; }
        .commentsFloatBox form .addImgBox ul label::after {
          -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          transform: rotate(90deg); }
    .commentsFloatBox form .agreeBox {
      position: relative;
      width: 100%;
      margin-top: 20px;
      padding: 0;
      padding-left: 30px;
      font-size: 14px;
      color: #454545;
      line-height: 24px;
      cursor: pointer; }
      .commentsFloatBox form .agreeBox input[type="checkbox"] {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 16px;
        height: 16px;
        padding: 0;
        border: 1px solid rgba(0, 0, 0, 0.3);
        border-radius: 0;
        background-color: transparent;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
        .commentsFloatBox form .agreeBox input[type="checkbox"]::before {
          content: '';
          position: absolute;
          top: -5px;
          left: 7px;
          width: 7px;
          height: 15px;
          border-right: 2px solid #1dcad3;
          border-bottom: 2px solid #1dcad3;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          opacity: 0; }
        .commentsFloatBox form .agreeBox input[type="checkbox"]:checked::before {
          opacity: 1; }
      .commentsFloatBox form .agreeBox + .btn {
        margin-top: 35px; }
    .commentsFloatBox form .btnBox {
      margin-top: 50px; }
      @media (max-width: 500px) {
        .commentsFloatBox form .btnBox {
          text-align: center; } }
      .commentsFloatBox form .btnBox a {
        margin: 0; }
        .commentsFloatBox form .btnBox a:not(:last-of-type) {
          margin-bottom: 10px; }
          @media (min-width: 501px) {
            .commentsFloatBox form .btnBox a:not(:last-of-type) {
              margin-right: 15px; } }
  .commentsFloatBox .closeBtn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    display: block;
    border-left: 1px solid #646464;
    font-family: "Cardo", "Noto Serif TC", serif;
    color: #111;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer; }
    @media (min-width: 961px) {
      .commentsFloatBox .closeBtn {
        width: 80px;
        padding-top: 60px;
        padding-bottom: 15px; } }
    @media (max-width: 960px) {
      .commentsFloatBox .closeBtn {
        width: 70px;
        padding-top: 40px;
        padding-bottom: 10px;
        font-size: 13px; } }
    .commentsFloatBox .closeBtn::before, .commentsFloatBox .closeBtn::after {
      content: '';
      position: absolute;
      top: calc(50% - 10px);
      left: calc(50% - 15px);
      width: 30px;
      height: 1px;
      background-color: #646464;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .commentsFloatBox .closeBtn::after {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.reviewBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 200px;
  height: 40px;
  padding-left: 5px;
  padding-right: 5px;
  color: #fff;
  background-color: #b9b9b9;
  font-size: 14px;
  letter-spacing: 1px; }
  @media (min-width: 1181px) {
    .reviewBtn:hover {
      color: #fff;
      background-color: #1dcad3; } }
