body {
  --title-color: #474239;
  --text-color: #6B6A68;
  --background-color: #EAE6DF;
  --border-color: var(--text-color);
  --link-text-color: var(--text-color);
  --link-text-color-hover: #B9AB95;
  --caption-text-color: var(--text-color);
  --caption-background-color: #F3F1ED;
  --hamburger-background-color: #474239;
  --hamburger-text-color: #cac8c5;
  --hamburger-background-color-hover: var(--text-color);
  --hamburger-text-color-hover: white;

  font-family: Open Sans;
  margin: 0;
  background-color: var(--background-color);
}

.main {
  padding: 50px 10px;
}

h1 {
  color: var(--title-color);
  font-family: Dancing Script;
}

h1 a, h1 a:visited {
  color: var(--title-color);
  text-decoration: none;
}

h1 a:hover {
  color: var(--link-text-color-hover);
}

.page-description {
    font-size: 16px;
    margin-bottom: 50px;
    color: var(--text-color);
}

.page-description a {
  color: var(--text-color);
}

.page-description a:visited {
  color: inherit;
}

.page-description a:hover {
  color: var(--link-text-color-hover);
}

.title {
    font-family: Open Sans;
    font-size: 20px;
    font-weight: 600;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 5px 10px;
    margin-bottom: 20px;
    background-color: var(--caption-background-color);
    color: var(--text-color);
    text-align: center;
}

@media only screen and (min-width: 800px) {
    .gallery {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

.gallery {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 30px;
}

.gallery.tangle {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

.gallery.tangle .gallery-item {
  padding: 9%;
  background-color: var(--caption-background-color);
  border: 15px solid #404040;
  border-radius: 3px;
  box-shadow: 0 4px 13px 0px rgba(67,62,54,0.75);
  -webkit-box-shadow: 0 4px 13px 0px rgba(67,62,54,0.75);
  -moz-box-shadow: 0 4px 13px 0px rgba(67,62,54,0.75);
  position: relative;
}

.gallery .gallery-item .image img {
  max-width: 100%;
  object-fit: contain;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}

.gallery.tangle .gallery-item .image img {
  max-width: 100%;
  object-fit: contain;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
  border-top: 1px solid gray;
  border-left: 1px solid gray;
  border-bottom: 1px solid white;
  border-right: 1px solid white;
}

.gallery .gallery-item .image img:hover {
  opacity: 0.7;
}

.gallery .gallery-item .text {
  font-family: Open Sans;
  font-size: 14px;
  font-style: italic;
  text-align: center;
}

.gallery.tangle .gallery-item .text {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-style: italic;
  text-align: right;
  font-size: 12px;
}

.modal {
  display: none;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.9);
}

.modal .modal-content {
  margin: auto;
  display: block;
  width: 100%;
  max-width: calc(min(1000px, 100vmin));
  max-height: calc(min(1000px, 100vmin));
  animation-name: zoom;
  animation-duration: 0.6s;
  cursor: pointer;
}

@keyframes zoom {
  from {transform:scale(0)}
  to {transform:scale(1)}
}

