/*
 *  Copyright 2025 Anyware Services
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
*,
::after,
::before {
  box-sizing: border-box; }

body {
  margin: 0;
  background-color: #fff;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  color: #313131; }

.html-book {
  padding-top: 3rem;
  padding-bottom: 1rem;
  margin: auto 0px;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  align-items: center; }
  .html-book:has(.container.top) {
    padding-top: 1rem; }

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  .container.max {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center; }

@media screen and (min-width: 375px) {
  .container {
    max-width: 80vw; }
    .landscape .container {
      max-width: 90vw; } }

@media screen and (min-width: 1200px) {
  .container {
    max-width: 80vw; } }

@media screen and (min-width: 1600px) {
  .container {
    max-width: 1200px; }
    .landscape .container {
      max-width: 80vw; } }

/*! CSS Used from: https://nodlik.github.io/StPageFlip/static/style.css */
.flipbook {
  box-shadow: none;
  display: none; }

.page {
  padding: 0px;
  background-color: #fff;
  overflow: hidden; }

.page .page-content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  position: relative; }

.page .page-content .page-image {
  height: 100%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat; }
  .page .page-content .page-image img {
    display: none; }

.page.--left {
  box-shadow: inset -7px 0 30px -7px rgba(0, 0, 0, 0.4), 0 0 20px 0 rgba(0, 0, 0, 0.3); }

.page.--right {
  border-left: 0;
  box-shadow: inset 7px 0 30px -7px rgba(0, 0, 0, 0.4), 0 0 20px 0 rgba(0, 0, 0, 0.3);
  clip-path: rect(-20px calc(100% + 20px) calc(100% + 20px) -20px); }

/* Zoom */
.zoom-result {
  position: absolute;
  z-index: 7;
  top: 0;
  left: 0;
  background: rgba(125, 125, 125, 0.5);
  visibility: hidden;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  transition: transform .2s;
  /* Animation */
  transform: scale(0.1);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); }
  .zoom-result_container {
    width: 100vw;
    height: 100vh;
    position: relative;
    text-align: center; }
    .zoom-result_container_img {
      overflow: auto;
      width: 100%;
      height: 100%; }
  .zoom-result img {
    cursor: zoom-out; }
  .zoom-result.active {
    visibility: visible;
    transform: scale(1); }
  .zoom-result .zoom-btn {
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #795198;
    transition: 0.4s;
    box-shadow: 4px 4px 33px rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    border: none;
    opacity: 0.5; }
    .zoom-result .zoom-btn:hover {
      opacity: 0.8; }
    .zoom-result .zoom-btn:disabled {
      display: none; }
    .zoom-result .zoom-btn:before {
      font-family: "Font Awesome 6 Free";
      font-weight: bold;
      font-size: 30px;
      color: #343434; }
    .zoom-result .zoom-btn.arrow-prev {
      top: 50vh;
      transform: translateY(-50%);
      left: 10px; }
      .zoom-result .zoom-btn.arrow-prev:before {
        content: '\f060'; }
    .zoom-result .zoom-btn.arrow-next {
      top: 50vh;
      transform: translateY(-50%);
      right: 10px; }
      .zoom-result .zoom-btn.arrow-next:before {
        content: '\f061'; }
    .zoom-result .zoom-btn.zoom-out {
      top: 10px;
      right: 10px; }
      .zoom-result .zoom-btn.zoom-out:before {
        content: '\f010'; }

/* Top action buttons */
.top-actions {
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: end;
  gap: 10px;
  position: absolute;
  right: 30px;
  top: 10px; }

.action {
  text-decoration: none;
  border: none;
  background: none;
  border-radius: 4px;
  padding: 5px;
  cursor: pointer;
  opacity: 0.8; }
  .action:hover {
    opacity: 1; }
  .action:before {
    font-family: "Font Awesome 6 Free";
    color: #343434;
    font-size: 22px;
    font-weight: bold; }
  .action.download:before {
    content: "\f019"; }
  .action.zoomin:before {
    content: "\f00e"; }
  .action.zoomout:before {
    content: "\f010"; }
  .action.thumbnail-nav:before {
    content: "\f152"; }
  .action.close:before {
    content: "\f2d3"; }
  .action[aria-expanded=true], .action[aria-pressed=true] {
    background-color: #343434; }
    .action[aria-expanded=true]:before, .action[aria-pressed=true]:before {
      color: #fff; }

/* Pagination */
.pagination {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center; }
  .pagination--bottom {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1); }
  .pagination--top {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
    @media (max-width: 576px) {
      .pagination--top {
        position: absolute;
        top: 50px;
        left: 50%;
        transform: translateX(-50%);
        background-color: #fff;
        padding: 5px 10px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        border-radius: 4px; } }
  .pagination button {
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    opacity: 0.8; }
    .pagination button:hover {
      opacity: 1; }
    .pagination button:disabled {
      opacity: 0.6 !important;
      cursor: auto; }
    .pagination button:before {
      font-family: "Font Awesome 6 Free";
      color: #343434;
      font-size: 22px;
      font-weight: bold; }
    .pagination button.first:before {
      content: "\f04a"; }
    .pagination button.prev:before {
      content: "\f0d9"; }
    .pagination button.next:before {
      content: "\f0da"; }
    .pagination button.last:before {
      content: "\f04e"; }

/* Thumbnail navigation */
.thumbnails {
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5; }
  .thumbnails-inner {
    position: relative;
    height: 100%; }
  .thumbnails nav {
    box-shadow: 8px 0 32px -5px #666;
    transition: 0.3s all ease-in-out;
    transform: translateX(-100%);
    visibility: hidden;
    background-color: #efefef;
    height: 100%;
    overflow: auto;
    scrollbar-width: thin;
    width: 0px; }
    .thumbnails nav ul {
      list-style: none;
      marging: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px; }
      .thumbnails nav ul .thumbnail {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 5px 0; }
        .thumbnails nav ul .thumbnail[aria-current=true] {
          background-color: #ddd; }
        .thumbnails nav ul .thumbnail button {
          border: 1px solid #c2c2c2;
          width: 152px;
          height: 152px;
          margin: 0;
          padding: 0;
          background-color: #fff;
          border-radius: 6px; }
        .thumbnails nav ul .thumbnail span {
          font-size: 0.9em; }
  .thumbnails .toggle-nav {
    text-decoration: none;
    border: none;
    background: none;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.8;
    position: absolute;
    right: -45px;
    top: 10px; }
    .thumbnails .toggle-nav:hover {
      opacity: 1; }
    .thumbnails .toggle-nav:before {
      font-family: "Font Awesome 6 Free";
      color: #343434;
      font-size: 28px;
      font-weight: bold;
      content: '\f152'; }
  .thumbnails.open nav {
    visibility: visible;
    width: 200px;
    transform: initial; }
  .thumbnails.open .toggle-nav:before {
    content: '\f191'; }
/*# sourceMappingURL=magazine.scss.map */
