/*! https://piccalil.li/blog/a-more-modern-css-reset/ */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

html {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 300;
  font-style: normal;
}

body {
  font-size: 1.125em;
  line-height: 1.6111111111;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  grid-column: 1/-1;
}

h1, .h1 {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.7777777778em;
  line-height: 1.25;
  margin: 1.625em 0 1em;
}

h2, .h2 {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5em;
  line-height: 1.3333333333;
  margin: 1.4074074074em 0 0.5925925926em;
}

h3, .h3 {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.3333333333em;
  line-height: 1.3333333333;
  margin: 1.1875em 0 0.6666666667em;
}

h4, .h4 {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.1111111111em;
  line-height: 1.35;
  margin: 1.9em 0 0.8em;
}

p {
  margin: 0 0 1.5555555556em;
}
p.intro {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.1111111111em;
  line-height: 1.6;
  margin: 0 0 1.4em;
}

li {
  margin: 0 0 0.8888888889em;
}
li p {
  margin: 0;
}

@media screen and (min-width: 481px) {
  h1, .h1 {
    font-size: 2.5555555556em;
    line-height: 1.2608695652;
    margin: 1.6304347826em 0 1em;
  }
  h2, .h2 {
    font-size: 1.6111111111em;
    line-height: 1.3448275862;
    margin: 1.4482758621em 0 0.6206896552em;
  }
}
@media screen and (min-width: 601px) {
  h1, .h1 {
    font-size: 3.1111111111em;
    line-height: 1.25;
    margin: 1.625em 0 1em;
  }
  h2, .h2 {
    font-size: 1.7777777778em;
    line-height: 1.34375;
    margin: 1.46875em 0 0.625em;
  }
  h3, .h3 {
    font-size: 1.4444444444em;
    line-height: 1.3461538462;
    margin: 1.5769230769em 0 0.6923076923em;
  }
}
@media screen and (min-width: 1025px) {
  h2, .h2 {
    font-size: 2em;
    line-height: 1.3611111111;
    margin: 1.4722222222em 0 0.6111111111em;
  }
  h3, .h3 {
    font-size: 1.5555555556em;
    line-height: 1.3571428571;
    margin: 1.5714285714em 0 0.6785714286em;
  }
  h4, .h4 {
    font-size: 1.2222222222em;
    line-height: 1.3636363636;
    margin: 1.8636363636em 0 0.8181818182em;
  }
  p, dt, dd {
    font-size: 1.1111111111em;
    line-height: 1.6;
    margin: 0 0 1.55em;
  }
  p.intro, dt.intro, dd.intro {
    font-size: 1.2222222222em;
    line-height: 1.5909090909;
    margin: 0 0 1.4090909091em;
  }
  li {
    margin: 0 0 1em;
  }
}
@media screen and (min-width: 1441px) {
  h1, .h1 {
    font-size: 4em;
    line-height: 1.25;
    margin: 1.625em 0 1em;
  }
}
a {
  color: #D93518;
  text-decoration: none;
  transition-duration: 200ms;
  border-bottom: 1px solid #D93518;
  transition-property: border, color, background-color;
}
a.has_svg {
  display: flex;
  align-items: center;
}
a.has_svg svg {
  margin-left: 0.5555555556em;
}
a.has_svg [fill] {
  transition: fill 200ms;
}

@media screen and (min-width: 769px) {
  a:hover, a:focus {
    border-color: transparent;
  }
}
.button {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1em;
  line-height: 1.2777777778;
  border: 3px solid #D93518;
  background-color: #D93518;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0.4444444444em;
  transition-duration: 200ms;
  transition-property: border, background-color, color;
  width: 100%;
  justify-content: center;
  text-align: center;
}
.button:has(svg) svg {
  margin-left: 0.5555555556em;
  overflow: visible;
}
.button:has(svg) [fill], .button:has(svg) [stroke] {
  transition-duration: 200ms;
  transition-property: fill, stroke;
}
.button:has(svg) [fill] {
  fill: #fff;
}
.button:has(svg) [stroke] {
  stroke: #fff;
}
.button.secondary {
  border-color: #353A3A;
  background-color: #353A3A;
}
.button.tertiary {
  border-color: #353A3A;
  color: #353A3A;
  background-color: transparent;
}
.button.tertiary [fill] {
  fill: #353A3A;
}
.button.tertiary [stroke] {
  stroke: #353A3A;
}
.button.quaternary {
  border-color: #fff;
  color: #fff;
  background-color: transparent;
}
.button.quinary {
  border-color: #D93518;
  color: #D93518;
  background-color: transparent;
}
.button.quinary [fill] {
  fill: #D93518;
}
.button.quinary [stroke] {
  stroke: #D93518;
}
.button.text {
  font-family: "sofia-pro", Arial, sans-serif;
  font-weight: 300;
  font-style: normal;
  border-style: solid;
  border-width: 0 0 1px 0;
  border-color: #D93518;
  background-color: transparent;
  border-radius: 0;
  color: #D93518;
  padding: 0;
  width: auto;
  margin: 0 auto;
}

@media screen and (min-width: 481px) {
  .button {
    width: auto;
  }
}
@media screen and (min-width: 769px) {
  .button:hover, .button:focus {
    border-color: #353A3A;
    background-color: #353A3A;
  }
  .button:hover.secondary, .button:focus.secondary {
    border-color: #D93518;
    background-color: #D93518;
  }
  .button:hover.tertiary, .button:focus.tertiary {
    color: #fff;
  }
  .button:hover.tertiary [fill], .button:focus.tertiary [fill] {
    fill: #fff;
  }
  .button:hover.tertiary [stroke], .button:focus.tertiary [stroke] {
    stroke: #fff;
  }
  .button:hover.quinary, .button:focus.quinary {
    color: #fff;
  }
  .button:hover.text, .button:focus.text {
    background-color: transparent;
    border-color: transparent;
  }
}
@media screen and (min-width: 1025px) {
  .button {
    font-size: 1.1111111111em;
    line-height: 1.25;
    padding: 0.425em 1em;
  }
}
.wrapper {
  margin: 0 auto;
  max-width: 1400px;
  display: grid;
}
@media screen and (min-width: 0px) {
  .wrapper {
    width: 88%;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 23px;
  }
}
@media screen and (min-width: 481px) {
  .wrapper {
    width: 78%;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 18px;
  }
}
@media screen and (min-width: 601px) {
  .wrapper {
    width: 78%;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 23px;
  }
}
@media screen and (min-width: 769px) {
  .wrapper {
    width: 88%;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 15px;
  }
}
@media screen and (min-width: 1025px) {
  .wrapper {
    width: 88%;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 26px;
  }
}
@media screen and (min-width: 1281px) {
  .wrapper {
    width: 88%;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 31px;
  }
}
@media screen and (min-width: 1441px) {
  .wrapper {
    width: 72%;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 24px;
  }
}

.hide {
  height: 0;
  overflow: hidden;
  position: absolute;
  text-indent: -9999px;
  width: 0;
}

.big_link {
  position: absolute;
  top: 0;
  left: 0;
  text-indent: -9999px;
  width: 100%;
  height: 100%;
  border-bottom: 0;
  z-index: 10;
}

.spacer {
  margin-top: 2.7777777778em;
}

.text_column, .large_column, .full_column {
  grid-column: 1/-1;
  margin: 0 auto;
  display: grid;
  grid-template-columns: subgrid;
  width: 100%;
}

@media screen and (min-width: 481px) {
  .spacer {
    margin-top: 3.2222222222em;
  }
}
@media screen and (min-width: 769px) {
  .text_column, .large_column {
    grid-column: 2/-2;
  }
  .spacer {
    margin-top: 4em;
  }
}
@media screen and (min-width: 1025px) {
  .text_column {
    grid-column: 3/-3;
  }
}
* {
  display: none;
}

html, body, #content, .wrapper, .large_column, .full_column, .text_column, .content_block, .text_block_content_block, .ugc, h1, h2, h3, h4, p {
  display: block;
}

a, strong {
  display: inline;
}

.wrapper, .text_column, .large_column, .full_column {
  max-width: none;
}
