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

body {
  @include rem-baseline;
  @include rem(min-width, $site-min-width);
  background: $black;
  color: $white;
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    -webkit-font-smoothing: antialiased;
  }

  &.modal-open {
    overflow: hidden;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  @include rem(margin, 0 0 20px);
}

h4 {
  @include rem(font-size, 16px);
  @include rem(margin-bottom, 40px);
  background: $gray;
  background: linear-gradient(
    to right,
    rgba(136, 136, 136, 0) 0%,
    $gray 35%,
    $gray 65%,
    rgba(136, 136, 136, 0) 100%
  );
  color: $gray;
  font-style: italic;
  font-weight: normal;
  height: 1px;
  text-align: center;
  width: 100%;

  span {
    @include rem(height, 30px);
    @include rem(line-height, 30px);
    @include rem(top, -15px);
    @include rem(padding, 0 20px);
    background: $black;
    display: inline-block;
    position: relative;
  }
}

h5 {
  @include rem(font-size, 16px);
  @include rem(margin-bottom, 10px);
  color: #fff;
  font-weight: bold;
}

p {
  @include rem(margin, 0 0 40px);
}

a {
  color: inherit;
  text-decoration: underline;

  &:hover {
    text-decoration: none;
  }
}

.container {
  @include rem(max-width, 1100px);
  margin: 0 auto;
}

.serif-font {
  font-family: 'trajan-pro-3', Georgia, 'Times New Roman', serif;
  visibility: hidden;

  .wf-active & {
    visibility: visible;
  }
}
