.gallery {
  width: 75vw;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (max-width: 950px) {
  .gallery {
    width: 84vw;
  }
}
.gallery-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 100px;
}
.gallery-item {
  width: 32.5%;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  cursor: pointer;
  -webkit-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.gallery-item.-hide {
  opacity: 0;
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
}
.gallery-item::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  display: block;
}
.gallery-item img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.4s all ease-out;
  -o-transition: 0.4s all ease-out;
  transition: 0.4s all ease-out;
}
.gallery-item.-nophoto {
  cursor: default;
  margin-bottom: 0;
}
.gallery-item.-nophoto::before {
  display: none;
}
@media screen and (min-width: 951px) {
  .gallery-item:hover img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media screen and (min-width: 1901px) {
  .gallery-item {
    width: 24%;
  }
}
@media screen and (max-width: 1260px) {
  .gallery-item {
    width: 48.5%;
  }
}
@media screen and (max-width: 950px) {
  .gallery-item {
    width: 100%;
    cursor: default;
    margin-bottom: 25px;
  }
  .gallery-item::before {
    display: none;
  }
  .gallery-item img {
    position: relative;
    height: auto;
  }
}
.gallery-more {
  position: relative;
  height: 73px;
  background: #be9066;
  border-radius: 14px 14px;
  margin-bottom: 100px;
  cursor: pointer;
  -webkit-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
}
.gallery-more.-hide {
  opacity: 0;
}
.gallery-more__arrow {
  font-size: 0;
  position: absolute;
  width: 13px;
  height: 8px;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(98px) translateY(-50%);
      -ms-transform: translateX(98px) translateY(-50%);
          transform: translateX(98px) translateY(-50%);
}
.gallery-more__arrow img {
  width: 8px;
  height: 13px;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 751px) {
  .gallery-more:hover {
    background: #b28d99;
  }
}
.gallery-more > span {
  font-size: 20px;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -48%);
      -ms-transform: translate(-50%, -48%);
          transform: translate(-50%, -48%);
}
.gallery-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1111;
  -webkit-transition: 0.4s all ease-out;
  -o-transition: 0.4s all ease-out;
  transition: 0.4s all ease-out;
}
.gallery-modal.-hide {
  pointer-events: none;
  opacity: 0;
}
.gallery-modal__close {
  position: absolute;
  top: 70px;
  right: 50px;
  width: 73px;
  height: 48px;
  cursor: pointer;
}
.gallery-modal__close::before {
  content: "";
  width: 100%;
  height: 3px;
  background: #b28d99;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: rotate(25deg);
      -ms-transform: rotate(25deg);
          transform: rotate(25deg);
  -webkit-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
}
.gallery-modal__close::after {
  content: "";
  width: 100%;
  height: 3px;
  background: #b28d99;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: rotate(-25deg);
      -ms-transform: rotate(-25deg);
          transform: rotate(-25deg);
  -webkit-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
}
.gallery-modal__close:hover::before {
  -webkit-transform: rotate(15deg);
      -ms-transform: rotate(15deg);
          transform: rotate(15deg);
}
.gallery-modal__close:hover::after {
  -webkit-transform: rotate(-15deg);
      -ms-transform: rotate(-15deg);
          transform: rotate(-15deg);
}
.gallery-modal__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #f8f7f1;
}
.gallery-modal__main {
  width: 75vw;
  height: 79vh;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.gallery-modal__slide {
  width: 59.375vw;
  height: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.gallery-modal__item {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
}
.gallery-modal__item.-current {
  left: 0;
}
.gallery-modal__item img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
.gallery-modal__nav {
  width: 43px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
.gallery-modal__nav.-l {
  left: 0;
}
.gallery-modal__nav.-r {
  right: 0;
  -webkit-transform: scale(-1, 1) translateY(-50%);
      -ms-transform: scale(-1, 1) translateY(-50%);
          transform: scale(-1, 1) translateY(-50%);
}
.gallery-modal__nav img {
  position: relative;
  left: 0;
  -webkit-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
}
.gallery-modal__nav:hover img {
  left: -8px;
}