.masonry {
  columns: 4;
  column-gap: 16px;
}
@media (max-width: 1200px) {
  .masonry {
    columns: 3;
  }
}
@media (max-width: 992px) {
  .masonry {
    columns: 2;
  }
}
.masonry .grid {
  display: inline-block;
  margin-bottom: 16px;
  position: relative;
}
.masonry .grid:before {
  border-radius: 5px;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.masonry .grid img {
  width: 100%;
  border-radius: 5px;
}
.masonry .grid__title {
  font-size: 28px;
  font-weight: bold;
  margin: 0px 0px 0px -20px;
}
.masonry .grid__author {
  font-size: 14px;
  font-weight: 300;
  margin: 0px 0px 0px -20px;    
}
.masonry .grid__link {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.masonry .grid__body {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 30px 30px;
  color: #fff;
  display: flex;
  flex-direction: column;
}
.masonry .grid__tag {
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
  border-radius: 5px;
  padding: 5px 15px;
  margin: 0px 0px 5px -20px;  
}

.mt-auto {
  margin-top: auto;
}
.copyright {margin-top: 5em;text-align: center;}

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2) {
      
      .masonry .grid__title {
        font-size: 18px;
        font-weight: bold;
        margin: 0px 0px 0px -20px;}
      
      .masonry .grid__author {
        font-size: 14px;
        font-weight: 300;
        margin: 0px 0px 0px -20px;}

}