/* REGULAR */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-regular.woff2') format('woff2'), url('slgothictext2-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* REGULAR ITALIC */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-regularitalic.woff2') format('woff2'), url('slgothictext2-regularitalic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* MEDIUM */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-medium.woff2') format('woff2'), url('slgothictext2-medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* MEDIUM ITALIC */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-mediumitalic.woff2') format('woff2'), url('slgothictext2-mediumitalic.woff') format('woff');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* BOLD */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-bold.woff2') format('woff2'), url('slgothictext2-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* BOLD ITALIC */
@font-face {
  font-family: 'SL Gothic';
  src: url('slgothictext2-bolditalic.woff2') format('woff2'), url('slgothictext2-bolditalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* SL Gothic Display  */
@font-face {
  font-family: 'SL Gothic Display';
  src: url('slgothicdisplay-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: bold;
  font-display: swap;
}

/**
 * Headings / Title (UX calls them titles) 
 * See: https://designnotes.blog.gov.uk/2018/02/19/developing-new-typography-and-spacing-for-gov-uk-frontend/
 *
**/
.heading-xxl {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 72px;
  line-height: 72px;
}

.heading-xl {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 60px;
  line-height: 64px;
}

.heading-l {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 48px;
  line-height: 52px;
}

.heading-m {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 36px;
  line-height: 40px;
}

.heading-s {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 24px;
  line-height: 28px;
}

.heading-xs {
  font-family: 'SL Gothic Display', 'SL Gothic Text';
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-size: 20px;
  line-height: 24px;
}

/** Spacing bottom **/
.heading-xxl,
.heading-xl,
.heading-l {
  margin-bottom: 24px;
}

.heading-s,
.heading-xs,
.heading-m {
  margin-bottom: 16px;
}

/** 
   * Spacing top (large headings, l, xl, xxl).
   * Contextually added if a heading follows a paragraph, unordered list or ordered list
  **/
p + .heading-xxl,
p + .heading-xl,
p + .heading-l,
ul + .heading-xxl,
ul + .heading-xl,
ul + .heading-l,
ol + .heading-xxl,
ol + .heading-xl,
ol + .heading-l {
  padding-top: 24px;
}

/** 
   * Spacing top (small headings, m, s, xs).
   * Contextually added if a heading follows a paragraph, unordered list or ordered list
  **/
p + .heading-m,
p + .heading-s,
p + .heading-xs,
ul + .heading-m,
ul + .heading-s,
ul + .heading-xs,
ol + .heading-m,
ol + .heading-s,
ol + .heading-xs {
  padding-top: 16px;
}

/** Paragraph texts **/
.body {
  margin: 0 0 16px 0;
  padding: 0;
  font-size: 18px;
  line-height: 28px;
  font-family: SL Gothic;
  font-weight: normal;
  max-width: 552px;
}

.body-s {
  margin: 0 0 16px 0;
  padding: 0;
  font-size: 16px;
  line-height: 24px;
  font-family: SL Gothic;
  font-weight: normal;
  max-width: 552px;
}

.preamble {
  margin-bottom: 32px;
  padding: 0;
  font-size: 24px;
  line-height: 32px;
  font-family: SL Gothic;
  font-weight: normal;
  max-width: 552px;
}
