* {
  box-sizing: border-box;
}

body {
  background: #eee;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 16px;
  background-color:#d8d8d8;
  margin: 0;
  padding: 0;
}

/* ................................................ swiper gallery .......................................................... */

.swiper {
  width: 600px;
  min-width: 300px;
  height: auto;
  padding-bottom: 15px;
}

.swiper-slide-img {
  height: auto;
  width: 100%;
  border: 0;  /* move next and prev buttons off img */ 
  min-height: 353px;
  
}

.swiper-slide-img:hover {
  cursor: pointer;
}

.gallery-thumbs .swiper-slide img:hover, .swiper-slide img:hover  {
    cursor: pointer;
 
}

.swiper-pagination {
  background-color: #d8d8d8;
  padding: 10px;
}

.swiper-button-prev {
  position: absolute;
  transform: translateX(-40%);
  color: black;
}

.swiper-button-prev:focus {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.swiper-button-next {
  position: absolute;
  transform: translateX(40%);
  color: black;
  font-weight: 900;
}

.swiper-button-next:focus {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.swiper-pagination {
  background: linear-gradient(to bottom right, #c2c2f0, #8585e0);
  border-radius: 10px;
}

/*active pagination*/
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgb(255, 255, 255);
}

/*other pagination*/
.swiper-pagination .swiper-pagination-bullet {
  height: 15px;
  width: 15px;
}

.swiper-pagination .swiper-pagination-bullet:hover {
  transform: scale(1.2);
  transition: all 0.5s;
}

.swiper-pagination .swiper-pagination-bullet:focus {
    outline: none;
    background-color: rgb(255, 255, 255);
    -webkit-tap-highlight-color: rgb(248, 248, 248);
}

.minimum-height { 
    min-height: 257px;

    @include small-screen {
        min-height: calc((0.3002 * 100vw) + 21.49px);
    }
}

/* ................................................ thumbs .......................................................... */

.gallery-thumbs {
    padding: 0;
    margin-top: 0;
    margin-bottom: 40px;
}

.gallery-thumbs .swiper-slide {
    width: 25%;
    opacity: 0.8    ;
}

.gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
}
  
.gallery-thumbs .swiper-slide img {
    width: 100%;
    height: 70px;
    min-height: 40px;
    object-fit: cover;
}



/* ................................................ modal .......................................................... */
.modal {
  display:none;
  position: fixed;
  z-index: 2;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100vw;
}

.modal-content {
  background-color: rgb(0, 0, 0);
  padding: 0;
  height: 100%;
  width: 100%;
  min-width: 300px;
  animation-name: modalOpen;
  animation-duration: 1s;
}

.closeBtn {
  position: absolute;  /* removed from normal flow of doc, positioned relative to its nearest ancestor (modal content)*/
  z-index: 4;
  color:white;
  right: 5px;
  font-size: 30px;
}

 .closeBtn:hover,.closeBtn:focus {
  color: rgb(114, 114, 114);
  text-decoration: none;
  cursor: pointer;
}

@keyframes modalOpen {
  from{opacity: 0}
  to {opacity: 1}
}

/* ............................................. modal swiper gallery ....................................................... */
/* used ids higher specificity to override gallery styles */

#swiper-container-modal {
  z-index:3;
  width:100%;
  height:100%;
  overflow:hidden;
  padding:0;
  border:0;
}

#swiper-pagination-modal {
  display:none; /* if pagination not included in modal... index.html pagination buttons dnt change (black for active slide)*/
}

#swiper-button-next-modal {
  transform:translateX(-40%);
  color: white;
}

#swiper-button-prev-modal {
  transform:translateX(40%);
  color: white;
}

.swiper-slide-modal {
  height: 100vh;
}

.swiper-lazy-modal {
  object-fit: contain;
  border:0;  
}
/* ............................................. responsiveness ....................................................... */
@media all and (max-width: 520px) {
  .swiper {
    width: calc(100vw - 20px);
  }

  .swiper-button-next:after {
    font-size: 20px !important;
    transform:translateX(60%);
  }
  
  

  .swiper-button-prev:after {
    font-size: 20px !important;
    transform:translateX(-60%);
  }

  #swiper-button-next-modal {
    font-size: 20px !important;
    transform:translateX(20%);
  }
  
  #swiper-button-prev-modal {
    font-size: 20px !important;
    transform:translateX(-20%);
  }

  .swiper-pagination {
    padding: 4px;
  }

  .swiper-slide-img {
    width: calc(100vw-32px);
    height: auto;
    border: 16px solid #d8d8d8;  /* move next and prev buttons off img */ 
    min-height: calc((0.5338 * 100vw) + 48.476px); 
  }

  .swiper-pagination .swiper-pagination-bullet {
    height: 12px;
    width: 12px;
  }

.gallery-thumbs .swiper-slide img {
        height: 14vw;
    }

}


@media all and (max-width: 360px) {
  .swiper-slide-img {
    border: 1px solid #d8d8d8; 
  }
}