/* Reset and base styles */
body,
html {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  left: 0;
  top: 0;
  font-size: 100%;
}

* {
  font-family: Lato, Helvetica, sans-serif;
  color: #333447;
  line-height: 1.5;
}

/* Typography */
h1 {
  font-size: 2.5rem;
}
h2 {
  font-size: 2rem;
}
h3 {
  font-size: 1.375rem;
}
h4 {
  font-size: 1.125rem;
}
h5 {
  font-size: 1rem;
}
h6 {
  font-size: 0.875rem;
}
p {
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.8;
}

.font-light {
  font-weight: 300;
}
.font-regular {
  font-weight: 400;
}
.font-heavy {
  font-weight: 700;
}

/* Alignment */
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.justify {
  text-align: justify;
}

/* Grid system */
.container {
  width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.row {
  position: relative;
  width: 100%;
}

.row [class^='col'] {
  float: left;
  margin: 0.5rem 2%;
  min-height: 0.125rem;
}

.row::after {
  content: '';
  display: table;
  clear: both;
}

/* Column widths */
.col-1 {
  width: 4.33%;
}
.col-2 {
  width: 12.66%;
}
.col-3 {
  width: 21%;
}
.col-4 {
  width: 29.33%;
}
.col-5 {
  width: 37.66%;
}
.col-6 {
  width: 46%;
}
.col-7 {
  width: 54.33%;
}
.col-8 {
  width: 62.66%;
}
.col-9 {
  width: 71%;
}
.col-10 {
  width: 79.33%;
}
.col-11 {
  width: 87.66%;
}
.col-12 {
  width: 96%;
}
