@font-face {
  font-family: "artifex-bold";
  src: url("../assets/fonts/Artifex-CF-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "artifex-extra-light";
  src: url("../assets/fonts/Artifex-CF-Extra-Light.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "azo-sans-uber-regular";
  src: url("../assets/fonts/Azo_Sans_Uber_Regular.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}

/* -- VARIABLES -- */
:root {
  --header-height: 75px;

  --font-family-artifex-bold: "artifex-bold", sans-serif;
  --font-family-artifex-extra-light: "artifex-extra-light", sans-serif;
  --font-family-azo-sans: "azo-sans-uber-regular";

  --font-size-xxl: clamp(2.5em, 4vw, 4.5em);
  --font-size-xl: clamp(1.5em, 4vw, 4.5em);
  --font-size-large: clamp(1.75em, 8vw, 3em);
  --font-size-medium: clamp(1.5em, 4.5vw, 2.25em);
  --font-size-small: 1.2em;
  --font-size-xsmall: 0.98em;
  --font-size-menu: 1.15em;
  --font-size-menu-small: 1.75em;

  --brown: #835f4c;
  --blue: #5d9fce;
  --yellow: #faf7ca;
  --wine: #8d5a6a;
  --green: #677755;
  --orange: #ee9d53;

  --global-spacing-3: 3px;
  --global-spacing-6: 6px;
  --global-spacing-12: 12px;
  --global-spacing-25: 25px;
  --global-spacing-50: 50px;
  --global-spacing-75: 75px;
  --global-spacing-100: 100px;
  --global-spacing-150: 150px;
  --global-spacing-200: 200px;
}
@media (max-width: 992px) {
  :root {
    --global-spacing-25: 12px;
  }
}
/* -- VARIABLES END -- */

/* -- FONTS -- */
.no-hyphen {
  hyphens: none;
}

.font-artifex-bold {
  font-family: var(--font-family-artifex-bold) !important;
}
.font-artifex-extra-light {
  font-family: var(--font-family-artifex-extra-light) !important;
}
.font-azo-sans {
  font-family: var(--font-family-azo-sans) !important;
}
nav.font-artifex-extra-light ul li a {
  font-family: var(--font-family-artifex-extra-light) !important;
}

.font-size-xxl {
  font-size: var(--font-size-xxl);
}
.font-size-xl {
  font-size: var(--font-size-xl);
}
.font-size-large {
  font-size: var(--font-size-large);
}
.font-size-medium {
  font-size: var(--font-size-medium);
}
.font-size-small {
  font-size: var(--font-size-small);
}
.font-size-xsmall {
  font-size: var(--font-size-xsmall);
}
.font-size-menu-small {
  font-size: var(--font-size-menu-small) !important;
}

.font-white {
  color: white !important;
}
.font-brown {
  color: var(--brown) !important;
}
.font-blue {
  color: var(--off-blue) !important;
}
.font-yellow {
  color: var(--yellow) !important;
}
.font-wine {
  color: var(--wine) !important;
}
.font-green {
  color: var(--green) !important;
}
.font-orange {
  color: var(--orange) !important;
}
/* -- FONTS END -- */

/* -- BACKGROUND COLOUR -- */
.bg-brown {
  background-color: var(--brown) !important;
}
.bg-blue {
  background-color: var(--blue) !important;
}
.bg-yellow {
  background-color: var(--yellow) !important;
}
.bg-wine {
  background-color: var(--wine) !important;
}
.bg-green {
  background-color: var(--green) !important;
}
.bg-orange {
  background-color: var(--orange) !important;
}
/* -- BACKGROUND COLOUR END -- */

/* -- SPACING -- */
.padding-3 {
  padding: var(--global-spacing-3);
}
.padding-6 {
  padding: var(--global-spacing-6);
}
.padding-12 {
  padding: var(--global-spacing-12);
}
.padding-25 {
  padding: var(--global-spacing-25);
}
.padding-50 {
  padding: var(--global-spacing-50);
}
.padding-75 {
  padding: var(--global-spacing-75);
}
.padding-100 {
  padding: var(--global-spacing-100);
}

.padding-left-3 {
  padding-left: var(--global-spacing-3);
}
.padding-left-6 {
  padding-left: var(--global-spacing-6);
}
.padding-left-12 {
  padding-left: var(--global-spacing-12);
}
.padding-left-25 {
  padding-left: var(--global-spacing-25);
}
.padding-left-50 {
  padding-left: var(--global-spacing-50);
}
.padding-left-75 {
  padding-left: var(--global-spacing-75);
}
.padding-left-100 {
  padding-left: var(--global-spacing-100);
}

.padding-right-3 {
  padding-right: var(--global-spacing-3);
}
.padding-right-6 {
  padding-right: var(--global-spacing-6);
}
.padding-right-12 {
  padding-right: var(--global-spacing-12);
}
.padding-right-25 {
  padding-right: var(--global-spacing-25);
}
.padding-right-50 {
  padding-right: var(--global-spacing-50);
}
.padding-right-75 {
  padding-right: var(--global-spacing-75);
}
.padding-right-100 {
  padding-right: var(--global-spacing-100);
}

.padding-top-3 {
  padding-top: var(--global-spacing-3);
}
.padding-top-6 {
  padding-top: var(--global-spacing-6);
}
.padding-top-12 {
  padding-top: var(--global-spacing-12);
}
.padding-top-25 {
  padding-top: var(--global-spacing-25);
}
.padding-top-50 {
  padding-top: var(--global-spacing-50);
}
.padding-top-75 {
  padding-top: var(--global-spacing-75);
}
.padding-top-100 {
  padding-top: var(--global-spacing-100);
}

.padding-bottom-3 {
  padding-bottom: var(--global-spacing-3);
}
.padding-bottom-6 {
  padding-bottom: var(--global-spacing-6);
}
.padding-bottom-12 {
  padding-bottom: var(--global-spacing-12);
}
.padding-bottom-25 {
  padding-bottom: var(--global-spacing-25);
}
.padding-bottom-50 {
  padding-bottom: var(--global-spacing-50);
}
.padding-bottom-75 {
  padding-bottom: var(--global-spacing-75);
}
.padding-bottom-100 {
  padding-bottom: var(--global-spacing-100);
}

.padding-block-3 {
  padding-block: var(--global-spacing-3);
}
.padding-block-6 {
  padding-block: var(--global-spacing-6);
}
.padding-block-12 {
  padding-block: var(--global-spacing-12);
}
.padding-block-25 {
  padding-block: var(--global-spacing-25);
}
.padding-block-50 {
  padding-block: var(--global-spacing-50);
}
.padding-block-75 {
  padding-block: var(--global-spacing-75);
}
.padding-block-100 {
  padding-block: var(--global-spacing-100);
}

.padding-inline-3 {
  padding-inline: var(--global-spacing-3);
}
.padding-inline-6 {
  padding-inline: var(--global-spacing-6);
}
.padding-inline-12 {
  padding-inline: var(--global-spacing-12);
}
.padding-inline-25 {
  padding-inline: var(--global-spacing-25);
}
.padding-inline-50 {
  padding-inline: var(--global-spacing-50);
}
.padding-inline-75 {
  padding-inline: var(--global-spacing-75);
}
.padding-inline-100 {
  padding-inline: var(--global-spacing-100);
}

.margin-3 {
  margin: var(--global-spacing-3);
}
.margin-6 {
  margin: var(--global-spacing-6);
}
.margin-12 {
  margin: var(--global-spacing-12);
}
.margin-25 {
  margin: var(--global-spacing-25);
}
.margin-50 {
  margin: var(--global-spacing-50);
}
.margin-75 {
  margin: var(--global-spacing-75);
}
.margin-100 {
  margin: var(--global-spacing-100);
}
.margin-150 {
  margin: var(--global-spacing-150);
}
.margin-200 {
  margin: var(--global-spacing-200);
}

.margin-left-3 {
  margin-left: var(--global-spacing-3);
}
.margin-left-6 {
  margin-left: var(--global-spacing-6);
}
.margin-left-12 {
  margin-left: var(--global-spacing-12);
}
.margin-left-25 {
  margin-left: var(--global-spacing-25);
}
.margin-left-50 {
  margin-left: var(--global-spacing-50);
}
.margin-left-75 {
  margin-left: var(--global-spacing-75);
}
.margin-left-100 {
  margin-left: var(--global-spacing-100);
}
.margin-left-150 {
  margin-left: var(--global-spacing-150);
}
.margin-left-200 {
  margin-left: var(--global-spacing-200);
}

.margin-right-3 {
  margin-right: var(--global-spacing-3);
}
.margin-right-6 {
  margin-right: var(--global-spacing-6);
}
.margin-right-12 {
  margin-right: var(--global-spacing-12);
}
.margin-right-25 {
  margin-right: var(--global-spacing-25);
}
.margin-right-50 {
  margin-right: var(--global-spacing-50);
}
.margin-right-75 {
  margin-right: var(--global-spacing-75);
}
.margin-right-100 {
  margin-right: var(--global-spacing-100);
}
.margin-right-150 {
  margin-right: var(--global-spacing-150);
}
.margin-right-200 {
  margin-right: var(--global-spacing-200);
}

.margin-top-3 {
  margin-top: var(--global-spacing-3);
}
.margin-top-6 {
  margin-top: var(--global-spacing-6);
}
.margin-top-12 {
  margin-top: var(--global-spacing-12);
}
.margin-top-25 {
  margin-top: var(--global-spacing-25);
}
.margin-top-50 {
  margin-top: var(--global-spacing-50);
}
.margin-top-75 {
  margin-top: var(--global-spacing-75);
}
.margin-top-100 {
  margin-top: var(--global-spacing-100);
}
.margin-top-150 {
  margin-top: var(--global-spacing-150);
}
.margin-top-200 {
  margin-top: var(--global-spacing-200);
}

.margin-bottom-3 {
  margin-bottom: var(--global-spacing-3);
}
.margin-bottom-6 {
  margin-bottom: var(--global-spacing-6);
}
.margin-bottom-12 {
  margin-bottom: var(--global-spacing-12);
}
.margin-bottom-25 {
  margin-bottom: var(--global-spacing-25);
}
.margin-bottom-50 {
  margin-bottom: var(--global-spacing-50);
}
.margin-bottom-75 {
  margin-bottom: var(--global-spacing-75);
}
.margin-bottom-100 {
  margin-bottom: var(--global-spacing-100);
}
.margin-bottom-150 {
  margin-bottom: var(--global-spacing-150);
}
.margin-bottom-200 {
  margin-bottom: var(--global-spacing-200);
}
@media (max-width: 767px) {
  .margin-bottom-200 {
    margin-bottom: 25px !important;
  }
}

.margin-block-3 {
  margin-block: var(--global-spacing-3);
}
.margin-block-6 {
  margin-block: var(--global-spacing-6);
}
.margin-block-12 {
  margin-block: var(--global-spacing-12);
}
.margin-block-25 {
  margin-block: var(--global-spacing-25);
}
.margin-block-50 {
  margin-block: var(--global-spacing-50);
}
.margin-block-75 {
  margin-block: var(--global-spacing-75);
}
.margin-block-100 {
  margin-block: var(--global-spacing-100);
}
.margin-block-150 {
  margin-block: var(--global-spacing-150);
}
.margin-block-200 {
  margin-block: var(--global-spacing-200);
}

.margin-inline-3 {
  margin-inline: var(--global-spacing-3);
}
.margin-inline-6 {
  margin-inline: var(--global-spacing-6);
}
.margin-inline-12 {
  margin-inline: var(--global-spacing-12);
}
.margin-inline-25 {
  margin-inline: var(--global-spacing-25);
}
.margin-inline-50 {
  margin-inline: var(--global-spacing-50);
}
.margin-inline-75 {
  margin-inline: var(--global-spacing-75);
}
.margin-inline-100 {
  margin-inline: var(--global-spacing-100);
}
.margin-inline-150 {
  margin-inline: var(--global-spacing-150);
}
.margin-inline-200 {
  margin-inline: var(--global-spacing-200);
}
/* -- SPACING END -- */

/* -- SIZING -- */
.vh-100 {
  height: auto !important;
  min-height: 100vh !important;
}
@media (max-width: 767px) {
  .image_repeater .row.vh-100 {
    min-height: unset !important;
    margin-bottom: var(--global-spacing-75) !important;
  }
}
/* -- SIZING END -- */

/* -- BORDER -- */
.border-top-off-white {
  border-top: 1px solid var(--off-white);
}
.border-top-brown {
  border-top: 1px solid var(--brown);
}
.border-top-navy {
  border-top: 1px solid var(--navy);
}

.border-radius-12 {
  border-radius: var(--global-spacing-12);
}
/* -- BORDER END -- */

/* -- BUTTON -- */
.button {
  display: inline-block;
  padding: 2px 8px; /* Less vertical space */
  font-size: inherit;
  line-height: 1.1; /* much tighter line height */
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  background-color: var(--off-white);
  color: var(--navy);
  border: none;
  border-radius: 6px; /* tighter corners */
  transition: all 0.3s ease-in-out;
  width: auto !important;
  max-width: fit-content !important;
}

/* -- BUTTON END -- */

/* -- GENERAL -- */

/* HEADER */

a {
  color: white !important;
}

/* HEADER END */

/* FOOTER */

/* FOOTER END */

/* -- INC BLOCKS -- */

/* image repeater */
@media (max-width: 767px) {
  .image_repeater .w-66,
  .image_repeater .w-66 {
    width: 100% !important;
  }
}
/* image repeater end */

/* textbox */
.textbox-body p a {
  transition: all .2s ease !important;
}

.textbox-body p a:hover {
  text-decoration: underline !important;
} 
/* textbox end */

/* shape positions */
.shape-position-right {
    position: absolute;
    top: 50%;
    right: -25%;
    transform: translateY(-50%);
    z-index: -1;
    height: 60vh;
}
.shape-position-left {
    position: absolute;
    top: 50%;
    left: -25%;
    transform: translateY(-50%);
    z-index: -1;
    height: 60vh;
}
.repeater-3-position-right {
  right: -50% !important;
}
.repeater-3-position-left {
  left: -50% !important;
}

.three-shape-position-right {
  right: -35% !important;
}
.three-shape-position-left {
  left: -35% !important;
}


.alt-shape-position-right {
  position: absolute;
  bottom: 40%;
  right: 20%;
  z-index: -1;
  height: 60vh;
}
.alt-shape-position-left {
  position: absolute;
  top: 40%;
  left: 20%;
  z-index: -1;
  height: 60vh;
}

.min-shape-dimensions {
  min-width: 250px;
}
.min-shape-3-dimensions {
  min-height: 250px;
}

.shape-position-left img,
.shape-position-right img {
    height: 100%;
    width: auto;
}

.vh-100-header {
    max-height: calc(100vh - var(--header-height));
    width: auto;
}

.image-dimensions {
    width: 100%;
}

@media (max-width: 992px) {
    .mobile-hide {
        display: none;
    }
}

@media (max-width: 767px) {
  .image-repeater-text.margin-bottom-75 {
    margin-bottom: 0 !important;
  }
}
/* shape positions end */

/* -- INC BLOCKS END -- */

section:first-of-type {
  margin-top: var(--header-height);
}

.w-75 {
  width: 75% !important;
}

.w-50 {
  width: 50% !important;
}

.w-66 {
  width: 66% !important;
}

.vh-100 {
  height: 100vh;
}

.ml-auto {
  margin-left: auto !important;
}
.mr-auto {
  margin-right: auto !important;
}

.hidden {
  opacity: 0;
}











