div.gallery {
  border: 1px solid #ccc; padding:0px;
}

div.gallery:hover {
  border: 1px solid #777;
}

div.gallery img {
  width: 100%;
  height: auto;
}

div.desc {
  padding-top: 5px;  padding-bottom: 5px;
  padding-left: 10px;  padding-right:10px;
  height: 70px;   /* ###################### */
  text-align: left;
  font-family:"Arial","Helvetica","sans-serif";
  font-size:10pt; line-height:1.2;
}

div.desc2 {
  padding-top: 5px;  padding-bottom: 5px;
  padding-left: 10px;  padding-right:10px;
  height: 28px;   /* ###################### */
  text-align: left;
  font-family:"Arial","Helvetica","sans-serif";
  font-size:10pt; line-height:1.2;
}

* {
  box-sizing: border-box;
}

/* For 4 images in a row on big screen */
.responsive {
  padding: 0 6px;
  float: left;
  /* width: 23.5%;     /* ########################## */
  width: 24.99999%;
}
@media only screen and (max-width: 700px) {
  .responsive {
    width: 49.99999%;
    margin: 6px 0;
  }
}
@media only screen and (max-width: 500px) {
  .responsive {
    width: 100%;
  }
}

/* For 3 images in a row on big screen */
.responsive2 {
  padding: 0 6px;
  float: left;
  /* width: 23.5%;     /* ########################## */
  width: 33.33333%;
}
@media only screen and (max-width: 700px) {
  .responsive2 {
    width: 49.99999%;
    margin: 6px 0;
  }
}
@media only screen and (max-width: 500px) {
  .responsive2 {
    width: 100%;
  }
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

