body, html {
    margin: 0;
    padding: 0;
    background: #000;
    font: 10px/13px 'Lucida Sans',sans-serif;
  }
  .box {
    float: left;
    position: relative;
    width: 25%;
    padding-bottom: 25%;
  }
  .boxInner {
    position: absolute;
    left: 1px;
    right: 1px;
    top: 1px;
    bottom: 1px;
    overflow: hidden;
  }
  .boxInner img {
    width: 100%;
  }
  .boxInner .titleBox {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: -50px;
    background: #000;
    background: rgba(0, 0, 0, 0.5);
    color: #FFF;
    padding: 10px;
    text-align: center;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  body.no-touch .boxInner:hover .titleBox, body.touch .boxInner.touchFocus .titleBox {
    margin-bottom: 0;
  }
  a.dataurl:link, a.dataurl:visited, a.dataurl:hover, a.dataurl:active  {
      color:#ccc;
      font-size:1.25em;
      text-decoration: none;
  }
  #image-modal {
    background:#000000; 
    max-width:75%; 
    height:auto; 
    text-align:center;
  }
  @media only screen and (max-width : 480px) {
    /* Smartphone view: 1 tile */
    .box {
      width: 50%;
      padding-bottom: 50%;
    }
  }
  @media only screen and (max-width : 650px) and (min-width : 481px) {
    /* Tablet view: 2 tiles */
    .box {
      width: 50%;
      padding-bottom: 50%;
    }
  }
  @media only screen and (max-width : 1050px) and (min-width : 651px) {
    /* Small desktop / ipad view: 3 tiles */
    .box {
      width: 33.3%;
      padding-bottom: 33.3%;
    }
  }
  @media only screen and (max-width : 1290px) and (min-width : 1051px) {
    /* Medium desktop: 4 tiles */
    .box {
      width: 25%;
      padding-bottom: 25%;
    }
  }