.pagination {
  display: block;
  width: 75%;
  margin: 1em auto;
  text-align: center;
  z-index: 0;
}

.pagination:after {
  content: "";
  clear: both;
}

.pagination-button {
  display: inline-block;
  margin: 0 10px;
  height: 10px;
  width: 10px;

  border-radius: 50%;
  background-color: white;

  font-size: 10px;
  color: white;

  cursor: pointer;

  transition: background 0.1s, color 0.1s;
}

.pagination-button:hover {
  background-color: var(--pink);
  color: white;
}

.pagination-button.active {
  background-color: var(--pink);
  border-color: var(--light-pink);
  color: var(--pink);
  opacity: 0;
}

.pagination-button:first-of-type,
.pagination-button:last-of-type {
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 47px;
  opacity: 0.7;
  font-size: 21px;
  background-color: var(--dark-pink);
  transition: opacity 0.3s;
}

.pagination-button:first-of-type:active:hover,
.pagination-button:last-of-type:active:hover {
  opacity: 1;
}

.pagination-button:first-of-type:hover,
.pagination-button:last-of-type:hover {
  opacity: 0.4;
}

.pagination-prev {
  padding-right: 5px;
}

.pagination-next {
  padding-left: 5px;
}

@media only screen and (max-width: 600px) {
  .pagination-button:first-of-type,
  .pagination-button:last-of-type {
    width: 30px;
    height: 30px;
    line-height: 36px;
    font-size: 16px;
  }

  .pagination-prev {
    padding-right: 4px;
  }

  .pagination-next {
    padding-left: 4px;
  }
}

@media only screen and (max-width: 600px),
  only screen and (min-width: 667px) and (max-width: 926px) and (min-height: 311px) and (max-height: 568px) and (orientation: landscape) {
  .pagination {
    margin: 0 20px;
    width: 50px;
  }

  .pagination .pagination-prev,
  .pagination .pagination-next {
    position: relative;
    visibility: hidden;
  }

  .pagination .pagination-prev:after,
  .pagination .pagination-next:after {
    visibility: visible;
    position: absolute;
    top: 0;
    left: 0;

    width: 40px;
    height: 40px;

    font-size: 21px;
    text-align: center;

    border-radius: 50%;
    background-color: var(--dark-pink);

    opacity: 0.7;
    transition: opacity 0.3s;
  }

  .pagination .pagination-prev:after {
    line-height: 41px;
    content: "ᐱ";
  }

  .pagination .pagination-next:after {
    line-height: 47px;
    content: "ᐯ";
  }
}
