  .section{
    overflow: hidden;
    /*padding: .5em 0;*/
    padding: 5%;
    box-sizing: border-box;
  }
  .section + .section{
    /*padding: 2.5% 5%;*/
  }

  div.section.cover{
    width: 100%;
    height: 100%;
  }

  div.section.cover img.cover{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
  }

  div.section.cover div.row{
    top: 50%;
    transform: translateY(-50%);
  }

  .row{
    overflow: hidden;
    width: 100%;
    padding:0 .5em;
    box-sizing: border-box;
    position: relative;
  }

  .row.span-1-4{
    width: 25%;
    float: left;
    padding: 0;
  }

  .row.span-1-2,
  .row.span-2-4
  {
    width: 50%;
    float: left;
    padding: 0;
  }

  .row.span-3-4{
    width: 75%;
    float: left;
    padding: 0;
  }

  .column.reverse,
  .row.span-1-4.reverse,
  .row.span-3-4.reverse{
    float: right;
  }

  .column{
    border: solid .5em transparent;
    background-clip: padding-box;
    box-sizing: border-box;
    float: left;
    width: 25%;
    padding: 1em;
  }

  .column.fill{
    padding: 0;
  }

  .column .fill{
    margin-left: -1em;
    margin-right: -1em;
    display: block;
  }

  .column .background.fill{
    margin-left: -1em;
    margin-right: -1em;
    padding-left: 1em;
    padding-right: 1em;
  }

  .column .fill:first-child{
    margin-top: -1em;
    padding-top: 1em;
  }

  .column .fill:first-child img{
    margin-top: -1em;
    /*margin-bottom: -1em;*/
  }

  .column .fill:last-child{
    margin-bottom: -1em;
    /*padding-bottom: 1em;*/
  }

  .column.span-2{
    width: 50%;
  }

  .column.span-3{
    width: 75%;
  }

  .column.span-4{
    width: 100%;
  }

  .row.span-1-4 .column{
    width: 100%;
  }

  .row.span-1-2 > .column,
  .row.span-2-4 > .column
  {
    width: 50%;
  }

  .row.span-3-4 > .column{
    width: 33.33%;
  }

  .row.span-1-2 > .column.span-2,
  .row.span-2-4 > .column.span-2
  {
    width: 100%;
  }

  .row.span-3-4 > .column.span-2{
    width: 66.66%;
  }

  .row.span-3-4 > .column.span-3{
    width: 100%;
  }

  @media screen and (max-width:60em) {
    .row.span-1-2 .column,
    .row.span-2-4 .column
    {
      width: 100%;
    }

    .row.span-3-4 .column{
      width: 50%;
    }
    .row.span-3-4 .column.span-2{
      width: 100%;
    }
    .row.span-3-4 .column.span-3{
      width: 100%;
    }
    .row.span-1-4{
      width: 33.33%;
    }
    .row.span-3-4{
      width: 66.66%;
    }
  }

  @media screen and (max-width:50em) {
    .section{
      padding: 2em;
    }
    .row.span-3-4 .column{
      width: 100%;
    }
    .row.span-1-4{
      width: 50%;
    }
    .row.span-3-4{
      width: 50%;
    }
  }

  @media screen and (max-width:40em) {
    .section{
      padding: 0;
    }
    .row.span-1-4,
    .row.span-1-2,
    .row.span-2-4

    {
      width: 100%;
    }
    .row.span-3-4{
      width: 100%;
    }
    .row .column{
      width: 100%;
    }
  }

  /*.row.span-3-4 .column:nth-of-type(3n+1){
    clear: left;
  }

  .row.span-3-4 .column.span-2 ~ .column:nth-of-type(3n+1){
    clear: none;
  }

  .row.span-3-4 .column.span-2 ~ .column:nth-of-type(3n){
    clear: left;
  }*/


  @media screen and (max-width:40em) {
    .column{
      width: 50%;
      display: block;
    }
  }
  @media screen and (max-width:30em) {
    .column{
      width: 100%;
      display: block;
    }
  }