/* === Grid System === */
*, p {
  padding: 0;
  margin: 0;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

[class*=col-] {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* === Default Columns === */
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

/* === XL (max-width: 1399px) === */
@media only screen and (max-width: 1399px) {
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
/* === LG (max-width: 1199px) === */
@media only screen and (max-width: 1199px) {
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
/* === MD (max-width: 991px) === */
@media only screen and (max-width: 991px) {
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
/* === SM (max-width: 767px) === */
@media only screen and (max-width: 767px) {
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}