.loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0);
    /* display: flex; */
    align-items: center;
    justify-content: center;
    display: none;
    
    width: 100%;
    height: 100%;
  }
  
  .loading img {
    width: 200px;
    max-width: 100%;
    max-height: 100%;
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }

  /* #region page*/
/*.page {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background-color: var(--window-bg);
  display: none;
}

.page[active=true] {
  display: flex !important;
}*/

.page-header {
  background-color: var(--header-bg);
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 7.5px;
  box-shadow: var(--shadow);
}

.page-content {
  position: absolute;
  top: 60px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow: auto;
  margin-bottom: 20px;
}

.page-content-horizontal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

.page-content-left {
  max-width: 450px;
}

.page-header-close,
.page-header-ok {
  height: 35px;
  border-radius: 5px;
  padding: 0 5px;
  border: none;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fontsize-100);
}

.page-header-close {
  background-color: var(--btn2-bg);
  color: var(--btn2-col);
}

.page-header-close:hover {
  cursor: pointer;
  background-color: var(--btn2-bg-hover);
}

.page-header-ok {
  background-color: var(--btn3-bg);
  color: var(--btn3-col);
}

.page-header-ok:hover {
  cursor: pointer;
  background-color: var(--btn3-bg-hover);
}

.page-header-title {
  flex: 1;
  text-align: center;
  color: var(--header-col);
  font-size: var(--fontsize-100);
}

.page-group {
  margin-top: 15px;
  margin-left: 15px;
  margin-right: 15px;
  display: flex;
  color: var(--txt-col-1);
  flex-wrap: wrap;
}

.page-group-title {
  min-height: 35px;
  line-height: 35px;
  margin-right: 5px;
  min-width: 120px;
}

.page-group-content {
  min-height: 35px;
  display: flex;
  align-items: center;
  flex: 1;
}

.page-group-radio {
  margin-right: 20px;
}

.page-group-img-box {
  width: 120px;
  height: 120px;
  margin-right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--txet-border);
}

.page-group-img {
  max-width: 120px;
  max-height: 120px;
}

.page-group-btn {
  height: 35px;
}

.page-group-btn__full {
  flex: 1;
}

.page-group-txt {
  min-height: 35px;
  font-size: var(--fontsize-100);
  padding: 0 5px;
  border-radius: 5px;
  margin-right: 5px;
  border: 1px solid var(--txet-border);
  flex: 1;
  min-width: 180px;
  width: 100%;
  background: var(--txet-bg);
  color: var(--txet-col);
  border: 1px solid var(--txet-border);
}

.page-group-txt[readonly],
.page-group-txt[disabled] {
  background-color: var(--txet-col-readonly);
}

.page-group-vimeo {
  width: 213px;
  height: 120px;
  margin-right: 5px;
  border: 1px solid var(--txet-border);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.page-group-imgupload {
  width: 120px;
  height: 120px;
  margin-right: 5px;
  border: 1px solid var(--txet-border);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.page-group-imgupload::after {
  z-index: 1;
  position: absolute;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  content: "+";
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-group-imgupload:hover {
  cursor: pointer;
}
  /* 子page */

.subpage {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  display: none;
}

.subpage[active=true] {
  display: flex !important;
}


/* 中央的區塊 */

.subpage-box {
  max-width: 600px;
  position: absolute;
  left: 0;
  right: 0;
  background-color: var(--window-bg);
  border-radius: 10px;
  box-shadow: var(--shadow);
  overflow: hidden;
  margin: auto;
}

.subpage-content {
  margin-top: 60px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  max-height: calc(100vh - 120px);
  overflow: auto;
}

.btn-width-grid {
  width: 85px;
}

.wrapper-book {
  align-items: center;
  display: flex;
  height: 90%;
  justify-content: center;
  margin: 5%;
  width: 90%;
}

.aspect-book {
  padding-bottom: 70%;
  position: relative;
  width: 100%;
}

.aspect-book-inner {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.flipbook {
  height: 100%;
  transition: margin-left 0.25s ease-out;
  width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flipbook .page {
  background-color: #ececec;
  height: 100%;
  width: 100%;
}

.flipbook .page img {
  max-width: 100%;
  height: 100%;
}


.modal-dialog{
    overflow-y: initial !important
}

.modal-body{
    height: 45em;
    overflow-y: auto;
}
