html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 100%;
  padding-top: 66px;
  overflow-x: hidden;
}

section, ul {
  width: 100%;
  margin: 0;
  padding: 0;
}

li, ul {
  list-style-type: none;
}

/*---- typography ---*/

h3, h5, h2, h1 {
  margin: 0;
}

h1, h3, h2 {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 3.8rem;
  color: white;
  font-weight: 400;
  line-height: 5rem;
  text-align: center;
}

h2 {
  font-size: 2rem;
  line-height: 2rem;
  margin-bottom: 0;
}

h3 {
  font-family: 'Source Sans Pro', sans-serif;
  color: #1e2024;
  font-weight: 200;
  font-size: 3rem;
  text-transform: capitalize;
  line-height: 3.8rem;
}

h5 {
  font-size: 1.2rem;
  font-weight: 200;
  padding: 1rem;
}

p {
  font-size: 1rem;
  font-weight: 200;
  margin: 0;
}

sup {
  font-size: 56%;
  font-weight: 400;
}

.txt-left-align {
  text-align: left;
}

.p-margin {
  margin: 1em 0 1em 0;
}

.line-break {
  display: inline-block;
  width: 100%;
}

.h3-small {
  text-align: left;
  line-height: 3rem;
  font-size: 2.3rem;
  color: white;
  font-weight: 300;
}

/* - check box - */

[type="checkbox"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*----- links ------*/

a:link,
a:visited {
  font-weight: 300;
  color: #151515;
  text-decoration: none;
}

a:hover, a:focus, a:active {
  font-weight: 300;
  color: #f14848;
  text-decoration: none;
}

.red-btn-link:link,
.red-btn-link:visited,
.red-btn-link {
  font-weight: 300;
  font-variant: small-caps;
  color: #ffffff;
  background-color: #f14848;
  font-size: 0.8rem;
  padding: 0.8rem 1.6rem 0.8rem 1.6rem;
  border-radius: 40px;
  text-align: center;
  margin: 1rem auto;
  line-height: 1rem;
  letter-spacing: 0.1em;
  display: inline-block;
  height: 42px;
  transition: transform, box-shedow 2s ease-out;

}

.red-btn-link:hover, .red-btn-link a:focus {
  box-shadow: 0 5px 20px 3px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}

a h5,
a h3 {
  color: #ffffff;
}

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}
.clearfix:after {
  clear: both;
}

@media (max-width: 1100px) {

  h3 {
    line-height: 3rem;
    font-size: 2.3rem;
  }

}

@media (max-width: 800px) {

  h5 {
    font-size: 1rem;
    line-height: 1.2rem;
    font-weight: 200;
    padding: 1rem;
  }
}


@media (max-width: 750px) {

  html {
    font-size: 20px;
  }

  h3 {
    font-size: 3rem;
    line-height: 3rem;
    text-transform: uppercase;
    margin-bottom: 0;
  }

  .h3-small {
    font-size: 2rem;
    line-height: 2.5rem;
    text-transform: uppercase;
    margin-bottom: 0;
  }

  h1 {
    line-height: 4rem;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .red-btn-link:link {
    height: 52px;
  }

}


