/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
*, *:before, *:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  overflow-x: hidden;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*
Responsive Breakpoints
=== === === === === === === === === === === === === ===
*/
/*
Hex to RGB
=== === === === === === === === === === === === === ===
*/
/*
Breakpoints
=== === === === === === === === === === === === === ===
*/
/*
Breakpoints
=== === === === === === === === === === === === === ===
*/
:root {
  --break-xs: 440px;
  --break-s: 640px;
  --break-m: 768px;
  --break-l: 1024px;
  --break-xl: 1280px;
  --break-2xl: 1536px;
  --break-3xl: 1920px;
}

/*
Colours
=== === === === === === === === === === === === === ===
*/
:root {
  --primary-green: #84AD56;
  --primary-green-dark: #4E8017;
  --grey-500: #4C4C4C;
  --grey-700: #3a3a3a;
  --grey-900: #181818;
  --accessibility-outline: var(--terracotta-500);
  --error-red: hsla(351, 63%, 43%, 1);
}

.colour--green {
  color: var(--primary-green);
}

/*
Basic Defaults
=== === === === === === === === === === === === === ===
*/
:root {
  --block-spacing-modifier: 8vw;
}
@media (min-width: 768px) {
  :root {
    --block-spacing-modifier: 3vw;
  }
}

body {
  display: flex;
  flex-direction: column;
  padding-top: 195px;
  min-height: 100vh;
}
@media (min-width: 768px) {
  body {
    padding-top: 335px;
  }
}

svg {
  max-width: 100%;
  transition: fill 0.2s ease;
}

img, iframe, video {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

main {
  position: relative;
  flex: 1;
}

/*
Helpers
=== === === === === === === === === === === === === ===
*/
.helper--visuallyHidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus,
:focus:focus-visible {
  outline: 3px solid var(--accessibility-outline);
  outline-offset: 3px;
}

a:focus:not(:focus-visible) {
  outline: none;
}
a:focus, a:focus:focus-visible {
  outline: 3px solid var(--accessibility-outline);
  outline-offset: 3px;
}

/*
Helpers
=== === === === === === === === === === === === === ===
*/
.helper--blankList {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.helper--videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  width: 100%;
  height: 0;
}
.helper--videoWrapper iframe, .helper--videoWrapper object, .helper--videoWrapper embed, .helper--videoWrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.helper--video {
  aspect-ratio: 16/9;
  width: 100%;
}

.helper--hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.helper--offScreen {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
}

/*
WordPress Alignment Classes
=== === === === === === === === === === === === === ===
*/
.aligncenter, .alignleft, .alignright, .alignnone {
  margin: 0 auto;
  margin-bottom: var(--space-l);
}

@media (min-width: 768px) {
  .alignleft {
    float: left;
    margin: 0;
    margin-right: var(--space-m);
    margin-bottom: var(--space-l);
  }
  .alignright {
    float: right;
    margin: 0;
    margin-left: var(--space-m);
    margin-bottom: var(--space-l);
  }
}
/** Light color-scheme **/
:root {
  --cc-bg: #fff;
  --cc-text: var(--type-800);
  --cc-btn-primary-bg: var(--green-400);
  --cc-btn-primary-text: var(--green-800);
  --cc-btn-primary-hover-bg: var(--green-300);
  --cc-btn-secondary-bg: var(--type-200);
  --cc-btn-secondary-text: var(--cc-text);
  --cc-btn-secondary-hover-bg: var(--type-100);
  --cc-toggle-bg-off: var(--type-400);
  --cc-toggle-bg-on: var(--cc-btn-primary-bg);
  --cc-toggle-bg-readonly: var(--type-300);
  --cc-toggle-knob-bg: #fff;
  --cc-toggle-knob-icon-color: var(--type-800);
  --cc-block-text: var(--cc-text);
  --cc-cookie-category-block-bg: var(--type-200);
  --cc-cookie-category-block-bg-hover: var(--type-100);
  --cc-section-border: var(--type-200);
  --cc-cookie-table-border: var(--type-200);
  --cc-overlay-bg: rgba(4, 6, 8, .85);
  --cc-webkit-scrollbar-bg: var(--type-200);
  --cc-webkit-scrollbar-bg-hover: var(--type-300);
  --cc-link-color: var(--green-800);
  --cc-link-color-hover: var(--green-700);
}

.cc_div *,
.cc_div :before,
.cc_div :after {
  box-sizing: border-box;
  float: none;
  font-style: inherit;
  font-variant: normal;
  font-weight: inherit;
  font-family: inherit;
  line-height: 1.2;
  font-size: 1em;
  transition: none;
  animation: none;
  margin: 0;
  padding: 0;
  text-transform: none;
  letter-spacing: unset;
  color: inherit;
  background: none;
  border: none;
  box-shadow: none;
  text-decoration: none;
  text-align: left;
  visibility: unset;
}

.cc_div {
  font-size: 16px;
  font-weight: 400;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: #2d4156;
  color: var(--cc-text);
}

.cc_div .c-bn,
.cc_div .b-tl,
#s-ttl,
#c-ttl,
#s-bl td:before {
  font-weight: 600;
}

#cm,
#s-inr,
.cc_div .c-bl,
.cc_div .b-tl,
#s-bl .act .b-acc {
  border-radius: 0.35em;
}

#s-bl .act .b-acc {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.cc_div input,
.cc_div button,
.cc_div a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Make elements "animatable" */
.c--anim #cm,
.c--anim #s-cnt,
.c--anim #s-inr,
#cs-ov,
#cm-ov {
  transition: visibility 0.25s linear, opacity 0.25s ease, transform 0.25s ease !important;
}

.c--anim .c-bn {
  transition: background-color 0.25s ease !important;
}

/* start transitions */
.c--anim #cm.bar.slide,
.c--anim .bar.slide #s-inr {
  transition: visibility 0.4s ease, opacity 0.4s ease, transform 0.4s ease !important;
}

.c--anim #cm.bar.slide + #cm-ov,
.c--anim .bar.slide + #cs-ov {
  transition: visibility 0.4s ease, opacity 0.4s ease, transform 0.4s ease !important;
}

#cm.bar.slide,
.cc_div .bar.slide #s-inr {
  transform: translateX(100%);
  opacity: 1;
}

#cm.bar.top.slide,
.cc_div .bar.left.slide #s-inr {
  transform: translateX(-100%);
  opacity: 1;
}

#cm.slide,
.cc_div .slide #s-inr {
  transform: translateY(1.6em);
}

#cm.top.slide {
  transform: translateY(-1.6em);
}

#cm.bar.slide {
  transform: translateY(100%);
}

#cm.bar.top.slide {
  transform: translateY(-100%);
}

/* end transitions */
/* Show modals */
.show--consent .c--anim #cm,
.show--consent .c--anim #cm.bar,
.show--settings .c--anim #s-inr,
.show--settings .c--anim .bar.slide #s-inr {
  opacity: 1;
  transform: scale(1);
  visibility: visible !important;
}

.show--consent .c--anim #cm.box.middle,
.show--consent .c--anim #cm.cloud.middle {
  transform: scale(1) translateY(-50%);
}

.show--settings .c--anim #s-cnt {
  visibility: visible !important;
}

/* Show overlays */
.force--consent.show--consent .c--anim #cm-ov,
.show--settings .c--anim #cs-ov {
  visibility: visible !important;
  opacity: 1 !important;
}

#cm {
  font-family: inherit;
  padding: 1.1em 1.8em 1.4em 1.8em;
  position: fixed;
  z-index: 1;
  background: #fff;
  background: var(--cc-bg);
  max-width: 24.2em;
  width: 100%;
  bottom: 1.25em;
  right: 1.25em;
  box-shadow: 0 0.625em 1.875em #000000;
  box-shadow: 0 0.625em 1.875em rgba(2, 2, 3, 0.28);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  line-height: initial;
}

/** fix https://github.com/orestbida/cookieconsent/issues/94 **/
#cc_div #cm {
  display: block !important;
}

#c-ttl {
  margin-bottom: 0.7em;
  font-size: 1.05em;
}

.cloud #c-ttl {
  margin-top: -0.15em;
}

#c-txt {
  font-size: 0.9em;
  line-height: 1.5em;
}

.cc_div #c-bns {
  display: flex;
  justify-content: space-between;
  margin-top: 1.4em;
}

.cc_div .c-bn {
  color: #40505a;
  color: var(--cc-btn-secondary-text);
  background: #e5ebef;
  background: var(--cc-btn-secondary-bg);
  padding: 1em 1.7em;
  display: inline-block;
  cursor: pointer;
  font-size: 0.82em;
  -moz-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  text-align: center;
  border-radius: 4px;
  flex: 1;
}

#c-bns button + button,
#s-cnt button + button,
#s-c-bn {
  float: right;
  margin-left: 1em;
}

#s-cnt #s-rall-bn {
  float: none;
}

#cm .c_link:hover,
#cm .c_link:active,
#s-cnt button + button:hover,
#s-cnt button + button:active,
#s-c-bn:active,
#s-c-bn:hover {
  background: #d8e0e6;
  background: var(--cc-btn-secondary-hover-bg);
}

/**
CookieConsent settings modal
**/
#s-cnt {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 101;
  display: table;
  height: 100%;
  visibility: hidden;
}

#s-bl {
  outline: none;
}

#s-bl .title {
  margin-top: 1.4em;
}

#s-bl .title:first-child {
  margin-top: 0;
}

#s-bl .b-bn {
  margin-top: 0;
}

#s-bl .b-acc .p {
  margin-top: 0;
  padding: 1em;
}

#s-cnt .b-bn .b-tl {
  display: block;
  font-family: inherit;
  font-size: 0.95em;
  width: 100%;
  position: relative;
  padding: 1.3em 6.4em 1.3em 2.7em;
  background: none;
  transition: background-color 0.25s ease;
}

#s-cnt .b-bn .b-tl.exp {
  cursor: pointer;
}

#s-cnt .act .b-bn .b-tl {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

#s-cnt .b-bn .b-tl:active,
#s-cnt .b-bn .b-tl:hover {
  background: #e9eff4;
  background: var(--cc-cookie-category-block-bg-hover);
}

#s-bl .b-bn {
  position: relative;
}

#s-bl .c-bl {
  padding: 1em;
  margin-bottom: 0.5em;
  border: 1px solid #f1f3f5;
  border-color: var(--cc-section-border);
  transition: background-color 0.25s ease;
}

#s-bl .c-bl:hover {
  background: #f0f4f7;
  background: var(--cc-cookie-category-block-bg);
}

#s-bl .c-bl:last-child {
  margin-bottom: 0.5em;
}

#s-bl .c-bl:first-child {
  transition: none;
  padding: 0;
  margin-top: 0;
  border: none;
  margin-bottom: 2em;
}

#s-bl .c-bl:not(.b-ex):first-child:hover {
  background: transparent;
  background: unset;
}

#s-bl .c-bl.b-ex {
  padding: 0;
  border: none;
  background: #f0f4f7;
  background: var(--cc-cookie-category-block-bg);
  transition: none;
}

#s-bl .c-bl.b-ex + .c-bl {
  margin-top: 2em;
}

#s-bl .c-bl.b-ex + .c-bl.b-ex {
  margin-top: 0;
}

#s-bl .c-bl.b-ex:first-child {
  margin-bottom: 1em;
}

#s-bl .c-bl.b-ex:first-child {
  margin-bottom: 0.5em;
}

#s-bl .b-acc {
  max-height: 0;
  overflow: hidden;
  padding-top: 0;
  margin-bottom: 0;
  display: none;
}

#s-bl .act .b-acc {
  max-height: 100%;
  display: block;
  overflow: hidden;
}

#s-cnt .p {
  font-size: 0.9em;
  line-height: 1.5em;
  margin-top: 0.85em;
  color: #2d4156;
  color: var(--cc-block-text);
}

.cc_div .b-tg .c-tgl:disabled {
  cursor: not-allowed;
}

#c-vln {
  display: table-cell;
  vertical-align: middle;
  position: relative;
}

#cs {
  padding: 0 1.7em;
  width: 100%;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
}

#s-inr {
  height: 100%;
  position: relative;
  max-width: 45em;
  margin: 0 auto;
  transform: scale(0.96);
  opacity: 0;
  padding-top: 4.75em;
  padding-bottom: 4.75em;
  position: relative;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
  box-shadow: rgba(3, 6, 9, 0.26) 0px 13px 27px -5px;
}

#s-inr,
#s-hdr,
#s-bns {
  background: #fff;
  background: var(--cc-bg);
}

#s-bl {
  overflow-y: auto;
  overflow-y: overlay;
  overflow-x: hidden;
  height: 100%;
  padding: 1.3em 2.1em;
  display: block;
  width: 100%;
}

#s-bns {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1em 2.1em;
  border-top: 1px solid #f1f3f5;
  border-color: var(--cc-section-border);
  height: 4.75em;
}

.cc_div .cc-link {
  color: var(--cc-link-color);
  border-color: var(--cc-link-color);
  display: inline;
  padding-bottom: 0;
  text-decoration: none;
  cursor: pointer;
  font-weight: 600;
  transition: color 0.3s ease;
}

.cc_div .cc-link:hover,
.cc_div .cc-link:active {
  color: var(--cc-link-color-hover);
  border-color: transparent;
}

#c-bns button:first-child,
#s-bns button:first-child {
  color: #fff;
  color: var(--cc-btn-primary-text);
  background: #253b48;
  background: var(--cc-btn-primary-bg);
}

#c-bns.swap button:first-child {
  color: #40505a;
  color: var(--cc-btn-secondary-text);
  background: #e5ebef;
  background: var(--cc-btn-secondary-bg);
}

#c-bns.swap button:last-child {
  color: #fff;
  color: var(--cc-btn-primary-text);
  background: #253b48;
  background: var(--cc-btn-primary-bg);
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg {
  background: #253b48;
  background: var(--cc-toggle-bg-on);
}

#c-bns button:first-child:active,
#c-bns button:first-child:hover,
#s-bns button:first-child:active,
#s-bns button:first-child:hover,
#c-bns.swap button:last-child:active,
#c-bns.swap button:last-child:hover {
  background: #1d2e38;
  background: var(--cc-btn-primary-hover-bg);
}

#c-bns.swap button:first-child:active,
#c-bns.swap button:first-child:hover {
  background: #d8e0e6;
  background: var(--cc-btn-secondary-hover-bg);
}

#s-hdr {
  position: absolute;
  top: 0;
  width: 100%;
  display: table;
  padding: 0 2.1em;
  height: 4.75em;
  vertical-align: middle;
  z-index: 2;
  border-bottom: 1px solid #f1f3f5;
  border-color: var(--cc-section-border);
}

#s-ttl {
  display: table-cell;
  vertical-align: middle;
  font-size: 1em;
}

#s-c-bn {
  padding: 0;
  width: 1.7em;
  height: 1.7em;
  font-size: 1.45em;
  margin: 0;
  font-weight: initial;
  position: relative;
}

#s-c-bnc {
  display: table-cell;
  vertical-align: middle;
}

.cc_div span.t-lb {
  position: absolute;
  top: 0;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

#c_policy__text {
  height: 31.25em;
  overflow-y: auto;
  margin-top: 1.25em;
}

#c-s-in {
  position: relative;
  transform: translateY(-50%);
  top: 50%;
  height: 100%;
  height: calc(100% - 2.5em);
  max-height: 37.5em;
}

@media screen and (min-width: 688px) {
  /** works only on webkit-based browsers **/
  #s-bl::-webkit-scrollbar {
    width: 0.9em;
    height: 100%;
    background: transparent;
    border-radius: 0 0.25em 0.25em 0;
  }
  #s-bl::-webkit-scrollbar-thumb {
    border: 0.25em solid var(--cc-bg);
    background: #cfd5db;
    background: var(--cc-webkit-scrollbar-bg);
    border-radius: 100em;
  }
  #s-bl::-webkit-scrollbar-thumb:hover {
    background: #9199a0;
    background: var(--cc-webkit-scrollbar-bg-hover);
  }
  #s-bl::-webkit-scrollbar-button {
    width: 10px;
    height: 5px;
  }
}
/** custom checkbox **/
/* The container */
.cc_div .b-tg {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: inline-block;
  margin: auto;
  right: 1.2em;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  vertical-align: middle;
}

/* Hide the browser's default checkbox */
.cc_div .b-tg .c-tgl {
  position: absolute;
  cursor: pointer;
  display: block;
  top: 0;
  left: 0;
  margin: 0;
  border: 0;
}

/* Create a custom checkbox */
.cc_div .b-tg .c-tg {
  position: absolute;
  background: #919ea6;
  background: var(--cc-toggle-bg-off);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
  pointer-events: none;
}

.cc_div span.t-lb,
.cc_div .b-tg,
.cc_div .b-tg .c-tg,
.cc_div .b-tg .c-tgl {
  width: 3.4em;
  height: 1.5em;
  border-radius: 4em;
}

.cc_div .b-tg .c-tg.c-ro {
  cursor: not-allowed;
}

.cc_div .b-tg .c-tgl ~ .c-tg.c-ro {
  background: #d5dee2;
  background: var(--cc-toggle-bg-readonly);
}

.cc_div .b-tg .c-tgl ~ .c-tg.c-ro:after {
  box-shadow: none;
}

/* Style the checkmark/indicator */
.cc_div .b-tg .c-tg:after {
  content: "";
  position: relative;
  display: block;
  left: 0.125em;
  top: 0.125em;
  width: 1.25em;
  height: 1.25em;
  border: none;
  box-sizing: content-box;
  background: #fff;
  background: var(--cc-toggle-knob-bg);
  box-shadow: 0 1px 2px rgba(24, 32, 35, 0.36);
  transition: transform 0.25s ease;
  border-radius: 100%;
}

/* Show the checkmark when checked */
.cc_div .b-tg .c-tgl:checked ~ .c-tg:after {
  transform: translateX(1.9em);
}

#s-bl table,
#s-bl th,
#s-bl td {
  border: none;
}

#s-bl tbody tr {
  transition: background-color 0.25s ease;
}

#s-bl tbody tr:hover {
  background: #e9eff4;
  background: var(--cc-cookie-category-block-bg-hover);
}

#s-bl table {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

#s-bl td,
#s-bl th {
  padding: 0.8em 0.625em;
  text-align: left;
  vertical-align: top;
  font-size: 0.8em;
  padding-left: 1.2em;
}

#s-bl th {
  font-family: inherit;
  padding: 1.2em 1.2em;
}

#s-bl thead tr:first-child {
  border-bottom: 1px solid #e9edf2;
  border-color: var(--cc-cookie-table-border);
}

.force--consent #s-cnt,
.force--consent #cs {
  width: 100vw;
}

#cm-ov,
#cs-ov {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  visibility: hidden;
  opacity: 0;
  background: #070707;
  background: rgba(4, 6, 8, 0.85);
  background: var(--cc-overlay-bg);
  display: none;
  transition: none;
}

.show--settings #cs-ov,
.c--anim #cs-ov,
.force--consent .c--anim #cm-ov,
.force--consent.show--consent #cm-ov {
  display: block;
}

#cs-ov {
  z-index: 2;
}

.force--consent .cc_div {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  width: 100vw;
  visibility: hidden;
  transition: visibility 0.25s linear;
}

.force--consent.show--consent .c--anim .cc_div,
.force--consent.show--settings .c--anim .cc_div {
  visibility: visible;
}

.force--consent #cm {
  position: absolute;
}

.force--consent #cm.bar {
  width: 100vw;
  max-width: 100vw;
}

html.force--consent.show--consent {
  overflow-y: hidden !important;
}

html.force--consent.show--consent,
html.force--consent.show--consent body {
  height: auto !important;
  overflow-x: hidden !important;
}

/** END BLOCK PAGE SCROLL */
/** BEGIN ICONS **/
.cc_div .b-bn .exp::before,
.cc_div .act .b-bn .exp::before {
  border: solid #2d4156;
  border-color: var(--cc-btn-secondary-text);
  border-width: 0 2px 2px 0;
  padding: 0.2em;
  display: inline-block;
  position: absolute;
  content: "";
  margin-right: 15px;
  position: absolute;
  transform: translateY(-50%) rotate(45deg);
  left: 1.2em;
  top: 50%;
}

.cc_div .act .b-bn .b-tl::before {
  transform: translateY(-20%) rotate(225deg);
}

.cc_div .on-i::before {
  border: solid #fff;
  border-color: var(--cc-toggle-knob-icon-color);
  border-width: 0 2px 2px 0;
  padding: 0.1em;
  display: inline-block;
  padding-bottom: 0.45em;
  content: "";
  margin: 0 auto;
  transform: rotate(45deg);
  top: 0.37em;
  left: 0.75em;
  position: absolute;
}

#s-c-bn::before,
#s-c-bn::after {
  content: "";
  position: absolute;
  left: 0.82em;
  top: 0.58em;
  height: 0.6em;
  width: 1.5px;
  background: #444d53;
  background: var(--cc-btn-secondary-text);
  transform: rotate(45deg);
  border-radius: 1em;
  margin: 0 auto;
}

#s-c-bn::after {
  transform: rotate(-45deg);
}

.cc_div .off-i,
.cc_div .on-i {
  height: 100%;
  width: 50%;
  position: absolute;
  right: 0;
  display: block;
  text-align: center;
  transition: opacity 0.15s ease;
}

.cc_div .on-i {
  left: 0;
  opacity: 0;
}

.cc_div .off-i::before,
.cc_div .off-i::after {
  right: 0.8em;
  top: 0.42em;
  content: " ";
  height: 0.7em;
  width: 0.09375em;
  display: block;
  background: #cdd6dc;
  background: var(--cc-toggle-knob-icon-color);
  margin: 0 auto;
  position: absolute;
  transform-origin: center;
}

.cc_div .off-i::before {
  transform: rotate(45deg);
}

.cc_div .off-i::after {
  transform: rotate(-45deg);
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg .on-i {
  opacity: 1;
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg .off-i {
  opacity: 0;
}

/** END ICONS **/
#cm.box.middle,
#cm.cloud.middle {
  top: 50%;
  transform: translateY(-37%);
  bottom: auto;
}

#cm.box.middle.zoom,
#cm.cloud.middle.zoom {
  transform: scale(0.95) translateY(-50%);
}

#cm.box.center {
  left: 1em;
  right: 1em;
  margin: 0 auto;
}

/* Start cloud layout */
#cm.cloud {
  max-width: 50em;
  margin: 0 auto;
  text-align: center;
  left: 1em;
  right: 1em;
  overflow: hidden;
  padding: 1.3em 2em;
  width: unset;
}

.cc_div .cloud #c-inr {
  display: table;
  width: 100%;
}

.cc_div .cloud #c-inr-i {
  width: 70%;
  display: table-cell;
  vertical-align: top;
  padding-right: 2.4em;
}

.cc_div .cloud #c-txt {
  font-size: 0.85em;
}

.cc_div .cloud #c-bns {
  min-width: 170px;
  display: table-cell;
  vertical-align: middle;
}

#cm.cloud .c-bn {
  margin: 0.625em 0 0 0;
  width: 100%;
}

#cm.cloud .c-bn:first-child {
  margin: 0;
}

#cm.cloud.left {
  margin-right: 1.25em;
}

#cm.cloud.right {
  margin-left: 1.25em;
}

/* End cloud layout */
/* Start bar layout */
#cm.bar {
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 0;
  position: fixed;
  padding: 2em;
}

#cm.bar #c-inr {
  max-width: 32em;
  margin: 0 auto;
}

#cm.bar #c-bns {
  max-width: 33.75em;
}

#cm.bar #cs {
  padding: 0;
}

.cc_div .bar #c-s-in {
  top: 0;
  transform: none;
  height: 100%;
  max-height: 100%;
}

.cc_div .bar #s-hdr,
.cc_div .bar #s-bl,
.cc_div .bar #s-bns {
  padding-left: 1.6em;
  padding-right: 1.6em;
}

.cc_div .bar #cs {
  padding: 0;
}

/* align bar to right by default */
.cc_div .bar #s-inr {
  margin: 0;
  margin-left: auto;
  margin-right: 0;
  border-radius: 0;
  max-width: 32em;
}

.cc_div .bar.left #s-inr {
  margin-left: 0;
  margin-right: auto;
}

/* Force table to not be like tables anymore */
.cc_div .bar #s-bl table,
.cc_div .bar #s-bl thead,
.cc_div .bar #s-bl tbody,
.cc_div .bar #s-bl th,
.cc_div .bar #s-bl td,
.cc_div .bar #s-bl tr,
.cc_div .bar #s-cnt {
  display: block;
}

/* Hide table headers (but not display: none;, for accessibility) */
.cc_div .bar #s-bl thead tr {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.cc_div .bar #s-bl tr {
  border-top: 1px solid #e3e7ed;
  border-color: var(--cc-cookie-table-border);
}

.cc_div .bar #s-bl td {
  /* Behave  like a "row" */
  border: none;
  position: relative;
  padding-left: 35%;
}

.cc_div .bar #s-bl td:before {
  position: absolute;
  left: 1em;
  padding-right: 0.625em;
  white-space: nowrap;
  content: attr(data-column);
  color: #000;
  color: var(--cc-text);
  overflow: hidden;
  text-overflow: ellipsis;
}

/* End bar layout */
/* Positions */
#cm.top {
  bottom: auto;
  top: 1.25em;
}

#cm.left {
  right: auto;
  left: 1.25em;
}

#cm.right {
  left: auto;
  right: 1.25em;
}

#cm.bar.left,
#cm.bar.right {
  left: 0;
  right: 0;
}

#cm.bar.top {
  top: 0;
}

/* end positions */
@media screen and (max-width: 688px) {
  #cm,
  #cm.cloud,
  #cm.left,
  #cm.right {
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 1.4em !important;
    right: 1em;
    left: 1em;
    bottom: 1em;
    display: block;
  }
  .force--consent #cm,
  .force--consent #cm.cloud {
    width: auto;
    max-width: 100vw;
  }
  #cm.top {
    top: 1em;
    bottom: auto;
  }
  #cm.bottom {
    bottom: 1em;
    top: auto;
  }
  #cm.bar.bottom {
    bottom: 0;
  }
  #cm.cloud .c-bn {
    font-size: 0.85em;
  }
  #s-bns,
  .cc_div .bar #s-bns {
    padding: 1em 1.3em;
  }
  .cc_div .bar #s-inr {
    max-width: 100%;
    width: 100%;
  }
  .cc_div .cloud #c-inr-i {
    padding-right: 0;
  }
  #cs {
    border-radius: 0;
    padding: 0;
  }
  #c-s-in {
    max-height: 100%;
    height: 100%;
    top: 0;
    transform: none;
  }
  .cc_div .b-tg {
    transform: scale(1.1);
    right: 1.1em;
  }
  #s-inr {
    margin: 0;
    padding-bottom: 7.9em;
    border-radius: 0;
  }
  #s-bns {
    height: 7.9em;
  }
  #s-bl,
  .cc_div .bar #s-bl {
    padding: 1.3em;
  }
  #s-hdr,
  .cc_div .bar #s-hdr {
    padding: 0 1.3em;
  }
  /** dynamic table layout **/
  #s-bl table {
    width: 100%;
  }
  #s-inr.bns-t {
    padding-bottom: 10.5em;
  }
  .bns-t #s-bns {
    height: 10.5em;
  }
  .cc_div .bns-t .c-bn {
    font-size: 0.83em;
    padding: 0.9em 1.6em;
  }
  #s-cnt .b-bn .b-tl {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
  }
  /* Force table to not be like tables anymore */
  #s-bl table,
  #s-bl thead,
  #s-bl tbody,
  #s-bl th,
  #s-bl td,
  #s-bl tr,
  #s-cnt {
    display: block;
  }
  /* Hide table headers (but not display: none;, for accessibility) */
  #s-bl thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  #s-bl tr {
    border-top: 1px solid #e3e7ed;
    border-color: var(--cc-cookie-table-border);
  }
  #s-bl td {
    /* Behave  like a "row" */
    border: none;
    position: relative;
    padding-left: 35%;
  }
  #s-bl td:before {
    position: absolute;
    left: 1em;
    padding-right: 0.625em;
    white-space: nowrap;
    content: attr(data-column);
    color: #000;
    color: var(--cc-text);
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #cm .c-bn,
  .cc_div .c-bn {
    width: 100%;
    margin-right: 0;
  }
  #s-cnt #s-rall-bn {
    margin-left: 0;
  }
  .cc_div #c-bns {
    flex-direction: column;
  }
  #c-bns button + button,
  #s-cnt button + button {
    margin-top: 0.625em;
    margin-left: 0;
    float: unset;
  }
  #cm.cloud,
  #cm.box {
    left: 1em;
    right: 1em;
    width: auto;
  }
  #cm.cloud.right,
  #cm.cloud.left {
    margin: 0;
  }
  .cc_div .cloud #c-bns,
  .cc_div .cloud #c-inr,
  .cc_div .cloud #c-inr-i {
    display: block;
    width: auto;
    min-width: unset;
  }
  .cc_div .cloud #c-txt {
    font-size: 0.9em;
  }
  .cc_div .cloud #c-bns {
    margin-top: 1.625em;
  }
}
/* Begin IE fixes */
.cc_div.ie #c-vln {
  height: 100%;
  padding-top: 5.62em;
}

.cc_div.ie .bar #c-vln {
  padding-top: 0;
}

.cc_div.ie #cs {
  max-height: 37.5em;
  position: relative;
  top: 0;
  margin-top: -5.625em;
}

.cc_div.ie .bar #cs {
  margin-top: 0;
  max-height: 100%;
}

.cc_div.ie #cm {
  border: 1px solid #dee6e9;
}

.cc_div.ie #c-s-in {
  top: 0;
}

.cc_div.ie .b-tg {
  padding-left: 1em;
  margin-bottom: 0.7em;
}

.cc_div.ie .b-tg .c-tgl:checked ~ .c-tg:after {
  left: 1.95em;
}

.cc_div.ie #s-bl table {
  overflow: auto;
}

.cc_div.ie .b-tg .c-tg {
  display: none;
}

.cc_div.ie .b-tg .c-tgl {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0.2em;
  height: auto;
}

.cc_div.ie #s-cnt .b-bn .b-tl {
  padding: 1.3em 6.4em 1.3em 1.4em;
}

.cc_div.ie .bar #s-bl td:before {
  display: none;
}

.cc_div.ie .bar #s-bl td {
  padding: 0.8em 0.625em 0.8em 1.2em;
}

.cc_div.ie .bar #s-bl thead tr {
  position: relative;
}

.cc_div.ie .b-tg .t-lb {
  filter: alpha(opacity=0);
}

.cc_div.ie #cm-ov,
.cc_div.ie #cs-ov {
  filter: alpha(opacity=80);
}

/** END IE FIXES **/
.carousel {
  position: relative;
  box-sizing: border-box;
}

.carousel *, .carousel *:before, .carousel *:after {
  box-sizing: inherit;
}

.carousel.is-draggable {
  cursor: move;
  cursor: grab;
}

.carousel.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.carousel__viewport {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  max-height: 100%;
}

.carousel__track {
  display: flex;
}

.carousel__slide {
  flex: 0 0 auto;
  width: var(--carousel-slide-width, 60%);
  max-width: 100%;
  padding: 1rem;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.has-dots {
  margin-bottom: calc(0.5rem + 22px);
}

.carousel__dots {
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  list-style: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.carousel__dots .carousel__dot {
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  width: 22px;
  height: 22px;
  cursor: pointer;
}

.carousel__dots .carousel__dot:after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  opacity: 0.25;
  transition: opacity 0.15s ease-in-out;
}

.carousel__dots .carousel__dot.is-selected:after {
  opacity: 1;
}

.carousel__button {
  width: var(--carousel-button-width, 48px);
  height: var(--carousel-button-height, 48px);
  padding: 0;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: all;
  cursor: pointer;
  color: var(--carousel-button-color, currentColor);
  background: var(--carousel-button-bg, transparent);
  border-radius: var(--carousel-button-border-radius, 50%);
  box-shadow: var(--carousel-button-shadow, none);
  transition: opacity 0.15s ease;
}

.carousel__button.is-prev, .carousel__button.is-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.carousel__button.is-prev {
  left: 10px;
}

.carousel__button.is-next {
  right: 10px;
}

.carousel__button[disabled] {
  cursor: default;
  opacity: 0.3;
}

.carousel__button svg {
  width: var(--carousel-button-svg-width, 50%);
  height: var(--carousel-button-svg-height, 50%);
  fill: none;
  stroke: currentColor;
  stroke-width: var(--carousel-button-svg-stroke-width, 1.5);
  stroke-linejoin: bevel;
  stroke-linecap: round;
  filter: var(--carousel-button-svg-filter, none);
  pointer-events: none;
}

html.with-fancybox {
  scroll-behavior: auto;
}

body.compensate-for-scrollbar {
  overflow: hidden !important;
  touch-action: none;
}

.fancybox__container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  direction: ltr;
  margin: 0;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  color: var(--fancybox-color, #fff);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow: hidden;
  z-index: 1050;
  outline: none;
  transform-origin: top left;
  --carousel-button-width: 48px;
  --carousel-button-height: 48px;
  --carousel-button-svg-width: 24px;
  --carousel-button-svg-height: 24px;
  --carousel-button-svg-stroke-width: 2.5;
  --carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4));
}

.fancybox__container *, .fancybox__container *::before, .fancybox__container *::after {
  box-sizing: inherit;
}

.fancybox__container :focus {
  outline: none;
}

body:not(.is-using-mouse) .fancybox__container :focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94));
}

@media all and (min-width: 1024px) {
  .fancybox__container {
    --carousel-button-width:48px;
    --carousel-button-height:48px;
    --carousel-button-svg-width:27px;
    --carousel-button-svg-height:27px;
  }
}
.fancybox__backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: var(--fancybox-bg, rgba(12, 19, 19, 0.92));
}

.fancybox__carousel {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  z-index: 10;
}

.fancybox__carousel.has-dots {
  margin-bottom: calc(0.5rem + 22px);
}

.fancybox__viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  cursor: default;
}

.fancybox__track {
  display: flex;
  height: 100%;
}

.fancybox__slide {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 48px 8px 8px 8px;
  position: relative;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  outline: 0;
  overflow: auto;
  --carousel-button-width: 36px;
  --carousel-button-height: 36px;
  --carousel-button-svg-width: 22px;
  --carousel-button-svg-height: 22px;
}

.fancybox__slide::before, .fancybox__slide::after {
  content: "";
  flex: 0 0 0;
  margin: auto;
}

@media all and (min-width: 1024px) {
  .fancybox__slide {
    padding: 64px 100px;
  }
}
.fancybox__content {
  margin: 0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);
  padding: 36px;
  color: var(--fancybox-content-color, #374151);
  background: var(--fancybox-content-bg, #fff);
  position: relative;
  align-self: center;
  display: flex;
  flex-direction: column;
  z-index: 20;
}

.fancybox__content :focus:not(.carousel__button.is-close) {
  outline: thin dotted;
  box-shadow: none;
}

.fancybox__caption {
  align-self: center;
  max-width: 100%;
  margin: 0;
  padding: 1rem 0 0 0;
  line-height: 1.375;
  color: var(--fancybox-color, currentColor);
  visibility: visible;
  cursor: auto;
  flex-shrink: 0;
  overflow-wrap: anywhere;
}

.is-loading .fancybox__caption {
  visibility: hidden;
}

.fancybox__container > .carousel__dots {
  top: 100%;
  color: var(--fancybox-color, #fff);
}

.fancybox__nav .carousel__button {
  z-index: 40;
}

.fancybox__nav .carousel__button.is-next {
  right: 8px;
}

@media all and (min-width: 1024px) {
  .fancybox__nav .carousel__button.is-next {
    right: 40px;
  }
}
.fancybox__nav .carousel__button.is-prev {
  left: 8px;
}

@media all and (min-width: 1024px) {
  .fancybox__nav .carousel__button.is-prev {
    left: 40px;
  }
}
.carousel__button.is-close {
  position: absolute;
  top: 8px;
  right: 8px;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  right: calc(env(safe-area-inset-right, 0px) + 8px);
  z-index: 40;
}

@media all and (min-width: 1024px) {
  .carousel__button.is-close {
    right: 40px;
  }
}
.fancybox__content > .carousel__button.is-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: var(--fancybox-color, #fff);
}

.fancybox__no-click, .fancybox__no-click button {
  pointer-events: none;
}

.fancybox__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  color: var(--fancybox-color, currentColor);
}

.fancybox__slide .fancybox__spinner {
  cursor: pointer;
  z-index: 1053;
}

.fancybox__spinner svg {
  animation: fancybox-rotate 2s linear infinite;
  transform-origin: center center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

.fancybox__spinner svg circle {
  fill: none;
  stroke-width: 2.75;
  stroke-miterlimit: 10;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  animation: fancybox-dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  stroke: currentColor;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fancybox-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
.fancybox__backdrop, .fancybox__caption, .fancybox__nav, .carousel__dots, .carousel__button.is-close {
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop, .fancybox__container.is-animated[aria-hidden=false] .fancybox__caption, .fancybox__container.is-animated[aria-hidden=false] .fancybox__nav, .fancybox__container.is-animated[aria-hidden=false] .carousel__dots, .fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close {
  animation: 0.15s ease backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__backdrop, .fancybox__container.is-animated.is-closing .fancybox__caption, .fancybox__container.is-animated.is-closing .fancybox__nav, .fancybox__container.is-animated.is-closing .carousel__dots, .fancybox__container.is-animated.is-closing .carousel__button.is-close {
  animation: 0.15s ease both fancybox-fadeOut;
}

.fancybox-fadeIn {
  animation: 0.15s ease both fancybox-fadeIn;
}

.fancybox-fadeOut {
  animation: 0.1s ease both fancybox-fadeOut;
}

.fancybox-zoomInUp {
  animation: 0.2s ease both fancybox-zoomInUp;
}

.fancybox-zoomOutDown {
  animation: 0.15s ease both fancybox-zoomOutDown;
}

.fancybox-throwOutUp {
  animation: 0.15s ease both fancybox-throwOutUp;
}

.fancybox-throwOutDown {
  animation: 0.15s ease both fancybox-throwOutDown;
}

@keyframes fancybox-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fancybox-fadeOut {
  to {
    opacity: 0;
  }
}
@keyframes fancybox-zoomInUp {
  from {
    transform: scale(0.97) translate3d(0, 16px, 0);
    opacity: 0;
  }
  to {
    transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fancybox-zoomOutDown {
  to {
    transform: scale(0.97) translate3d(0, 16px, 0);
    opacity: 0;
  }
}
@keyframes fancybox-throwOutUp {
  to {
    transform: translate3d(0, -30%, 0);
    opacity: 0;
  }
}
@keyframes fancybox-throwOutDown {
  to {
    transform: translate3d(0, 30%, 0);
    opacity: 0;
  }
}
.fancybox__carousel .carousel__slide {
  scrollbar-width: thin;
  scrollbar-color: #ccc rgba(255, 255, 255, 0.1);
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0.1);
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 2px;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}

.fancybox__carousel.is-draggable .fancybox__slide, .fancybox__carousel.is-draggable .fancybox__slide .fancybox__content {
  cursor: move;
  cursor: grab;
}

.fancybox__carousel.is-dragging .fancybox__slide, .fancybox__carousel.is-dragging .fancybox__slide .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__carousel .fancybox__slide .fancybox__content {
  cursor: auto;
}

.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content {
  cursor: zoom-in;
}

.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content {
  cursor: zoom-out;
}

.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content {
  cursor: move;
  cursor: grab;
}

.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__image {
  transform-origin: 0 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: none;
}

.has-image .fancybox__content {
  padding: 0;
  background: rgba(0, 0, 0, 0);
  min-height: 1px;
}

.is-closing .has-image .fancybox__content {
  overflow: visible;
}

.has-image[data-image-fit=contain] {
  overflow: visible;
  touch-action: none;
}

.has-image[data-image-fit=contain] .fancybox__content {
  flex-direction: row;
  flex-wrap: wrap;
}

.has-image[data-image-fit=contain] .fancybox__image {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.has-image[data-image-fit=contain-w] {
  overflow-x: hidden;
  overflow-y: auto;
}

.has-image[data-image-fit=contain-w] .fancybox__content {
  min-height: auto;
}

.has-image[data-image-fit=contain-w] .fancybox__image {
  max-width: 100%;
  height: auto;
}

.has-image[data-image-fit=cover] {
  overflow: visible;
  touch-action: none;
}

.has-image[data-image-fit=cover] .fancybox__content {
  width: 100%;
  height: 100%;
}

.has-image[data-image-fit=cover] .fancybox__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content, .fancybox__carousel .fancybox__slide.has-map .fancybox__content, .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content, .fancybox__carousel .fancybox__slide.has-video .fancybox__content, .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  max-width: 100%;
  flex-shrink: 1;
  min-height: 1px;
  overflow: visible;
}

.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content, .fancybox__carousel .fancybox__slide.has-map .fancybox__content, .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content {
  width: 100%;
  height: 80%;
}

.fancybox__carousel .fancybox__slide.has-video .fancybox__content, .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  width: 960px;
  height: 540px;
  max-width: 100%;
  max-height: 100%;
}

.fancybox__carousel .fancybox__slide.has-map .fancybox__content, .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content, .fancybox__carousel .fancybox__slide.has-video .fancybox__content, .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  padding: 0;
  background: rgba(24, 24, 27, 0.9);
  color: #fff;
}

.fancybox__carousel .fancybox__slide.has-map .fancybox__content {
  background: #e5e3df;
}

.fancybox__html5video, .fancybox__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0);
}

.fancybox-placeholder {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.fancybox__thumbs {
  flex: 0 0 auto;
  position: relative;
  padding: 0px 3px;
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs {
  animation: 0.15s ease-in backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__thumbs {
  opacity: 0;
}

.fancybox__thumbs .carousel__slide {
  flex: 0 0 auto;
  width: var(--fancybox-thumbs-width, 96px);
  margin: 0;
  padding: 8px 3px;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-width: 5px;
  border-style: solid;
  border-color: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  opacity: 0;
  transition: opacity 0.15s ease;
  border-radius: var(--fancybox-thumbs-border-radius, 4px);
}

.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after {
  opacity: 0.92;
}

.fancybox__thumbs .carousel__slide > * {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fancybox__thumb {
  position: relative;
  width: 100%;
  padding-top: calc(100% / (var(--fancybox-thumbs-ratio, 1.5)));
  background-size: cover;
  background-position: center center;
  background-color: rgba(255, 255, 255, 0.1);
  background-repeat: no-repeat;
  border-radius: var(--fancybox-thumbs-border-radius, 4px);
}

.fancybox__toolbar {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  background: linear-gradient(to top, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, 0.006) 8.1%, hsla(0, 0%, 0%, 0.021) 15.5%, hsla(0, 0%, 0%, 0.046) 22.5%, hsla(0, 0%, 0%, 0.077) 29%, hsla(0, 0%, 0%, 0.114) 35.3%, hsla(0, 0%, 0%, 0.155) 41.2%, hsla(0, 0%, 0%, 0.198) 47.1%, hsla(0, 0%, 0%, 0.242) 52.9%, hsla(0, 0%, 0%, 0.285) 58.8%, hsla(0, 0%, 0%, 0.326) 64.7%, hsla(0, 0%, 0%, 0.363) 71%, hsla(0, 0%, 0%, 0.394) 77.5%, hsla(0, 0%, 0%, 0.419) 84.5%, hsla(0, 0%, 0%, 0.434) 91.9%, hsla(0, 0%, 0%, 0.44) 100%);
  padding: 0;
  touch-action: none;
  display: flex;
  justify-content: space-between;
  --carousel-button-svg-width: 20px;
  --carousel-button-svg-height: 20px;
  opacity: var(--fancybox-opacity, 1);
  text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4));
}

@media all and (min-width: 1024px) {
  .fancybox__toolbar {
    padding: 8px;
  }
}
.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar {
  animation: 0.15s ease-in backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__toolbar {
  opacity: 0;
}

.fancybox__toolbar__items {
  display: flex;
}

.fancybox__toolbar__items--left {
  margin-right: auto;
}

.fancybox__toolbar__items--center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.fancybox__toolbar__items--right {
  margin-left: auto;
}

@media (max-width: 640px) {
  .fancybox__toolbar__items--center:not(:last-child) {
    display: none;
  }
}
.fancybox__counter {
  min-width: 72px;
  padding: 0 10px;
  line-height: var(--carousel-button-height, 48px);
  text-align: center;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
}

.fancybox__progress {
  background: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 30;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fancybox__container:-webkit-full-screen::backdrop {
  opacity: 0;
}

.fancybox__container:fullscreen::backdrop {
  opacity: 0;
}

.fancybox__button--fullscreen g:nth-child(2) {
  display: none;
}

.fancybox__container:-webkit-full-screen .fancybox__button--fullscreen g:nth-child(1) {
  display: none;
}

.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1) {
  display: none;
}

.fancybox__container:-webkit-full-screen .fancybox__button--fullscreen g:nth-child(2) {
  display: block;
}

.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2) {
  display: block;
}

.fancybox__button--slideshow g:nth-child(2) {
  display: none;
}

.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1) {
  display: none;
}

.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2) {
  display: block;
} /*
Font Declarations
=== === === === === === === === === === === === === ===
*/
/*
Type Scale 
@link https://utopia.fyi/type/calculator?c=320,15,1.2,1440,18,1.414,5,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l
=== === === === === === === === === === === === === ===
*/
:root {
  --type--1: clamp(0.84rem, calc(0.82rem + 0.02vw), 1rem);
  --type-0: clamp(0.9rem, calc(0.85rem + 0.22vw), 1.06rem);
  --type-1: clamp(1.13rem, calc(0.99rem + 0.69vw), 1.59rem);
  --type-2: clamp(1.35rem, calc(1.08rem + 1.33vw), 2.25rem);
  --type-3: clamp(1.62rem, calc(1.16rem + 2.31vw), 3.18rem);
  --type-4: clamp(1.94rem, calc(1.19rem + 3.78vw), 4.50rem);
  --type-5: clamp(2.33rem, calc(1.14rem + 5.97vw), 6.36rem);
}

/*
Site-wide defaults
=== === === === === === === === === === === === === ===
*/
body {
  font-family: "Merriweather", sans-serif;
  font-size: var(--type-0);
  font-weight: 300;
  line-height: 1;
  color: var(--grey-900);
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: "Merriweather", sans-serif;
  font-weight: 400;
}

p {
  margin: 0;
  margin-bottom: var(--space-m);
  font-size: var(--type-0);
  line-height: 2;
}

a {
  transition: all 0.3s ease;
}

small {
  line-height: 1.6;
}

/*
Generic Content Presets
=== === === === === === === === === === === === === ===
*/
.genericContent__container h1, .genericContent__container h2, .genericContent__container h3, .genericContent__container h4, .genericContent__container h5, .genericContent__container h6 {
  margin-bottom: var(--space-s);
  line-height: 1.2;
}
.genericContent__container h1:not(:first-child), .genericContent__container h2:not(:first-child), .genericContent__container h3:not(:first-child), .genericContent__container h4:not(:first-child), .genericContent__container h5:not(:first-child), .genericContent__container h6:not(:first-child) {
  margin-top: var(--space-xl);
}
.genericContent__container ul, .genericContent__container ol {
  margin-bottom: var(--space-l);
}
.genericContent__container li {
  font-size: var(--type-0);
  line-height: 1.4;
}
.genericContent__container a:not(.button) {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--primary-green);
  transition: color 0.3s ease;
}
.genericContent__container a:not(.button):hover {
  text-decoration: none;
  color: var(--primary-green);
}
.genericContent__container > *:last-child {
  margin-bottom: 0;
}

/*
Typography Utilities
=== === === === === === === === === === === === === ===
*/
.type--size--1 {
  font-size: var(--type--1);
  line-height: 1.5;
}

.type--size-0, .type--size-s {
  font-size: var(--type-0);
  line-height: 1.4;
}

.type--size-1, .type--size-m {
  font-size: var(--type-1);
  line-height: 1.3;
}

.type--size-2, .type--size-l {
  font-size: var(--type-2);
  line-height: 1.2;
}

.type--size-3, .type--size-xl {
  font-size: var(--type-3);
  line-height: 1.1;
}

.type--size-4, .type--size-xxl {
  font-size: var(--type-4);
  line-height: 1;
}

.type--size-5 {
  font-size: var(--type-5);
  line-height: 1;
}

/*
Alignment
=== === === === === === === === === === === === === ===
*/
.text--align-left {
  text-align: left;
}

.text--align-center {
  text-align: center;
}

.text--align-right {
  text-align: right;
}

/*
Transforms
=== === === === === === === === === === === === === ===
*/
.text--transform-lowercase {
  text-transform: lowercase;
}

.text--transform-uppercase {
  text-transform: uppercase;
}

.text--transform-none {
  text-transform: none;
}

/*
Presets
=== === === === === === === === === === === === === ===
*/
.pageTitle {
  font-size: var(--type-3);
  font-weight: 300;
  text-align: center;
  color: var(--primary-green);
}

/*
Individual Forms
=== === === === === === === === === === === === === ===
*/
#form_contact {
  margin: 0 auto;
  max-width: var(--const-s);
}

/*
Defaults
=== === === === === === === === === === === === === ===
*/
label {
  display: block;
  margin-bottom: var(--space-3xs);
  padding: 0;
  color: var(--type-800);
}

input[type=text],
input[type=email],
input[type=password],
input[type=search],
input[type=number],
input[type=date],
textarea {
  --form-border-colour: var(--green-600);
  margin: 0;
  padding: 1rem;
  width: 100%;
  height: auto;
  font-family: "Merriweather", sans-serif;
  font-size: 16px;
  color: var(--type-800);
  border: 3px solid var(--form-border-colour);
  border-radius: 3px;
  background-color: white;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
input[type=text]:hover,
input[type=email]:hover,
input[type=password]:hover,
input[type=search]:hover,
input[type=number]:hover,
input[type=date]:hover,
textarea:hover {
  background-color: var(--type-100);
}
input[type=text]:focus, input[type=text]:focus:hover,
input[type=email]:focus,
input[type=email]:focus:hover,
input[type=password]:focus,
input[type=password]:focus:hover,
input[type=search]:focus,
input[type=search]:focus:hover,
input[type=number]:focus,
input[type=number]:focus:hover,
input[type=date]:focus,
input[type=date]:focus:hover,
textarea:focus,
textarea:focus:hover {
  --form-border-colour: var(--green-400);
  outline: none !important;
}

/*
Forms
=== === === === === === === === === === === === === ===
*/
.form--layout-stacked {
  display: grid;
  grid-gap: var(--space-s);
}
@media (min-width: 768px) {
  .form--layout-stacked {
    grid-gap: var(--space-m);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (min-width: 768px) {
  .form--span-two {
    grid-column: 1/span 2;
  }
}
/*
Validation
=== === === === === === === === === === === === === ===
*/
.form__success input[type=text],
.form__success input[type=email],
.form__success input[type=password],
.form__success input[type=search],
.form__success input[type=number],
.form__success input[type=date],
.form__success textarea {
  --form-border-colour: var(--green-400);
}

.form__error input[type=text],
.form__error input[type=email],
.form__error input[type=password],
.form__error input[type=search],
.form__error input[type=number],
.form__error input[type=date],
.form__error textarea {
  --form-border-colour: var(--error-red);
}

.form__helpMessage {
  margin-top: var(--space-2xs);
  font-size: var(--type--1);
  font-weight: 700;
  color: var(--error-red);
}

/*
Messages
=== === === === === === === === === === === === === ===
*/
.form__message {
  padding: var(--space-xs);
  font-size: var(--type-1);
  border-radius: 5px;
}

.form--message-success {
  color: var(--green-800);
  background-color: var(--green-400);
}

.form--message-error {
  color: var(--red-800);
  background-color: var(--error-red);
}

/*
Spacing Scale 
@link https://utopia.fyi/space/calculator?c=320,15,1.2,1440,18,1.414,5,1,&s=0.75|0.5|0.25,1.5|2|3|4|6|8|10|12,
=== === === === === === === === === === === === === ===
*/
:root {
  --const-xs: 444px;
  --const-s: 532px;
  --const-m: 640px;
  --const-l: 767px;
  --const-xl: 850px;
  --const-2xl: 1000px;
  --space-3xs: clamp(0.25rem, calc(0.23rem + 0.09vw), 0.31rem);
  --space-2xs: clamp(0.50rem, calc(0.48rem + 0.09vw), 0.56rem);
  --space-xs: clamp(0.69rem, calc(0.63rem + 0.27vw), 0.88rem);
  --space-s: clamp(0.94rem, calc(0.88rem + 0.27vw), 1.13rem);
  --space-m: clamp(1.44rem, calc(1.37rem + 0.36vw), 1.69rem);
  --space-l: clamp(1.88rem, calc(1.77rem + 0.54vw), 2.25rem);
  --space-xl: clamp(2.81rem, calc(2.65rem + 0.80vw), 3.38rem);
  --space-2xl: clamp(3.75rem, calc(3.54rem + 1.07vw), 4.50rem);
  --space-3xl: clamp(5.63rem, calc(5.30rem + 1.61vw), 6.75rem);
  --space-4xl: clamp(7.50rem, calc(7.07rem + 2.14vw), 9.00rem);
  --space-5xl: clamp(9.38rem, calc(8.84rem + 2.68vw), 11.25rem);
  --space-6xl: clamp(11.25rem, calc(10.61rem + 3.21vw), 13.50rem);
  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, calc(0.16rem + 0.45vw), 0.56rem);
  --space-2xs-xs: clamp(0.50rem, calc(0.39rem + 0.54vw), 0.88rem);
  --space-xs-s: clamp(0.69rem, calc(0.56rem + 0.63vw), 1.13rem);
  --space-s-m: clamp(0.94rem, calc(0.72rem + 1.07vw), 1.69rem);
  --space-m-l: clamp(1.44rem, calc(1.21rem + 1.16vw), 2.25rem);
  --space-l-xl: clamp(1.88rem, calc(1.45rem + 2.14vw), 3.38rem);
  --space-xl-2xl: clamp(2.81rem, calc(2.33rem + 2.41vw), 4.50rem);
  --space-2xl-3xl: clamp(3.75rem, calc(2.89rem + 4.29vw), 6.75rem);
  --space-3xl-4xl: clamp(5.63rem, calc(4.66rem + 4.82vw), 9.00rem);
  --space-4xl-5xl: clamp(7.50rem, calc(6.43rem + 5.36vw), 11.25rem);
  --space-5xl-6xl: clamp(9.38rem, calc(8.20rem + 5.89vw), 13.50rem);
}

/*
Horizontal Constraints for Copy
@scale 1.2 from base
=== === === === === === === === === === === === === ===
*/
.constrain.constrain--size-xs {
  max-width: var(--const-xs);
}
.constrain.constrain--size-s {
  max-width: var(--const-s);
}
.constrain.constrain--size-m {
  max-width: var(--const-m);
}
.constrain.constrain--size-l {
  max-width: var(--const-l);
}
.constrain.constrain--size-xl {
  max-width: var(--const-xl);
}
.constrain.constrain--size-2xl {
  max-width: var(--const-2xl);
}

.constrain--align-center {
  margin-left: auto;
  margin-right: auto;
}

/*
Section Blocks
=== === === === === === === === === === === === === ===
*/
.sectionBlock {
  position: relative;
  z-index: 1;
}

.sectionBlock__externalTop-negative {
  margin-top: calc(0vw - var(--block-spacing-modifier));
  z-index: 3;
}

.sectionBlock__externalTop-none {
  margin-top: 0;
}

.sectionBlock__externalTop-small {
  margin-top: var(--block-spacing-modifier);
}

.sectionBlock__externalTop-large {
  margin-top: calc(var(--block-spacing-modifier) * 2);
}

.sectionBlock__externalBottom-negative {
  margin-bottom: calc(0vw - var(--block-spacing-modifier));
  z-index: 3;
}

.sectionBlock__externalBottom-none {
  margin-bottom: 0;
}

.sectionBlock__externalBottom-small {
  margin-bottom: var(--block-spacing-modifier);
}

.sectionBlock__externalBottom-large {
  margin-bottom: calc(var(--block-spacing-modifier) * 2);
}

.sectionBlock__internalTop-none .sectionBlock__inner {
  padding-top: 0;
}

.sectionBlock__internalTop-small .sectionBlock__inner {
  padding-top: calc(var(--block-spacing-modifier) / 2);
}

.sectionBlock__internalTop-large .sectionBlock__inner {
  padding-top: var(--block-spacing-modifier);
}

.sectionBlock__internalTop-xl .sectionBlock__inner {
  padding-top: calc(var(--block-spacing-modifier) * 2);
}

.sectionBlock__internalBottom-none .sectionBlock__inner {
  padding-bottom: 0;
}

.sectionBlock__internalBottom-small .sectionBlock__inner {
  padding-bottom: calc(var(--block-spacing-modifier) / 2);
}

.sectionBlock__internalBottom-large .sectionBlock__inner {
  padding-bottom: var(--block-spacing-modifier);
}

.sectionBlock__internalBottom-xl .sectionBlock__inner {
  padding-bottom: calc(var(--block-spacing-modifier) * 2);
}

[class*=negative] + [class*=negative] {
  z-index: 2;
}

/*
Custom Props
=== === === === === === === === === === === === === ===
*/
:root {
  --wrapper-padding: 20px;
  --wrapper-xl: 1290px;
  --wrapper-l: 1140px;
  --wrapper-m: 1000px;
}

/*
Wrappers
=== === === === === === === === === === === === === ===
*/
.wrapper {
  margin: 0 auto;
  padding: 0 var(--wrapper-padding);
  width: 100%;
  max-width: var(--wrapper-m);
}

.wrapper--size-m {
  max-width: var(--wrapper-m);
}

.wrapper--size-l {
  max-width: var(--wrapper-l);
}

.wrapper--size-xl {
  max-width: var(--wrapper-xl);
}

/*
Button Defaults
=== === === === === === === === === === === === === ===
*/
.button {
  --button-bg-colour: white;
  --button-bg-colour-hover: var(--primary-green);
  --button-text-colour: var(--primary-green);
  --button-text-colour-hover: white;
  position: relative;
  display: inline-block;
  margin: 0;
  font-family: "Merriweather", sans-serif;
  font-size: var(--type-0);
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  text-transform: lowercase;
  letter-spacing: 0.03rem;
  line-height: 1;
  color: var(--button-text-colour);
  border: 2px solid var(--primary-green);
  background-color: var(--button-bg-colour);
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.25s ease;
}
.button:hover {
  color: var(--button-text-colour-hover);
  background-color: var(--button-bg-colour-hover);
}
.button:focus:not(:focus-visible) {
  outline: none;
}
.button:focus, .button:focus:focus-visible {
  outline: 3px solid var(--accessibility-outline);
  outline-offset: 3px;
}

/*
Button Size
=== === === === === === === === === === === === === ===
*/
.button--size-m {
  padding: var(--space-xs) var(--space-m);
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.imageCarousel__container {
  position: relative;
}

.imageCarousel .swiper-slide {
  max-width: 80vw;
}
@media (min-width: 768px) {
  .imageCarousel .swiper-slide {
    max-width: 50vw;
  }
}
.imageCarousel .imageCarousel__slide {
  opacity: 0.5;
  filter: blur(2px);
  transition: all 0.5s ease;
}
.imageCarousel .swiper-slide-active .imageCarousel__slide {
  opacity: 1;
  filter: blur(0px);
}

.imageCarousel__slide figure {
  margin: 0;
  padding: 0;
}
.imageCarousel__slide figcaption {
  margin-top: var(--space-m);
  font-size: var(--type--1);
  text-align: center;
  color: var(--grey-500);
}

/*
Shared Slider Pagination
=== === === === === === === === === === === === === ===
*/
.shared__navigation {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
}

.shared__navigation-button {
  color: var(--primary-green);
  transition: color 0.3s ease;
  pointer-events: all;
  cursor: pointer;
}
.shared__navigation-button:hover {
  color: var(--primary-green-dark);
}

/*
Personnel Card
=== === === === === === === === === === === === === ===
*/
.personnelCard {
  display: grid;
  grid-gap: var(--space-xl);
}
@media (min-width: 768px) {
  .personnelCard {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

/*
Contact Map
=== === === === === === === === === === === === === ===
*/
.contactMap {
  position: relative;
  height: 620px;
}

.contactInfo__container {
  position: absolute;
  inset: 30px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1;
}
@media (min-width: 768px) {
  .contactInfo__container {
    justify-content: flex-start;
    align-items: center;
  }
}

.contactInfo__box {
  padding: var(--space-l);
  font-family: "Merriweather", sans-serif;
  font-weight: 300;
  color: var(--grey-500);
  background-color: white;
}

.contactMarker {
  width: 30px;
  height: 53px;
  cursor: pointer;
  background: transparent url(../images/map_marker.svg) no-repeat;
  background-size: 30px 53px;
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.siteNavigation {
  width: 100%;
}
.siteNavigation.open .siteNavigation__primaryLinks {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  display: flex;
  gap: var(--space-m);
  padding: var(--space-m) var(--space-xs);
  background-color: var(--primary-green);
  z-index: 1000;
}
@media (min-width: 768px) {
  .siteNavigation.open .siteNavigation__primaryLinks {
    position: static;
    flex-direction: row;
    padding: 0;
    gap: 0;
    background-color: transparent;
  }
}

.siteNavigation__primaryLinks {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}
.siteNavigation__primaryLinks a {
  text-decoration: none;
  text-underline-offset: 3px;
  letter-spacing: 0.1rem;
  color: var(--grey-500);
}
.siteNavigation__primaryLinks a:hover {
  color: white;
}
.siteNavigation__primaryLinks .current-menu-item a {
  text-decoration: underline;
  color: white;
}
@media (min-width: 768px) {
  .siteNavigation__primaryLinks {
    flex-direction: row;
  }
  .siteNavigation__primaryLinks a:hover {
    color: var(--primary-green);
  }
  .siteNavigation__primaryLinks .current-menu-item a {
    color: var(--primary-green);
  }
}

.single-property .siteNavigation__primaryLinks .menu-item-object-property a {
  text-decoration: underline;
  color: white;
}
@media (min-width: 768px) {
  .single-property .siteNavigation__primaryLinks .menu-item-object-property a {
    color: var(--primary-green);
  }
}

/*
Mobile Menu States
=== === === === === === === === === === === === === ===
*/
.siteNavigation__primaryLinks {
  display: none;
}
@media (min-width: 768px) {
  .siteNavigation__primaryLinks {
    display: flex;
  }
}

.siteNavigation__mobileToggle {
  display: block;
  margin: 0 auto;
  padding: var(--space-2xs) var(--space-s);
  line-height: 1;
  color: var(--primary-green);
  border: 1px solid var(--primary-green);
  background-color: white;
  transition: all 0.3s ease;
  cursor: pointer;
}
.siteNavigation__mobileToggle:hover {
  color: white;
  background-color: var(--primary-green);
}
@media (min-width: 768px) {
  .siteNavigation__mobileToggle {
    display: none;
  }
}

/*
Layout
=== === === === === === === === === === === === === ===
*/
.propertiesGrid {
  display: grid;
  grid-gap: var(--space-m);
  margin-top: var(--space-xl);
}
@media (min-width: 768px) {
  .propertiesGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .propertiesGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/*
Card
=== === === === === === === === === === === === === ===
*/
.propertyCard {
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
  transition: all 0.4s ease-in-out;
  overflow: hidden;
}
.propertyCard:hover {
  transform: translateY(-10px);
  box-shadow: rgba(9, 30, 66, 0.25) 0px 16px 16px -4px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
}

.propertyCard__link {
  text-decoration: none;
}

.propertyCard__details {
  padding: var(--space-m);
}

.propertyCard__price {
  margin-bottom: var(--space-s);
}

.propertyCard__price-number {
  font-size: var(--type-2);
  font-variant-numeric: lining-nums;
  color: var(--primary-green-dark);
}

.propertyCard__price-period {
  font-size: var(--type--1);
  color: var(--grey-500);
}

.propertyCard__name {
  margin-bottom: var(--space-2xs);
  font-size: var(--type-1);
  color: var(--grey-700);
}

.propertyCard__address {
  font-size: var(--type--1);
  line-height: 1.4;
  color: var(--grey-500);
}

.propertyCard__detailsSummary {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: var(--space-s);
  padding-top: var(--space-s);
  font-size: var(--type--1);
  font-variant-numeric: lining-nums;
  color: var(--grey-900);
  border-top: 1px solid var(--primary-green);
}
.propertyCard__detailsSummary li {
  display: flex;
  align-items: center;
}
.propertyCard__detailsSummary svg {
  margin-right: var(--space-2xs);
  color: var(--primary-green);
}
@media (min-width: 360px) {
  .propertyCard__detailsSummary {
    flex-direction: row;
  }
}

/*
Single Property
=== === === === === === === === === === === === === ===
*/
.propertyGrid {
  display: grid;
  grid-gap: var(--space-xl);
  margin-top: var(--space-xl);
}
@media (min-width: 1024px) {
  .propertyGrid {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  }
}

.property__detailsSummary {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: var(--space-s) 0;
  margin-top: var(--space-m);
  padding: var(--space-s) var(--space-xs);
  font-size: var(--type-0);
  font-variant-numeric: lining-nums;
  color: var(--grey-900);
  border-top: 1px solid var(--primary-green);
  border-bottom: 1px solid var(--primary-green);
}
.property__detailsSummary li {
  display: flex;
  align-items: center;
}
.property__detailsSummary svg {
  margin-right: var(--space-2xs);
  color: var(--primary-green);
}
@media (min-width: 360px) {
  .property__detailsSummary {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .property__detailsSummary li {
    width: 50%;
  }
}
@media (min-width: 640px) {
  .property__detailsSummary {
    flex-wrap: nowrap;
  }
  .property__detailsSummary li {
    width: initial;
  }
}

.property__name {
  margin-bottom: var(--space-2xs);
  font-size: var(--type-2);
  color: var(--primary-green);
}

.property__price {
  font-size: var(--type-1);
}

.property__subHeader {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-m);
  color: var(--primary-green);
}

.property_features {
  display: grid;
  grid-column-gap: var(--space-l);
  grid-row-gap: var(--space-xs);
  margin: 0;
  padding: 0;
  padding-left: var(--space-m);
}
.property_features li {
  line-height: 1.4;
}
@media (min-width: 640px) {
  .property_features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.property__address {
  margin-bottom: var(--space-m);
  line-height: 1.5;
}

/*
Property Sidebar
=== === === === === === === === === === === === === ===
*/
.property__sidebar {
  container-type: inline-size;
}

.property__sidebarTrack {
  position: sticky;
  top: 195px;
}

.property__sidebarCard {
  display: grid;
  grid-gap: var(--space-s);
  padding: var(--space-m);
  font-size: var(--type--1);
  line-height: 1.5;
  background-color: white;
  border-radius: 12px;
  box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
}
.property__sidebarCard p {
  font-size: var(--type--1);
  line-height: 1.5;
}
.property__sidebarCard p:last-child {
  margin-bottom: 0;
}
.property__sidebarCard a {
  color: var(--primary-green);
}
.property__sidebarCard a:hover {
  text-decoration: none;
}
.property__sidebarCard b {
  display: block;
  margin-bottom: var(--space-s);
  text-transform: uppercase;
  color: var(--grey-500);
}

.property__sidebarCard + .property__sidebarCard {
  margin-top: var(--space-m);
}

@container (max-width: 370px) {
  .property__agentCard .property__agentCard-logo {
    justify-self: start;
  }
}
@container (min-width: 370px) {
  .property__agentCard {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}

.property__agentCard-logo {
  margin: 0;
}
@media (min-width: 640px) {
  .property__agentCard-logo {
    justify-self: end;
  }
}

/*
Property Gallery
=== === === === === === === === === === === === === ===
*/
.propertyGallery__mainSlider {
  position: relative;
  margin-bottom: 22px;
}

.propertyGallery__navigationButton {
  position: absolute;
  top: 50%;
  display: block;
  width: 50px;
  height: 50px;
  background-color: red;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
}
.propertyGallery__navigationButton.swiper-button-prev {
  left: 0;
}
.propertyGallery__navigationButton.swiper-button-next {
  right: 0;
}

.propertyGallery__thumbsSlider .swiper-slide {
  opacity: 0.4;
  transition: opacity 0.4s ease;
  cursor: pointer;
}
.propertyGallery__thumbsSlider .swiper-slide:hover {
  opacity: 0.8;
}

.propertyGallery__thumbsSlider .swiper-slide-thumb-active {
  opacity: 1;
}

/*
Property Image Grid
=== === === === === === === === === === === === === ===
*/
.property__imageGrid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
}

.fancybox__image {
  margin: 0;
}

.property__imageGrid-link {
  position: relative;
  display: inline-block;
}
.property__imageGrid-link .property__imageGrid-icon {
  opacity: 0;
}
.property__imageGrid-link:hover .property__imageGrid-icon {
  opacity: 1;
}

.property__imageGrid-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  width: 42px;
  height: 42px;
  border-radius: 21px;
  color: white;
  background-color: var(--primary-green);
  transition: opacity 0.4s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.hr {
  padding: 0;
  border: none;
  border: 1px solid var(--primary-green);
}

.hr:not(.constrain) {
  margin: 0;
}

/*
Layout
=== === === === === === === === === === === === === ===
*/
.sideBySide__grid {
  display: grid;
  grid-gap: var(--space-xl);
}
@media (min-width: 768px) {
  .sideBySide__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.siteFooter {
  padding: var(--space-xl) 0;
  background-color: var(--primary-green);
}
.siteFooter small {
  color: white;
}

.siteFooter .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-l);
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-l) 0;
  width: 100%;
  transition: padding 0.3s ease-out;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  z-index: 1000;
}
@media (min-width: 768px) {
  .siteHeader {
    padding: var(--space-2xl) 0;
  }
}

.siteHeader__logo {
  margin: 0 var(--space-2xl);
  margin-bottom: var(--space-l);
  display: inline-block;
  max-width: 100%;
  width: 240px;
  transition: all 0.3s ease-out;
}
@media (min-width: 768px) {
  .siteHeader__logo {
    margin-bottom: var(--space-2xl);
    width: 362px;
  }
}

/*
Scrolling
=== === === === === === === === === === === === === ===
*/
.helper--scrolled.siteHeader {
  padding: var(--space-s) 0;
}
@media (min-width: 768px) {
  .helper--scrolled.siteHeader {
    padding: var(--space-m) 0;
  }
}
@media (min-width: 768px) {
  .helper--scrolled .siteHeader__logo {
    margin-bottom: var(--space-l);
    width: 240px;
  }
}

/*
Layout
=== === === === === === === === === === === === === ===
*/
.sitesGrid {
  display: grid;
  grid-gap: var(--space-2xl);
}
/*@media (min-width: 768px) {
  .sitesGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}*/

@media (min-width: 768px) {
  .sitesGrid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/*
Elements
=== === === === === === === === === === === === === ===
*/
.sitesGrid__item h5 {
  font-size: var(--type-1);
  font-weight: 300;
  line-height: 2;
  color: var(--primary-green);
}
.sitesGrid__item a {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--primary-green);
  transition: color 0.3s ease;
}
.sitesGrid__item a:hover {
  text-decoration: none;
  color: var(--primary-green);
}
.sitesGrid__item hr {
  max-width: 200px;
}
