::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

html {
  -ms-overflow-style: none; /* IE 10+ */
  scrollbar-width: none; /* Firefox */
}

:root {
  --swiper-navigation-size: 20px;
  /* --swiper-progressbar-bg-color: #2c70c4;
  --swiper-progressbar-drag-bg-color: #2c70c4; */
  --swiper-pagination-progressbar-size: 30px;
}

.main {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

.bg-opacity {
  width: 100%;
  height: calc(100vh - 115px);
  background: #ffffffb2;
  position: absolute;
  z-index: 0;
  opacity: 0;
  transition: all 0.5s ease-in-out;
  top: 30px;
}

.layout-book-page {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  padding: 0 100px;
  height: calc(100vh - 115px);
  max-width: 1920px;
  min-width: 320px;
}

.book-page {
  background: #ffffff;
  box-shadow: 0px 0px 48px 0px #1d3a5326;
  display: flex;
  justify-content: center;
  max-width: 1718px;
  padding: 34px 93.5px 60px;
  position: relative;
  font-size: 30px;
  font-weight: 400;
  line-height: 37.5px;
  z-index: 2;
  min-width: 0;
  height: calc(100vh - 115px);
  width: 100%;
}

.layout-swiper-progressbar {
  cursor: pointer;
  height: fit-content;
  width: 100%;
  position: relative;
  z-index: 1;
  padding: 0;
}

.swiper-progressbar {
  display: flex;
  align-items: center;
  background: #495057;
  position: relative;
}

.swiper-pagination-progressbar.swiper-pagination-progressbar-fill,
.swiper-pagination-progressbar-fill {
  border-radius: 0 15px 15px 0;
  height: 29px;
}

.swiper-progressbar-text {
  color: #f5f7f9;
  font-size: 15px;
  font-weight: 400;
  line-height: 18.75px;
  /*max-width: 1718px;*/
  padding-left: 100px;
  position: absolute;
  top: 6px;
}

.swiper {
  width: 100%;

  overflow-y: auto;
}

.swiper-slide {
  max-width: 1531px;
}

.swiper-slide p {
  color: #000;
  padding: 10px 0;
}

.swiper-slide p:last-child {
  padding: 10px 0 0;
}

.swiper-slide p:first-child {
  padding: 0 0 10px;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: 100% !important;
}

.opacityText {
  min-height: 150px;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0px;
}

.opacityText::after {
  content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #fff 58%);
    opacity: 1;
    z-index: 1;
}

.swiper-button-next,
.swiper-button-prev,
.swiper-pagination-current {
  background: #747579;
  border-radius: 50%;
  color: #ffffff;
  height: 50px;
  width: 50px;
  transition: all 0.5s;
}

.swiper-button-next,
.swiper-button-prev {
  top: auto;
}

.layout-swiper-button,
.layout-swiper-pagination {
  display: flex;
  position: absolute;
  width: fit-content;
  height: 50px;
  bottom: 27px;
  align-items: center;
  z-index: 2;
  transition: opacity 0.5s ease;
}

.layout-swiper-button.left {
  /*left: -62px;*/
  left: calc(50% - 105px);
  justify-content: flex-end;
}

.layout-swiper-button.right {
  /*right: -62px;*/
  left: calc(50% + 110px);
  /*justify-content: flex-end;*/
}

.swiper-button-prev {
  top: 10px;
  bottom: 0;
  left: 0;
}

.swiper-button-next {
  top: 10px;
  bottom: 0;
  right: 0;
}

.swiper-button-prev::after {
  position: relative;
  top: -2px;
  content: "\2190";
}

.swiper-button-next::after {
  content: "\2192";
  position: relative;
  top: -2px;
}

.hintRight,
.hintLeft {
  background: #fff;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 18.75px;
  color: #747579;
  position: absolute;
  box-shadow: 0px 0px 48px 0px #00000026;
  height: 43px;
  transition: all 0.3s ease;
  width: 0;
  overflow: hidden;
}

.hintRight {
  margin-right: -40px;
  padding-right: 40px;
  border-radius: 50px 0 0 50px;
  justify-content: flex-end;
}

.hintLeft {
  margin-left: -40px;
  padding-left: 40px;
  border-radius: 0 50px 50px 0; 
}

.hintCenter {
  background: #fff;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 18.75px;
  color: #747579;
  position: absolute;
  box-shadow: 0px 0px 48px 0px #00000026;
  height: 43px;
  transition: all 0.3s ease;
  width: 0;
  overflow: hidden;
  border-radius: 50px 0 0 50px;
  right: -10px;
  z-index: 2;
}

.swiper-button-next:hover,
.swiper-button-prev:hover,
.swiper-pagination-current:hover {
  background: #dddee0;
  color: #2c70c4;
}

.swiper-button-prev:hover ~ .hintRight {
  width: 225px;
  /*margin-left: 0px;*/
  /*margin-left: -40px;
  text-align: right;*/
  padding-right: 60px;
}

.swiper-button-next:hover ~ .hintLeft {
  width: 225px;
  padding-left: 60px;
  /*margin-right: 0px;*/ 
  /*margin-right: -40px; 
  text-align: left;*/
}

.swiper-pagination:hover ~ .hintCenter,
.hintCenter:hover {
  width: 225px;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.hintCenter-input {
  border: none;
  margin-left: 50px;
  height: 100%;
  width: 100%;
  padding: 0 20px 0 0;
}
.hintCenter-input:focus,
.hintCenter-input:active {
  border: none;
  outline: none;
}

.swiper-pagination {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  /* font-family: "Heebo"; */
  font-size: 15px;
  font-weight: 400;
  top: 0;
  bottom: 0;
  width: fit-content;
  transition: opacity 0.5s ease;
  z-index: 10;
}

.control-play {
  display: flex;
  background: rgba(116, 117, 121, 1);
  height: 50px;
  border-radius: 50px;
  color: #fff;
  transition: background 0.5s ease, opacity 0.5s ease;
  position: absolute;
  z-index: 3;
  left: 50%;
  transform: translateX(-50%);
  top: 6px;

  p {
    white-space: nowrap;
  }

  .form-range {
    width: 69px;
  }

  .form-range::-webkit-slider-thumb {
    background-color: #fff;
  }

  .form-range::-webkit-slider-thumb:active {
    background-color: #066ac9;
  }

  .form-range::-moz-range-track {
    background-color: red !important;
    height: 0.55rem;
  }

  &:hover {
    background: rgba(116, 117, 121, 1);
  }
}

.hide {
  opacity: 0;
  z-index: 1;
}

.swiper-pagination-current,
.swiper-pagination-total {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}

.swiper-pagination-current {
  cursor: pointer;
}

.emptiBlock {
  background: #ffffff;
  height: 120%;
  border-radius: 30px 0 0 30px;
  width: 25px;
  position: absolute;
  right: -15px;
  top: -4px;
}

.layout-info {
  flex-direction: column;
  width: 100%;
  z-index: 1;
  opacity: 0;
  padding: 0 100px;
  display: flex;
  justify-content: center;
  position: absolute;
  top: 30px;
  transition: all 0.5s ease-in-out;
}

.layout-info .accordion-button {
  /*
  padding-left: 0 !important;
  padding-right: 0 !important;
  */
}

.layout-info .accordion-button::after {
  display: none;
}

.accordion.accordion-icon .accordion-header .accordion-button:before {
  right: 0;
  content: none;
}

.accordion.accordion-icon
  .accordion-header
  .accordion-button[aria-expanded="false"]:after,
.accordion.accordion-icon .accordion-header .accordion-button:after {
  right: 0;
  color: #24292d;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  transform: none;
  background: none !important;
  top: 17px;
  width: 10px;
}

.book-info {
  background: #fff;
  box-shadow: 0px 0px 48px 0px #00000033;
  color: #747579;
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  font-weight: 400;
  max-width: 1718px;
  margin: 0 auto;
  border-radius: 10px;
  position: relative;
  width: 100%;
  padding: 43px 116px 80px 80px;
  line-height: 18.75px;
}

.layout-info a {
  white-space: revert;
}

.layout-swiper-progressbar:hover ~ .layout-info,
.layout-info:has(.book-info-hover:hover),
.layout-info:has(.book-info:hover) {
  opacity: 1;
  z-index: 5;
  /* height: 100%; */
}

.layout-swiper-progressbar:hover ~ .bg-opacity,
.layout-info:has(.book-info-hover:hover) ~ .bg-opacity,
.layout-info:has(.book-info:hover) ~ .bg-opacity {
  opacity: 1;
  z-index: 3;
}

.book-info-title {
  font-weight: 700;
  line-height: 18.75px;
  color: #24292d;
}

.layout-book-info {
  display: flex;
  flex-direction: column;
  max-width: 350px;
  width: 100%;
}

.layout-book-info hr {
  background-color: #d9d9d9;
  border: none;
  color: #d9d9d9;
  height: 1px;
  width: 100%;
  margin: 15px 0 30px;
}

.book-info-content {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 15px;
  line-height: 18.75px;
}

.layout-book-info:last-child .book-info-content {
  gap: 10px;
}

.book-info-content div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px 10px;
  transition: all 0.5s ease;
}

.book-info-content div:hover {
  cursor: pointer;
  background-color: #066ac91a;
  border-radius: 5px;
}

.book-info-content div:hover h4 {
  color: #2c70c4;
}

.layout-book-info:nth-child(2) .book-info-content div:nth-child(2) {
  background: #066ac91a;
  border-radius: 3px;
  color: #2c70c4;
}

.layout-book-info:last-child .book-info-content div:nth-child(2) {
  background: #066ac91a;
  border-radius: 3px;
}

.layout-book-info:last-child .book-info-content div:nth-child(2) h4 {
  color: #2c70c4;
}

.book-info-content h4 {
  color: #24292d;
  font-weight: 700;
  font-size: 15px;
  line-height: 18.75px;
  margin: 0;
}

.book-info-content p {
  margin: 0;
}

.listened {
  background-color: #066ac91a;
  display: inline;
}

.layout-book-page .btns-bookmarkLayout {
  right: 45px;
  top: 40px;
  transition: 0.1s ease-out;
}
.layout-book-page .btn-bookmark {
  padding: 0 20px;
  height: 49px;
}
.layout-book-page .btn-bookmark.play {
  width: 245px;
  background-size: cover;
}
.layout-book-page .btn-bookmark.play:hover {
  background-size: cover;
}

.btn-bookmark i {
  font-size: 22px;
}


.layout-book-page .btns-marksLayout {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 17px;
  width: 269px;

  /*background-color: #ececec;*/

  overflow: hidden;

}

#book-readable {
  overflow: scroll;
}

.layout-book-page .btns-marksLayout-slide {
  /*background: rgb(2,0,36);
  background: linear-gradient(0deg, rgba(2,0,36,1) 0%, rgba(0,212,255,1) 100%);   */
  width: 100%;
  height: 200%;

  position: absolute;
  top: 0;
  left: 0;

  display: flex;
  flex-direction: column;

}

.layout-book-page .btn-mark {
  width: 269px;
  z-index: 3;
    background: url(./../images/btns/btn-mark.png) no-repeat;
    color: #fff;
    padding: 0 20px;
    height: 49px;
    transition: background 0.5s ease, color 0.5s;
    z-index: 1;
    padding: 0 60px;
    display: flex;
    align-items: center;
    cursor: pointer;
    justify-content: flex-end;
    position: absolute;
}

.layout-book-page .btn-mark span {
  display: block;
  text-align: right;
}

.layout-book-page .btn-mark:hover {
  background: url(./../images/btns/btn-markactive.png) no-repeat;
  z-index: 3;
}

.speedChoice {
  color: var(--bs-gray-600);
  border-radius: 20px;
  /*font-size: 16px;*/
  padding-right: 10px;
  padding-left: 10px;
  align-items: center;
}
.speedChoice a {
  color: var(--bs-gray-600);
} 
.speedChoice i.bi {
  font-size: 1.2rem;
}
.speedChoice .choices__item {
  font-weight: bold;
  color: #747579;
  /*width: 40px;*/
}
.speedChoice .choices__item--selectable {
  padding-left: 4px;
  padding-top: 2px;
  
}
/* choices__item choices__item--choice choices__item--selectable */
.speedChoice .choices__list--dropdown .choices__item--choice {
  width: 60px;
}
.speedChoice form {
  width: auto;
}

.voiceChoice {
  color: var(--bs-gray-600);
  border-radius: 20px;
  font-size: 16px;
  padding-right: 10px;
  padding-left: 10px;
  align-items: center;
}
.voiceChoice a {
  color: var(--bs-gray-600);
}

.voiceChoice .choices__list--dropdown {
  min-width: 150px;
}

.voiceChoice .choices__list--dropdown .choices__item--choice {
  width: 120px;
  
}

form {
  width: 22px;
  background: transparent;
}

.choices {
  height: 25px;
}

.choices__inner {
  background: transparent;
}

.js-choice option {
  /*padding-left: 20px;*/
  background-repeat: no-repeat;
  background-position: left center;
}

.choices__list {
  width: -moz-fit-content;
  width: fit-content;
  width: 100%;
}

.choices__list--dropdown {
  padding-right: 0 !important;
}

.choices[data-type*="select-one"]:after {
  content: none;
}

.input-borderless .choices .choices__list--dropdown[aria-expanded="true"] {
  width: auto;
  padding: 13px 0;
}

.input-borderless .choices .choices__list--dropdown {
  margin-top: 0;
  margin-bottom: 10px;
}

.choices[data-type*="select-one"] .choices__inner {
  padding: 0 !important;
}

.choices__list > .choices__item--selectable[aria-disabled="false"] {
  border-radius: 5px;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  justify-content: center;
}
.choices__list > .choices__item--selectable[aria-disabled="false"] img {
  width: 27px;
}
.choices__list > .choices__item--selectable[aria-disabled="false"]:hover {
  color: #2c70c4;
  background-color: rgba(6, 106, 201, 0.1019607843);
}

@keyframes aim {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
.rfiz {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
section.redable {
  padding-top: 0;
  padding-bottom: 0;
}

section.redable h1,
.U-Section {
  margin-bottom: 3rem;
  font-size: 3rem;
  margin-top: 3rem;
}
section.redable h2,
.U-SubSection {
  margin-bottom: 2rem;
  font-size: 2.5rem;
}
section.redable h3,
.U-Chapter {
  margin-bottom: 1rem;
  font-size: 2rem;
  margin-top: 3rem;
}
section.redable h4 {
  margin-bottom: 1rem;
  font-size: 2rem;
  margin-top: 3rem;
  line-height: 1.46;
}

.U-Speech {
  font-style: italic;
}

.page-popover {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.page-popover div {
  border-radius: 10px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 1);
  -webkit-box-shadow: 0px 5px 24px 33px rgba(255, 255, 255, 1);
  -moz-box-shadow: 0px 5px 24px 33px rgba(255, 255, 255, 1);
  box-shadow: 0px 5px 24px 33px rgba(255, 255, 255, 1);
  animation: aim 2s ease-in-out;
}
.page-popover div img {
  min-height: 80px;
  max-height: 120px;
  width: 100%;
  height: 100%;
}

section.redable p {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 1.22;
}

section.redable p.text {
  text-indent: 3rem;
}

section.redable p.quote {
  padding: 26px;
  border-radius: 12px;
  border: 1px solid #7ec8ff;
  font-weight: 500;
}

section.redable p img {
  max-height: 60px;
  margin-top: 8px;
  margin-bottom: 8px;
  height: 100%;
  margin-left: 12px;
  margin-right: 12px;
}
section.redable p img.anim {
  animation: aim 2s ease-in-out;
}
section.redable span.playd {
  background: #066ac91a;
}

@media screen and (min-width: 1200px) {
  .speedChoice {
    height: 38px;
  }
}


@media screen and (max-width: 1200px) {
  .book-page {
    padding: 34px 40px 60px;
    font-size: 24px;
    line-height: 34px;
  }

  .layout-info,
  .layout-book-page {
    padding: 0 70px;
  }

  .layout-book-page .btns-bookmarkLayout {
    right: 17px;
  }

  .book-info-content div {
    padding: 10px;
  }
}

@media screen and (max-width: 992px) {

  .swiper-progressbar-text {
    font-size: 13px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .swiper-button-next,
  .swiper-button-prev,
  .swiper-pagination-current {
    height: 40px;
    width: 40px;
  }

  .layout-swiper-button .swiper-button-next {
    top: 15px;
    /*right: 40px;*/
    /*left: calc(50% - 45px); */
  }
  .layout-swiper-button .swiper-button-prev {
    top: 15px;
    /*left: 40px;*/
    /*left: calc(50% - 50px); */
  }

  .layout-swiper-button,
  .layout-swiper-pagination {
    bottom: 15px;
  }

  .opacityText {
    bottom: 30px;
  }
  .swiper-slide p {
    margin: 0;
  }
  .book-page {
    padding: 25px 35px 47px;
    font-size: 18px;
    line-height: 24px;
  }

  .hintCenter {
    height: 38px;
  }

  .hintCenter-input {
    margin-left: 25px;
  }

  .control-play {
    height: 45px;
  }

  .swiper-pagination:hover ~ .hintCenter,
  .hintCenter:hover {
    width: 180px;
  }

  .hintLeft,
  .hintRight {
    display: none;
  }


  .layout-book-page .btns-bookmarkLayout {
    right: 20px;
  }

  .btns-bookmarkLayout .btn-bookmark {
    height: 40px;
  }

  .layout-book-page .btn-bookmark.play {
    width: 220px;
    background: url(./../images/btns/btn-play.png) no-repeat;
    background-size: contain;
    background-position: top 0 right 0;
  }

  .layout-book-page .btn-bookmark.play:hover {
    background: linear-gradient(to right, #2c70c4 100px, transparent 100px),
      url(./../images/btns/btn-playactive.png) no-repeat;
    background-size: contain;
    background-position: top 0 right 0;
  }

  .layout-book-page .btn-bookmark.bookmark {
    width: 230px;
    background: url(./../images/btns/btn-bookmark.png) no-repeat;
    background-size: contain;
    background-position: top 0 right 0;
  }

  .layout-book-page .btn-bookmark.bookmark:hover {
    background: linear-gradient(to right, #f7c32e 100px, transparent 100px),
      url(./../images/btns/btn-bookmarkactive.png) no-repeat;
    background-size: contain;
    background-position: top 0 right 0;
  }

  .btn-bookmark {
    border-radius: 50px 0 0 50px;
  }

  .btn-bookmark i {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .layout-book-page .btns-bookmarkLayout {
    right: 0px;
  }
  .layout-info,
  .layout-book-page {
    padding: 0 46px;
  }
  .book-page {
    height: calc(100vh - 96px);
    padding: 30px 20px 47px;
  }
  .swiper-progressbar-text {
    font-size: 10px;
  }
  .layout-book-page {
    height: calc(100vh - 96px);
  }

  .btn-bookmark i {
    font-size: 13px;
  }

  .bookImg {
    max-width: 250px;
  }
}
@media screen and (max-width: 612px) {
  .layout-info,
  .layout-book-page {
    padding: 0 46px 0 0;
  }
}

#book-readable-inner {
  padding-top: 2px;
  padding-bottom: 30px;
}

#book-readable-inner img {
  display: block;
}

ul.u-tablecol {
  list-style: none;
  display: flex;
  padding-left: 0rem;
  margin-bottom: 0px;
  width: 100%;
  border: 1px solid #000000;
}

ul.u-tablecol li.u-tablecol:only-child {
  text-align: center;
  font-weight: bold;
}


div.u-table {
  margin-top: -1px;
}

li.u-tablecol {
  
  padding: 16px;
  width: 100%;
  color: #000000;
}

li.u-tablecol + li.u-tablecol {
  border-left: 1px solid #000000;
}

[data-readable-table] + [data-readable-paragraph] {
  margin-top: 2rem;
}