body{
  margin: 20px;
  padding: 0;
  text-align: center;
  font-family: Lato, Helvetica, sans-serif;
  line-height: 2rem;
  color:#212121
}
main {
  max-width: 1024px;
  margin: auto;
  text-align: left;
}

footer {
  width: 100%;
  text-align: center;
  line-height: 2rem;
  margin: 1rem 0;
  clear: both;
}
footer a {
  color: #3a8222;
  font-size: 2rem;
}

figure.about {
  margin: 0 0 3em 3em;
  float: right;
}
figure.about img {
  border-radius: 50%;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  grid-auto-rows: 100px;
  grid-gap: 20px;
  grid-auto-flow: dense;
  max-width: 1024px;
  text-align: center;
  margin: auto;
}

.gallery-container {
  grid-column: span 2;
  grid-row: span 2;
}

.gallery-item{
  background-color: #3a8222;
  width:100%;
  height:100%;
  position:relative;
}

.gallery-item .image{
  width:100%;
  height:100%;
  overflow:hidden;
}

.gallery-item .image img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position:50% 50%;
  cursor:pointer;
  transition:.2s ease-in-out;
}
.gallery-item:hover .image img{
  opacity: .7;
}


@media only screen and (max-device-width: 768px) {
  .gallery {
      grid-template-columns: repeat(2,2fr);
  }
  .gallery-container {
    grid-column: span 1;
    grid-row: span 2;
  }
}

/*  */
.list ul {
  margin: 3.2rem 0;
  list-style: none;
  padding:0
}

.list ul li {
  font-size:1.8rem
}

.navigation {
  height: 130px;
  width:100%;
  line-height: 130px;
  max-width: 1024px;
  margin: auto;
  padding: 8px 0;
}

.navigation a, .navigation span {
  display: inline;
  font-size: 1rem;
  font-family: Lato, Helvetica, sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  text-align: none;
  font-weight: 100;
  line-height: 6rem;
  color:#212121
}

.navigation a:hover, .navigation a:focus, .navigation a.active {
  color:#3a8222
}

.navigation .navigation-title {
  letter-spacing: .1rem;
  text-transform: uppercase;
  float: left;
  font-size: 1.6rem;
  line-height: 10rem;
}

.navigation-title img {
  display: block;
  max-width: 440px;
}

.navigation .navigation-list {
  float: right;
  list-style: none;
  margin-bottom: 0;
  margin-top:0
}

@media only screen and (max-device-width: 768px) {
  .navigation .navigation-list {
      position: absolute;
      top: 6rem;
      right: 0;
      z-index: 5;
      visibility: hidden;
      opacity: 0;
      padding: 0;
      max-height: 0;
      width: 100%;
      background-color: #fafafa;
      border-top: solid 2px #e0e0e0;
      border-bottom: solid 2px #e0e0e0;
      transition:opacity .25s, max-height .15s linear
  }
}

.navigation .navigation-list .navigation-item {
  float: left;
  margin: 0;
  position:relative
}

@media only screen and (max-device-width: 768px) {
  .navigation .navigation-list .navigation-item {
      float: none !important;
      text-align:center
  }

  .navigation .navigation-list .navigation-item a, .navigation .navigation-list .navigation-item span {
      line-height:5rem
  }
}

.navigation .navigation-list .navigation-item a, .navigation .navigation-list .navigation-item span {
  margin-left: 1rem;
  margin-right:1rem
}

@media only screen and (max-device-width: 768px) {
  .navigation .navigation-list .menu-separator {
      border-top: 2px solid #212121;
      margin:0 8rem
  }

  .navigation .navigation-list .menu-separator span {
      display:none
  }
}

.navigation #menu-toggle {
  display:none
}

@media only screen and (max-device-width: 768px) {
  .navigation #menu-toggle:checked + label {
      color:#e0e0e0
  }

  .navigation #menu-toggle:checked + label + ul {
      visibility: visible;
      opacity: 1;
      max-height:100rem
  }
}

.navigation .menu-button {
  display:none
}

@media only screen and (max-device-width: 768px) {
  .navigation .menu-button {
      display: block;
      font-size: 2.4rem;
      font-weight: 400;
      line-height: 6rem;
      color: #212121;
      cursor:pointer
  }

  .navigation .menu-button:hover, .navigation .menu-button:focus {
      color:#1565c0
  }
}