@media (max-width: 1200px) {

  html {
    font-size: 14px;
  }

}

@media (max-width: 1024px) {

  .container {
    padding: 0 28px;
  }

  .main__column:first-of-type {
    padding-right: 40px;
  }

  .main__column h2,
  .heading h2 {
    font-size: 2rem;
  }

  .ribbon {
    font-size: 0.875rem;
    line-height: 1.75;
  }

  .heading {
    margin-bottom: 28px;
  }

  .main,
  section.one,
  section.two {
    padding: 40px 0;
  }

  .main__column p {
    font-size: 1rem;
  }

}

@media (max-width: 767px) {

  .container {
    padding: 0 20px;
  }

  .main {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .main__column:first-of-type {
    padding-right: 0;
  }

  .main__column h2,
  .heading h2 {
    font-size: 1.5rem;
    line-height: 1.375;
  }

  .ribbon {
    font-size: 0.75rem;
    line-height: 1.75;
  }

  .heading {
    margin-bottom: 20px;
  }

  .main,
  section.one,
  section.two {
    padding: 20px 0;
  }

  .main__column p {
    font-size: 1rem;
  }

  .header__logo,
  .header__image {
    width: 50%;
  }

  .header__logo {
    padding: 20px;
  }

  .main__column {
    width: 100%;
  }

  .main__column:first-of-type {
    margin-bottom: 20px;
  }

  .main__column h2 {
    margin-bottom: 20px;
  }

  .main__column ul li {
    font-size: 1rem;
    background-position: left 10px;
    padding-left: 20px;
  }

  .ribbon span {
    padding: 0;
    font-size: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
  }

  section.two p {
    font-size: 1rem;
    margin-bottom: 20px;
  }

  footer {
    font-size: 0.75rem;
    line-height: 1.75;
    padding: 20px;
  }

}
