:root {
  --color-primary: #ff4f00;
  --color-text: #000;
  --color-background: #fff;
  --font-heading: Sabon, serif;
  --font-body: Dollypro, serif;
  --font-sans: 'Droid Sans', sans-serif;
  --font-serif: 'Droid Serif', serif;
  --font-icon: 'Iconfont 0', sans-serif;
  --spacing-small: 4px;
  --spacing-medium: 20px;
  --spacing-large: 40px;
  --spacing-xlarge: 60px;
  --spacing-xxlarge: 80px;
}

/* Skip Navigation for Accessibility */
.skip-navigation {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--color-primary);
  color: var(--color-background);
  padding: 8px;
  text-decoration: none;
  z-index: 100;
}

.skip-navigation:focus {
  top: 0;
}

p {
  margin-bottom: var(--spacing-medium);
  font-size: 18px;
  line-height: 24px;
}

.body {
  margin-left: 0;
}

.container {
  position: absolute;
  left: var(--spacing-xxlarge);
  display: block;
  max-width: 30%;
  margin: var(--spacing-xlarge) auto 0;
  padding: 0;
  font-family: var(--font-serif);
}

.heading {
  margin-bottom: var(--spacing-small);
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 600;
}

.orange-text {
  color: var(--color-primary);
}

.link {
  color: var(--color-primary);
  font-size: 22px;
  font-weight: 400;
}

.link.small {
  font-weight: 700;
}

.paragraph {
  margin-bottom: var(--spacing-large);
  font-family: var(--font-body);
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
}

.small {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 18px;
}

.lightning-bolt {
  margin-bottom: 30px;
  margin-left: -8px;
  font-family: var(--font-icon);
  font-size: 36px;
}

.icon {
  font-family: var(--font-icon);
  color: var(--color-text);
  font-size: 14px;
}

.icon.infinity {
  font-size: 24px;
}

.footer {
  font-size: 18px;
}

.footer.link {
  margin-bottom: var(--spacing-xxlarge);
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .container {
    max-width: 60%;
  }
}

@media screen and (max-width: 767px) {
  .container {
    left: var(--spacing-xlarge);
    max-width: 80%;
  }
}

@media screen and (max-width: 479px) {
  .body {
    margin-right: auto;
    margin-left: auto;
  }

  .container {
    left: 7px;
    max-width: 90%;
    margin-right: auto;
    margin-left: auto;
    padding-left: var(--spacing-medium);
  }

  .heading {
    font-size: 32px;
    line-height: 34px;
  }

  .link {
    font-size: 18px;
  }

  .link.small {
    font-size: 14px;
  }

  .paragraph {
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 26px;
  }
}

@font-face {
  font-family: 'Iconfont 0';
  src: url('../fonts/IconFont-Regular-0.9.3.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Dollypro';
  src: url('../fonts/DollyPro-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Dollypro';
  src: url('../fonts/DollyPro-RegularItalic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sabon';
  src: url('../fonts/Sabon-SemiBoldItalic.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Dollypro';
  src: url('../fonts/DollyPro-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sabon';
  src: url('../fonts/Sabon.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sabon';
  src: url('../fonts/Sabon-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sabon';
  src: url('../fonts/Sabon-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
