.book {
  position: relative;
  width: 100%;
  height: 100%;

  &.with-summary {
    @media (min-width: @sidebar-breakpoint) {
      .book-body {
        left: @sidebar-width;
      }
    }

    @media (max-width: @sidebar-breakpoint) {
      overflow: hidden;

      .book-body {
        .translate(~"calc(100% - 60px)", 0px);
      }
    }
  }

  &.without-animation {
    .book-body {
      .transition(none) !important;
    }
  }

  &.color-theme-1 {
    background: @body-background-1;

    .book-body {
      color: @page-color-1;
      background: @body-background-1;

      .page-wrapper {
        .page-inner {
          section {
            background: @page-background-1;
          }

          section.normal {
            color: @page-color-1;

            a {
              color: @page-link-color-1;
            }

            h1,
            h2,
            h3,
            h4,
            h5,
            h6 {
              color: @page-heading-color-1;
            }

            h1,
            h2 {
              border-color: @page-heading-border-color-1;
            }

            h6 {
              color: @page-h6-color-1;
            }

            hr {
              background-color: @page-hr-color-1;
            }

            blockquote {
              border-color: @page-blockquote-border-color-1;
            }

            pre,
            code {
              background: @page-pre-background-1;
              color: @page-pre-color-1;
              border-color: @page-pre-border-color-1;
            }

            .highlight {
              background-color: @page-highlight-background-1;
            }

            table {

              th,
              td {
                border-color: @page-table-header-border-color-1;
              }

              tr {
                color: @page-table-row-color-1;
                background-color: @page-table-row-background-1;
                border-color: @page-table-row-border-color-1;
              }

              tr:nth-child(2n) {
                background-color: @page-table-row-odd-background-1;
              }
            }
          }
        }
      }
    }
  }

  &.color-theme-2 {
    background: @body-background-2;

    .book-body {
      color: @page-color-2;
      background: @body-background-2;

      .page-wrapper {
        .page-inner {
          section {
            background: @page-background-2;
          }

          section.normal {
            color: @page-color-2;

            a {
              color: @page-link-color-2;
            }

            h1,
            h2,
            h3,
            h4,
            h5,
            h6 {
              color: @page-heading-color-2;
            }

            h1,
            h2 {
              border-color: @page-heading-border-color-2;
            }

            h6 {
              color: @page-h6-color-2;
            }

            hr {
              background-color: @page-hr-color-2;
            }

            blockquote {
              border-color: @page-blockquote-border-color-2;
            }

            pre,
            code {
              color: @page-pre-color-2;
              background: @page-pre-background-2;
              border-color: @page-pre-border-color-2;
            }

            .highlight {
              background-color: @page-highlight-background-2;
            }

            table {

              th,
              td {
                border-color: @page-table-header-border-color-2;
              }

              tr {
                color: @page-table-row-color-2;
                background-color: @page-table-row-background-2;
                border-color: @page-table-row-border-color-2;
              }

              tr:nth-child(2n) {
                background-color: @page-table-row-odd-background-2;
              }
            }
          }
        }
      }
    }
  }

  &.font-size-0 {
    .book-body .page-inner section {
      font-size: @s-font-size;
    }
  }

  &.font-size-1 {
    .book-body .page-inner section {
      font-size: @m-font-size;
    }
  }

  &.font-size-2 {
    .book-body .page-inner section {
      font-size: @l-font-size;
    }
  }

  &.font-size-3 {
    .book-body .page-inner section {
      font-size: @xl-font-size;
    }
  }

  &.font-size-4 {
    .book-body .page-inner section {
      font-size: @xxl-font-size;
    }
  }

  &.font-family-0 {
    font-family: @font-family-serif;
  }

  &.font-family-1 {
    font-family: @font-family-sans;
  }

  &.font-family-2 {
    font-family: @font-family-ant;
  }

  &.font-family-3 {
    font-family: @font-family-ym;
  }
}

.book-body {
  position: absolute;
  top: 0px;
  right: 0px;
  left: 0px;
  bottom: 0px;
  overflow-y: auto;

  color: @page-color;
  background: @body-background;
  .transition(left @sidebar-transition-duration ease);

  .body-inner {
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    bottom: 0px;
    overflow-y: auto;
  }

  @media (max-width: @mobileMaxWidth) {
    .transition-transform(@sidebar-transition-duration ease);
    padding-bottom: 20px;

    .body-inner {
      position: static;
      min-height: calc(~"100% - 50px")
    }
  }
}

.page-footer {
  margin-top: 2em;
  border-top: 0.1em solid #ccc;
  overflow: hidden;
  padding: 1em 0;
  font-size: 0.8em;
  color: #808080;
}

.footer-modification {
  float: right;
}