@charset "UTF-8";
/*
	SCREEN.CSS
	This is where styles for on-screen media are declared.
	This style sheet establishes the core styles used for all resolutions before declaring the baseline 320px mobile layout.

	--------------------------------------------------------------------------------------------------------------------------
	STYLEGUIDE
	--------------------------------------------------------------------------------------------------------------------------

	Indentation uses tabs [why: http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/]

	Rules obey the following anatomy:

		selector {
			POSITIONING LINE [position,top,left,clear, ETC]
			BOX MODEL LINE [display,margin,border,padding,width, ETC]
			TYPOGRAPHY LINE [font,text-indent,font-style, ETC]
			PREFIXED PROPERTIES [-moz-,-webkit-, ETC] }

	This file is divided into the following sections:

		=global_reset         |  Brings all browsers into line
		=vendor_enhancements  |  Fix various issues and/or enable enhancements
		=typography           |  How type looks and behaves
		=base_rules           |  Styling of raw elements
		=display_classes      |  Should very rarely be used, and never for page layout!
		=modules              |  Discrete components of a page [sub-divided]
		=layout               |  How modules are laid out on given pages [sub-divided]

	Units of measurement should always be:

		LAYOUT:       % or no unit - you do not know where your module is going on a page, so you don't know its absolute size.
		LINE-HEIGHTS: unitless, so the line height is a multiple of the current element's font-size
		TYPE:         rems for type, with em fallbacks

		See http://csswizardry.com/2011/12/measuring-and-sizing-uis-2011-style/ for details.

	----------------------------------------------------------------------------------------------------------------------- */
/*
	NATIVE CSS VARIABLES

	:root {
		--variable-name: value;
	}

	element {
		property: fallback;
		property: var(--variable-name);
	}
*/
/* =breakpoints ------------------------------------------------------------------------------------------------------------
  NOTE: one place to set all layout media queries
  ----------------------------------------------------------------------------------------------------------------------- */
body:after {
  display: none;
  content: "breakpoint_0";
}
@media (min-width: 360px) {
  body:after {
    content: "breakpoint_1";
  }
}
@media (min-width: 410px) {
  body:after {
    content: "breakpoint_2";
  }
}
@media (min-width: 680px) {
  body:after {
    content: "breakpoint_3";
  }
}
@media (min-width: 1024px) {
  body:after {
    content: "breakpoint_4";
  }
}
@media (min-width: 1500px) {
  body:after {
    content: "breakpoint_5";
  }
}
@media (min-width: 2000px) {
  body:after {
    content: "breakpoint_6";
  }
}

/* not strictly mixins, but seems the best place to add these as the breakpoints are now defined */
html.dev-mode body:after {
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  font-size: 1rem;
  padding: 0.5em;
  line-height: 1;
  background-color: white;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: black;
  border-radius: 0 9px 0 0;
  opacity: 0.5;
}

/* =tools ---------------------------------------------------------------------------------------------------------------
  NOTE: Snippets that are useful elsewhere
  ----------------------------------------------------------------------------------------------------------------------- */
/* =headings ------------------------------------------------------------------------------------------------------------
  NOTE: As mixins because you can @include them inside media queries
  NOTE: only use optimizeLegibility on headings, the performance hit is high if used everywhere
  ----------------------------------------------------------------------------------------------------------------------- */
/* =global_reset --------------------------------------------------------------------------------------------------------
	NOTE:       Based on Eric Meyers CSS Reset 2.0 - with a couple of edits to make it less draconian
	REFERENCE:  http://meyerweb.com/eric/tools/css/reset/
	----------------------------------------------------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

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

/* form resets */
input,
textarea {
  border: 0;
}

/* lets use a sensible box model
   REFERENCE: http://paulirish.com/2012/box-sizing-border-box-ftw */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* inherit my styles, not the UA ones */
button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

/* =vendor_enhancements -------------------------------------------------------------------------------------------------
	NOTE: Fix various browser issues, and switch some vendor specific nicities on/off
	----------------------------------------------------------------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

a:link {
  -webkit-tap-highlight-color: #999;
}

/* Don't collapse these into one ruleset. When a browser doesn't recognise a selector it discards the whole ruleset.
   By using vendor selectors in one ruleset you guarentee nothing will be applied */
::-webkit-selection {
  background-color: #999;
  color: #fff;
}

::-moz-selection {
  background-color: #999;
  color: #fff;
}

::selection {
  background-color: #999;
  color: #fff;
}

::-webkit-input-placeholder {
  font-size: 1em;
}

input:-moz-placeholder {
  font-size: 1em;
}

/* kill default HTML5 styling on webkit */
input[type=search],
input[type=submit] {
  -webkit-appearance: none;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  display: none;
}

/* =typography ----------------------------------------------------------------------------------------------------------
	NOTE:       I've found that margin-top applied to everything is a pain - it often messes up layout and requires jumping
	            through hoops to fix, so I've stopped doing this as a default and now add top margin manually when required.
	REFERENCE:  Based on http://alistapart.com/articles/settingtypeontheweb/
	                     http://24ways.org/2006/compose-to-a-vertical-rhythm/
	----------------------------------------------------------------------------------------------------------------------- */
/* load custom fonts
   NOTE: CSS got good at this again in 2018... https://www.filamentgroup.com/lab/js-web-fonts.html
	 ALSO: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/webfont-optimization */
/* font-stacks */
/* 'heading' styles */
.h1 {
  margin: 0;
  font-size: 3.6em;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  font-weight: bold;
}
@media (max-width: 1499px) {
  .h1 {
    font-size: 2.4em;
  }
}
@media (max-width: 1023px) {
  .h1 {
    font-size: 1.8em;
  }
}
@media (max-width: 679px) {
  .h1 {
    font-size: 1.4em;
  }
}

.h2 {
  margin: 0;
  font-size: 2em;
  text-rendering: optimizeLegibility;
  font-weight: 700;
}
@media (min-width: 680px) {
  .h2 {
    font-size: 2em;
  }
}
@media (min-width: 1024px) {
  .h2 {
    font-size: 3em;
  }
}
@media (min-width: 1500px) {
  .h2 {
    font-size: 3.2em;
  }
}
@media (max-width: 679px) {
  .h2 {
    font-size: 1.5em;
    line-height: 1.3em;
  }
}

.h3 {
  margin: 0;
  font-size: 1.4em;
  text-rendering: optimizeLegibility;
}
@media (max-width: 679px) {
  .h3 {
    font-size: 1.1em;
  }
}

.h4 {
  margin: 0;
  font-size: 1.2em;
  text-rendering: optimizeLegibility;
}
@media (max-width: 679px) {
  .h4 {
    font-size: 1em;
    font-weight: bold;
  }
}

.h5 {
  margin: 0;
  font-size: 1.1em;
  text-rendering: optimizeLegibility;
}
@media (max-width: 679px) {
  .h5 {
    font-size: 1em;
    font-weight: bold;
  }
}

.h6 {
  margin: 0;
  font-size: 1em;
  font-weight: bold;
  text-rendering: optimizeLegibility;
}

/* fancy ampersands ( http://vimeo.com/69531448 ) */
/* fancy ligatures on headings
	Get fancy font features working: http://blogs.msdn.com/b/ie/archive/2012/01/09/css-corner-using-the-whole-font.aspx */
/* general typography */
html, input, select, textarea { /* font-size: 16px, line-height: 22px */
  font: 100%/1.375 "sofia-pro", sans-serif;
  font-display: swap;
  /* hyphenations now work! http://www.quirksmode.org/blog/archives/2012/11/hyphenation_wor.html */
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
}

p, ul, ol, blockquote {
  /* em fallback */
  margin-bottom: 1.375em;
  margin-bottom: 1.375rem;
}

/* =base_rules ----------------------------------------------------------------------------------------------------------
	NOTE:  This section styles "default" elements, that is, how a <p> or <em> etc look by default, without
	       any page or class specific over-rides.
	----------------------------------------------------------------------------------------------------------------------- */
/* =html =body */
html {
  background-color: #fff;
  color: #4C56A3;
}
@media screen and (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* =sup */
sup {
  vertical-align: top;
  font-size: 0.75em;
}

/* =sub */
sub {
  vertical-align: bottom;
  font-size: 0.75em;
}

/* =strong */
strong, b {
  font-weight: bold;
}

/* =em i */
em, i {
  font-style: italic;
}

/* =code */
code {
  font: 0.85em/1 Courier, monospace;
  color: #006;
}

/* =a */
a:link,
a:visited {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: #63b442;
}

a:focus {
  outline-color: transparent;
}

a:active {
  outline-color: transparent;
}

[id] {
  scroll-margin-top: 100px;
}

/* focus */
*:focus {
  outline: max(2px, 0.2em) solid currentColor !important;
  outline-offset: 0.25em;
}

@supports selector(:focus-visible) {
  *:focus {
    outline: none !important;
  }
}
/* =img */
img {
  max-width: 100%;
}

#target_hilight {
  position: absolute;
}

a img {
  margin: 0;
}

img[data-object-fit=contain] {
  object-fit: contain;
}

img[data-object-fit=cover] {
  object-fit: cover;
}

picture {
  display: flex;
}
picture img {
  width: 100%;
  height: 100%;
}

/* =table */
tbody tr:nth-child(2n+1) {
  background-color: rgba(0, 0, 0, 0.1);
}

/* =forms */
form {
  --input-padding: 0.5em 1em;
  --input-border-width: 2px;
  --input-border-radius: 0;
  --input-border-colour: $text;
  --input-caret-colour: $green;
}
form .field.required span.label:after {
  color: red;
  content: "*";
  margin-left: 2px;
}

label {
  display: block;
  margin-bottom: 1em;
}
label > span {
  font-size: 0.875em;
  text-transform: uppercase;
}
label:not(.boolean) > span {
  display: block;
  margin-bottom: 0.5em;
}
label.boolean span,
label.boolean input {
  display: inline-block;
}

.field.form-checkbox.boolean label {
  display: flex;
}
.field.form-checkbox.boolean label input {
  margin-right: 6px;
}

legend,
.legend {
  display: block;
  margin-bottom: 1em;
  font-size: 0.875em;
  text-transform: uppercase;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  display: block;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
}
select::-ms-expand {
  display: none;
}

input[type=text],
input[type=email],
input[type=search],
input[type=password],
textarea,
select {
  width: 100%;
  padding: var(--input-padding);
  border-style: solid;
  border-width: var(--input-border-width);
  border-color: var(--input-border-colour);
  border-radius: var(--input-border-radius);
  transition: all 0.2s;
  caret-color: var(--input-caret-colour);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  border-color: #63b442;
  outline: 0;
}

div.formField .errors,
div.formField .form-error-message {
  list-style: none;
  color: #b46342;
}
div.formField .form-instruction {
  font-size: 0.875em;
}

.form-actions {
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
}
@media (min-width: 680px) {
  .form-actions {
    padding-top: 2em;
  }
}
@media (min-width: 1024px) {
  .form-actions {
    padding-top: 4em;
  }
}
.form-actions > * {
  margin-right: 1em;
}
.form-actions > *:last-child {
  margin-right: 0;
}

[v-cloak] {
  display: none;
}

/* =display-classes -----------------------------------------------------------------------------------------------------
  NOTE: Use only for simple things, try to avoid over-use.
  ----------------------------------------------------------------------------------------------------------------------- */
/* left or right */
.dc_left {
  float: left;
  margin-right: 1em;
}

.dc_right {
  float: right;
  margin-left: 1em;
}

/* big and small */
.dc_small {
  width: 20%;
}

.dc_medium {
  width: 40%;
}

.dc_large {
  width: 60%;
}

/* hiding things */
.dc_hide-text {
  text-indent: -999em;
  overflow: hidden;
}

.dc_hide-element {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* clearing things */
.dc_clearfix:after, .cms-textblock:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
* html .dc_clearfix, * html .cms-textblock {
  height: 1px;
}

/* make lists horizontal */
.dc_horizontal-list {
  list-style-type: none;
}
.dc_horizontal-list li {
  display: inline-block;
}

/* viewport width breakpout (only works on centered columns) */
.dc_full-width {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}

.dc_button, .fui-btn {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  border-radius: 0;
  border: 0px solid #4C56A3;
  color: #fff !important;
  background-color: #4C56A3 !important;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.dc_button:hover, .fui-btn:hover, .dc_button:focus, .fui-btn:focus {
  color: white;
  background-color: #2c315d !important;
  cursor: pointer;
}
.dc_button[disabled=disabled], [disabled=disabled].fui-btn {
  opacity: 0.5;
  pointer-events: none;
  filter: grayscale(1);
}
.dc_button.unfavourite, .unfavourite.fui-btn {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  border-radius: 0;
  border: 0px solid #b46342;
  color: #fff !important;
  background-color: #b46342 !important;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.dc_button.unfavourite:hover, .unfavourite.fui-btn:hover, .dc_button.unfavourite:focus, .unfavourite.fui-btn:focus {
  color: white;
  background-color: #693a27 !important;
  cursor: pointer;
}
.dc_button.unfavourite[disabled=disabled], .unfavourite[disabled=disabled].fui-btn {
  opacity: 0.5;
  pointer-events: none;
  filter: grayscale(1);
}
.dc_button.disabled, .disabled.fui-btn {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  border-radius: 0;
  border: 0px solid #4C56A3;
  color: #fff !important;
  background-color: #4C56A3 !important;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  filter: grayscale(1);
  opacity: 0.25;
  pointer-events: none;
}
.dc_button.disabled:hover, .disabled.fui-btn:hover, .dc_button.disabled:focus, .disabled.fui-btn:focus {
  color: white;
  background-color: #2c315d !important;
  cursor: pointer;
}
.dc_button.disabled[disabled=disabled], .disabled[disabled=disabled].fui-btn {
  opacity: 0.5;
  pointer-events: none;
  filter: grayscale(1);
}

.dc_more span {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.dc_sideBySide {
  display: flex;
  flex-wrap: wrap;
}
.dc_sideBySide > *:not(:first-child) {
  margin-left: 20px;
}

.dc_min-aspect {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.dc_min-aspect:before {
  content: "";
  float: left;
  padding-bottom: 50%;
}
.dc_min-aspect:after {
  content: "";
  display: table;
  clear: both;
}

.dc_numbers {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.dc_constrain-left {
  max-width: 1400px;
  padding-left: 0.5em;
  padding-right: 0.5em;
  margin-left: 0;
  /*@include breakpoint(5) {
  	padding-left: 3em; padding-right: 3em;
  }*/
  /*@include breakpoint(6) {
  	padding-left: 100px; padding-right: 100px;
  }*/
}
@media (min-width: 680px) {
  .dc_constrain-left {
    padding-left: 2em;
    padding-right: 2em;
  }
}

.dc_constrain-centre {
  max-width: 1400px;
  padding-left: 0.5em;
  padding-right: 0.5em;
  margin-left: auto;
  margin-right: auto;
  /*@include breakpoint(5) {
  	padding-left: 3em; padding-right: 3em;
  }*/
  /*@include breakpoint(6) {
  	padding-left: 100px; padding-right: 100px;
  }*/
}
@media (min-width: 680px) {
  .dc_constrain-centre {
    padding-left: 2em;
    padding-right: 2em;
  }
}

.dc_layout-padding-top {
  padding-top: 0.5rem;
}
@media (min-width: 680px) {
  .dc_layout-padding-top {
    padding-top: 2em;
  }
}
@media (min-width: 1024px) {
  .dc_layout-padding-top {
    padding-top: 4em;
  }
}

.dc_layout-padding-bottom {
  padding-bottom: 0.5rem;
}
@media (min-width: 680px) {
  .dc_layout-padding-bottom {
    padding-bottom: 2em;
  }
}
@media (min-width: 1024px) {
  .dc_layout-padding-bottom {
    padding-bottom: 4em;
  }
}

.dc_layout-padding-both {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media (min-width: 680px) {
  .dc_layout-padding-both {
    padding-top: 2em;
  }
}
@media (min-width: 1024px) {
  .dc_layout-padding-both {
    padding-top: 4em;
  }
}
@media (min-width: 680px) {
  .dc_layout-padding-both {
    padding-bottom: 2em;
  }
}
@media (min-width: 1024px) {
  .dc_layout-padding-both {
    padding-bottom: 4em;
  }
}

.dc_true-centre {
  display: grid;
  place-content: center;
}

@media (min-width: 680px) {
  .dc_grid-1-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}

@media (max-width: 679px) {
  .dc_grid-1-1-1 {
    display: grid;
    grid-gap: 10px;
  }
}
@media (min-width: 680px) {
  .dc_grid-1-1-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}
@media (min-width: 1024px) {
  .dc_grid-1-1-1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 679px) {
  .dc_grid-1-1-1-1 {
    display: grid;
    grid-gap: 10px;
  }
}
@media (min-width: 680px) {
  .dc_grid-1-1-1-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}
@media (min-width: 1024px) {
  .dc_grid-1-1-1-1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (min-width: 680px) {
  .dc_grid-1-2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    grid-gap: 20px;
  }
}

@media (min-width: 680px) {
  .dc_grid-2-1 {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}

@media (min-width: 680px) {
  .dc_grid-1-3 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    grid-gap: 20px;
  }
}
@media (min-width: 1024px) {
  .dc_grid-1-3 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    grid-gap: 20px;
  }
}

@media (min-width: 680px) {
  .dc_grid-3-1 {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}
@media (min-width: 1024px) {
  .dc_grid-3-1 {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    grid-gap: 20px;
  }
}

@media (min-width: 680px) {
  .largeGap {
    grid-gap: 40px;
  }
}
@media (min-width: 1024px) {
  .largeGap {
    grid-gap: 60px;
  }
}

.col-order-reverse > *:first-child {
  order: 2;
}
.col-order-reverse > *:last-child {
  order: 1;
}

.dc_dynamicShow {
  display: block;
}

.dc_dynamicHide {
  display: none !important;
}

/* =animations ----------------------------------------------------------------------------------------------------------
	NOTE:  CSS animations
	----------------------------------------------------------------------------------------------------------------------- */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes donut-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* =3rdparty ----------------------------------------------------------------------------------------------------------------
  NOTE: Third party CSS stuff
  ----------------------------------------------------------------------------------------------------------------------- */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
  		* Remove all paddings around the image on small screen
  		*/
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
/* MY ADDITIONS */
.mfp-ie7 .mfp-img {
  padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
  padding: 0;
}

.mfp-ie7 .mfp-content {
  padding-top: 44px;
}

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* =3rdpart over-ride ---------------------------------------------------------------------------------------------------
  NOTE: Customize the third party CSS stuff
  ----------------------------------------------------------------------------------------------------------------------- */
.imageGallery.slider,
.displayAs-slider,
.displayAs-thumbnailSlider {
  position: relative;
  margin-bottom: 60px;
}
.imageGallery.slider .prev,
.displayAs-slider .prev,
.displayAs-thumbnailSlider .prev {
  position: absolute;
  left: 0;
  bottom: -30px;
}
.imageGallery.slider .next,
.displayAs-slider .next,
.displayAs-thumbnailSlider .next {
  position: absolute;
  right: 0;
  bottom: -30px;
}
@media (min-width: 360px) {
  .imageGallery.slider,
  .displayAs-slider,
  .displayAs-thumbnailSlider {
    margin-bottom: 20px;
  }
  .imageGallery.slider .prev,
  .imageGallery.slider .next,
  .displayAs-slider .prev,
  .displayAs-slider .next,
  .displayAs-thumbnailSlider .prev,
  .displayAs-thumbnailSlider .next {
    text-indent: -999em;
    overflow: hidden;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: block;
    width: 44px;
    height: 44px;
    background: transparent url(../images/chevron-right.svg) 50% 50%/48px auto no-repeat;
    transition: all 0.2s;
  }
  .imageGallery.slider .prev:hover, .imageGallery.slider .prev:focus,
  .imageGallery.slider .next:hover,
  .imageGallery.slider .next:focus,
  .displayAs-slider .prev:hover,
  .displayAs-slider .prev:focus,
  .displayAs-slider .next:hover,
  .displayAs-slider .next:focus,
  .displayAs-thumbnailSlider .prev:hover,
  .displayAs-thumbnailSlider .prev:focus,
  .displayAs-thumbnailSlider .next:hover,
  .displayAs-thumbnailSlider .next:focus {
    cursor: pointer;
    background: transparent url(../images/chevron-right.svg) 50% 50%/48px auto no-repeat;
  }
  .imageGallery.slider .prev,
  .displayAs-slider .prev,
  .displayAs-thumbnailSlider .prev {
    transform-origin: 50% 50%;
    transform: rotate(180deg) translateY(50%);
  }
}

.slick-dots {
  position: absolute;
  bottom: 10%;
  margin-bottom: 0;
  list-style: none;
  width: 100%;
  display: flex;
  justify-content: center;
}
.slick-dots li:not(:first-child) {
  margin-left: 0.5em;
}
.slick-dots li.slick-active button::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.slick-dots li:first-child {
  margin-left: 0;
}
.slick-dots button {
  position: relative;
  appearance: none;
  display: block;
  width: 2em;
  height: 2em;
  padding: 0;
  border: 0.2em solid white;
  border-radius: 50%;
  background-color: transparent;
}
.slick-dots button:focus {
  outline: none;
}
.slick-dots button:hover {
  cursor: pointer;
}
.slick-dots button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: white;
  opacity: 0;
  transition: all 0.3s;
}
.slick-dots button span {
  position: relative;
  left: -999em;
}

/*
We declare all variables here as default so that they are easy to override...
*/
/* Border, shadows, ... */
/*
Variables that begin with $var- should NEVER be used directly in CSS rules.
they should only be included via the "@include var(property, var-name)"
mechanism.
*/
/* Border styles */
/* Cookie notice positioning */
/* Text colors */
/* Font Families */
/* White */
/* Differently shaded colors */
/*
Use @include var(property, varname) to include a variable, e.g.

    @include var(background-color, white1);

to create a white background.
*/
/* Spacing */
/* Breakpoints */
.klaro {
  font-family: inherit;
  font-family: var(--font-family, inherit);
  font-size: 14px;
  font-size: var(--font-size, 14px);
}

.klaro button {
  font-family: inherit;
  font-family: var(--font-family, inherit);
  font-size: 14px;
  font-size: var(--font-size, 14px);
}

.klaro.cm-as-context-notice {
  height: 100%;
  padding-bottom: 12px;
  padding-top: 12px;
}

.klaro .cookie-modal,
.klaro .context-notice,
.klaro .cookie-notice {
  /* The switch - the box around the slider */
}

.klaro .cookie-modal .cm-switch-container,
.klaro .context-notice .cm-switch-container,
.klaro .cookie-notice .cm-switch-container {
  border-bottom-style: solid;
  border-bottom-style: var(--border-style, solid);
  border-bottom-width: 1px;
  border-bottom-width: var(--border-width, 1px);
  border-bottom-color: #c8c8c8;
  border-bottom-color: var(--light2, #c8c8c8);
  display: block;
  position: relative;
  padding: 10px;
  padding-left: 66px;
  line-height: 20px;
  vertical-align: middle;
  min-height: 40px;
}

.klaro .cookie-modal .cm-switch-container:last-child,
.klaro .context-notice .cm-switch-container:last-child,
.klaro .cookie-notice .cm-switch-container:last-child {
  border-bottom: 0;
}

.klaro .cookie-modal .cm-switch-container:first-child,
.klaro .context-notice .cm-switch-container:first-child,
.klaro .cookie-notice .cm-switch-container:first-child {
  margin-top: 0;
}

.klaro .cookie-modal .cm-switch-container p,
.klaro .context-notice .cm-switch-container p,
.klaro .cookie-notice .cm-switch-container p {
  margin-top: 0;
}

.klaro .cookie-modal .cm-switch,
.klaro .context-notice .cm-switch,
.klaro .cookie-notice .cm-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 30px;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider {
  background-color: #1a936f;
  background-color: var(--green1, #1a936f);
}

.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.half-checked:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.half-checked:checked + .cm-list-label .slider {
  background-color: #1a936f;
  background-color: var(--green1, #1a936f);
  opacity: 0.6;
}

.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider::before,
.klaro .context-notice .cm-list-input.half-checked:checked + .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-input.half-checked:checked + .cm-list-label .slider::before {
  -ms-transform: translateX(10px);
  transform: translateX(10px);
}

.klaro .cookie-modal .cm-list-input.only-required + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.only-required + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.only-required + .cm-list-label .slider {
  background-color: #24cc9a;
  background-color: var(--green2, #24cc9a);
  opacity: 0.8;
}

.klaro .cookie-modal .cm-list-input.only-required + .cm-list-label .slider::before,
.klaro .context-notice .cm-list-input.only-required + .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-input.only-required + .cm-list-label .slider::before {
  -ms-transform: translateX(10px);
  transform: translateX(10px);
}

.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.required:checked + .cm-list-label .slider {
  background-color: #24cc9a;
  background-color: var(--green2, #24cc9a);
  opacity: 0.8;
  cursor: not-allowed;
}

.klaro .cookie-modal .slider,
.klaro .context-notice .slider,
.klaro .cookie-notice .slider {
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
}

.klaro .cookie-modal .cm-list-input,
.klaro .context-notice .cm-list-input,
.klaro .cookie-notice .cm-list-input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 50px;
  height: 30px;
}

.klaro .cookie-modal .cm-list-title,
.klaro .context-notice .cm-list-title,
.klaro .cookie-notice .cm-list-title {
  font-size: 0.9em;
  font-weight: 600;
}

.klaro .cookie-modal .cm-list-description,
.klaro .context-notice .cm-list-description,
.klaro .cookie-notice .cm-list-description {
  color: #7c7c7c;
  color: var(--dark3, #7c7c7c);
  font-size: 0.9em;
  padding-top: 4px;
}

.klaro .cookie-modal .cm-list-label,
.klaro .context-notice .cm-list-label,
.klaro .cookie-notice .cm-list-label {
  /* The slider */
  /* Rounded sliders */
}

.klaro .cookie-modal .cm-list-label .cm-switch,
.klaro .context-notice .cm-list-label .cm-switch,
.klaro .cookie-notice .cm-list-label .cm-switch {
  position: absolute;
  left: 0;
}

.klaro .cookie-modal .cm-list-label .slider,
.klaro .context-notice .cm-list-label .slider,
.klaro .cookie-notice .cm-list-label .slider {
  background-color: #f2f2f2;
  background-color: var(--white2, #f2f2f2);
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.4s;
  width: 50px;
  display: inline-block;
}

.klaro .cookie-modal .cm-list-label .slider::before,
.klaro .context-notice .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-label .slider::before {
  background-color: #e6e6e6;
  background-color: var(--white3, #e6e6e6);
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 5px;
  bottom: 5px;
  transition: 0.4s;
}

.klaro .cookie-modal .cm-list-label .slider.round,
.klaro .context-notice .cm-list-label .slider.round,
.klaro .cookie-notice .cm-list-label .slider.round {
  border-radius: 30px;
}

.klaro .cookie-modal .cm-list-label .slider.round::before,
.klaro .context-notice .cm-list-label .slider.round::before,
.klaro .cookie-notice .cm-list-label .slider.round::before {
  border-radius: 50%;
}

.klaro .cookie-modal .cm-list-label input:focus + .slider,
.klaro .context-notice .cm-list-label input:focus + .slider,
.klaro .cookie-notice .cm-list-label input:focus + .slider {
  box-shadow-color: #48dfb2;
  box-shadow-color: var(--green3, #48dfb2);
  box-shadow: 0 0 1px var(color, green3);
}

.klaro .cookie-modal .cm-list-label input:checked + .slider::before,
.klaro .context-notice .cm-list-label input:checked + .slider::before,
.klaro .cookie-notice .cm-list-label input:checked + .slider::before {
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

.klaro .cookie-modal .cm-list-input:focus + .cm-list-label .slider,
.klaro .context-notice .cm-list-input:focus + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:focus + .cm-list-label .slider {
  box-shadow: 0 4px 6px 0 rgba(125, 125, 125, 0.2), 5px 5px 10px 0 rgba(125, 125, 125, 0.19);
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider::before,
.klaro .context-notice .cm-list-input:checked + .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider::before {
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

.klaro .cookie-modal .slider,
.klaro .context-notice .slider,
.klaro .cookie-notice .slider {
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
}

.klaro .cookie-modal a,
.klaro .context-notice a,
.klaro .cookie-notice a {
  color: #1a936f;
  color: var(--green1, #1a936f);
  text-decoration: none;
}

.klaro .cookie-modal p,
.klaro .cookie-modal strong,
.klaro .cookie-modal h1,
.klaro .cookie-modal h2,
.klaro .cookie-modal ul,
.klaro .cookie-modal li,
.klaro .context-notice p,
.klaro .context-notice strong,
.klaro .context-notice h1,
.klaro .context-notice h2,
.klaro .context-notice ul,
.klaro .context-notice li,
.klaro .cookie-notice p,
.klaro .cookie-notice strong,
.klaro .cookie-notice h1,
.klaro .cookie-notice h2,
.klaro .cookie-notice ul,
.klaro .cookie-notice li {
  color: #fafafa;
  color: var(--light1, #fafafa);
}

.klaro .cookie-modal p,
.klaro .cookie-modal h1,
.klaro .cookie-modal h2,
.klaro .cookie-modal ul,
.klaro .cookie-modal li,
.klaro .context-notice p,
.klaro .context-notice h1,
.klaro .context-notice h2,
.klaro .context-notice ul,
.klaro .context-notice li,
.klaro .cookie-notice p,
.klaro .cookie-notice h1,
.klaro .cookie-notice h2,
.klaro .cookie-notice ul,
.klaro .cookie-notice li {
  display: block;
  text-align: left;
  margin: 0;
  padding: 0;
  margin-top: 0.7em;
}

.klaro .cookie-modal h1,
.klaro .cookie-modal h2,
.klaro .cookie-modal h3,
.klaro .cookie-modal h4,
.klaro .cookie-modal h5,
.klaro .cookie-modal h6,
.klaro .context-notice h1,
.klaro .context-notice h2,
.klaro .context-notice h3,
.klaro .context-notice h4,
.klaro .context-notice h5,
.klaro .context-notice h6,
.klaro .cookie-notice h1,
.klaro .cookie-notice h2,
.klaro .cookie-notice h3,
.klaro .cookie-notice h4,
.klaro .cookie-notice h5,
.klaro .cookie-notice h6 {
  font-family: inherit;
  font-family: var(--title-font-family, inherit);
}

.klaro .cookie-modal .cm-link,
.klaro .context-notice .cm-link,
.klaro .cookie-notice .cm-link {
  margin-right: 0.5em;
  vertical-align: middle;
}

.klaro .cookie-modal .cm-btn,
.klaro .context-notice .cm-btn,
.klaro .cookie-notice .cm-btn {
  color: #fff;
  color: var(--button-text-color, #fff);
  background-color: #5c5c5c;
  background-color: var(--dark2, #5c5c5c);
  border-radius: 4px;
  border-radius: var(--border-radius, 4px);
  padding: 6px 10px;
  margin-right: 0.5em;
  border-style: none;
  padding: 0.4em;
  font-size: 1em;
  cursor: pointer;
}

.klaro .cookie-modal .cm-btn:disabled,
.klaro .context-notice .cm-btn:disabled,
.klaro .cookie-notice .cm-btn:disabled {
  opacity: 0.5;
}

.klaro .cookie-modal .cm-btn.cm-btn-close,
.klaro .context-notice .cm-btn.cm-btn-close,
.klaro .cookie-notice .cm-btn.cm-btn-close {
  background-color: #c8c8c8;
  background-color: var(--light2, #c8c8c8);
}

.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .context-notice .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success {
  background-color: #1a936f;
  background-color: var(--green1, #1a936f);
}

.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .context-notice .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-success-var {
  background-color: #24cc9a;
  background-color: var(--green2, #24cc9a);
}

.klaro .cookie-modal .cm-btn.cm-btn-info,
.klaro .context-notice .cm-btn.cm-btn-info,
.klaro .cookie-notice .cm-btn.cm-btn-info {
  background-color: #2581c4;
  background-color: var(--blue1, #2581c4);
}

.klaro .context-notice {
  border-radius: 4px;
  border-radius: var(--border-radius, 4px);
  border-style: solid;
  border-style: var(--border-style, solid);
  border-width: 1px;
  border-width: var(--border-width, 1px);
  border-color: #c8c8c8;
  border-color: var(--light2, #c8c8c8);
  background-color: #fafafa;
  background-color: var(--light1, #fafafa);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 12px;
  height: 100%;
}

.klaro .context-notice.cm-dark {
  background-color: #333;
  background-color: var(--dark1, #333);
  border-color: #5c5c5c;
  border-color: var(--dark2, #5c5c5c);
}

.klaro .context-notice.cm-dark p {
  color: #fafafa;
  color: var(--light1, #fafafa);
}

.klaro .context-notice.cm-dark p a {
  color: #459cdc;
  color: var(--blue2, #459cdc);
}

.klaro .context-notice p {
  color: #333;
  color: var(--dark1, #333);
  flex-grow: 0;
  text-align: center;
  padding-top: 0;
  margin-top: 0;
}

.klaro .context-notice p a {
  color: #24cc9a;
  color: var(--green2, #24cc9a);
}

.klaro .context-notice p.cm-buttons {
  margin-top: 12px;
}

.klaro .cookie-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  overflow: hidden;
  left: 0;
  top: 0;
  z-index: 1000;
}

.klaro .cookie-modal.cm-embedded {
  position: relative;
  height: inherit;
  width: inherit;
  left: inherit;
  right: inherit;
  z-index: 0;
}

.klaro .cookie-modal.cm-embedded .cm-modal.cm-klaro {
  position: relative;
  -ms-transform: none;
  transform: none;
}

.klaro .cookie-modal .cm-bg {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.klaro .cookie-modal .cm-modal.cm-klaro {
  background-color: #333;
  background-color: var(--dark1, #333);
  color: #fafafa;
  color: var(--light1, #fafafa);
  z-index: 1001;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
  width: 100%;
  max-height: 98%;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: fixed;
  overflow: auto;
}

@media (min-width: 660px) {
  .klaro .cookie-modal .cm-modal.cm-klaro {
    border-radius: 4px;
    border-radius: var(--border-radius, 4px);
    position: relative;
    margin: 0 auto;
    max-width: 640px;
    height: auto;
    width: auto;
  }
}
.klaro .cookie-modal .cm-modal .hide {
  border-style: none;
  background: none;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
}

.klaro .cookie-modal .cm-modal .hide svg {
  stroke: #fafafa;
  stroke: var(--light1, #fafafa);
}

.klaro .cookie-modal .cm-modal .cm-footer {
  border-top-color: #5c5c5c;
  border-top-color: var(--dark2, #5c5c5c);
  border-top-width: 1px;
  border-top-width: var(--border-width, 1px);
  border-top-style: solid;
  border-top-style: var(--border-style, solid);
  padding: 1em;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.klaro .cookie-modal .cm-modal .cm-footer .cm-powered-by {
  font-size: 0.8em;
  padding-top: 4px;
  text-align: right;
  padding-right: 8px;
}

.klaro .cookie-modal .cm-modal .cm-footer .cm-powered-by a {
  color: #5c5c5c;
  color: var(--dark2, #5c5c5c);
}

.klaro .cookie-modal .cm-modal .cm-header {
  border-bottom-width: 1px;
  border-bottom-width: var(--border-width, 1px);
  border-bottom-style: solid;
  border-bottom-style: var(--border-style, solid);
  border-bottom-color: #5c5c5c;
  border-bottom-color: var(--dark2, #5c5c5c);
  padding: 1em;
  padding-right: 24px;
}

.klaro .cookie-modal .cm-modal .cm-header h1 {
  margin: 0;
  font-size: 2em;
  display: block;
}

.klaro .cookie-modal .cm-modal .cm-header h1.title {
  padding-right: 20px;
}

.klaro .cookie-modal .cm-modal .cm-body {
  padding: 1em;
}

.klaro .cookie-modal .cm-modal .cm-body ul {
  display: block;
}

.klaro .cookie-modal .cm-modal .cm-body span {
  display: inline-block;
  width: auto;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes {
  padding: 0;
  margin: 0;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose .cm-services .cm-caret,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose .cm-services .cm-caret {
  color: #a0a0a0;
  color: var(--light3, #a0a0a0);
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose .cm-services .cm-content,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose .cm-services .cm-content {
  margin-left: -40px;
  display: none;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose .cm-services .cm-content.expanded,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose .cm-services .cm-content.expanded {
  margin-top: 10px;
  display: block;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose {
  position: relative;
  line-height: 20px;
  vertical-align: middle;
  padding-left: 60px;
  min-height: 40px;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service:first-child,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose:first-child,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service:first-child,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose:first-child {
  margin-top: 0;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service p,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose p,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service p,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose p {
  margin-top: 0;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose p.purposes {
  color: #a0a0a0;
  color: var(--light3, #a0a0a0);
  font-size: 0.8em;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service.cm-toggle-all,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose.cm-toggle-all,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service.cm-toggle-all,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose.cm-toggle-all {
  border-top-width: 1px;
  border-top-width: var(--border-width, 1px);
  border-top-style: solid;
  border-top-style: var(--border-style, solid);
  border-top-color: #5c5c5c;
  border-top-color: var(--dark2, #5c5c5c);
  padding-top: 1em;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service span.cm-list-title,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose span.cm-list-title,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service span.cm-list-title,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose span.cm-list-title {
  font-weight: 600;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service span.cm-opt-out,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service span.cm-required,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose span.cm-opt-out,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose span.cm-required,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service span.cm-opt-out,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service span.cm-required,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose span.cm-opt-out,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose span.cm-required {
  color: #5c5c5c;
  color: var(--dark2, #5c5c5c);
  padding-left: 0.2em;
  font-size: 0.8em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) {
  background-color: #333;
  background-color: var(--dark1, #333);
  z-index: 999999;
  position: fixed;
  width: 100%;
  bottom: 0;
  right: 0;
}

@media (min-width: 1024px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    border-radius: 4px;
    border-radius: var(--border-radius, 4px);
    position: fixed;
    position: var(--notice-position, fixed);
    right: auto;
    right: var(--notice-right, auto);
    left: 20px;
    left: var(--notice-left, 20px);
    bottom: 20px;
    bottom: var(--notice-bottom, 20px);
    top: auto;
    top: var(--notice-top, auto);
    max-width: 400px;
    max-width: var(--notice-max-width, 400px);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
  }
}
@media (max-width: 1023px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    border-style: none;
    border-radius: 0;
  }
}
.klaro .cookie-notice:not(.cookie-modal-notice).cn-embedded {
  position: relative;
  height: inherit;
  width: inherit;
  left: inherit;
  right: inherit;
  bottom: inherit;
  z-index: 0;
}

.klaro .cookie-notice:not(.cookie-modal-notice).cn-embedded .cn-body {
  padding-top: 0.5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
  margin-bottom: 0;
  margin-right: 0;
  bottom: 0;
  padding: 1em;
  padding-top: 0;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
  margin-bottom: 0.5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p.cn-changes {
  text-decoration: underline;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more {
  display: inline-block;
  flex-grow: 1;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
  display: inline-block;
  margin-top: -0.5em;
}

@media (max-width: 384px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
    width: 100%;
  }
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
  margin-top: 0.5em;
}

@media (max-width: 384px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
    width: calc(50% - 0.5em);
  }
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
  margin-top: -0.5em;
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  justify-content: right;
  align-items: baseline;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok a,
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok div {
  margin-top: 0.5em;
}

.klaro .cookie-modal-notice {
  background-color: #333;
  background-color: var(--dark1, #333);
  color: #fafafa;
  color: var(--light1, #fafafa);
  z-index: 999999;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2), 5px 5px 10px 0 rgba(0, 0, 0, 0.19);
  width: 100%;
  max-height: 98%;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: fixed;
  overflow: auto;
  padding: 1em;
  padding-top: 0.2em;
}

@media (min-width: 400px) {
  .klaro .cookie-modal-notice {
    border-radius: 4px;
    border-radius: var(--border-radius, 4px);
    position: relative;
    margin: 0 auto;
    max-width: 400px;
    height: auto;
    width: auto;
  }
}
.klaro .cookie-modal-notice .cn-ok {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  margin-top: 1em;
}

.klaro .cookie-notice-hidden {
  display: none !important;
}

/* =modules -------------------------------------------------------------------------------------------------------------
  NOTE: Modules are discrete sections of data that may be used on any page, e.g., "Latest News"
  ----------------------------------------------------------------------------------------------------------------------- */
.skipLink {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skipLink:focus {
  position: fixed;
  left: 0;
  width: 100vw;
  height: auto;
  padding: 1ch;
  background-color: yellow;
  color: navy;
  text-align: center;
  outline: 0;
}

html:not(.load-complete) * {
  transition: none !important;
}

.green {
  color: #63b442;
}

.bg_green {
  background-color: #63b442;
  color: white;
}

.flash {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2rem;
  border-radius: 1rem;
  background-color: red;
  color: white;
  animation-delay: 1s;
  animation-fill-mode: both;
  pointer-events: none;
}
.flash.notice {
  background-color: green;
  animation-name: fadeOut;
  animation-duration: 2s;
}
.flash.error {
  animation-name: fadeOut;
  animation-duration: 4s;
}

html:not(.js) img.lazyload {
  display: none;
}

.lazyload {
  opacity: 0;
  transition: opacity 0.3s;
}

.lazyloaded {
  opacity: 1;
}

.member-actions {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
  padding: 6px;
  border-radius: 6px 0 0 0;
  background-color: rgba(255, 0, 0, 0.7);
  color: white;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}
.member-actions p {
  margin-bottom: 0;
}
.member-actions a {
  border-radius: 5px;
  padding: 0 0.5em;
  background: white;
  color: red;
}
.member-actions a:hover, .member-actions a:focus {
  text-decoration: none;
}
@media (min-width: 680px) {
  .member-actions {
    display: block;
  }
}

.devWarning {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0.5em 1em;
  text-align: center;
  background: rebeccapurple;
  color: white;
  animation: fadeOut 0.3s 2s both;
  pointer-events: none;
}

.site_title {
  margin: 0;
  width: 220px;
  margin: 0 auto;
}
.site_title span.text {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.site_title span.logo {
  padding: 20px;
  display: block;
}
.site_title span.logo svg path {
  fill: white;
}
.site_title span.mobileLogo {
  padding: 20px;
  display: block;
}
.site_title span.mobileLogo svg path {
  fill: white;
}

html:not(.mobile-nav) .site_title span.mobileLogo {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

html.mobile-nav .site_title span.logo {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

html.mobile-nav .sticky_footer {
  display: block !important;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 5;
}
html.mobile-nav .site_footer {
  padding-bottom: 50px;
}
html.mobile-nav .nav-menu-trigger {
  display: block;
  height: 60px;
  line-height: 42px;
  text-align: center;
  text-transform: uppercase;
  background: url(../images/main-logo.svg) 10px 10px no-repeat #4C56A3;
  background-size: auto 40px;
  color: white;
  font-weight: 700;
  letter-spacing: 2px;
  position: sticky;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 10;
  text-indent: -999em;
  overflow: hidden;
}
html.mobile-nav .nav-menu-trigger span.burger {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 60px;
  height: 60px;
  background: white;
  transition: all ease 0.3s;
}
html.mobile-nav .nav-menu-trigger span.burger span.line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: #4C56A3;
  height: 5px;
  width: 30px;
  border-radius: 3px;
  transition: all ease 0.3s;
}
html.mobile-nav .nav-menu-trigger span.burger span.line:before {
  position: absolute;
  top: -10px;
  height: 5px;
  width: 30px;
  content: "";
  display: block;
  background: #4C56A3;
  border-radius: 3px;
  transition: all ease 0.3s;
}
html.mobile-nav .nav-menu-trigger span.burger span.line:after {
  position: absolute;
  top: 10px;
  height: 5px;
  width: 30px;
  content: "";
  display: block;
  background: #4C56A3;
  border-radius: 3px;
  transition: all ease 0.3s;
}
html.mobile-nav .nav-menu-trigger:hover, html.mobile-nav .nav-menu-trigger:focus {
  cursor: pointer;
}
html.mobile-nav .site_context h2 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
html.mobile-nav .site_context ul {
  list-style: none;
  margin-bottom: 0px;
  text-align: center;
  letter-spacing: 1px;
}
html.mobile-nav .site_context ul.mainMenu {
  color: white;
  margin-bottom: 20px;
}
html.mobile-nav .site_context ul.mainMenu a {
  display: block;
  padding: 7px 15px;
}
html.mobile-nav .site_context ul.extraButtons {
  letter-spacing: 1px;
}
html.mobile-nav .site_context ul.extraButtons a {
  color: white;
  padding: 12px 15px;
  display: block;
  font-weight: 600;
}
html.mobile-nav .site_context ul.extraButtons a.callBack {
  background: #323FC6;
}
html.mobile-nav .site_context ul.extraButtons a.requestABrochure {
  background: #2A99CF;
}
html.mobile-nav .site_context ul.extraButtons a.arrangeAViewing {
  background: #3EB59E;
}
html.mobile-nav .site_context > .container {
  position: fixed;
  left: 0;
  top: 60px;
  bottom: 0;
  z-index: 4;
  width: 80%;
  max-width: 400px;
  background-color: #4C56A3;
  color: white;
  transition: all 0.4s;
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}
html.mobile-nav span.burger.active span.line {
  background: white;
}
html.mobile-nav span.burger.active span.line:before {
  top: 0px;
  transform: rotate(45deg);
}
html.mobile-nav span.burger.active span.line:after {
  top: 0px;
  transform: rotate(-45deg);
}
html.mobile-nav.nav-active .site_context > .container {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.embedContainer {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports not (aspect-ratio: 1/1) {
  .embedContainer {
    height: 0;
    padding-bottom: 75%;
    max-width: 100%;
  }
}
.embedContainer iframe,
.embedContainer object,
.embedContainer embed, .embedContainer > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.embedContainer iframe *,
.embedContainer object *,
.embedContainer embed *, .embedContainer > div * {
  box-sizing: content-box;
}
.embedContainer iframe img,
.embedContainer object img,
.embedContainer embed img, .embedContainer > div img {
  width: auto;
  max-width: none;
}
@supports (aspect-ratio: 1/1) {
  .embedContainer.widescreen {
    aspect-ratio: 16/9;
  }
}
@supports not (aspect-ratio: 1/1) {
  .embedContainer.widescreen {
    padding-bottom: 56.25%;
  }
}
@supports (aspect-ratio: 4/3) {
  .embedContainer.tour {
    aspect-ratio: 4/3;
  }
}
@supports not (aspect-ratio: 4/3) {
  .embedContainer.tour {
    padding-bottom: 56.25%;
  }
}
@supports (aspect-ratio: 16/9) {
  .embedContainer.tourWidescreen {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1024px) {
  @supports (aspect-ratio: 16/9) {
    .embedContainer.tourWidescreen {
      aspect-ratio: 16/9;
    }
  }
}
@supports not (aspect-ratio: 16/8) {
  .embedContainer.tourWidescreen {
    padding-bottom: 56.25%;
  }
}
@supports (aspect-ratio: 1/1) {
  .embedContainer.cinema185 {
    aspect-ratio: 1.85/1;
  }
}
@supports not (aspect-ratio: 1/1) {
  .embedContainer.cinema185 {
    padding-bottom: 54.05405405%;
  }
}
@supports (aspect-ratio: 1/1) {
  .embedContainer.cinema239 {
    aspect-ratio: 2.39/1;
  }
}
@supports not (aspect-ratio: 1/1) {
  .embedContainer.cinema239 {
    padding-bottom: 43%;
  }
}

.cms-textblock > *:last-child {
  margin-bottom: 0;
}
.cms-textblock h1:before {
  content: "h1 not allowed here!";
  color: red;
}
.cms-textblock h2 {
  margin: 0;
  font-size: 2em;
  text-rendering: optimizeLegibility;
  font-weight: 700;
  margin-bottom: 1em;
}
@media (min-width: 680px) {
  .cms-textblock h2 {
    font-size: 2em;
  }
}
@media (min-width: 1024px) {
  .cms-textblock h2 {
    font-size: 3em;
  }
}
@media (min-width: 1500px) {
  .cms-textblock h2 {
    font-size: 3.2em;
  }
}
@media (max-width: 679px) {
  .cms-textblock h2 {
    font-size: 1.5em;
    line-height: 1.3em;
  }
}
.cms-textblock h3 {
  margin: 0;
  font-size: 1.4em;
  text-rendering: optimizeLegibility;
  margin-bottom: 1em;
  font-weight: bold;
}
@media (max-width: 679px) {
  .cms-textblock h3 {
    font-size: 1.1em;
  }
}
.cms-textblock h4 {
  margin: 0;
  font-size: 1.2em;
  text-rendering: optimizeLegibility;
  margin-bottom: 1em;
  font-weight: bold;
}
@media (max-width: 679px) {
  .cms-textblock h4 {
    font-size: 1em;
    font-weight: bold;
  }
}
.cms-textblock h5 {
  margin: 0;
  font-size: 1.1em;
  text-rendering: optimizeLegibility;
  margin-bottom: 1em;
  font-weight: bold;
}
@media (max-width: 679px) {
  .cms-textblock h5 {
    font-size: 1em;
    font-weight: bold;
  }
}
.cms-textblock h6 {
  margin: 0;
  font-size: 1em;
  font-weight: bold;
  text-rendering: optimizeLegibility;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms-textblock img {
  display: block;
  margin-bottom: 1em;
}
.cms-textblock a {
  text-decoration: underline;
  color: inherit;
}
.cms-textblock a:hover, .cms-textblock a:focus {
  text-decoration: none;
}
.cms-textblock a[href^="https://whatever.website.local/content" i],
.cms-textblock a[href^="https://whatever.website.viewcreative.agency/content" i],
.cms-textblock a[href^="https://whatever.com/content" i] {
  color: red;
}
.cms-textblock ol {
  margin-left: 1.2em;
}
.cms-textblock ul {
  margin-left: 1.2em;
}
.cms-textblock blockquote {
  padding: 1em;
  margin-bottom: 1em;
}
.cms-textblock blockquote p:last-child {
  margin-bottom: 0;
}
.cms-textblock iframe {
  display: block;
  margin-bottom: 2em;
}
.cms-textblock table {
  width: 100%;
  margin-bottom: 2em;
}
.cms-textblock table tr {
  transition: background-color 0.2s;
}
.cms-textblock table tr:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.cms-textblock table th,
.cms-textblock table td {
  padding: 3px 10px 3px 0;
  text-align: left;
}
.cms-textblock table th {
  font-weight: bold;
}
.cms-textblock .align-left,
.cms-textblock [align=left] {
  float: left;
  margin-right: 2em;
  max-width: 50%;
}
.cms-textblock .align-right,
.cms-textblock [align=right] {
  float: right;
  margin-left: 2em;
  max-width: 50%;
}
.cms-textblock b,
.cms-textblock strong {
  font-weight: bold;
}
.cms-textblock i,
.cms-textblock em {
  font-style: italic;
}
@media (min-width: 680px) {
  .cms-textblock.cols_two, .cms-textblock.cols_three {
    column-count: 2;
    column-gap: 2em;
  }
}
@media (min-width: 1024px) {
  .cms-textblock.cols_three {
    column-count: 3;
    column-gap: 2em;
  }
}

.mixedContent .accordion {
  margin-bottom: 10px;
}
@media (min-width: 680px) {
  .mixedContent .accordion {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1024px) {
  .mixedContent .accordion {
    padding-left: 60px;
    padding-right: 60px;
  }
}
.mixedContent .accordion .trigger {
  border-bottom: 1px solid #4C56A3;
  padding: 10px 20px;
  background: #4C56A3;
  color: white;
  display: block;
  position: relative;
}
.mixedContent .accordion .trigger:after {
  content: "+";
  position: absolute;
  top: 40%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 30px;
  font-weight: bold;
}
.mixedContent .accordion .trigger.open:after {
  content: "-";
}
@media (min-width: 680px) {
  .mixedContent .accordion .trigger {
    font-size: 24px;
  }
}
.mixedContent .accordion .trigger:hover, .mixedContent .accordion .trigger:focus {
  cursor: pointer;
  background: #3c4480;
}
.mixedContent .accordion .expandable {
  overflow: hidden;
}
.mixedContent .accordion .expandable.closed {
  height: 0px;
}
.mixedContent .accordion .cms-textblock {
  padding: 20px;
  background: #EDEEF6;
}
@media (min-width: 680px) {
  .mixedContent .richText {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1024px) {
  .mixedContent .richText {
    padding-left: 60px;
    padding-right: 60px;
  }
}
.mixedContent .blockquote {
  margin: 1em 0;
  padding: 1em 3em;
  border-left: 0.5em solid #63b442;
}
.mixedContent .blockquote blockquote {
  margin-bottom: 20px;
}
.mixedContent .blockquote blockquote::before, .mixedContent .blockquote blockquote::after {
  content: "“";
  position: absolute;
  color: #63b442;
  font-size: 4em;
}
.mixedContent .blockquote blockquote::before {
  transform: translate(-0.5em, -0.35em);
}
.mixedContent .blockquote blockquote::after {
  content: "”";
  transform: translate(0.125em, -0.1em);
}
.mixedContent .blockquote cite {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.875em;
  font-size: 1.25em;
}
.mixedContent .spacer {
  height: 40px;
}
.mixedContent .spacer.medium {
  height: 60px;
}
.mixedContent .spacer.large {
  height: 80px;
}
.mixedContent .displayAs-thumbnailSlider,
.mixedContent .displayAs-slider {
  margin-bottom: 0;
}
.mixedContent .fileList .file:not(:last-child) {
  border-bottom: 1px dashed black;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.mixedContent .fileList .top {
  padding-left: 40px;
  background: transparent url(../images/heroicons/outline/download.svg) 0 0 no-repeat;
}
.mixedContent .fileList a {
  display: inline-block;
  padding: 0.5ch 0 0.5ch 3ch;
  background: transparent url(../images/heroicons/outline/download.svg) 0 50%/auto 24px no-repeat;
}
.mixedContent .fileList a[href$=txt] {
  background-image: url(../images/heroicons/outline/document-download.svg);
}
.mixedContent .fileList a[href$=zip] {
  background-image: url(../images/heroicons/outline/folder-download.svg);
}
.mixedContent .featuredLink {
  padding: 20px 0;
  border-top: 1px dashed black;
  border-bottom: 1px dashed black;
}
.mixedContent .featuredLink a {
  display: block;
  padding-left: 40px;
  margin-bottom: 0;
  background: transparent url(../images/link.svg) 0 0 no-repeat;
}
.mixedContent .featuredLink .title {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.mixedContent .featuredLink .description {
  margin-bottom: 0;
}
.mixedContent .mixedContentFiles h2 {
  margin: 0;
  font-size: 1.4em;
  text-rendering: optimizeLegibility;
  margin-bottom: 1em;
  color: #63b442;
}
@media (max-width: 679px) {
  .mixedContent .mixedContentFiles h2 {
    font-size: 1.1em;
  }
}
.mixedContent .mixedContentFiles .file .heading {
  font-weight: bold;
  margin-bottom: 0;
}
.mixedContent .mixedContentFiles .file .description {
  margin-bottom: 20px;
}
.mixedContent .mixedContentFiles .file .meta {
  font-size: 0.875em;
  font-style: italic;
}
.mixedContent .mixedContentEntries .image {
  margin-bottom: 1em;
}
.mixedContent .mixedContentEntries .heading {
  font-weight: bold;
  margin-bottom: 0;
}
.mixedContent .mixedContentEntries .listingExcerpt {
  margin-bottom: 0;
  font-size: 0.875em;
}
.mixedContent .mixedContentEntries .readMore {
  margin-top: 1em;
}
.mixedContent .map {
  height: 50vh;
  min-height: 320px;
}
.mixedContent .textByImages {
  margin-bottom: 40px;
}
.mixedContent .textByImages .theImage {
  margin-bottom: 10px;
}
.mixedContent .mixedContent_table table {
  width: 100%;
}
.mixedContent .mixedContent_table td,
.mixedContent .mixedContent_table th {
  padding: 0.5em;
}
.mixedContent .mixedContent_table thead {
  border-bottom: 1px solid #999;
}
.mixedContent .mixedContent_table thead th {
  text-transform: uppercase;
  font-size: 0.875em;
}
@media (min-width: 410px) {
  .mixedContent .contentTypeImages.grid .outerWrapper {
    display: grid;
  }
  .mixedContent .contentTypeImages.grid.imagesOnRow_2 .outerWrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .mixedContent .contentTypeImages.grid.imagesOnRow_3 .outerWrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
  .mixedContent .contentTypeImages.gridWithGap .outerWrapper {
    display: grid;
    grid-gap: 20px;
  }
  .mixedContent .contentTypeImages.gridWithGap.imagesOnRow_2 .outerWrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .mixedContent .contentTypeImages.gridWithGap.imagesOnRow_3 .outerWrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
  .mixedContent .mixedContentEntries.entryCount_2 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_3 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_4 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_5 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_6 .outerWrapper {
    display: grid;
    grid-gap: 2em;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .mixedContent .cols_two,
  .mixedContent .cols_three {
    column-count: 2;
    column-gap: 20px;
  }
  .mixedContent .mixedContentEntries.entryCount_3 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_4 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_5 .outerWrapper, .mixedContent .mixedContentEntries.entryCount_6 .outerWrapper {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .mixedContent .fileList .file {
    display: flex;
    justify-content: space-between;
  }
  .mixedContent .fileList .description {
    padding-left: 40px;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 1500px) {
  .mixedContent .textByImages {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-bottom: 0;
  }
  .mixedContent .textByImages .text {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .mixedContent .textByImages .theImage {
    margin-bottom: 0;
  }
  .mixedContent .textByImages.left .text {
    order: 1;
  }
  .mixedContent .textByImages.left .theImage {
    order: 2;
  }
  .mixedContent .cols_three {
    column-count: 3;
    column-gap: 2em;
  }
}

.sm ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 0;
}
.sm li a {
  display: block;
  transition: all 0.3s;
  transform-origin: 50% 50%;
}
.sm svg {
  display: block;
}
.sm.brand-compliant li:not(:first-child) {
  margin-left: 0;
}
.sm.brand-compliant li a {
  width: 42px;
}
.sm.brand-compliant li a:hover, .sm.brand-compliant li a:focus {
  transform: scale(1.1);
}
.sm.brand-compliant svg {
  width: 42px;
  height: 42px;
}
.sm.outline a {
  padding: 10px;
}
.sm.outline svg {
  width: 22px;
  height: 22px;
}
.sm.outline svg path {
  fill: #ccc;
}

.seomatic-opening-hours li {
  display: flex;
}
.seomatic-opening-hours li .day {
  width: 3em;
}
.seomatic-opening-hours li .times i {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.seomatic-opening-hours li .closes:before {
  content: " - ";
}

.pagination-controls {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1em;
  margin-top: 1em;
}
.pagination-controls h3 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.pagination-controls ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
}
.pagination-controls ul li.prev {
  align-self: flex-start;
}
.pagination-controls ul li.next {
  align-self: flex-end;
  text-align: right;
}

.pendingTranslation {
  color: red;
}

.readMore {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  border-radius: 0;
  border: 0px solid #ccc;
  color: #fff !important;
  background-color: #ccc !important;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0;
}
.readMore:hover, .readMore:focus {
  color: white;
  background-color: #999999 !important;
  cursor: pointer;
}
.readMore[disabled=disabled] {
  opacity: 0.5;
  pointer-events: none;
  filter: grayscale(1);
}
.readMore span {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  max-width: 80vw;
  max-height: 80vh;
}
.mfp-inline-holder .mfp-content picture img,
.mfp-ajax-holder .mfp-content picture img {
  max-width: 80vw;
  max-height: 80vh;
  object-fit: contain;
}

.ajaxpopupimage {
  position: relative;
  display: block;
}
.ajaxpopupimage:before {
  content: "";
  position: absolute;
  top: 11px;
  right: 9px;
  z-index: 2;
  display: block;
  width: 30px;
  height: 30px;
  background: url(../images/maximize-black.svg);
  background-size: contain;
  filter: blur(2px);
  opacity: 0;
  transform: scale(0.75);
  transition: all 0.3s;
  pointer-events: none;
}
.ajaxpopupimage:after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: block;
  width: 30px;
  height: 30px;
  background: url(../images/maximize-white.svg);
  background-size: contain;
  opacity: 0;
  transform: scale(0.75);
  transition: all 0.3s;
  pointer-events: none;
}
.ajaxpopupimage:hover:before, .ajaxpopupimage:focus:before {
  opacity: 0.5;
  transform: scale(1);
}
.ajaxpopupimage:hover:after, .ajaxpopupimage:focus:after {
  opacity: 1;
  transform: scale(1);
}

.previouslyUploaded p {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 0.5em;
}
.previouslyUploaded ul {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
}
.previouslyUploaded li {
  position: relative;
  display: flex;
}
.previouslyUploaded li a {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.5em;
  background-color: white;
}
.previouslyUploaded li a:hover {
  cursor: pointer;
}
.previouslyUploaded li img {
  width: 100%;
  display: flex;
}
@media (min-width: 680px) {
  .previouslyUploaded ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1500px) {
  .previouslyUploaded ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.fadeOut {
  opacity: 0.3;
  filter: grayscale(1) blur(3px);
}

/* =page ----------------------------------------------------------------------------------------------------------------
  NOTE: How modules are laid out on specific pages, and styling specific to a given page
  ----------------------------------------------------------------------------------------------------------------------- */
html {
  background: #EDEEF6;
}

footer {
  background: #4C56A3;
  color: white;
}
footer h2 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
footer h3 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
footer .footerNav h3 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
footer .footerNav ul {
  list-style: none;
}
footer .logo .footerLogo {
  display: block;
}
footer .logo .footerLogo svg path {
  fill: white !important;
}
footer .bgLogo svg path {
  fill: white !important;
}
footer .sm.outline svg path {
  fill: white !important;
}

.site_footer-2 {
  background: #4C56A3;
  color: #AAAFD0;
  font-size: 14px;
}
.site_footer-2 h3 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.site_footer-2 ul {
  list-style: none;
  margin-bottom: 0px;
}

/*
		html:not(.mobile-nav) {
			@include breakpoint(only3) {
				header {
					ul.extraButtons {
						position: fixed;
						bottom: 0px;
						left: 0px;
						display: flex;
						list-style: none;
						letter-spacing: 1px;
						margin-bottom: 0px;
						width: 100%;
						li {
							flex-grow: 1;
						}
						a {
							text-align: center;
							color: white;
							padding: 12px 15px;
							display: block;
							font-weight: 600;
							&.callBack {
								background: $brightBlue;
							}
							&.requestABrochure {
								background: $lightBlue;
							}
							&.arrangeAViewing {
								background: $greenBlue;
							}
						}
					}
				}

			}

		}*/
@media (min-width: 410px) and (max-width: 679px) {
  footer .footerLogo {
    margin-bottom: 20px;
  }
  footer .footerLogo svg {
    max-width: 360px;
  }
  footer .bgLogo {
    display: none;
  }
}
@media (min-width: 680px) and (max-width: 1023px) {
  footer .dc_grid-1-1-1-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  footer .bgLogo {
    display: none;
  }
  footer .logo {
    grid-column: span 2;
  }
  footer .logo .footerLogo {
    max-width: 360px;
  }
  footer .footerNav ul {
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) and (max-width: 1499px) {
  footer .footerContact {
    grid-gap: 0;
    grid-row-gap: 20px;
    grid-column: span 2;
  }
}
@media (min-width: 1500px) {
  footer .footerContact {
    grid-column: span 2;
  }
  footer .bgLogo {
    display: flex;
    justify-content: flex-end;
  }
  footer .bgLogo svg {
    max-width: 300px;
  }
  footer .logo svg {
    max-width: 360px;
    display: block;
  }
}
html:not(.mobile-nav) {
  /*
  		@include breakpoint(only4) {
  			header {
  				.container {
  					padding-right: 20px;
  					nav {
  						padding-right: 0px;
  					}
  				}
  			}
  			ul.extraButtons {
  				position: fixed;
  				bottom: 0px;
  				left: 0px;
  				display: flex;
  				list-style: none;
  				letter-spacing: 1px;
  				margin-bottom: 0px;
  				width: 100%;
  				li {
  					flex-grow: 1;
  					margin-right: 0px !important;
  				}
  				a {
  					text-align: center;
  					color: white;
  					padding: 12px 15px;
  					display: block;
  					font-weight: 600;
  					&.callBack {
  						background: $brightBlue;
  					}
  					&.requestABrochure {
  						background: $lightBlue;
  					}
  					&.arrangeAViewing {
  						background: $greenBlue;
  					}
  				}
  			}
  		}
  		*/
}
html:not(.mobile-nav) header {
  transition: all ease 0.5s;
  background: transparent;
  color: white;
  position: fixed;
  width: 100%;
  top: 0px;
  z-index: 20;
}
html:not(.mobile-nav) header h2 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
html:not(.mobile-nav) header nav {
  display: block;
  flex-grow: 1;
  width: 100%;
}
html:not(.mobile-nav) header nav ul.mainMenu {
  list-style: none;
  display: flex;
  margin-bottom: 0px;
  text-align: right;
  flex-grow: 1;
  font-weight: 600;
}
html:not(.mobile-nav) header nav ul.mainMenu li:not(:last-of-type) {
  margin-right: 20px;
}
html:not(.mobile-nav) header nav ul.mainMenu li a:after {
  display: block;
  content: "";
  width: 0;
  height: 3px;
  margin-top: 3px;
  background: rgba(255, 255, 255, 0);
  transition: all ease 0.3s;
}
html:not(.mobile-nav) header nav ul.mainMenu li a:hover, html:not(.mobile-nav) header nav ul.mainMenu li a:focus {
  color: white;
}
html:not(.mobile-nav) header nav ul.mainMenu li a:hover:after, html:not(.mobile-nav) header nav ul.mainMenu li a:focus:after {
  width: 100%;
  background: white;
}
html:not(.mobile-nav) header .container {
  display: flex;
  align-items: center;
}
html:not(.mobile-nav) header .container .site_title {
  width: 360px;
}
html:not(.mobile-nav) header .container .nav_main {
  flex-grow: 1;
}
html:not(.mobile-nav) header .container .nav_main nav {
  display: flex;
  justify-content: flex-end;
}
html:not(.mobile-nav) header .container .nav_main ul.mainMenu {
  text-align: right;
  justify-content: flex-end;
}
html:not(.mobile-nav).moreThan20 header {
  background: #4C56A3;
}
html:not(.mobile-nav).lodgeListing header {
  background: #4C56A3;
}
html:not(.mobile-nav).lodgeListing .listingContainer {
  padding-top: 104px;
}
@media (min-width: 680px) {
  html:not(.mobile-nav) header .container {
    display: flex;
    justify-content: space-between;
    padding-right: 20px;
  }
  html:not(.mobile-nav) header .container nav {
    justify-content: flex-end;
    padding-right: 0px;
  }
  html:not(.mobile-nav) ul.mainMenu {
    flex-grow: 1;
    margin-right: 20px;
  }
  html:not(.mobile-nav) ul.mainMenu li {
    white-space: nowrap;
  }
  html:not(.mobile-nav) ul.extraButtons {
    display: flex;
    list-style: none;
    letter-spacing: 0px;
    margin-bottom: 0px;
  }
  html:not(.mobile-nav) ul.extraButtons li:not(:last-of-type) {
    margin-right: 5px;
  }
}

a.bigButton {
  text-align: center;
  color: white;
  padding: 10px 14px;
  display: block;
  font-weight: 600;
  border-radius: 100px;
}
a.bigButton.callBack {
  background: #323FC6;
}
a.bigButton.callBack:hover {
  background: #232c8b;
}
a.bigButton.requestABrochure {
  background: #2A99CF;
}
a.bigButton.requestABrochure:hover {
  background: #1d6b91;
}
a.bigButton.arrangeAViewing {
  background: #3EB59E;
}
a.bigButton.arrangeAViewing:hover {
  background: #2b7f6f;
}

.lodgeListing {
  background: #EDEEF6;
}

.listingContainer {
  background-color: white;
}
.listingContainer .bigArrow, .listingContainer .bigArrow--left {
  margin-top: 0px;
  margin-bottom: 10px;
}
.listingContainer .embedDiv {
  padding-top: 10px;
  padding-bottom: 10px;
}
@media (min-width: 1024px) {
  .listingContainer .lodgeGrid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-gap: 1.2px;
  }
}
@media (min-width: 680px) {
  .listingContainer .lodgeGrid .lodgeHeader {
    display: flex;
  }
  .listingContainer .lodgeGrid .lodgeLogo {
    height: 90px;
    margin-left: auto;
    display: block !important;
  }
}
.listingContainer .price {
  font-size: 2em;
  padding-bottom: 10px;
}
.listingContainer .features {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
}
.listingContainer .features ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
  margin-bottom: 0px;
  /* @include breakpoint(only3) {
  			flex-wrap: wrap;
  			flex-direction: column;
  			li {
  				margin-bottom: 5px;
  			}
  		} */
}
.listingContainer .features ul li {
  display: flex;
  align-items: center;
}
.listingContainer .features ul li .icon {
  width: 24px;
  height: 24px;
  display: block;
  margin-right: 7px;
}
.listingContainer .features ul li .icon svg {
  width: 100%;
  height: 100%;
}
.listingContainer .features ul li .icon svg path {
  fill: #3EB59E;
}
.listingContainer .features ul li:not(:last-of-type) {
  margin-right: 16px;
}
.listingContainer .thumbContainer {
  display: flex;
  flex-wrap: wrap;
}
.listingContainer .thumbContainer div {
  width: 75px;
  height: 75px;
  background-color: #3EB59E;
  color: white;
  font-size: 2em;
  margin-left: 10px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.listingContainer .thumbContainer div span {
  display: block;
  margin: auto;
  padding-bottom: 7px;
}
.listingContainer .thumbContainer img {
  width: 75px;
  height: 75px;
}
.listingContainer .thumbContainer svg {
  width: 40px;
  height: 40px;
  display: block;
  margin: auto;
}
.listingContainer .thumbContainer svg path {
  fill: white;
}
.listingContainer .thumbMulti {
  padding-top: 10px;
  padding-bottom: 10px;
}
.listingContainer .imgFloorplan {
  height: 150px;
}
.listingContainer .floorplan {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.listingContainer .floorplan div {
  width: 150px;
  height: 150px;
  padding: 5px;
  position: relative;
}
.listingContainer .floorplan img {
  height: auto;
  width: auto;
  max-height: 150px;
  max-width: 150px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.listingContainer .imgCounter {
  position: absolute;
  bottom: 20px;
  left: 25px;
  fill: #4C56A3;
  background: white;
  padding: 10px;
  border-radius: 5px;
  border: solid 1px #bbb;
}
.listingContainer .imgCounter svg {
  height: 22px;
  vertical-align: bottom;
}

.listingGallery {
  padding-bottom: 10px;
}
.listingGallery div {
  position: relative;
}
.listingGallery .slideshow .slick-arrow {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: url(../images/chevron-right.svg) center center no-repeat white;
  background-size: auto 30px;
  border-radius: 50%;
  border: solid 1px #bbb;
  transition: all ease 0.3s;
  text-indent: -999em;
  overflow: hidden;
}
.listingGallery .slideshow .slick-arrow:hover, .listingGallery .slideshow .slick-arrow:focus {
  background: url(../images/chevron-right.svg) center center no-repeat #2a99cf;
  background-size: auto 30px;
  cursor: pointer;
}
.listingGallery .slideshow .slick-arrow.prev {
  right: 70px;
  transform: rotate(180deg);
}
@media (min-width: 680px) {
  .listingGallery .imgGrid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-gap: 1.2px;
  }
}
.listingGallery .img2 {
  padding-left: 8.8px;
  padding-bottom: 5px;
}
.listingGallery .img3 {
  padding-left: 8.8px;
  padding-top: 5px;
}
@media (max-width: 679px) {
  .listingGallery .img2 {
    display: none;
  }
  .listingGallery .img3 {
    display: none;
  }
}
.listingGallery .image {
  aspect-ratio: 16/9;
}

.pageBanner {
  position: relative;
  overflow: hidden;
}
.pageBanner .videoContainer {
  max-height: 95vh;
  background-color: #4C56A3;
  background-image: url("/assets/images/placeholder.jpg");
  background-position: center;
  background-size: cover;
}
.pageBanner .videoContainer > div {
  aspect-ratio: 16/9;
  min-height: 60vh;
  overflow: hidden;
}
.pageBanner .videoContainer .embedContainer {
  margin-left: 50%;
  transform: translateX(-50%);
}
.pageBanner .centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  text-align: center;
  color: white;
  width: 90%;
  max-width: 950px;
}
.pageBanner .centered h2 {
  margin: 0;
  font-size: 3.6em;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  font-weight: bold;
  font-weight: 300;
  margin-bottom: 10px;
}
@media (max-width: 1499px) {
  .pageBanner .centered h2 {
    font-size: 2.4em;
  }
}
@media (max-width: 1023px) {
  .pageBanner .centered h2 {
    font-size: 1.8em;
  }
}
@media (max-width: 679px) {
  .pageBanner .centered h2 {
    font-size: 1.4em;
  }
}
.pageBanner .centered .petFriendlyIcon {
  width: 110px;
  height: 110px;
  padding: 10px;
  background: white;
  border-radius: 50%;
  margin: 0 auto;
  margin-top: 40px;
}
.pageBanner .centered ul.buttonNav {
  display: flex;
  list-style: none;
  justify-content: center;
}
.pageBanner .centered ul.buttonNav li:not(:last-of-type) {
  margin-right: 5px;
}
@media (max-width: 679px) {
  .pageBanner .centered ul.buttonNav {
    display: flex;
    flex-wrap: wrap;
  }
  .pageBanner .centered ul.buttonNav li a {
    display: inline-block;
  }
  .pageBanner .centered ul.buttonNav li:not(:last-of-type) {
    margin-bottom: 5px;
  }
}
.pageBanner .slideshow {
  position: relative;
}
.pageBanner .slideshow .slick-arrow {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: url(../images/chevron-right.svg) center center no-repeat rgba(255, 255, 255, 0.3);
  background-size: auto 30px;
  border-radius: 50%;
  transition: all ease 0.3s;
  text-indent: -999em;
  overflow: hidden;
}
.pageBanner .slideshow .slick-arrow:hover, .pageBanner .slideshow .slick-arrow:focus {
  background: url(../images/chevron-right.svg) center center no-repeat white;
  background-size: auto 30px;
  cursor: pointer;
}
.pageBanner .slideshow .slick-arrow.prev {
  right: auto;
  left: 20px;
  transform: rotate(180deg);
}

.bigArrow, .bigArrow--left {
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  width: auto;
  margin-top: 40px;
}
.bigArrow:after, .bigArrow--left:after {
  margin-left: 20px;
  content: "";
  width: 50px;
  height: 20px;
  display: block;
  background: url(../images/bigRightArrow.svg) center center no-repeat;
  transition: all ease 0.3s;
}
.bigArrow.purple:after, .purple.bigArrow--left:after {
  background: url(../images/bigRightArrowPurple.svg) center center no-repeat;
}
.bigArrow:hover, .bigArrow--left:hover, .bigArrow:focus, .bigArrow--left:focus {
  color: inherit;
  text-decoration: underline;
}
.bigArrow:hover:after, .bigArrow--left:hover:after, .bigArrow:focus:after, .bigArrow--left:focus:after {
  margin-left: 40px;
}

/* Arrow appears on the LEFT, pointing left */
.bigArrow--left:after {
  display: none;
}
.bigArrow--left:before {
  content: "";
  width: 50px;
  height: 20px;
  display: block;
  margin-right: 20px;
  background: url(../images/bigRightArrow.svg) center/contain no-repeat;
  transform: scaleX(-1);
  transition: all ease 0.3s;
}
.bigArrow--left.purple:before {
  background: url(../images/bigRightArrowPurple.svg) center/contain no-repeat;
  transform: scaleX(-1);
}
.bigArrow--left:hover:before, .bigArrow--left:focus:before {
  transform: scaleX(-1) translateX(20px);
}
.bigArrow--left:hover:after, .bigArrow--left:focus:after {
  margin-left: 0px;
}

.bg-purple {
  background: #4C56A3;
  color: white;
}

.bg-green {
  background: #4B5C50;
  color: white;
}

.bg-gold {
  background: #F3EBD1;
  color: #9F9164;
}
.bg-gold a.bigArrow, .bg-gold a.bigArrow--left {
  font-weight: 700;
}
.bg-gold a.bigArrow:after, .bg-gold a.bigArrow--left:after {
  background: url(../images/bigRightArrowGold.svg) center center no-repeat;
}

.bg-darkGold {
  background: #9F9164;
  color: white;
}

.bg-lightGreen {
  background: #748F56;
  color: white;
}

.bg-paleGreen {
  background: #EBEEE6;
  color: #748F56;
}

.bg-white {
  background: white;
  color: #4C56A3;
}
.bg-white a.bigArrow, .bg-white a.bigArrow--left {
  font-weight: 700;
}
.bg-white a.bigArrow:after, .bg-white a.bigArrow--left:after {
  background: url(../images/bigRightArrowPurple.svg) center center no-repeat;
}

.bg-paleBlue {
  background: #8290A7;
  color: white;
}

.microHeading {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
  margin-bottom: 40px;
  font-size: 20px;
  display: block;
}
.microHeading.centered {
  text-align: center;
}

.noMargin {
  margin-bottom: 0px !important;
}

.rows .textByImage {
  display: flex;
  flex-direction: column-reverse;
}
.rows .textByImage .slick-slider .slick-track,
.rows .textByImage .slick-slider .slick-list {
  height: 100%;
}
.rows .textByImage .slideshow .slick-arrow {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: url(../images/chevron-right.svg) center center no-repeat rgba(255, 255, 255, 0.3);
  background-size: auto 30px;
  border-radius: 50%;
  transition: all ease 0.3s;
  text-indent: -999em;
  overflow: hidden;
}
.rows .textByImage .slideshow .slick-arrow:hover, .rows .textByImage .slideshow .slick-arrow:focus {
  background: url(../images/chevron-right.svg) center center no-repeat white;
  background-size: auto 30px;
  cursor: pointer;
}
.rows .textByImage .slideshow .slick-arrow.prev {
  right: 70px;
  transform: rotate(180deg);
}
.rows .textByImage .text {
  position: relative;
  overflow: hidden;
}
.rows .textByImage .text:after {
  content: "";
  background: url(../images/icon.svg) center center no-repeat;
  background-size: auto 120%;
  opacity: 0.1;
  width: 100%;
  height: 100%;
  position: absolute;
}
.rows .textByImage .text .inner {
  padding: 20px;
  position: relative;
  z-index: 1;
}
@media (min-width: 680px) {
  .rows .textByImage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .rows .textByImage .image {
    height: 100%;
  }
  .rows .textByImage .image picture,
  .rows .textByImage .image img {
    height: 100%;
    object-fit: cover;
  }
  .rows .textByImage:nth-of-type(odd) .text {
    order: 2;
  }
  .rows .textByImage:nth-of-type(odd) .image {
    order: 1;
  }
  .rows .textByImage .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .rows .textByImage .text .inner {
    width: 80%;
  }
}
.rows .lodgeGallery .h2 {
  text-align: center;
}
.rows .lodgeGallery .lodgeGrid {
  padding-top: 15px;
  padding-bottom: 15px;
}

.featuredLodge {
  display: flex;
  flex-direction: column-reverse;
}
.featuredLodge .slick-slider .slick-track,
.featuredLodge .slick-slider .slick-list {
  height: 100%;
}
.featuredLodge .text {
  position: relative;
  overflow: hidden;
}
.featuredLodge .text:after {
  content: "";
  background: url(../images/icon.svg) center center no-repeat;
  background-size: auto 120%;
  opacity: 0.1;
  width: 100%;
  height: 100%;
  position: absolute;
}
.featuredLodge .text .inner {
  padding: 20px;
  position: relative;
  z-index: 1;
}
@media (min-width: 680px) {
  .featuredLodge {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .featuredLodge .image {
    height: 100%;
  }
  .featuredLodge .image picture,
  .featuredLodge .image img {
    height: 100%;
    object-fit: cover;
  }
  .featuredLodge:nth-of-type(odd) .text {
    order: 2;
  }
  .featuredLodge:nth-of-type(odd) .image {
    order: 1;
  }
  .featuredLodge .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .featuredLodge .text .inner {
    width: 80%;
  }
}

@media (max-width: 679px) {
  .lodgeRow .arrows {
    display: flex;
    border-bottom: 1px solid #4C56A3;
  }
  .lodgeRow .arrows span {
    background: white;
    width: 50%;
    padding: 10px 15px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    color: #4C56A3;
  }
  .lodgeRow .arrows span.next {
    border-left: 1px solid #4C56A3;
  }
}
@media (min-width: 680px) {
  .lodgeRow {
    padding-top: 60px;
    padding-bottom: 60px;
    display: flex;
    overflow: hidden;
    /* the parent */
  }
  .lodgeRow .text {
    width: 40%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .lodgeRow .text .inner {
    width: 80%;
  }
  .lodgeRow .lodgeSlider {
    width: 60%;
  }
  .lodgeRow .slick-slide {
    margin: 0 10px;
  }
  .lodgeRow .slick-list {
    margin: 0 -10px;
  }
  .lodgeRow .dotBoxes {
    list-style: none;
    background: #8c93c9;
    height: 2px;
    margin-top: 20px;
    display: flex;
    margin-bottom: 0px;
  }
  .lodgeRow .dotBoxes button {
    width: 50px;
    height: 6px;
    border: 0px;
    margin-right: 5px;
    top: -17px;
    position: relative;
    background: #8c93c9;
  }
  .lodgeRow .dotBoxes button span {
    position: absolute;
    left: -200vw;
    top: 0;
    display: block;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  .lodgeRow .dotBoxes button:hover {
    cursor: pointer;
  }
  .lodgeRow .dotBoxes li.slick-active button {
    background: white;
  }
}
.lodgeRow a.lodge {
  position: relative;
  display: block;
}
.lodgeRow a.lodge .image {
  overflow: hidden;
}
.lodgeRow a.lodge .image img {
  transition: all ease 0.3s;
}
.lodgeRow a.lodge span.title {
  position: absolute;
  display: block;
  color: white;
  top: 0px;
  left: 0px;
  display: flex;
  font-weight: 700;
  padding: 20px 20px 40px 20px;
  width: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 680px) {
  .lodgeRow a.lodge span.title:after {
    margin-left: 20px;
    content: "";
    width: 50px;
    height: 20px;
    display: block;
    background: url(../images/bigRightArrow.svg) center center no-repeat;
    transition: all ease 0.3s;
  }
}
.lodgeRow a.lodge:hover .image img, .lodgeRow a.lodge:focus .image img {
  transform: scale(1.1);
}
@media (min-width: 680px) {
  .lodgeRow a.lodge:hover span.title:after, .lodgeRow a.lodge:focus span.title:after {
    margin-left: 40px;
  }
}
@media (max-width: 679px) {
  .lodgeRow .text {
    padding: 20px;
  }
}
@media (min-width: 1024px) {
  .lodgeRow .dotBoxes button {
    width: 100px;
  }
}

.featuresRow {
  background: white;
}
.featuresRow .microHeading {
  color: #4C56A3;
}
.featuresRow .featuresGrid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.featuresRow .featuresGrid .icon {
  background: #EDEEF6;
  border-radius: 50%;
  padding: 20px;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
}
.featuresRow .featuresGrid .icon svg {
  width: 90%;
  height: 90%;
  max-height: 70px;
}
.featuresRow .featuresGrid .icon:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.featuresRow .featuresGrid .feature {
  width: 30%;
  margin-right: 5%;
  margin-bottom: 20px;
  text-align: center;
}
.featuresRow .featuresGrid .feature:nth-of-type(3n) {
  margin-right: 0;
}
.featuresRow .featuresGrid .feature span.title {
  display: block;
  margin-top: 7px;
  color: #4C56A3;
  font-size: 14px;
  font-weight: bold;
}
@media (min-width: 680px) {
  .featuresRow .featuresGrid .feature {
    width: 18%;
    margin-right: 2%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(3n) {
    margin-right: 2%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(4n) {
    margin-right: 2%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(5n) {
    margin-right: 0%;
  }
}
@media (min-width: 1024px) {
  .featuresRow .featuresGrid {
    justify-content: space-between;
  }
  .featuresRow .featuresGrid .feature {
    width: 9%;
    margin-right: 0;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(3n) {
    margin-right: 0%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(4n) {
    margin-right: 0%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(5n) {
    margin-right: 0%;
  }
}
@media (min-width: 1500px) {
  .featuresRow .featuresGrid {
    justify-content: space-between;
  }
  .featuresRow .featuresGrid .feature {
    width: 9%;
    margin-right: 0;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(3n) {
    margin-right: 0%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(4n) {
    margin-right: 0%;
  }
  .featuresRow .featuresGrid .feature:nth-of-type(5n) {
    margin-right: 0%;
  }
}

.blogRow .microHeading {
  color: #4C56A3;
}

.infoRow {
  position: relative;
}
.infoRow:after {
  content: "";
  background: url(../images/icon.svg) center center no-repeat;
  background-size: auto 120%;
  opacity: 0.07;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}
.infoRow .container {
  position: relative;
  z-index: 1;
}
@media (max-width: 679px) {
  .infoRow .container .infoGrid .openColumn {
    display: grid;
    grid-gap: 10px;
  }
}
@media (min-width: 680px) {
  .infoRow .container .infoGrid {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
  .infoRow .container .infoGrid .openColumn {
    display: grid;
    grid-gap: 20px;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
  .infoRow .container .infoGrid .openColumn .textBlock {
    grid-row: span 1;
  }
  .infoRow .container .infoGrid .openColumn .entryBlock {
    grid-row: span 3;
  }
  .infoRow .container .infoGrid .openColumn .entryBlock.large {
    grid-row: span 5;
  }
}
.infoRow .textblock {
  display: block;
  padding: 0 20px;
}
.infoRow .entryBlock {
  display: block;
  position: relative;
}
.infoRow .entryBlock .image {
  height: 100%;
  overflow: hidden;
}
.infoRow .entryBlock .image img,
.infoRow .entryBlock .image picture {
  height: 100%;
  object-fit: cover;
  transition: all ease 0.3s;
}
.infoRow .entryBlock:hover .image img, .infoRow .entryBlock:focus .image img {
  transform: scale(1.1);
}
.infoRow .entryBlock:hover .text, .infoRow .entryBlock:focus .text {
  color: white;
  text-decoration: underline;
}
.infoRow .entryBlock .text {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  padding: 20px 20px 40px 20px;
  width: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
.postWrapper {
  background: white;
  display: flex;
  flex-direction: column;
}
.postWrapper .image {
  overflow: hidden;
}
.postWrapper .image img {
  transition: all ease 0.3s;
}
.postWrapper .image:hover img, .postWrapper .image:focus img {
  transform: scale(1.1);
}
.postWrapper .text {
  padding: 20px;
  color: #4C56A3;
}
@media (min-width: 680px) {
  .postWrapper .text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .postWrapper .text .bigArrow, .postWrapper .text .bigArrow--left {
    margin-top: 0px;
  }
}

.genericRow {
  background: white;
}
.genericRow.bg-palePurple {
  background: #EDEEF6;
}

.searchLodges {
  padding-top: 15px;
  padding-bottom: 15px;
}

.lodgeSearchForm label {
  background: #EDEEF6;
  padding: 10px;
  font-size: 18px;
  color: #4C56A3;
}
.lodgeSearchForm label span.select {
  text-transform: none;
  font-weight: bold;
  min-width: 110px;
  margin-bottom: 5px;
}
@media (min-width: 1024px) {
  .lodgeSearchForm label {
    display: flex;
    align-items: center;
  }
  .lodgeSearchForm label span.select {
    white-space: nowrap;
    margin-bottom: 0px;
  }
}
.lodgeSearchForm input[type=submit] {
  background: #4C56A3;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
@media (min-width: 680px) {
  .lodgeSearchForm {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-gap: 20px;
  }
  .lodgeSearchForm label {
    grid-column: span 2;
    margin-bottom: 0px;
  }
}

.lodgeSummary:hover {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.4);
}

.lodgeSummary {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
  transition: 0.3s;
  background-color: white;
  display: flex;
  flex-direction: column;
}
.lodgeSummary .imageArea {
  position: relative;
}
.lodgeSummary .imageArea span.priceExtra {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background: #4C56A3;
  color: white;
  font-size: 15px;
  padding: 6px 10px;
  font-weight: bold;
}
.lodgeSummary .image {
  overflow: hidden;
  /*&:hover, &:focus {
  			img {
  				transform: scale(1.1);
  			}
  		}*/
}
.lodgeSummary .image img {
  transition: all ease 0.3s;
}
.lodgeSummary .text {
  color: #4C56A3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.lodgeSummary .text .inner {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.lodgeSummary .text h3 {
  font-weight: bold;
}
.lodgeSummary .text .features {
  font-size: 14px;
}
.lodgeSummary .text .features ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
}
@media (min-width: 680px) and (max-width: 1023px) {
  .lodgeSummary .text .features ul {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .lodgeSummary .text .features ul li {
    margin-bottom: 5px;
  }
}
.lodgeSummary .text .features ul li {
  display: flex;
  align-items: center;
}
.lodgeSummary .text .features ul li .icon {
  width: 24px;
  height: 24px;
  display: block;
  margin-right: 7px;
}
.lodgeSummary .text .features ul li .icon svg {
  width: 100%;
  height: 100%;
}
.lodgeSummary .text .features ul li .icon svg path {
  fill: #3EB59E;
}
.lodgeSummary .text .features ul li:not(:last-of-type) {
  margin-right: 16px;
}
.lodgeSummary .text .price {
  font-weight: bold;
  margin-bottom: 20px;
  display: block;
  font-size: 20px;
}
.lodgeSummary .text .bigArrow, .lodgeSummary .text .bigArrow--left {
  margin-top: 0px;
}
.lodgeSummary .text .buttons {
  display: flex;
  align-items: center;
}
.lodgeSummary .text .buttons .dc_button, .lodgeSummary .text .buttons .fui-btn {
  flex-grow: 1;
  text-align: center;
  /*&.callBack {
  			background: $brightBlue !important;
  		}
  		&.requestABrochure {
  			background: $lightBlue !important;
  		}
  		&.arrangeAViewing {
  			background: $greenBlue !important;
  		}*/
}

.brochureRow {
  color: #4C56A3;
  padding-left: 8.8px;
}
.brochureRow .container {
  background: #EDEEF6;
  padding: 20px;
  margin-bottom: 20px;
}
.brochureRow .dc_button, .brochureRow .fui-btn {
  width: 100%;
  white-space: nowrap;
  text-align: center;
  /*&.callBack {
  			background: $brightBlue !important;
  		}
  		&.requestABrochure {
  			background: $lightBlue !important;
  		}
  		&.arrangeAViewing {
  			background: $greenBlue !important;
  		}*/
}
.brochureRow .text h4 {
  font-weight: bold;
}
.brochureRow .download {
  padding: 10px;
  display: flex;
  align-items: center;
}
.brochureRow .download .icon {
  width: 65px;
  margin-right: 25px;
}
.brochureRow .download .text {
  text-transform: uppercase;
  font-weight: bold;
}
.brochureRow .download .text span {
  display: block;
  font-weight: normal;
}
.brochureRow .download svg path {
  fill: #4C56A3;
}
@media (min-width: 680px) {
  .brochureRow .container {
    align-items: center;
  }
}

.map {
  margin-bottom: 20px;
}

.blogPost {
  background: #EDEEF6;
}
.blogPost .image {
  overflow: hidden;
}
.blogPost .image img {
  transition: all ease 0.3s;
}
.blogPost .image:hover img, .blogPost .image:focus img {
  transform: scale(1.1);
}
.blogPost .text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  color: #4C56A3;
}
.blogPost .text .bigArrow, .blogPost .text .bigArrow--left {
  margin-top: 20px;
}
.blogPost .text .inner h3 {
  font-weight: bold;
  margin-bottom: 20px;
}

@media (min-width: 680px) {
  .introRow {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1024px) {
  .introRow {
    padding-left: 60px;
    padding-right: 60px;
  }
}
.introRow h1 {
  margin-bottom: 20px;
}
.introRow .description {
  font-weight: bold;
  font-size: 1.2rem;
}

.pageIntroduction {
  text-align: center;
}
.pageIntroduction .container .intro {
  font-size: 1.2rem;
  margin-bottom: 30px;
}
@media (min-width: 680px) {
  .pageIntroduction .container .intro {
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  .pageIntroduction .container .intro {
    font-size: 1.5rem;
  }
}
@media (min-width: 1500px) {
  .pageIntroduction .container .intro {
    font-size: 1.7rem;
  }
}
.pageIntroduction .container .supportingText {
  max-width: 640px;
  margin: 0 auto;
}
.pageIntroduction .container *:last-of-type {
  margin-bottom: 0px;
}
.pageIntroduction .centered .cta {
  display: flex;
  justify-content: center;
}

.sectionNav {
  position: relative;
}
.sectionNav:before {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.1;
  z-index: 1;
  content: "";
}
.sectionNav h2 {
  position: absolute;
  left: -200vw;
  top: 0;
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.sectionNav ul {
  margin-bottom: 0px;
  display: flex;
  list-style-type: none;
  justify-content: center;
  text-align: center;
  font-weight: bold;
}
.sectionNav ul li {
  display: flex;
  position: relative;
  z-index: 2;
}
.sectionNav ul li a {
  padding: 10px 15px;
  display: block;
}
.sectionNav ul li a:hover, .sectionNav ul li a:focus {
  background: white;
  color: #4C56A3;
}
.sectionNav ul li.active > a:hover, .sectionNav ul li.active > a:focus {
  background: white;
  color: #4C56A3;
}
.sectionNav.bg-purple li.active > a {
  background: #4C56A3;
}
.sectionNav.bg-green li.active > a {
  background: #4B5C50;
}
.sectionNav.bg-gold li.active > a {
  background: #F3EBD1;
}
.sectionNav.bg-darkGold li.active > a {
  background: #9F9164;
}
.sectionNav.bg-lightGreen li.active > a {
  background: #748F56;
}
.sectionNav.bg-paleGreen li.active a {
  background: #EBEEE6;
}
.sectionNav.bg-white li.active > a {
  background: white;
}
.sectionNav.bg-paleBlue li.active a {
  background: #8290A7;
}

.galleryGrid {
  display: grid;
}
@media (min-width: 410px) {
  .galleryGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 680px) {
  .galleryGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .galleryGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1500px) {
  .galleryGrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.galleryGrid a.gallery {
  position: relative;
  display: block;
}
.galleryGrid a.gallery .image {
  overflow: hidden;
}
.galleryGrid a.gallery .image img {
  transition: all ease 0.3s;
}
.galleryGrid a.gallery:hover .image img, .galleryGrid a.gallery:focus .image img {
  transform: scale(1.1);
}
.galleryGrid a.gallery span.title {
  position: absolute;
  display: block;
  color: white;
  top: 0px;
  left: 0px;
  display: flex;
  font-weight: 700;
  padding: 20px 20px 40px 20px;
  width: 100%;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 680px) {
  .galleryGrid a.gallery span.title:after {
    margin-left: 20px;
    content: "";
    width: 50px;
    height: 20px;
    display: block;
    background: url(../images/bigRightArrow.svg) center center no-repeat;
    transition: all ease 0.3s;
  }
}
@media (min-width: 680px) {
  .galleryGrid a.gallery:hover span.title:after, .galleryGrid a.gallery:focus span.title:after {
    margin-left: 40px;
  }
}

.pagination {
  margin-top: 40px;
  border-top: 1px solid #f4f5fa;
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.pagination a.next {
  display: flex;
  align-self: flex-end;
}

label.date .dateSelectors {
  position: relative;
}
label.date .dateSelectors input {
  background: white;
  font-size: 16px;
}
label.date .dateSelectors input#alternate {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  pointer-events: none;
}

.ui-datepicker {
  margin-left: 10px;
  margin-top: 3px;
  background: white;
  padding: 0px;
  border: solid 2px #4C56A3;
  border-radius: 0px;
  min-width: 250px;
}
.ui-datepicker:before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background: #4C56A3;
  transform: rotate(45deg);
  position: absolute;
  top: -10px;
  left: 15px;
}
.ui-datepicker .ui-datepicker-header {
  background: #4C56A3;
  color: white;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  justify-content: space-between;
  font-weight: bold;
}
.ui-datepicker .ui-datepicker-header a:nth-of-type(2n) {
  order: 3;
}
.ui-datepicker .ui-datepicker-header a:hover, .ui-datepicker .ui-datepicker-header:focus {
  cursor: pointer;
}
.ui-datepicker table {
  width: 100%;
}
.ui-datepicker table thead {
  font-weight: bold;
}
.ui-datepicker table .ui-datepicker-current-day {
  background: #4C56A3;
  color: white;
}
.ui-datepicker table .ui-datepicker-unselectable {
  opacity: 0.3;
}
.ui-datepicker .ui-datepicker-calendar {
  padding: 15px;
}
.ui-datepicker .ui-datepicker-calendar td {
  text-align: center;
  padding: 5px 3px;
}

.downloadArea {
  background: #8c93c9;
}
.downloadArea .text {
  padding: 20px;
  color: white;
}
.downloadArea .text .cms-textblock {
  margin-bottom: 20px;
}
@media (min-width: 680px) {
  .downloadArea {
    display: flex;
    align-items: center;
  }
  .downloadArea .imageArea {
    width: 30%;
    margin-right: 5%;
  }
  .downloadArea .imageArea img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
    transform: rotate(-6deg) scale(0.9);
    margin-top: -20px;
    margin-bottom: -20px;
    transition: all ease 0.3s;
  }
  .downloadArea .imageArea:hover img, .downloadArea .imageArea:focus img {
    transform: rotate(2deg) scale(1.1);
  }
  .downloadArea .text {
    width: 65%;
  }
}

@media (min-width: 680px) {
  .brochurePreview {
    display: flex;
    align-items: center;
  }
  .brochurePreview .imageArea {
    width: 70%;
    margin-right: 5%;
  }
  .brochurePreview .imageArea img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
    transform: rotate(-6deg) scale(0.9);
    margin-top: -20px;
    margin-bottom: -20px;
    transition: all ease 0.3s;
  }
  .brochurePreview .imageArea:hover img, .brochurePreview .imageArea:focus img {
    transform: rotate(2deg) scale(1.1);
  }
  .brochurePreview .text {
    width: 65%;
  }
}

.contactFormMap {
  order: -1;
}

/* formie */
.fui-btn {
  margin-top: 15px;
}

.fui-label {
  display: inline;
}

.fui-required {
  display: inline !important;
}

.fui-checkbox-label {
  display: inline;
}

.padding-bottom-sm {
  padding-bottom: 15px;
}

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