div.photo-grid-wrapper {
  width: 100%;
  display: block;
  overflow: auto;
}

.photo-grid-wrapper .photo-grid-box {
  /*display: inline-block;*/
  vertical-align: top;
  float: left;
  margin: 0;
  padding: 0;
  
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  
  height: 500px; /*Use 'tall' height by default*/
  
  position: relative;
  transition: 300mx ease all;
  overflow: hidden;
}

.photo-grid-wrapper .photo-grid-box img {
  transition: 300mx ease all;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.photo-grid-wrapper .photo-grid-box:hover img {
  transform: scale(1.1);
  cursor: pointer;
}

.photo-grid-wrapper .photo-grid-box .caption {
  position: absolute;
  background: linear-gradient(to bottom, transparent, black);
  width: 100%;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  font-size: 18px;
  line-height: 24px;
  right: 0;
  padding: 60px 0px 20px;
  margin: 0;
  font-family: 'Roboto Slab', serif;
  font-weight: normal;
  letter-spacing: 0.025em;
  color: white;
  text-align: center;
}

.photo-grid-wrapper .photo-grid-box .caption a {
  transition: 300ms ease all;
  text-decoration: none;
  color: white;
}

.photo-grid-wrapper .photo-grid-box .caption a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 660px) {
  .photo-grid-wrapper .photo-grid-box .caption {
    top: 50%;
    padding: 0; 
  } 
}

/*Override for margin-top rule in desktop.css*/
#main-content div.photo-grid-box {
  margin-top: 0;
}

/*Set box widths by row count*/
.photo-grid-wrapper div.photo-grid-box {
  width: 50%;
}

.photo-grid-wrapper.across-1 div.photo-grid-box {
  width: 100%;
}

@media (min-width: 661px) { 
  .photo-grid-wrapper.across-2 div.photo-grid-box {
    width: 50%;
  }

  .photo-grid-wrapper.across-3 div.photo-grid-box {
    width: 33%;
  }

  .photo-grid-wrapper.across-4 div.photo-grid-box {
    width: 25%;
  }

  .photo-grid-wrapper.across-5 div.photo-grid-box {
    width: 20%;
  }
}

/*Set box heights*/
/*Mobile all same height*/
.photo-grid-wrapper .photo-grid-box,
.photo-grid-wrapper.rowheight-tall .photo-grid-box,
.photo-grid-wrapper.rowheight-medium .photo-grid-box,
.photo-grid-wrapper.rowheight-short .photo-grid-box  {
  height: 160px;
}
  
@media only screen and (min-width: 661px) {
  .photo-grid-wrapper .photo-grid-box,
  .photo-grid-wrapper.rowheight-tall .photo-grid-box {
    height: 500px;
  }

  .photo-grid-wrapper.rowheight-medium .photo-grid-box {
    height: 350px;
  }

  .photo-grid-wrapper.rowheight-short .photo-grid-box {
    height: 200px;
  }
}

/*Override for homepage body padding - artifact of javascript footer flyouts we're removing*/
@media (max-width: 660px) {
  body {
      padding-bottom: 0;
  }
  
  .home footer {
    height: auto;
    position: relative;
  }
}