* {
  box-sizing: border-box;
}
.row {
  max-width: 1000px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}

/* Clearfix */
.row::before,
.row::after {
  display: table;
  content: '';
}

.row::after {
  clear: both;
}

.col-3, .col-4, .col-6, .col-12 {
  float: left;
  padding-left: 1.04166666%;
  padding-right: 1.04166666%;
}

.col-3, .col-4, .col-6, .col-12 {
  width: 100%;
}

@media only screen and (min-width: 640px) {
  .col-3 {
    width: 25%;
  }

  .col-4 {
    width: 33.333333%;
  }

  .col-6 {
    width: 50%;
  }

  .col-12 {
    width: 100%;
  }
  
  .row {
    display: flex;
    flex-flow: row wrap-reverse;
  }
}

@media only screen and (max-width: 640px) {
  .row {
    display: flex;
    flex-flow: row wrap-reverse;
  }
}