/**
 * Breakpoints
 */
/**
 * Fonts
 */
@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-variable-weight.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-variable-weight.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-variable-weight.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: fallback; }

/**
 * Boxgrid variables
 */
/**
 * Colours
 */
/**
 * Animation
 */
/**
 * General
 */
/**
 * Sizing
 */
html, body, div, applet, object, iframe, h1, h2, h3,
h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small,
strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form,
label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

html {
  font-size: 100%;
  overflow-y: scroll;
  text-rendering: optimizeLegibility; }

body {
  background: #fff; }

article, aside, details, figcaption, figure, footer, header, main, nav, section {
  display: block; }

table {
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  font-weight: 400;
  text-align: left; }

blockquote:before, blockquote:after, q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

a:focus {
  outline: thin dotted; }

a:hover, a:active {
  outline: 0; }

a img {
  border: 0; }

* {
  box-sizing: border-box; }

/**
 * Applys a breakpoint around the provided content
 * @param  {string} $size size of the breakpoint
 * @return {null}       nothing returned breakpoint code wrapped around content
 */
/**
 * Generates a list of font sizes at specific breakpoints
 */
/**
 * If you have to ask what this does, then ask yourself what you are doing!!!
 */
/**
 * Creates a class for each colour and a second class with each colour applied as background-color
 */
body {
  font-family: "Manrope", arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.15; }
  @media only screen and (min-width: 300px) {
    body {
      font-size: 12px; } }
  @media only screen and (min-width: 850px) {
    body {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    body {
      font-size: 16px; } }
/**
 * Headings
 */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-weight: 700;
  margin-bottom: 0.8em;
  display: block;
  text-transform: uppercase; }

h1, .h1 {
  font-size: 58px; }
  @media only screen and (min-width: 1200px) {
    h1, .h1 {
      font-size: 128px; } }
h2, .h2 {
  font-size: 32px; }
  @media only screen and (min-width: 1200px) {
    h2, .h2 {
      font-size: 64px; } }
h3, .h3 {
  font-size: 20px; }
  @media only screen and (min-width: 1200px) {
    h3, .h3 {
      font-size: 32px; } }
h4, .h4,
h5, .h5,
h6, .h6 {
  font-size: 1em; }

h5, .h5,
h6, .h6 {
  font-weight: 400; }

h6, .h6 {
  font-style: italic;
  font-size: 12px; }

/**
 * Paragraphs
 */
p {
  margin-bottom: 1em;
  line-height: 22px; }

/**
 * Links
 */
a {
  color: inherit;
  transition: color 0.3s; }
  a:hover {
    color: #DC6343;
    transition: color 0.3s; }

/**
 * Styling
 */
b, strong {
  font-weight: 700; }

i, em {
  font-style: italic; }

u {
  text-decoration: underline; }

/**
 * Lists
 */
ul, ol {
  padding-left: 1em;
  margin-bottom: 1em; }
  ul li, ol li {
    padding: 0 0 0.8em;
    line-height: 22px; }
    ul li:last-of-type, ol li:last-of-type {
      padding: 0; }
  ul.arrow-list, ol.arrow-list {
    padding: 0;
    list-style-type: none; }
    ul.arrow-list li, ol.arrow-list li {
      padding: 0 0 0 38px;
      margin: 0 0 12px;
      background: transparent url(../img/arrow-icon.svg) top left/28px 20px no-repeat;
      line-height: 20px; }

.btn,
.wpcf7-submit,
.wp-block-button__link {
  color: #fff;
  background-color: #DC6343;
  font-size: 1.13em;
  display: inline-block;
  border: 2px solid #DC6343;
  margin: 0.2em 0;
  padding: 0.5em 1.3em;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.3s;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  border-radius: 0; }
  .btn:hover,
  .wpcf7-submit:hover,
  .wp-block-button__link:hover {
    color: #fff;
    transition: background-color 0.3s;
    background-color: #e07558; }
  .btn.large,
  .wpcf7-submit.large,
  .wp-block-button__link.large {
    font-size: 2em;
    padding: 1em 1em; }

.pagination {
  position: relative;
  display: block;
  width: 100%;
  list-style: none;
  text-align: center;
  margin: 1em 0;
  padding: 0;
  font-size: 0;
  line-height: 3;
  overflow: hidden; }
  .pagination li {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 12px; }
    @media only screen and (min-width: 300px) {
      .pagination li {
        font-size: 12px; } }
    @media only screen and (min-width: 850px) {
      .pagination li {
        font-size: 14px; } }
    @media only screen and (min-width: 1200px) {
      .pagination li {
        font-size: 16px; } }
    .pagination li a, .pagination li span {
      position: relative;
      text-decoration: none;
      font-weight: 600;
      text-transform: uppercase;
      padding: 0.4em 0.5em;
      text-align: center; }
    .pagination li.active {
      color: #F6F3F0; }

table {
  border-collapse: collapse;
  width: 100%;
  font-size: 1em;
  overflow-x: scroll;
  display: block;
  margin-bottom: 1em; }
  table tbody {
    display: table;
    border: none;
    min-width: 100%; }
  @media only screen and (min-width: 1200px) {
    table {
      display: table;
      table-layout: fixed; }
      table tbody {
        display: table-row-group;
        width: 100%;
        min-width: 0; } }
  table th {
    min-width: 12em;
    font-size: 1.13em;
    font-weight: 700;
    padding: 0.5em 15px;
    vertical-align: top;
    background-color: #DC6343;
    color: #fff; }
    @media only screen and (min-width: 1200px) {
      table th {
        min-width: 0;
        padding: 0.45em 30px; } }
  table td {
    padding: 0.5em 15px;
    vertical-align: top; }
    @media only screen and (min-width: 1200px) {
      table td {
        padding: 0.45em 30px; } }
input[type=text], input[type=number], input[type=email], input[type=password], input[type=url],
input[type=tel], input[type=search], input[type=date], textarea, select {
  padding: 0.7em 0.65em;
  margin: 0;
  background-color: #fff;
  line-height: 1.2;
  color: #292A2A;
  max-width: 100%;
  width: 100%;
  transition: border-color 0.3s;
  border: none;
  font-size: 12px; }
  @media only screen and (min-width: 300px) {
    input[type=text], input[type=number], input[type=email], input[type=password], input[type=url],
    input[type=tel], input[type=search], input[type=date], textarea, select {
      font-size: 12px; } }
  @media only screen and (min-width: 850px) {
    input[type=text], input[type=number], input[type=email], input[type=password], input[type=url],
    input[type=tel], input[type=search], input[type=date], textarea, select {
      font-size: 14px; } }
  @media only screen and (min-width: 1200px) {
    input[type=text], input[type=number], input[type=email], input[type=password], input[type=url],
    input[type=tel], input[type=search], input[type=date], textarea, select {
      font-size: 16px; } }
  input[type=text]:focus, input[type=number]:focus, input[type=email]:focus, input[type=password]:focus, input[type=url]:focus,
  input[type=tel]:focus, input[type=search]:focus, input[type=date]:focus, textarea:focus, select:focus {
    outline: 1px solid #DC6343; }
  input[type=text].error, input[type=number].error, input[type=email].error, input[type=password].error, input[type=url].error,
  input[type=tel].error, input[type=search].error, input[type=date].error, textarea.error, select.error {
    transition: border-color 0.3s;
    border-color: #D4323E; }

label {
  display: none; }

textarea {
  min-height: 120px;
  font-family: "Manrope", arial, sans-serif;
  resize: vertical; }

.fieldset {
  margin: 0 0 28px; }
  .fieldset p {
    margin: 0; }

input[type=radio] {
  display: none; }
  input[type=radio] + label {
    width: auto;
    cursor: pointer;
    margin: 0 1em 0.4em 0;
    padding: 0 0 0 1.8em;
    display: inline-block;
    position: relative; }
  input[type=radio] + label:before {
    content: "";
    display: inline-block;
    background-color: #fff;
    position: absolute;
    top: 0.1em;
    left: 0;
    vertical-align: middle;
    border-radius: 1em;
    width: 1em;
    height: 1em;
    margin: 0 0.4em 0 0;
    transition: border-color 0.3s; }
  input[type=radio]:checked + label:before {
    background-color: #292A2A;
    background: -moz-radial-gradient(center, ellipse cover, #292A2A 35%, #fff 35%);
    background: -webkit-radial-gradient(center, ellipse cover, #292A2A 35%, #fff 35%);
    background: radial-gradient(ellipse at center, #292A2A 35%, #fff 35%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$text_colour', endColorstr='$background_colour',GradientType=1 ); }
  input[type=radio] + label:focus:before {
    transition: border-color 0.3s;
    border-color: #DC6343; }
  input[type=radio].error + label:before {
    border-color: #D4323E; }

input[type=checkbox] {
  display: none; }
  input[type=checkbox] + label {
    position: relative;
    width: auto;
    cursor: pointer;
    margin-right: 1em;
    margin-bottom: 0.4em;
    padding-left: 1.8em;
    display: inline-block; }
  input[type=checkbox] + label:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0.1em;
    background-color: #fff;
    vertical-align: middle;
    border-radius: 2px;
    width: 1em;
    height: 1em;
    margin: 0;
    transition: border-color 0.3s; }
  input[type=checkbox]:checked + label:before {
    content: "\2714";
    line-height: 0.9em;
    text-align: center;
    color: #292A2A; }
  input[type=checkbox] + label:focus:before {
    transition: border-color 0.3s;
    border-color: #DC6343; }
  input[type=checkbox].error + label:before {
    border-color: #D4323E; }

.site-header {
  border-bottom: 1px solid #DC6343; }

.site-header-content {
  max-width: 1960px;
  padding: 30px; }
  @media only screen and (min-width: 1800px) {
    .site-header-content {
      display: flex;
      padding: 110px 250px 60px;
      margin: 0 auto; } }
.site-title,
.site-title a:hover,
.site-description {
  color: #DC6343; }

.site-title {
  font-size: 58px;
  margin: 0 0 30px; }
  @media only screen and (min-width: 1200px) {
    .site-title {
      font-size: 128px;
      line-height: 130px;
      margin: 0; } }
  .site-title a {
    text-decoration: none; }

.site-description {
  margin: 0 0 0 auto;
  text-align: right;
  align-self: flex-end; }
  .site-description span {
    display: block; }

.wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto; }

.wp-block-image.no-margin {
  margin: 0; }

.has-orange-color {
  color: #DC6343; }

.has-orange-background-color {
  color: #fff;
  background-color: #DC6343; }
  .has-orange-background-color .btn,
  .has-orange-background-color .wp-block-button__link {
    border: 2px solid #fff; }
  .has-orange-background-color a:hover {
    color: #292A2A; }

.has-cream-color {
  color: #DC6343; }

.has-cream-background-color {
  background-color: #DC6343; }

.has-white-color {
  color: #fff; }

.has-white-background-color {
  background-color: #fff; }

.has-black-color {
  color: #292A2A; }

.has-black-background-color {
  background-color: #292A2A; }

.has-small-font-size {
  font-size: 12px; }

.has-medium-font-size {
  font-size: 16px; }

.has-large-font-size {
  font-size: 20px;
  line-height: 30px; }
  @media only screen and (min-width: 850px) {
    .has-large-font-size {
      font-size: 40px;
      line-height: 50px; } }
.has-x-large-font-size {
  font-size: 32px; }
  @media only screen and (min-width: 850px) {
    .has-x-large-font-size {
      font-size: 64px; } }
.wp-block-group {
  border-bottom: 1px solid #DC6343; }
  .wp-block-group p:last-child, .wp-block-group ul:last-child {
    margin: 0; }

.wp-block-group__inner-container {
  max-width: 1960px;
  margin: 0 auto; }

@media only screen and (min-width: 850px) {
  .wp-block-columns {
    display: flex; } }

@media only screen and (min-width: 1200px) {
  .wp-block-columns {
    gap: 30px; } }

@media only screen and (min-width: 1800px) {
  .wp-block-columns {
    gap: 80px; } }

.wp-block-column {
  padding: 30px; }
  @media only screen and (min-width: 1800px) {
    .wp-block-column {
      padding: 70px 0; } }
  @media only screen and (min-width: 1800px) {
    .wp-block-column:first-of-type {
      padding-left: 250px; } }
  @media only screen and (min-width: 1800px) {
    .wp-block-column:last-of-type {
      padding-right: 250px; } }
  .wp-block-column:empty, .wp-block-column.no-padding,
  .wp-block-column .wp-block-column {
    padding: 0; }

.image-column {
  padding: 0; }

.vertical-title-block {
  display: grid;
  grid-template-columns: 75px auto;
  gap: 20px; }
  .vertical-title-block .vertical-title {
    writing-mode: sideways-lr;
    text-orientation: mixed;
    text-align: right;
    margin: 0 0 0 -14px; }
  .vertical-title-block + .vertical-title-block {
    margin: 30px 0 0; }
    @media only screen and (min-width: 1200px) {
      .vertical-title-block + .vertical-title-block {
        margin: 160px 0 0; } }
@media only screen and (min-width: 850px) {
  .padding-right {
    padding-right: 50px; } }

@media only screen and (min-width: 1200px) {
  .padding-right {
    padding-right: 100px; } }

@media only screen and (min-width: 850px) {
  .padding-left {
    padding-left: 50px; } }

@media only screen and (min-width: 1200px) {
  .padding-left {
    padding-left: 100px; } }

.history .history-item {
  position: relative;
  border-bottom: none;
  border-left: 1px solid #DC6343;
  padding: 0 0 50px 30px;
  margin: 0 0 0 13px; }
  @media only screen and (min-width: 850px) {
    .history .history-item {
      padding: 0 0 50px 80px; } }
  .history .history-item:last-of-type {
    border: none; }

.history h3 {
  font-size: 22px; }
  .history h3:before {
    position: absolute;
    content: "";
    top: -10px;
    left: -23px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #DC6343;
    border: 9px solid #F6F3F0; }

.articles .page-title {
  font-size: 32px;
  margin-bottom: 40px;
  color: #DC6343; }
  @media only screen and (min-width: 850px) {
    .articles .page-title {
      font-size: 64px;
      margin-bottom: 80px; } }
.articles .wp-block-group .wp-block-group__inner-container {
  padding: 30px; }
  @media only screen and (min-width: 1200px) {
    .articles .wp-block-group .wp-block-group__inner-container {
      padding: 150px 240px; } }
@media only screen and (min-width: 550px) {
  .articles .articles-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px; } }

@media only screen and (min-width: 850px) {
  .articles .articles-list {
    gap: 85px 170px; } }

.articles .entry-title {
  font-size: 20px; }
  @media only screen and (min-width: 850px) {
    .articles .entry-title {
      font-size: 40px; } }
  .articles .entry-title a {
    text-decoration: none; }

.articles .entry-title,
.articles .entry-category,
.articles .entry-date {
  display: block;
  color: #DC6343;
  text-transform: uppercase;
  margin: 0 0 15px; }

.articles .entry-link a {
  text-decoration: none;
  font-weight: 700; }

.articles article {
  margin-bottom: 40px; }
  @media only screen and (min-width: 850px) {
    .articles article {
      margin: 0; } }
.contact {
  line-height: 20px;
  margin: 0 0 19px; }
  .contact:before {
    height: 20px;
    width: 28px;
    display: inline-block;
    content: "";
    background: transparent url(../img/arrow-icon-orange.svg) center/28px 20px no-repeat;
    margin: 0 36px 0 0;
    vertical-align: middle; }

footer .content {
  max-width: 1960px;
  margin: 0 auto; }

footer .site-description {
  color: #292A2A;
  text-align: left;
  margin: 0 0 70px; }

footer .site-title {
  background-color: #DC6343;
  color: #fff;
  text-align: right;
  font-size: 32px;
  line-height: 40px;
  padding: 30px;
  text-transform: uppercase;
  margin: 0; }
  @media only screen and (min-width: 1800px) {
    footer .site-title {
      padding: 60px 240px; } }
footer .wp-block-columns {
  gap: 0; }

footer .wp-block-column {
  padding: 64px 30px; }
  @media only screen and (min-width: 1800px) {
    footer .wp-block-column {
      padding: 128px 0; } }
footer .wp-block-group__inner-container {
  padding: 0; }

footer .wp-block-column:last-of-type {
  border-top: 1px solid #DC6343;
  padding: 64px 30px 0; }
  @media only screen and (min-width: 850px) {
    footer .wp-block-column:last-of-type {
      border: none;
      border-left: 1px solid #DC6343; } }
  @media only screen and (min-width: 1800px) {
    footer .wp-block-column:last-of-type {
      padding: 128px 0 128px 90px; } }
body {
  background-color: #F6F3F0;
  color: #292A2A; }

/*# sourceMappingURL=frontend.css.map */