/* TODO: fix responsive view on small devices */

* {
  margin: 0;
  padding: 0;
}

body {
  font-family: monospace;
  font-size: 1rem;
  background: #000;
  /*background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="0 0 4 4"%3E%3Cpath fill="%239C92AC" fill-opacity="0.4" d="M1 3h1v1H1V3zm2-2h1v1H3V1z"%3E%3C/path%3E%3C/svg%3E');*/
}

.prev, .next {
  position: fixed;
  top: 0;
  width: 10%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  z-index: 999;
  color: rgba(255,255,255,.5);
  font-size: 2rem;
  font-family: monospace;
  transition: all .2s;
}

.prev:hover, .next:hover {
  color: rgba(255,255,255,.8);
}

.prev {
  left: -25%;
}

.next {
  right: -25%;
}

.active .prev {
  left: 0;
}

.active .next {
  right: 0;
}

.container-model {
  margin: 10vh auto;
  max-width: 80%;
  display: grid;
  grid-gap: 5px;
  grid-template-columns: repeat(auto-fill, minmax(25vw, 1fr));
  grid-auto-rows: 25vw;
  grid-auto-flow: dense;
}

.div-model {
  text-align: center;
  padding: 1rem 0;
  color: white;
  font-size: 3rem;
  text-transform: uppercase;
  background: rgba(0,0,0,.2);
  overflow: hidden;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.div-model img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: all 2s;
}

.div-model.show::before {
  content: '';
  display: block;
  position: fixed;
  z-index: 555;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0,0,0,.6);
}

.div-model.show img {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 80px;
  margin-left: 30px;
  align-self: center;
  object-fit: contain;
  z-index: 666;
  width: calc(100% - 60px);
  height: calc(100% - 60px);
  filter: drop-shadow(0 3px 15px black);
  cursor: url(close-button.png), grab;
  /*background-color: #000;*/
  margin-bottom: 20px;
  margin-right: 20px;
}

.div-model:not(.show):hover img {
  cursor: pointer;
  transform: scale(1.3);
}

.horizontal {
  grid-column: span 2;
}

.vertical {
  grid-row: span 2;
  /*grid-column: span 2;*/
}

.big {
  grid-column: span 2;
  grid-row: span 2;
}

.active div:not(.show) img {
  filter: blur(3px);
}

.portraitText {
  color: gray;
  font-family: 'Montserrat';
  font-size: 2.25vh;
  text-align: center;
  margin-left: 5vw;
  margin-right: 5vw;
  text-align: justify;
  letter-spacing: 0.08vw;
}

.portraitTitle {
  color: #C0C0C0;
  font-family: 'Montserrat';
  font-size: 4vh;
  text-align: center;
  letter-spacing: 0.5vw;
}

::-webkit-scrollbar {
  width: 8px;
}

/* Track */

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 0px;
}

::-webkit-scrollbar-thumb {
  background: #999DA0;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #828282;
}

