/* ----------- VARIABLES ------------------ */

:root {
  /* Gallery / testimonials variables*/
  --gallery_dot_size: 15px;
  --gallery_dot_margin: 15px;
  --gallery_dot_bcg_padding: 10px;
  --fullscreen_gallery_height: 300px;

  /* grid gaps, site padding and logo / burger margins */
  --s_site_padding: 0px;
  --gap_mult: 2;
  --responsive_site_padding: calc(var(--s_site_padding) / var(--gap_mult));
  --responsive-grid-row-gap: calc(var(--s_grid_gap) / var(--gap_mult));
  --fake_20px_grid_row_gap: calc(20px / var(--gap_mult));
  --fake_10px_grid_row_gap: calc(10px / var(--gap_mult));
  --s_navbar_height_responsive: calc(var(--s_navbar_height) * 0.8);

  /* Other standard padding variables */
  --m_cta_padding: 20px;
  --s_standard_margin_first_last_module_elem: 60px;

  /* font size multiplier */
  --m_mult: 0;

  --m_contact_input_field_height: calc(50px * var(--m_mult));

  /* font sizes */
  --m_fontsize_h1: calc((35px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_h2: calc((25px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_h3: calc((19px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_header_body_1: calc((24px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_body_1: calc((22px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_body_2: calc((17px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_cta: calc((14px * var(--s_adj)) * var(--m_mult));
  --m_fontsize_legals: calc((13px * var(--s_adj)) * var(--m_mult));

  /* font margins*/
  --s_text_contents_margin_top: 20px;
  --s_text_contents_horizontal_padding: 20px;
  --s_text_contents_vertical_padding: 20px;

  /* break points */
  --m_default: 199px;
  --m_minmobile: 200px;
  --m_stdmobile: 450px;
  --m_lmobile: 650px;
  --m_tablet: 900px;
  --m_desktop: 1600px;

  /* base unit */
  --m_b: 10px;
  --m_btn: 40px;

  /* grid units */
  --mm: minmax(min-content, max-content);
  --s1: var(--b);
  --s2: calc(var(--b) * 2);
  --s3: calc(var(--b) * 3);
  --s4: calc(var(--b) * 4);
  --s5: calc(var(--b) * 5);
  --s6: calc(var(--b) * 6);
  --s11: calc(var(--b) * 11);

  /* navbar */
  --site_logo_reduction: 20px;
  --site_logo_height: calc(var(--s_navbar_height_responsive) - var(--site_logo_reduction));
  --max_site_logo_height: calc(var(--s_navbar_height_responsive) - var(--site_logo_reduction));
  --site_logo_width: 64vw;
  --max_site_logo_width: 69vw;
  --logo_burger_margin: 10px;
  --navbar_padding: 10px;
  --site_nav_item_width: 200px;
  --site_nav_item_desktop_margin: 20px;

  --burgerlines_height: 25px;

  --cta_chevron_padding: 3px;

  --gallery_nav_chevron_gradient_width: 40px;

  --m_text_grid_row_gap: 30px;
  --image_only_module_square_size: calc(320px - (var(--responsive-grid-row-gap) * 2));
}

@media (max-width: 199px) {
  :root {
    --m_mult: 1;
  }
}

@media (min-width: 200px) {
  :root {
    --m_mult: 0.85;
    --gap_mult: 2;
    --site_nav_items_mobile_bcg_width: 320px;
    --logo_burger_margin: calc(20px / 2);
    --s_text_contents_margin_top: 20px;
    --s_text_contents_horizontal_padding: 40px;
    --s_text_contents_vertical_padding: 30px;
    --mobile_image_square_height: calc(320px - (var(--responsive-grid-row-gap) * 2));
    --mobile_image_landscape_height: calc(280px - (var(--responsive-grid-row-gap) * 2));
    --m_header_height: 520px;
  }
}

@media (min-width: 450px) {
  :root {
    --gallery_nav_chevron_gradient_width: 50px;
    --site_logo_reduction: 22px;
    --m_mult: 0.85;
    --site_logo_width: 64vw;
    --max_site_logo_width: 69vw;
    --gap_mult: 1.5;
    --site_nav_items_mobile_bcg_width: 340px;
    --logo_burger_margin: calc(20px / 1.5);
    --s_text_contents_margin_top: 15px;
    --s_text_contents_horizontal_padding: 40px;
    --s_text_contents_vertical_padding: 30px;
    --s_navbar_height_responsive: calc(var(--s_navbar_height) * 0.9);
    --mobile_image_square_height: calc(450px - (var(--responsive-grid-row-gap) * 2));
    --mobile_image_landscape_height: calc(320px - (var(--responsive-grid-row-gap) * 2));
    --m_header_height: 740px;
    --fullscreen_gallery_height: 400px;
  }
}

@media (min-width: 650px) {
  :root {
    --gallery_nav_chevron_gradient_width: 80px;
    --site_logo_reduction: 25px;
    --m_mult: 0.9;
    --site_logo_width: 75vw;
    --max_site_logo_width: 69vw;
    --gap_mult: 1.5;
    --site_nav_items_mobile_bcg_width: 360px;
    --logo_burger_margin: calc(20px / 1.5);
    --s_text_contents_margin_top: 20px;
    --s_text_contents_horizontal_padding: 50px;
    --s_text_contents_vertical_padding: 40px;
    --s_navbar_height_responsive: calc(var(--s_navbar_height) * 1);
    --mobile_image_square_height: calc(640px - (var(--responsive-grid-row-gap) * 2));
    --mobile_image_landscape_height: calc(460px - (var(--responsive-grid-row-gap) * 2));
    --m_header_height: 820px;
    --fullscreen_gallery_height: 500px;
  }
}

@media (min-width: 900px) {
  :root {
    --gallery_nav_chevron_gradient_width: 120px;
    --site_logo_reduction: 27px;
    --m_mult: 0.95;
    --m_text_grid_row_gap: 30px;
    --navbar_padding: 20px;
    --site_logo_width: 100vw;
    --max_site_logo_width: 60vw;
    --gap_mult: 1.2;
    --site_nav_items_mobile_bcg_width: 360px;
    --logo_burger_margin: calc(20px / 1.2);
    --s_text_contents_margin_top: 20px;
    --s_text_contents_horizontal_padding: 60px;
    --s_text_contents_vertical_padding: 40px;
    --mobile_image_square_height: calc(900px - (var(--responsive-grid-row-gap) * 2));
    --mobile_image_landscape_height: calc(630px - (var(--responsive-grid-row-gap) * 2));
    --m_header_height: 1120px;
    --fullscreen_gallery_height: 70vh;
  }
}

/* burger menu switchover point*/
@media (min-width: 1000px) {
  :root {
    --site_logo_reduction: 30px;
    --site_logo_width: 100vw;
    --max_site_logo_width: 50vw;
    --m_mult: 1;
    --gap_mult: 1;
    --site_nav_items_mobile_bcg_width: 360px;
    --logo_burger_margin: calc(20px / 1);
    --s_text_contents_horizontal_padding: 80px;
    --s_text_contents_vertical_padding: 40px;
  }
}

@media (min-width: 1200px) {
  :root {
    --m_header_height: 620px;
  }
}

@media (min-width: 1500px) {
  :root {
    --gallery_nav_chevron_gradient_width: 150px;
    --site_logo_reduction: 30px;
    --site_logo_width: 100vw;
    --max_site_logo_width: 40vw;
    --s_site_padding: 0px;
    --m_mult: 1;
    --site_nav_items_mobile_bcg_width: 30vw;
    --logo_burger_margin: 0px;
    --s_text_contents_horizontal_padding: 90px;
    --s_text_contents_vertical_padding: 40px;
    --m_header_height: 760px;
  }
}

/* ----------- GENERAL STYLES ------------------ */

body * {
  box-sizing: border-box;
}

body,
html {
  padding: 0;
  margin: 0;
  hyphens: none;
  word-break: keep-all;
  font-family: var(--s_font_family);
  background-color: var(--s_background_col);
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.page-wrapper {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.page-wrapper.loaded {
  opacity: 1;
}

p,
h1 {
  margin: 0;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

p {
  hyphens: none;
  font-size: var(--m_fontsize_body_2);
}

table {
  border-collapse: collapse;
  width: 100%;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

thead {
  color: white;
  background-color: black;
  font-weight: 700;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

td,
th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

tr:nth-child(even) {
  background-color: #dddddd;
}

.in-view {
  opacity: 1 !important;
}

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

.ql-align-justify {
  text-align: justify;
}

.ql-size-huge {
  font-size: var(--m_fontsize_h1);
  user-select: text;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.ql-size-large {
  font-size: var(--m_fontsize_h2);
  user-select: text;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.ql-size-body-text {
  font-size: var(--m_fontsize_header_body_1);
  user-select: text;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.ql-size-small {
  font-size: var(--m_fontsize_legals);
  user-select: text;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

ol li.ql-indent-1 {
  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

ol li.ql-indent-1 {
  counter-increment: list-1;
}

ol li:not(.ql-direction-rtl),
ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}

ol li:not(.ql-direction-rtl),
ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}

ol,
ul {
  padding-left: 1.5em;
}

p,
ol,
ul,
pre,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  padding-left: 0px;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

ol li.ql-indent-1::before {
  content: counter(list-1, lower-alpha) ". ";
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

ol li::before {
  content: counter(list-0, decimal) ". ";
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

ol li::before {
  content: counter(list-0, decimal) ". ";
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

ol li.ql-indent-2 {
  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

ol li.ql-indent-2 {
  counter-increment: list-2;
}

ol li.ql-indent-2::before {
  content: counter(list-2, lower-roman) ". ";
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

ol li::before {
  content: counter(list-0, decimal) ". ";
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

ol li:not(.ql-direction-rtl),
ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

ol,
ul {
  padding-left: 1.5em;
}


blockquote {
  padding-left: 5px;
  border-left: 1px solid white;
}

p,
ol,
ul,
pre,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

blockquote {
  margin: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

ol li:not(.ql-direction-rtl),
ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}

ul>li::before {
  content: "\2022";
  font-family: monospace;
  font-size: 23px;
  display: flex;
  height: 4px;
  padding-left: 6px;
}

li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

ol li:not(.ql-direction-rtl),
ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}

ol>li,
ul>li {
  list-style-type: none;
  margin-top: 5px;
}

ol>li:last-child {
  margin-bottom: 10px;
}

ul>li:last-child {
  margin-bottom: 10px;
}

.screenreader-text {
  position: absolute;
  left: -999px;
  width: 1px;
  height: 1px;
  top: auto;
}

.screenreader-text:focus {
  color: black;
  display: inline-block;
  height: auto;
  width: auto;
  position: static;
  margin: auto;
}

.gridcounter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 50px;
  z-index: 1;
}

.module {
  position: relative;
}

.no_margin {
  margin: 0 !important;
}

.gridmodule {
  transform: scale(var(--grid_scale_factor));
}

.module_anchor {
  position: absolute;
  left: 0;
}

.input_field {
  border: 1px solid;
  width: 100%;
  min-width: 0;
  height: var(--m_contact_input_field_height);
  border-radius: var(--cta_border_radius);
  /*padding-left: var(--m_rounded_input_field_left_margin); - doesn't work due to contact field label margin code */
  font-size: var(--m_fontsize_body_2);
  font-family: inherit;
}

.form_submitted_thank_you_container .thank_you_header {
  width: fit-content;
}

.form_submitted_thank_you_container .thank_you_body {
  width: fit-content;
}

.form_submitted_thank_you_container {
  display: flex;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 1s;
  pointer-events: none;
  padding: 0 var(--s_text_contents_horizontal_padding) 0 var(--s_text_contents_horizontal_padding);
}

.form_submitted_thank_you_container_fade {
  opacity: 1;
}


.oldmsg {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 15;
  pointer-events: none;
  text-align: center;
  color: #1a4c3e;
  font-size: 20px;
  padding-top: 150px;
}

.oldmsg::after {
  content: "Unfortunately you are using an old browser. Please update to view this site.";
}

.m_fontsize_h1 {
  font-size: var(--m_fontsize_h1);
  font-weight: 700;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_h2 {
  font-size: var(--m_fontsize_h2);
  font-weight: 700;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_h3 {
  font-size: var(--m_fontsize_h3);
  font-weight: 700;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_header_body_1 {
  font-size: var(--m_fontsize_header_body_1);
  font-weight: 400;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_body_1 {
  font-size: var(--m_fontsize_body_1);
  font-weight: 400;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_body_2 {
  font-size: var(--m_fontsize_body_2);
  font-weight: 400;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_cta {
  font-size: var(--m_fontsize_cta);
  font-weight: 700;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.m_fontsize_legals {
  font-size: var(--m_fontsize_legals);
  font-weight: 400;
  line-height: var(--s_lineheight);
  letter-spacing: var(--s_letterspacing);
}

.top_right_close_cross {
  position: fixed;
  top: 2.5%;
  right: 1%;
  transform: scale(1.2);
  z-index: 11;
  cursor: pointer;
}

.top_right_close_cross_1 {
  background-color: white;
  width: 25px;
  height: 4px;
  transform: rotate(45deg);
  position: absolute;
  cursor: pointer;
}

.top_right_close_cross_2 {
  background-color: white;
  width: 25px;
  height: 4px;
  transform: rotate(-45deg);
  cursor: pointer;
}

.top_right_close_cross:hover {
  opacity: 0.8;
}

.module_main_heading {
  color: inherit;
  font-family: inherit;
  font-size: var(--m_fontsize_h2);
  font-weight: bold;
  grid-row: 2;
  width: 100%;
}

.module_sub_heading {
  font-size: var(--m_fontsize_h3);
}

.module_body_copy {
  color: inherit;
  font-family: inherit;
  margin-top: var(--s_text_contents_margin_top);
  grid-row: 3;
  font-size: var(--m_fontsize_body_2);
  justify-self: center;
  width: 100%;
  word-break: break-word;
}

.module_body_copy_noheader {
  margin-top: 0;
}

.module_body_copy,
.module_main_heading {
  user-select: text;
}

.module_body_copy a {
  color: inherit;
  font-family: inherit;
  text-decoration: underline;
  font-weight: bold;
}

.module_body_copy_2 a {
  color: inherit;
  font-family: inherit;
  text-decoration: underline;
  font-weight: bold;
}

.module_body_copy a:hover {
  opacity: 0.8;
}

.module_text {
  height: 100%;
  display: grid;
  align-self: center;
}

.module_text .previewlink:hover {
  opacity: 0.8;
}

/* added comment */
#site_grid {
  box-sizing: border-box;
  border-radius: 0px;
  display: grid;
  grid-template-columns: minmax(290px, 1500px);
  padding: 0 var(--responsive_site_padding) 0px var(--responsive_site_padding);
  justify-content: center;
  background-color: var(--s_background_col);
}

.module_body_copy_zero {
  margin: 0;
  height: 0;
}

.header_bcg.background_mobile {
  overflow: hidden;
}

.header_chevron {
  grid-row: -2;
  grid-column: 1 / -1;
  width: auto;
  height: 25px;
  z-index: 2;
  align-self: center;
  justify-self: center;
  cursor: pointer;
}

.header_chevron svg {
  height: 100%;
}

.header_chevron:focus-visible {
  outline: 2px solid #007bff;
  /* Or your brand's focus color */
  outline-offset: 2px;
}



/* ----------------- SITE CONTAINER ----------------------  */

#preview_site_container {
  background-color: var(--s_background_col);
  font-family: var(--s_font_family);
  position: relative;
}

/* ----------------- COOKIE NOTICE ----------------------  */

#cookie_notice {
  color: white;
  font-family: var(--s_font_family);
  text-align: center;
  font-size: var(--m_fontsize_body_2);
  margin: 0px 20px 0px 20px;
}

#cookie_notice_ok {
  color: white;
  font-family: var(--s_font_family);
  height: 30px;
  text-align: center;
  font-weight: 700;
  line-height: 30px;
  margin: 0px 20px 0px 20px;
  text-decoration: underline;
  font-size: var(--m_fontsize_body_2);
  cursor: pointer;
}

#cookie_notice_ok:hover {
  opacity: 0.8;
}

#cookie_notice_reject_all {
  color: white;
  font-family: var(--s_font_family);
  font-weight: 700;
  margin-right: 20px;
  text-decoration: underline;
  cursor: pointer;
  font-size: var(--m_fontsize_body_2);
}

#cookie_notice_reject_all:hover {
  opacity: 0.8;
}

#cookie_notice_find_out_more {
  color: white;
  font-family: var(--s_font_family);
  font-weight: 700;
  text-decoration: underline;
  font-size: var(--m_fontsize_body_2);
  cursor: pointer;
}

#cookie_notice_find_out_more:hover {
  opacity: 0.8;
}

#cookie_notice_overlay_bcg {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 12;
  background-color: black;
  opacity: 0.5;
  display: none;
}

#cookie_notice_overlay_text_box {
  width: 80vw;
  background-color: black;
  color: white;
  font-family: var(--s_font_family);
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 13;
  padding: 40px;
  text-align: center;
  display: none;
  flex-direction: column;
}

.cookie_notice_strip_btns {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: 100%;
  flex-wrap: wrap;
  /* Allows buttons to wrap on small screens */
}

@media (min-width: 650px) {
  #cookie_notice_overlay_text_box {
    width: 560px;
  }
}

.cookie_btn_container {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-around;
}

.cookie_heading {
  margin-bottom: 15px;
  font-size: var(--m_fontsize_h2);
  font-weight: 700;
}

.cookie_body {
  font-size: var(--m_fontsize_body_2);
  margin-bottom: 25px;
}

#cookie_notice_overlay_back_btn {
  text-decoration: underline;
  cursor: pointer;
  font-weight: 700;
  font-size: var(--m_fontsize_body_2);
}

#cookie_notice_overlay_back_btn:hover {
  opacity: 0.8;
}

#cookie_notice_overlay_opt_out_btn {
  text-decoration: underline;
  cursor: pointer;
  font-weight: 700;
  font-size: var(--m_fontsize_body_2);
}

#cookie_notice_overlay_opt_out_btn:hover {
  opacity: 0.8;
}

#cookie_notice_black_strip {
  position: fixed;
  bottom: 0;
  left: 0;
  background-color: black;
  z-index: 10;
  width: 100%;
  height: auto;
  /* Changed to auto for flexibility */
  min-height: 90px;
  display: none;
  flex-direction: column;
  align-items: center;
  opacity: 0.85;
  justify-content: center;
  padding: 10px 0;
}

@media (min-width: 615px) {
  #cookie_notice_black_strip {
    min-height: 70px;
  }
}

@media (min-width: 1186px) {
  #cookie_notice_black_strip {
    min-height: 60px;
    flex-direction: row;
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* ----------------- BACK TO TOP BUTTON ----------------------  */

.floating_elements_container {
  --distance_var: 10px;
  bottom: var(--distance_var);
  right: var(--distance_var);
  position: fixed;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1;
}

@media (min-width: 450px) {
  .floating_elements_container {
    --distance_var: 13px;
    bottom: var(--distance_var);
    right: var(--distance_var);
  }
}

@media (min-width: 600px) {
  .floating_elements_container {
    --distance_var: 13px;
    bottom: var(--distance_var);
    right: var(--distance_var);
  }
}

@media (min-width: 900px) {
  .floating_elements_container {
    --distance_var: 18px;
    bottom: var(--distance_var);
    right: var(--distance_var);
  }
}

@media (min-width: 1000px) {
  .floating_elements_container {
    --distance_var: 20px;
    bottom: var(--distance_var);
    right: var(--distance_var);
  }
}

@media (min-width: 1520px) {
  .floating_elements_container {
    --distance_var: 20px;
    bottom: var(--distance_var);
    right: calc((100vw - 1500px) / 2 + 15px);
  }
}

.back_to_top_btn_arrow {
  height: 60%;
}

.back_to_top_btn_arrow path {
  fill: var(--back_to_top_btn_arrow_colour);
}

.back_to_top_btn:hover {
  background-color: var(--back_to_top_btn_background_hover_colour);
}

.back_to_top_btn:hover .back_to_top_btn_arrow path {
  fill: var(--back_to_top_btn_arrow_hover_colour);
}

.back_to_top_btn {
  width: calc(40px * var(--m_mult));
  height: calc(40px * var(--m_mult));
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--back_to_top_btn_background_colour);
  border-radius: var(--cta_border_radius);
  transition: height 0.3s;
  cursor: pointer;
}

.floating_phone_icon_bg {
  z-index: 1;
  width: calc(40px * var(--m_mult));
  height: calc(40px * var(--m_mult));
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--phone_btn_background_colour);
  border-radius: var(--cta_border_radius);
  cursor: pointer;
}

.floating_phone_svg_icon {
  height: 53%;
}

.floating_phone_svg_icon path {
  fill: var(--phone_btn_icon_colour);
}

.floating_phone_icon_bg:hover {
  background-color: var(--phone_btn_background_hover_colour);
}

.floating_phone_icon_bg:hover .floating_phone_svg_icon path {
  fill: var(--phone_btn_icon_hover_colour);
}

.floating_phone_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hide_back_to_top_btn {
  height: 0;
  transition: height, 0.3s;
}

.floating_btns_drop_shadow {
  box-shadow: 3px 3px 8px -2px rgb(0 0 0 / 50%);
}

.floating_phone_reveal {
  position: absolute;
  color: var(--phone_btn_icon_colour);
  padding: 0 28px 0 15px;
  max-width: 500px;
  transition: max-width 0.3s ease-in-out;
  background-color: var(--phone_btn_reveal_background_colour);
  border-top-left-radius: var(--cta_border_radius);
  border-bottom-left-radius: var(--cta_border_radius);
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  top: 0;
  right: 20px;
  height: calc(40px * var(--m_mult));
  margin-bottom: 1px;
  overflow: hidden;
}

.floating_phone_reveal_hidden {
  padding: 0px;
  max-width: 0px;
  transition: max-width, padding, 0.3s ease-in-out;
}

.floating_phone_btn:hover .floating_phone_reveal {
  padding: 0 28px 0 15px;
  max-width: 500px;
  transition: max-width 0.3s ease-in-out;
}

.floating_phone_reveal_hidden {
  padding: 0px;
  max-width: 0px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: max-width 0.3s ease-in-out, padding 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

#phoneButtonContainer.expanded .floating_phone_reveal {
  padding: 0 28px 0 15px;
  max-width: 500px;
  opacity: 1;
  visibility: visible;
}


#phoneButtonContainer:focus-visible .floating_phone_icon_bg {
  outline: 2px solid #007bff;
  outline-offset: 2px;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.25);
}

#phoneButtonContainer.expanded a#phoneNumberLink:focus-visible {
  outline: 2px solid #007bff;
  outline-offset: 2px;
  border-radius: 15px;
}

#phoneButtonContainer.expanded a#phoneNumberLink:focus-visible+.floating_phone_icon_bg {
  outline: none;
}

#backToTopButton:focus-visible {
  outline: 2px solid #007bff;
  outline-offset: 2px;
  border-radius: 50%;
}

/* ----------------- NAV - STANDARD - VERSION: 1 ----------------------  */

/*This is the one that hides the site somewhat*/
.mobile_menu_bcg {
  position: fixed;
  background-color: var(--s_background_col);
  opacity: 0.5;
  width: 100vw;
  height: 100vh;
  z-index: 4;
  transition: 0.3s ease-out;
}

.nav-icon-row {
  display: flex;
  gap: 10px;
  height: 100%;
  align-items: center;
  padding: 0 20px 0 20px;
}

.social_icon_link_nav {
  pointer-events: auto;
  border-radius: 50%;
}

.opacity_fade {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s ease-out;
}

:root {
  --site_nav_items_mobile_right_pos: calc((var(--site_nav_items_mobile_bcg_width) + var(--responsive-grid-row-gap)) * -1);
  --mobile_menu_translate_x: calc(var(--site_nav_items_mobile_bcg_width) * -1);
}

.site_nav_items_mobile {
  width: var(--site_nav_items_mobile_bcg_width);
  top: 0px;
  right: calc(var(--site_nav_items_mobile_bcg_width) * -1);
  position: fixed;
  background-color: var(--s_navbar_overlay_bcg_colour);
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  z-index: 6;
  transition: 0.3s ease-out;
  height: 100vh;
}

.site_nav_items_mobile_c {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: scroll;
  scrollbar-width: none;
  gap: 20px;
  margin-top: 50px;
}

.site_nav_items_mobile_c::-webkit-scrollbar {
  width: 0;
  /* Remove scrollbar space */
  height: 0;
  background: transparent;
  /* Optional: just make scrollbar invisible */
}

.last_nav_item_spacer {
  height: 50px;
  width: 100%;
  background-color: black;
  opacity: 0;
}

.site_nav_items_mobile_motion {
  transform: translateX(-100%);
}

.site_nav_item_mobile {
  color: var(--s_navbar_overlay_font_colour);
  width: 260px;
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto;
  font-size: var(--m_fontsize_h2);
  z-index: 4;
  text-align: center;
}

.site_nav_item_mobile_nested {
  margin: -15px 0 0 0;
  font-size: var(--m_fontsize_body_2);
  font-weight: 400;
}

.site_nav_items_mobile>a:first-of-type {
  margin: 90px 0 0 0;
}

.site_nav_items_mobile>a:last-of-type {
  margin: 35px 0 50px 0;
}

.site_nav_item_mobile:hover {
  color: var(--s_navbar_overlay_font_rollover_colour);
}

.nav_item_and_chevron_c {
  padding: 0 20px 0 20px;
  position: relative;
  max-width: 250px;
  pointer-events: auto;
  height: 100%;
  display: flex;
  cursor: pointer;
}

.nav_item_and_chevron {
  color: var(--s_navbar_font_colour);
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
  z-index: 1;
}

.nav_item_and_chevron_c:hover .nav_item_parent>div {
  color: var(--s_navbar_rollover_colour);
}

.nav_item_and_chevron_c:hover .nav_item_down_chevron_c path {
  fill: var(--s_navbar_rollover_colour);
}

.current_nav_item>div {
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

.nested_nav_items_c {
  position: absolute;
  top: var(--s_navbar_height_responsive);
  right: 0;
  text-align: right;
  background-color: var(--s_background_col);
  padding: 10px 0 10px 0;
  pointer-events: auto;
  /*  border-bottom-left-radius: var(--cta_border_radius);
  border-bottom-right-radius: var(--cta_border_radius);*/
  border-radius: var(--cta_border_radius);
  overflow: hidden;
  min-width: 100%;
}

.site_nav_item_desktop {
  color: var(--s_navbar_font_colour);
  cursor: pointer;
  pointer-events: auto;
  text-align: center;
  margin-top: 0 !important;
  max-width: unset !important;
}

.site_nav_item_desktop_nested {
  white-space: nowrap;
  color: var(--s_navbar_nested_font_colour);
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  height: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  max-width: 250px;
  pointer-events: auto;
  padding: 0 20px 0 20px;
  text-decoration: none;
}

.nested_nav_padding {
  padding: 0 40px 0 20px;
}

.nav_item_down_chevron_c {
  width: 45px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -2px;
}

.nav_item_down_chevron_move_down {
  transform: translateY(5px);
  transition: transform 0.3s ease-out;
}

.nav_item_down_chevron {
  height: calc(12px * var(--m_mult));
  width: calc(12px * var(--m_mult));
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.3s ease-out;
}

.nav_item_down_chevron path {
  fill: var(--s_navbar_font_colour);
}

.nav_item_and_chevron_c {
  position: relative;
}

.nav_item_and_chevron_c.nav_item_and_chevron_c_selected path {
  fill: var(--s_navbar_rollover_colour);
}

.nav_item_and_chevron_c.nav_item_and_chevron_c_selected .site_nav_item_desktop {
  color: var(--s_navbar_rollover_colour);
}

.nav_item_and_chevron_c:hover>.nav_item_parent>.nav_item_desktop {
  color: var(--s_navbar_rollover_colour);
}

.nav_item_and_chevron_c_bcg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.nav_item_and_chevron_c:hover .nav_item_and_chevron_c_bcg {
  background-color: var(--s_navbar_background_rollover_colour);
  opacity: var(--s_navbar_rollover_bcg_opacity);
  transition: opacity 0.3s ease;
}

.navbar_burgerlines {
  cursor: pointer;
  display: block;
  z-index: 8;
  position: absolute;
  top: calc((var(--s_navbar_height_responsive) / 2) - (var(--burgerlines_height) / 2));
  right: var(--logo_burger_margin);
  height: var(--burgerlines_height);
  width: 35px;
  transform: scale(0.8);
}

@media (min-width: 450px) {
  .navbar_burgerlines {
    transform: scale(0.9);
  }
}

@media (min-width: 650px) {
  .navbar_burgerlines {
    transform: scale(1);
  }
}

.navbar_burgerlines>div {
  position: absolute;
  height: 5px;
  width: 35px;
}

@media (hover: hover) {
  .navbar_burgerlines:hover>div {
    background-color: var(--s_navbar_rollover_colour);
  }
}

.navbar_burgerlines:active>div {
  background-color: var(--s_navbar_rollover_colour);
}

.navbar_burgerlines>div:nth-of-type(1) {
  top: 0px;
  transition: transform 0.3s ease-out;
}

.navbar_burgerlines>div:nth-of-type(2) {
  top: 10px;
  transition: transform 0.3s ease-out;
}

.navbar_burgerlines>div:nth-of-type(3) {
  top: 20px;
  transition: transform 0.3s ease-out;
}

.mobile_menu_first {
  transform: translateY(10px) rotate(45deg);
  background-color: var(--s_navbar_overlay_font_colour) !important;
}

.mobile_menu_second {
  opacity: 0;
  background-color: var(--s_navbar_overlay_font_colour) !important;
}

.mobile_menu_third {
  transform: translateY(-10px) rotate(-45deg);
  background-color: var(--s_navbar_overlay_font_colour) !important;
}

@media (hover: hover) {
  .navbar_burgerlines:hover>.mobile_menu_first {
    background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
  }

  .navbar_burgerlines:hover>.mobile_menu_second {
    background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
  }

  .navbar_burgerlines:hover>.mobile_menu_third {
    background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
  }
}

.navbar_burgerlines:active>.mobile_menu_first {
  background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
}

.navbar_burgerlines:active>.mobile_menu_second {
  background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
}

.navbar_burgerlines:active>.mobile_menu_third {
  background-color: var(--s_navbar_overlay_font_rollover_colour) !important;
}

.navbar_sticky {
  position: fixed !important;
}

#site_navbar {
  display: grid;
  grid-template-columns: auto minmax(min-content, 500px) 35px;
  margin: 0px 0px calc(var(--s_navbar_height_responsive) * -1) 0px;
  padding: 0px 0px 0px 0px;
  z-index: 5;
  align-items: center;
  position: relative;
  height: var(--s_navbar_height_responsive);
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1500px;
  transform: translate(-50%, 0);
}

#site_navbar_bcg {
  position: absolute;
  width: 100%;
  max-width: 1500px;
  height: 100%;
  /*  background-color: var(--s_navbar_bcg_colour);*/
  background-color: var(--s_background_col);
  opacity: var(--s_navbar_bcg_opacity);
  z-index: 1;
}

#site_logo {
  width: var(--site_logo_width);
  max-width: var(--max_site_logo_width);
  height: var(--site_logo_height);
  max-height: var(--max_site_logo_height);
  overflow: hidden;
  margin: 0 auto 0px var(--logo_burger_margin);
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  cursor: pointer;
  object-fit: scale-down;
}

@media (min-width: 1500px) {
  #site_navbar_bcg {
    position: absolute;
    width: 1500px;
  }
}

#logo_img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  object-position: 0% 50%;
  position: relative;
  z-index: 2;
}

.visible_nav_items {
  display: flex !important;
}

.hidden_nav_items {
  display: none !important;
}

.navbar_burgerlines_permavisible {
  display: block !important;
}

.site_nav_items_row {
  display: none;
}

@media (min-width: 1200px) {
  .navbar_burgerlines {
    display: none;
  }

  .site_nav_items_mobile {
    display: none;
  }

  .site_nav_items_row a:last-child {
    margin-right: 0;
    text-align: center;
  }

  .site_nav_items_row {
    justify-self: end;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    grid-row: 1;
    grid-column: 1 / -1;
    z-index: 2;
    pointer-events: none;
    max-width: 1100px;
    margin-right: var(--logo_burger_margin);
    height: 100%;
  }

  .site_nav_item {
    text-decoration: none;
    z-index: 2;
    margin: 0 0 0 var(--site_nav_item_desktop_margin);
    cursor: pointer;
    pointer-events: auto;
    text-align: center;
  }

  @media (hover: hover) {
    .site_nav_item:hover {
      cursor: pointer;
      pointer-events: auto;
    }

    .site_nav_item>a:hover {
      cursor: pointer;
      pointer-events: auto;
    }
  }

  .site_nav_item:active {
    cursor: pointer;
    pointer-events: auto;
  }

  .site_nav_item>a:active {
    cursor: pointer;
    pointer-events: auto;
  }
}

.navbar_very_rounded .nested_nav_items_c {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--cta_border_radius);
  border-bottom-right-radius: var(--cta_border_radius);
}

.navbar_normal_rounded .nested_nav_items_c {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--cta_border_radius);
  border-bottom-right-radius: var(--cta_border_radius);
}

/* ------------- MODULES CONTAINER --------------------*/

#modules_container {
  display: grid;
  grid-auto-rows: minmax(0, max-content);
  width: 100%;
  grid-row-gap: var(--responsive-grid-row-gap);
  z-index: 1;
  position: relative;
}

.blur {
  filter: blur(20px);
}

.blur_overlay {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  background-color: white;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 500px) {
  .blur_overlay {
    padding: 30px;
  }
}

.blur_overlay_heading {
  text-align: center;
  margin-bottom: 20px;
}

.blur_overlay_body {
  margin-bottom: 10px;
}

.blur_overlay_error {
  margin-top: -5px;
  color: #cb3f3f;
}

.blur_confirm_btn {
  border: 1px solid black;
  padding: 5px 10px;
  max-width: fit-content;
  margin-top: 12px;
  cursor: pointer;
}

.blur_confirm_btn:hover {
  background-color: #d5d5d5;
}

img {
  z-index: 1;
  position: relative;
}

/* ----------------- FOOTER - STANDARD - VERSION: 1 ----------------------  */

#footer {
  padding: var(--s_text_contents_vertical_padding) var(--s_text_contents_horizontal_padding) var(--s_text_contents_vertical_padding) var(--s_text_contents_horizontal_padding);
  color: var(--s_footer_font_colour);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#company_lines {
  text-align: center;
  margin-bottom: var(--s_text_contents_margin_top);
  margin: 0 0 0 0;
}

#company_lines>div {
  margin-top: 3px;
}

#company_lines>div:last-of-type {
  margin-bottom: 15px;
}

#company_lines>div>a {
  text-decoration: underline;
  color: var(--s_footer_font_colour);
}

@media (hover: hover) {
  #company_lines>div>a:hover {
    color: var(--s_footer_rollover_colour);
  }
}

#company_lines>div>a:active {
  color: var(--s_footer_rollover_colour);
}

#company_docs {
  text-align: center;
  margin: 0 0 0 0;
}

#company_docs>div {
  margin-top: 3px;
}

#company_docs>div>a {
  text-decoration: underline;
  color: var(--s_footer_font_colour);
  cursor: pointer;
}

@media (hover: hover) {
  #company_docs>div>a:hover {
    color: var(--s_footer_rollover_colour);
  }
}

#company_docs>div>a:active {
  color: var(--s_footer_rollover_colour);
}

@media (min-width: 900px) {
  #footer {
    padding: var(--s_text_contents_vertical_padding) 0 var(--s_text_contents_vertical_padding) 0;
    color: var(--s_footer_font_colour);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  #company_lines {
    display: flex;
    flex-direction: column;
    text-align: left;
    margin: 0 0 0 var(--logo_burger_margin);
    justify-content: flex-end;
  }

  #company_lines>div:last-of-type {
    margin-bottom: 0px;
  }

  #company_docs {
    display: flex;
    flex-direction: column;
    text-align: right;
    justify-content: flex-end;
    margin: 0 var(--logo_burger_margin) 0 0;
  }
}

@media (min-width: 1500px) {
  #company_lines {
    margin: 0 0 auto 0;
  }

  #company_docs {
    margin: 0 0 auto 0;
  }
}

.match_background_colour {
  color: var(--s_background_col);
  cursor: default;
}

.match_background_colour a {
  color: var(--s_background_col) !important;
  cursor: default;
}

/* ---------- ESSENTIALS - STANDARD - VERSION: 1 ----------------------  */

.cta {
  border-width: 1px;
  border-style: solid;
  border-radius: var(--cta_border_radius);
  height: calc(40px * var(--m_mult));
  line-height: calc(40px * var(--m_mult));
  font-weight: 700;
  font-size: var(--m_fontsize_cta);
  margin: var(--s_text_contents_margin_top) auto 0 auto;
  user-select: none;
  cursor: pointer;
  text-align: center;
  padding: 0 calc((var(--m_cta_padding) + var(--cta_chevron_padding)) * var(--m_mult)) 0 calc(var(--m_cta_padding) * var(--m_mult));
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-row: 4;
  width: fit-content;
}

@media (hover: hover) {
  .cta:hover {
    user-select: none;
    cursor: pointer;
  }
}

.cta:active {
  user-select: none;
  cursor: pointer;
}

.cta_chevron {
  height: calc(12px * var(--m_mult));
  width: calc(12px * var(--m_mult));
  transform: rotate(-90deg);
  margin-left: 5px;
  margin-right: -10px;
}

.background_lightpink {
  background-color: #ead4e9;
}

.background_lightgreen {
  background-color: #d1e3d5;
}

.background_black {
  background-color: black;
}

.background_white {
  background-color: white;
}

/* ---------- GRID MODULES ----------------------  */

.grid_modules_grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
}

/*Using child selector instead of type, so that grids stay contiguous*/
div[isgrid="1"]:not(:first-child) {
  margin-top: var(--responsive-grid-row-gap);
}

div[isgrid="1"]:not(:last-child) {
  z-index: 1;
}

div[isgrid="1"] {
  width: var(--image_only_module_square_size);
  height: var(--image_only_module_square_size);
}

.unconstrained_vertical_grid_module[isgrid="1"] {
  height: unset;
}

div[isgrid="1"]>.module_image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

div[isgrid="1"]>.module_image>img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@media (min-width: 750px) {

  /*Using child selector instead of type, so that grids stay contiguous*/
  div[isgrid="1"]:not(:first-child) {
    margin-top: unset;
  }

  div[isgrid="1"]:nth-child(n + 3) {
    margin-top: var(--responsive-grid-row-gap);
  }

  div[isgrid="1"]:nth-child(6) {
    margin-top: var(--responsive-grid-row-gap);
    margin-left: 0;
    margin-right: 0;
  }

  .unconstrained_vertical_grid_module[isgrid="1"] {
    height: var(--image_only_module_square_size);
  }
}

@media (min-width: 1200px) {

  /*Using child selector instead of type, so that grids stay contiguous*/
  div[isgrid="1"]:nth-child(n + 3) {
    margin-top: unset;
  }

  div[isgrid="1"]:nth-child(n + 4) {
    margin-top: var(--responsive-grid-row-gap);
  }
}

/* --------------------- COMPONENTS ------------------ */

.social_icons_container a:first-of-type {
  margin-left: 0;
}

.social_icons_container a {
  margin-left: var(--s_text_contents_margin_top);
}

.social_icon_link {
  position: relative;
  width: calc(45px * var(--m_mult));
  height: calc(45px * var(--m_mult));
}

.social_icon {
  position: absolute;
  margin-bottom: -3px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(45px * var(--m_mult));
  height: calc(45px * var(--m_mult));
}

.social_icon svg {
  width: calc(45px * var(--m_mult));
  height: calc(45px * var(--m_mult));
}

.social_icons_container {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  margin-top: calc(var(--s_text_contents_margin_top) * 2);
}

@media (min-width: 200px) {
  .social_icons_container a {
    margin-left: 7px;
  }
}

@media (min-width: 450px) {
  .social_icons_container a {
    margin-left: var(--s_text_contents_margin_top);
  }
}

/* --------------------- GALLERIES ----------------------- */

.insta_full_screen_gallery .insta_fullscreen_nav path {
  fill: white;
}

.insta_full_screen_gallery .insta_fullscreen_nav {
  fill: white;
}

.insta_full_screen_gallery .gallery_nav_chevron {
  background-color: rgba(0, 0, 0, 0.5);
  padding: 5px;
}

.glider-prev svg {
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.glider-prev {
  outline: 0;
  user-select: none;
  border: 0;
  top: 50% !important;
  transform: translateY(-50%) rotate(90deg);
}

.glider-next svg {
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.glider-next {
  outline: 0;
  user-select: none;
  border: 0;
  top: 50% !important;
  transform: translateY(-50%) rotate(-90deg);
}

.glider-prev:hover {
  opacity: 0.5;
}

.glider-next:hover {
  opacity: 0.5;
}

.glider-dots {
  flex-wrap: unset !important;
}

.glider-dot:focus-visible {
  outline: 2px solid #007bff;
  outline-offset: 1px;
}

.glider:focus-visible {
  border: 2px solid #007bff;
}

.glider-dot:focus-visible {
  outline: 2px solid #007bff !important;
  outline-offset: 1px;
}

.glider-prev:focus-visible .gallery_nav_chevron {
  outline: 2px solid #007bff;
  outline-offset: 1px;
}

.glider-next:focus-visible .gallery_nav_chevron {
  outline: 2px solid #007bff;
  outline-offset: 1px;
}

@media (min-width: 450px) {
  .glider-prev svg {
    height: 25px;
  }

  .glider-next svg {
    height: 25px;
  }
}

@media (min-width: 550px) {
  .glider-prev svg {
    height: 30px;
  }

  .glider-next svg {
    height: 30px;
  }
}

/* --------------------- FULLSCREEN GALLERY ----------------------- */

.galFullscreenC {
  width: 90vw;
  height: var(--fullscreen_gallery_height);
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
  max-width: 1500px;
}

.fullscreenGalleryBG {
  width: 100vw;
  height: 100vh;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000000;
  position: fixed;
  opacity: 0.5;
  z-index: 10;
}

.galFullscreenC .gallery_module_images {
  scrollbar-width: none;
  position: relative;
  height: var(--fullscreen_gallery_height);
}

.galFullscreenC .gallery_module_images_hidden {
  scrollbar-width: none;
  position: relative;
  height: var(--fullscreen_gallery_height);
}

.galFullscreenC .glider-track {
  height: var(--fullscreen_gallery_height);
}

.galFullscreenC .glider-prev {
  height: 25px;
  outline: 0;
  user-select: none;
  border: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}

.galFullscreenC .glider-next {
  height: 25px;
  outline: 0;
  user-select: none;
  border: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}

.galFullscreenC .glider-prev:hover {
  opacity: 0.5;
}

.galFullscreenC .glider-next:hover {
  opacity: 0.5;
}

.galFullscreenC .glider-slide img {
  width: 100%;
}

.galFullscreenC .glider-dot {
  z-index: 5;
  width: var(--gallery_dot_size);
  height: var(--gallery_dot_size);
  margin: auto 0px auto var(--gallery_dot_margin);
  border-radius: 50%;
  cursor: pointer;
  opacity: 1 !important;
  outline: 0;
  border: 0;
}

.galFullscreenC .glider-dots>button:first-of-type {
  margin-left: 0;
}

.galFullscreenC .glider-dot:hover {
  opacity: 1 !important;
  outline: 0;
  border: 0;
}

.galFullscreenC .glider-dot:active {
  opacity: 1 !important;
  outline: 0;
  border: 0;
}

.galFullscreenC .gdot-active {
  opacity: 1 !important;
  outline: 0;
  border: 0;
}

.galFullscreenC .gdot-active:hover {
  opacity: 1 !important;
  outline: 0;
  border: 0;
}

.galFullscreenC .gallery_module_images .module_image {
  z-index: 1;
  display: flex;
  justify-content: center;
  height: var(--mobile_image_landscape_height);
}

.galFullscreenC .gallery_module_images .module_image_file {
  z-index: 1;
  height: auto;
  object-fit: scale-down !important;
}

.galFullscreenC .gallery_dots {
  position: absolute;
  bottom: 0px;
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  z-index: 2;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
}

.gallery_dots_fullscreen_position {
  bottom: -30px !important;
}

.galFullscreenC .gallery_dots_background {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.galFullscreenC .gallery_dots_bcg_c {
  position: relative;
  padding: 0 var(--gallery_dot_bcg_padding) 0 var(--gallery_dot_bcg_padding);
  height: 30px;
  bottom: 0px;
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  z-index: 2;
}

.galFullscreenC .gallery_dots_gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 7%;
  width: 100%;
  z-index: 2;
  pointer-events: none;
}

.gallery_slide_number {
  margin-top: 4px;
}

.gallery_nav_gradient {
  height: 100%;
  width: var(--gallery_nav_chevron_gradient_width);
  position: absolute;
  right: 0;
  top: 0;
}

.gallery_nav_gradient_prev {
  height: 100%;
  width: var(--gallery_nav_chevron_gradient_width);
  position: absolute;
  left: 0;
  top: 0;
}

/* --------------------- FONTS ----------------------- */

/* lato-regular - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: local("Lato Regular"), local("Lato-Regular"),
    url("/fonts/lato-v16-latin-regular.woff2") format("woff2");
}

/* lato-700 - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: local("Lato Bold"), local("Lato-Bold"),
    url("/fonts/lato-v16-latin-700.woff2") format("woff2");
}

/* raleway-regular - latin */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  src: local("Raleway"), local("Raleway-Regular"),
    url("/fonts/raleway-v14-latin-regular.woff2") format("woff2");
}

/* raleway-700 - latin */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  src: local("Raleway Bold"), local("Raleway-Bold"),
    url("/fonts/raleway-v14-latin-700.woff2") format("woff2");
}

/* neuton-regular - latin */
@font-face {
  font-family: "Neuton";
  font-style: normal;
  font-weight: 400;
  src: local("Neuton Regular"), local("Neuton-Regular"),
    url("/fonts/neuton-v12-latin-regular.woff2") format("woff2");
}

/* neuton-700 - latin */
@font-face {
  font-family: "Neuton";
  font-style: normal;
  font-weight: 700;
  src: local("Neuton Bold"), local("Neuton-Bold"),
    url("/fonts/neuton-v12-latin-700.woff2") format("woff2");
}

/* merriweather-regular - latin */
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  src: local("Merriweather Regular"), local("Merriweather-Regular"),
    url("../fonts/merriweather-v21-latin-regular.woff2") format("woff2");
}

/* merriweather-700 - latin */
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 700;
  src: local("Merriweather Bold"), local("Merriweather-Bold"),
    url("../fonts/merriweather-v21-latin-700.woff2") format("woff2");
}

/* source-code-pro-regular - latin */
@font-face {
  font-family: "Source Code Pro";
  font-style: normal;
  font-weight: 400;
  src: local("Source Code Pro Regular"), local("SourceCodePro-Regular"),
    url("../fonts/source-code-pro-v11-latin-regular.woff2") format("woff2");
}

/* source-code-pro-700 - latin */
@font-face {
  font-family: "Source Code Pro";
  font-style: normal;
  font-weight: 700;
  src: local("Source Code Pro Bold"), local("SourceCodePro-Bold"),
    url("../fonts/source-code-pro-v11-latin-700.woff2") format("woff2");
}

/* montserrat-regular - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat Regular"), local("Montserrat-Regular"),
    url("../fonts/montserrat-v14-latin-regular.woff2") format("woff2");
}

/* montserrat-700 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: local("Montserrat Bold"), local("Montserrat-Bold"),
    url("../fonts/montserrat-v14-latin-700.woff2") format("woff2");
}

/* roboto-regular - latin */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: local("Roboto"), local("Roboto-Regular"),
    url("../fonts/roboto-v20-latin-regular.woff2") format("woff2");
}

/* roboto-700 - latin */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: local("Roboto Bold"), local("Roboto-Bold"),
    url("../fonts/roboto-v20-latin-700.woff2") format("woff2");
}

/* open-sans-regular - latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"),
    url("../fonts/open-sans-v17-latin-regular.woff2") format("woff2");
}

/* open-sans-700 - latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"),
    url("../fonts/open-sans-v17-latin-700.woff2") format("woff2");
}

/* charm-regular - latin */
@font-face {
  font-family: "Charm";
  font-style: normal;
  font-weight: 400;
  src: local("Charm Regular"), local("Charm-Regular"),
    url("../fonts/charm-v4-latin-regular.woff2") format("woff2");
}

/* charm-700 - latin */
@font-face {
  font-family: "Charm";
  font-style: normal;
  font-weight: 700;
  src: local("Charm Bold"), local("Charm-Bold"),
    url("../fonts/charm-v4-latin-700.woff2") format("woff2");
}

.flexmasonry {
  display: flex;
  flex-flow: column wrap;
  align-content: space-between;
}

.flexmasonry-item {
  width: 100%;
}

.flexmasonry-cols-2 .flexmasonry-item {
  width: 50%;
}

.flexmasonry-cols-3 .flexmasonry-item {
  width: 33.333%;
}

.flexmasonry-cols-4 .flexmasonry-item {
  width: 25%;
}

.flexmasonry-cols-5 .flexmasonry-item {
  width: 20%;
}

.flexmasonry-cols-6 .flexmasonry-item {
  width: 16.666%;
}

.flexmasonry-cols-7 .flexmasonry-item {
  width: 14.285%;
}

.flexmasonry-cols-8 .flexmasonry-item {
  width: 12.5%;
}

.flexmasonry-cols-2 .flexmasonry-item:nth-child(2n + 1) {
  order: 1;
}

.flexmasonry-cols-2 .flexmasonry-item:nth-child(2n) {
  order: 2;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n + 1) {
  order: 1;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n + 2) {
  order: 2;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n) {
  order: 3;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n + 1) {
  order: 1;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n + 2) {
  order: 2;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n + 3) {
  order: 3;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n) {
  order: 4;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n + 1) {
  order: 1;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n + 2) {
  order: 2;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n + 3) {
  order: 3;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n + 4) {
  order: 4;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n) {
  order: 5;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n + 1) {
  order: 1;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n + 2) {
  order: 2;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n + 3) {
  order: 3;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n + 4) {
  order: 4;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n + 5) {
  order: 5;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n) {
  order: 6;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 1) {
  order: 1;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 2) {
  order: 2;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 3) {
  order: 3;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 4) {
  order: 4;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 5) {
  order: 5;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n + 6) {
  order: 6;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n) {
  order: 7;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 1) {
  order: 1;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 2) {
  order: 2;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 3) {
  order: 3;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 4) {
  order: 4;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 5) {
  order: 5;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 6) {
  order: 6;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n + 7) {
  order: 7;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n) {
  order: 8;
}

.flexmasonry-break {
  content: "";
  flex-basis: 100%;
  width: 0 !important;
  margin: 0;
}

.flexmasonry-break-1 {
  order: 1;
}

.flexmasonry-break-2 {
  order: 2;
}

.flexmasonry-break-3 {
  order: 3;
}

.flexmasonry-break-4 {
  order: 4;
}

.flexmasonry-break-5 {
  order: 5;
}

.flexmasonry-break-6 {
  order: 6;
}

.flexmasonry-break-7 {
  order: 7;
}

.hidden {
  display: none;
  pointer-events: none;
}

.hidden_fade {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.visible_fade {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}