:root {
  /**** Breakpoints ****/
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1680px;
  --viewpoint-max: 1920px;

  /**** Typography ****/
  --primary-font-family: 'Arial', sans-serif;
  --primary-font-weight: 400;
  --primary-font-weight--light: 300;
  --primary-font-weight--semi-bold: 500;
  --primary-font-weight--bold: 700;

  --secondary-font-family: 'Georgia', serif;
  --secondary-font-weight: 400;
  --secondary-font-weight--semi-bold: 600;
  --secondary-font-weight--bold: 700;

  --font-size: 16px;
  --font-size--xsm: 11px;
  --font-size--sm: 13px;
  --font-size--lg: 18px;
  --font-size--xlg: 24px;

  --font-size--h1: 32px;
  --font-size--h2: 28px;
  --font-size--h3: 24px;
  --font-size--h4: 20px;
  --font-size--h5: 18px;
  --font-size--h6: 16px;

  --line-height: 1.5;
  --line-height--h1: 1.1;
  --line-height--h2: 1.1;
  --line-height--h3: 1.1;
  --line-height--h4: 1.1;
  --line-height--h5: 1.1;
  --line-height--h6: 1.1;
  
  --text-spacing: 16px;

  /**** Colour Palette ****/
  /* Neutral Greys */
  --white: #ffffff;
  --black: #000000;
  --grey-0: #f6f6f6;
  --grey-25: #eeeeee;
  --grey-50: #cccccc;
  --grey-75: #454545;
  --grey-100: #212121;

  /* Body Text */
  --body-25: #cccccc;
  --body-50: #777777;
  --body-75: #454545;
  --body-100: #212121;

  /* Brand Colours */
  --primary-25: #6e7a8c;
  --primary-50: #6e7a8c;
  --primary-75: #252f3e;
  --primary-100: #252f3e;

  --secondary-25: #ccb599;
  --secondary-50: #bd9c75;
  --secondary-75: #bd9c75;
  --secondary-100: #87715a;

  --tertiary-25: #a5a5a5;
  --tertiary-50: #3a3d42;
  --tertiary-75: #3a3d42;
  --tertiary-100: #181b21;

  /* Overlay/Transparency Variants */
  --primary-overlay-25: rgba(37,47,62,0.25);
  --primary-overlay-50: rgba(37,47,62,0.50);
  --primary-overlay-75: rgba(37,47,62,0.75);
  --primary-overlay-100: rgba(37,47,62,0.90);

  /**** Semantic Colours ****/
  --success-25: #e6f9e7;
  --success-100: #306e33;
  --error-25: #fff1ee;
  --error-100: #b43216;
  --warning-25: #fef5c5;
  --warning-100: #964e1e;
  --info-25: #ecf5fd;
  --info-100: #1463aa;

  /**** Colour Filters (for SVG icons) ****/
  --primary-filter: brightness(0) saturate(100%) invert(19%) sepia(10%) saturate(3039%) hue-rotate(99deg) brightness(93%) contrast(81%);
  --secondary-filter: brightness(0) saturate(100%) invert(68%) sepia(15%) saturate(1498%) hue-rotate(105deg) brightness(92%) contrast(94%);
  --tertiary-filter: brightness(0) saturate(100%) invert(86%) sepia(86%) saturate(4161%) hue-rotate(314deg) brightness(100%) contrast(105%);
  --white-filter: invert(100%) sepia(1%) saturate(867%) hue-rotate(273deg) brightness(123%) contrast(100%);

  /**** Spacing ****/
  --spacer-1: 8px;
  --spacer-2: 16px;
  --spacer-3: 24px;
  --spacer-4: 32px;
  --spacer-5: 48px;

  /**** Containers and Layout ****/
  --max-container-width: 1440px;
  --narrow-container-width: 1200px;
  --legal-container-width: 1000px;
  --body-margin: 24px;
  --gutter-width: 20px;
  --section-padding: 40px;
  --section-padding-xs: calc(var(--section-padding) / 4);
  --section-padding-sm: calc(var(--section-padding) / 2);
  --section-padding-lg: calc(var(--section-padding) * 1.5);
  --section-padding-xl: calc(var(--section-padding) * 2);
  --component-spacing: 20px;

  /**** Transitions ****/
  --transition: all 0.3s ease-in-out;

  /**** Logo Heights ****/
  --header-logo-height: 50px;
  --header-logo-sticky-height: 40px;
  
  /**** Section Colors - override these for sections with different background colours ****/
  --body-color: var(--body-100);
  --background-color: var(--white);
  --heading-color: var(--body-100);
  --heading-link-color: var(--body-100);
  --link-color: var(--secondary-50);
  --link-hover-color: var(--secondary-100);
  --border-color: var(--body-50);

  /**** Dynamic JS Variables ****/
  --app-width: 100vw;
  --app-height: 100vh;
  --body-content-width: 100vw;
  --body-content-left: auto;
  --header-init-height: auto;
  --header-height: auto;
  --notice-bar-height: 0px;
  --top-bar-height: 0px;
  --scroll-top: 0px;
  --scroll-offset: 0px;
  --sticky-offset: 0px;
}

/**** Responsive Type and Spacing ****/
@media (min-width: 768px) {
  :root {
    --font-size--h1: 40px;
    --font-size--h2: 32px;
    --font-size--h3: 24px;
    --font-size--h4: 20px;
    --font-size--h5: 18px;
    --font-size--h6: 16px;
    --line-height: 1.5;
    --body-margin: 32px;

  /**** Logo Heights ****/
  --header-logo-height: 60px;
  --header-logo-sticky-height: 50px;
  }
}

@media (min-width: 992px) {
  :root {
    --spacer-1: 10px;
    --spacer-2: 20px;
    --spacer-3: 30px;
    --spacer-4: 40px;
    --spacer-5: 60px;
    --section-padding: 60px;
    --body-margin: 60px;

	/**** Logo Heights ****/
	--header-logo-height: 70px;
	--header-logo-sticky-height: 50px;
  }
}

@media (min-width: 1200px) {
  :root {
    --body-margin: 120px;
    --gutter-width: 30px;
    --component-spacing: 30px;

	/**** Logo Heights ****/
	--header-logo-height: 90px;
	--header-logo-sticky-height: 70px;
  }
}

@media (min-width: 1680px) {
  :root {
    --font-size: 16px;
    --font-size--xsm: 12px;
    --font-size--sm: 14px;
    --font-size--lg: 20px;
    --font-size--xlg: 26px;
    --font-size--h1: 52px;
    --font-size--h2: 44px;
    --font-size--h3: 36px;
    --font-size--h4: 30px;
    --font-size--h5: 22px;
    --font-size--h6: 18px;
    --body-margin: 160px;
	
	/**** Logo Heights ****/
	--header-logo-height: 100px;
	--header-logo-sticky-height: 80px;
  }
}


/**** Browser Reset ****/
* {
  font-weight: inherit;
  font-style: inherit;
  vertical-align: baseline;
  white-space: normal;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
	scroll-padding-top: var(--scroll-offset);
	scroll-behavior: smooth;
	height: 100%;
}
html:has(body.modal-open) {
	overflow: hidden;
}

body {
	display: flex; /* Allows footer to stick to the bottom */
	flex-direction: column;
	min-height: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

img {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

pre {
  white-space: break-spaces;
}

.elementor-widget-image a img[src$=".svg"] {
	width: inherit;
}

@media screen and (min-width: 3840px) {
	html {
		transform: scale(1.5);
		transform-origin: top left;
		width: 66.66667%;
		height: 66.66667%;
	}
	
}
@media screen and (min-width: 7680px) {
	html {
		transform: scale(3);
		transform-origin: top left;
		width: 33.33333%;
		height: 33.33333%;
	}
}



/**** Formatting ****/
.d-none {
  display: none;
}
.d-block {
  display: block;
}
.d-inline {
  display: inline;
}
.d-inline-block {
  display: inline-block;
}
.d-flex {
  display: flex;
}
.d-inline-flex {
  display: inline-flex;
}
.d-block {
  display: block;
}
.spacer-1 {
  height: var(--spacer-1);
}
.spacer-2 {
  height: var(--spacer-2);
}
.spacer-3 {
  height: var(--spacer-3);
}
.spacer-4 {
  height: var(--spacer-4);
}
.spacer-5 {
  height: var(--spacer-5);
}
.clear {
  height: 0;
  display: block;
  clear: both;
}
.vertical-top {
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
}
.vertical-center {
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.vertical-bottom {
  display: -ms-flexbox;
  display: flex;
  align-items: flex-end;
}
.horizontal-left {
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-start;
}
.horizontal-center {
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}
.horizontal-right {
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
}
.flex {
  flex: 1 1 100%;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.text-align-left {
  text-align: left;
}
.text-align-center {
  text-align: center;
}
.text-align-right {
  text-align: right;
}
.text-align-justify {
  text-align: justify;
}
.alternative-text {
  text-indent: -9999rem;
  opacity: 0;
  width: 0;
  display: inline-block;
  height: 0;
  line-height: 0;
}

@media screen and (min-width: 576px) {
  .d-sm-none {
    display: none;
  }
  .d-sm-block {
    display: block;
  }
  .d-sm-inline {
    display: inline;
  }
  .d-sm-inline-block {
    display: inline-block;
  }
  .d-sm-flex {
    display: flex;
  }
  .d-sm-inline-flex {
    display: inline-flex;
  }
  .spacer-sm-1 {
    height: var(--spacer-1);
  }
  .spacer-sm-2 {
    height: var(--spacer-2);
  }
  .spacer-sm-3 {
    height: var(--spacer-3);
  }
  .spacer-sm-4 {
    height: var(--spacer-4);
  }
  .vertical-sm-top {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .vertical-sm-center {
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .vertical-sm-bottom {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
  }
  .horizontal-sm-left {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
  }
  .horizontal-sm-center {
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .horizontal-sm-right {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .text-align-sm-left {
    text-align: left;
  }
  .text-align-sm-center {
    text-align: center;
  }
  .text-align-sm-right {
    text-align: right;
  }
  .text-align-sm-justify {
    text-align: justify;
  }
  .alternative-text-sm {
    text-indent: -9999rem;
    opacity: 0;
    width: 0;
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .d-md-none {
    display: none;
  }
  .d-md-block {
    display: block;
  }
  .d-md-inline {
    display: inline;
  }
  .d-md-inline-block {
    display: inline-block;
  }
  .d-md-flex {
    display: flex;
  }
  .d-md-inline-flex {
    display: inline-flex;
  }
  .spacer-md-1 {
    height: var(--spacer-1);
  }
  .spacer-md-2 {
    height: var(--spacer-2);
  }
  .spacer-md-3 {
    height: var(--spacer-3);
  }
  .spacer-md-4 {
    height: var(--spacer-4);
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .vertical-md-top {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .vertical-md-center {
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .vertical-md-bottom {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
  }
  .horizontal-md-left {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
  }
  .horizontal-md-center {
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .horizontal-md-right {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
  }
  .text-align-md-left {
    text-align: left;
  }
  .text-align-md-center {
    text-align: center;
  }
  .text-align-md-right {
    text-align: right;
  }
  .text-align-md-justify {
    text-align: justify;
  }
  .alternative-text-md {
    text-indent: -9999rem;
    opacity: 0;
    width: 0;
    display: inline-block;
  }
}
@media screen and (min-width: 992px) {
  .d-lg-none {
    display: none;
  }
  .d-lg-block {
    display: block;
  }
  .d-lg-inline {
    display: inline;
  }
  .d-lg-inline-block {
    display: inline-block;
  }
  .d-lg-flex {
    display: flex;
  }
  .d-lg-inline-flex {
    display: inline-flex;
  }
  .spacer-lg-1 {
    height: var(--spacer-1);
  }
  .spacer-lg-2 {
    height: var(--spacer-2);
  }
  .spacer-lg-3 {
    height: var(--spacer-3);
  }
  .spacer-lg-4 {
    height: var(--spacer-4);
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .vertical-lg-top {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .vertical-lg-center {
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .vertical-lg-bottom {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
  }
  .horizontal-lg-left {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
  }
  .horizontal-lg-center {
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .horizontal-lg-right {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
  }
  .text-align-lg-left {
    text-align: left;
  }
  .text-align-lg-center {
    text-align: center;
  }
  .text-align-lg-right {
    text-align: right;
  }
  .text-align-lg-justify {
    text-align: justify;
  }
  .alternative-text-lg {
    text-indent: -9999rem;
    opacity: 0;
    width: 0;
    display: inline-block;
  }
}
@media screen and (min-width: 1200px) {
  .d-xl-none {
    display: none;
  }
  .d-xl-block {
    display: block;
  }
  .d-xl-inline {
    display: inline;
  }
  .d-xl-inline-block {
    display: inline-block;
  }
  .d-xl-flex {
    display: flex;
  }
  .d-xl-inline-flex {
    display: inline-flex;
  }
  .spacer-xl-1 {
    height: var(--spacer-1);
  }
  .spacer-xl-2 {
    height: var(--spacer-2);
  }
  .spacer-xl-3 {
    height: var(--spacer-3);
  }
  .spacer-xl-4 {
    height: var(--spacer-4);
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .vertical-xl-top {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .vertical-xl-center {
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .vertical-xl-bottom {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
  }
  .horizontal-xl-left {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
  }
  .horizontal-xl-center {
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .horizontal-xl-right {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
  }
  .text-align-xl-left {
    text-align: left;
  }
  .text-align-xl-center {
    text-align: center;
  }
  .text-align-xl-right {
    text-align: right;
  }
  .text-align-xl-justify {
    text-align: justify;
  }
  .alternative-text-xl {
    text-indent: -9999rem;
    opacity: 0;
    width: 0;
    display: inline-block;
  }
}
@media screen and (min-width: 1680px) {
  .d-xxl-none {
    display: none;
  }
  .d-xxl-block {
    display: block;
  }
  .d-xxl-inline {
    display: inline;
  }
  .d-xxl-inline-block {
    display: inline-block;
  }
  .d-xxl-flex {
    display: flex;
  }
  .d-xxl-inline-flex {
    display: inline-flex;
  }
  .spacer-xxl-1 {
    height: var(--spacer-1);
  }
  .spacer-xxl-2 {
    height: var(--spacer-2);
  }
  .spacer-xxl-3 {
    height: var(--spacer-3);
  }
  .spacer-xxl-4 {
    height: var(--spacer-4);
  }
  .order-xxl-1 {
    order: 1;
  }
  .order-xxl-2 {
    order: 2;
  }
  .vertical-xxl-top {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .vertical-xxl-center {
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .vertical-xxl-bottom {
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
  }
  .horizontal-xxl-left {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
  }
  .horizontal-xxl-center {
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .horizontal-xxl-right {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
  }
  .text-align-xxl-left {
    text-align: left;
  }
  .text-align-xxl-center {
    text-align: center;
  }
  .text-align-xxl-right {
    text-align: right;
  }
  .text-align-xxl-justify {
    text-align: justify;
  }
  .alternative-text-xxl {
    text-indent: -9999rem;
    opacity: 0;
    width: 0;
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  .d-mobile-none {
    display: none;
  }
  .d-mobile-block {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .d-tablet-none {
    display: none;
  }
  .d-tablet-block {
    display: block;
  }
}
@media screen and (min-width: 992px) {
  .d-desktop-none {
    display: none;
  }
  .d-desktop-block {
    display: block;
  }
}


/**** Containers ****/

.container.e-parent {
	padding: 0 calc(var(--body-margin));
}
.e-con-inner > .container.e-parent {
	padding: 0 0;
}
.container > .e-con-inner {
	max-width: var(--max-container-width);
	margin: 0 auto;
	display: flex;
	position: relative;
	padding: 0;
}
.container .e-child {
	padding: 0;
}
.container.e-grid > .e-con-inner {
	display: grid;
}
.container--narrow > .e-con-inner, .section-container--narrow {
	max-width: var(--narrow-container-width);
}
.container--legal > .e-con-inner, .section-container--legal {
	max-width: var(--legal-container-width);
	margin-left: 0;
}
.container--fluid > .e-con-inner, .section-container--fluid {
	max-width: none;
}
.container--full-width > .e-con-inner, .section-container--full-width {
	width: auto;
	max-width: none;
	margin-left: calc(var(--body-margin) * -1);
	margin-right: calc(var(--body-margin) * -1);
}

@media screen and (min-width: 1680px) {
	.container--legal > .e-con-inner, .section-container--legal {
		margin-left: var(--body-content-left);
		transform: translateX(calc(var(--body-margin) * -1));
	}
}

.container.e-parent.container-padding--default > .e-con-inner {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}
.container.e-parent.container-padding--none > .e-con-inner {
	padding-top: 0;
	padding-bottom: 0;
}
.container.e-parent.container-padding--top > .e-con-inner {
	padding-top: var(--section-padding);
	padding-bottom: 0;
}
.container.e-parent.container-padding--bottom > .e-con-inner {
	padding-top: 0;
	padding-bottom: var(--section-padding);
}
.container.e-parent.container-padding-size--xs {
	--section-padding: var(--section-padding-xs);
}
.container.e-parent.container-padding-size--sm {
	--section-padding: var(--section-padding-sm);
}
.container.e-parent.container-padding-size--lg {
	--section-padding: var(--section-padding-lg);
}
.container.e-parent.container-padding-size--xl {
	--section-padding: var(--section-padding-xl);
}


.container.e-parent.gutters--default > .e-con-inner {
	gap: var(--gutter-width) calc(var(--gutter-width) * 2);
}
.container.e-parent.gutters--wide > .e-con-inner {
	gap: calc(var(--gutter-width) * 2) calc(var(--gutter-width) * 4);
}
.container.e-parent.gutters--none > .e-con-inner {
	gap: var(--gutter-width) 0;
}


.divider-lines--top {
	border-top: solid 1px var(--grey-25);
}
.divider-lines--bottom {
	border-bottom: solid 1px var(--grey-25);
}
.divider-lines--both {
	border-top: solid 1px var(--grey-25);
	border-bottom: solid 1px var(--grey-25);
}


@media screen and (min-width: 768px) {
	.column-lines--thin > .e-con-inner > .container::before {
		content: '';
		position: absolute;
		border-left: solid 1px var(--grey-0);
		margin-left: calc(var(--gutter-width) * -1);
	}
	.column-lines--thin.gutters--wide > .e-con-inner > .container::before {
		margin-left: calc(var(--gutter-width) * -2);
	}
	.column-lines--thin > .e-con-inner > .container:first-child::before {
		display: none;
	}
}

.e-child, .e-parent > .e-con-inner > .elementor-element {
	flex-grow: 1;
	gap: var(--component-spacing);
}

.elementor-widget-text-heading + .elementor-widget-text-heading,
.elementor-widget-text-heading + .elementor-widget-rich-text,
.elementor-widget-rich-text + .elementor-widget-rich-text,
.elementor-widget-text-heading + .elementor-widget-menu_navigation,
.elementor-widget-icon_text + .elementor-widget-icon_text {
	margin-top: calc((var(--component-spacing) - var(--text-spacing)) * -1);
}

/**** Grid ****/
.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: calc(var(--gutter-width) * -1);
	margin-left: calc(var(--gutter-width) * -1);
	/*margin-bottom: calc(var(--gutter-width) * -1);*/
	margin-bottom: 0;
}
.row:last-child {
	margin-bottom: calc(var(--gutter-width) * -2);
}
.row > [class*="col-"] {
	position: relative;
	width: 100%;
	padding-right: var(--gutter-width);
	padding-left: var(--gutter-width);
	/*margin-bottom: calc(var(--gutter-width));*/
	margin-bottom: calc(var(--gutter-width) * 2);
	display: flex;
	flex-direction: column;
}

.row.no-gutters {
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
}
.row.no-gutters > .col,
.row.no-gutters > [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
	margin-bottom: 0;
}


.wide-gutters {
	margin-right: calc(var(--gutter-width) * -2);
	margin-left: calc(var(--gutter-width) * -2);
	margin-bottom: calc(var(--gutter-width) * -2);
}
.wide-gutters > .col,
.wide-gutters > [class*="col-"] {
	padding-right: calc(var(--gutter-width) * 2);
	padding-left: calc(var(--gutter-width) * 2);
	margin-bottom: calc(var(--gutter-width) * 2);
}

.narrow-gutters {
	margin-right: calc((var(--gutter-width) / 2) * -1);
	margin-left: calc((var(--gutter-width) / 2) * -1);
	margin-bottom: calc((var(--gutter-width) / 2) * -1);
}
.narrow-gutters > .col,
.narrow-gutters > [class*="col-"] {
	padding-right: calc(var(--gutter-width) / 2);
	padding-left: calc(var(--gutter-width) / 2);
	margin-bottom: var(--gutter-width);
}

.row > .col {
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	-ms-flex-positive: 1;
	flex-grow: 1;
	max-width: 100%;
}
.row > .col-auto {
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: auto;
	max-width: 100%;
}
.row > .col-1 {
	-ms-flex: 0 0 8.333333%;
	flex: 0 0 8.333333%;
	max-width: 8.333333%;
}
.row > .col-2 {
	-ms-flex: 0 0 16.666667%;
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}
.row > .col-3 {
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}
.row > .col-4 {
	-ms-flex: 0 0 33.333333%;
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}
.row > .col-5 {
	-ms-flex: 0 0 41.666667%;
	flex: 0 0 41.666667%;
	max-width: 41.666667%;
}
.row > .col-6 {
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}
.row > .col-7 {
	-ms-flex: 0 0 58.333333%;
	flex: 0 0 58.333333%;
	max-width: 58.333333%;
}
.row > .col-8 {
	-ms-flex: 0 0 66.666667%;
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}
.row > .col-9 {
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}
.row > .col-10 {
	-ms-flex: 0 0 83.333333%;
	flex: 0 0 83.333333%;
	max-width: 83.333333%;
}
.row > .col-11 {
	-ms-flex: 0 0 91.666667%;
	flex: 0 0 91.666667%;
	max-width: 91.666667%;
}
.row > .col-12 {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

@media screen and (min-width: 576px) {
	.row > .col-sm-auto {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 100%;
	}
	.row > .col-sm-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.row > .col-sm-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.row > .col-sm-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.row > .col-sm-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.row > .col-sm-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.row > .col-sm-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.row > .col-sm-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.row > .col-sm-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.row > .col-sm-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.row > .col-sm-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.row > .col-sm-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.row > .col-sm-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}
@media screen and (min-width: 768px) {
	.row > .col-md-auto {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 100%;
	}
	.row > .col-md-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.row > .col-md-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.row > .col-md-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.row > .col-md-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.row > .col-md-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.row > .col-md-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.row > .col-md-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.row > .col-md-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.row > .col-md-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.row > .col-md-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.row > .col-md-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.row > .col-md-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}
@media screen and (min-width: 992px) {
	.row > .col-lg-auto {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 100%;
	}
	.row > .col-lg-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.row > .col-lg-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.row > .col-lg-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.row > .col-lg-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.row > .col-lg-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.row > .col-lg-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.row > .col-lg-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.row > .col-lg-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.row > .col-lg-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.row > .col-lg-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.row > .col-lg-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.row > .col-lg-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}
@media screen and (min-width: 1200px) {
	/* xl */
	.row > .col-xl-auto {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 100%;
	}
	.row > .col-xl-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.row > .col-xl-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.row > .col-xl-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.row > .col-xl-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.row > .col-xl-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.row > .col-xl-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.row > .col-xl-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.row > .col-xl-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.row > .col-xl-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.row > .col-xl-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.row > .col-xl-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.row > .col-xl-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}
@media screen and (min-width: 1680px) {
	/* xl */
	.row > .col-xxl-auto {
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: auto;
		max-width: 100%;
	}
	.row > .col-xxl-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.row > .col-xxl-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.row > .col-xxl-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.row > .col-xxl-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.row > .col-xxl-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.row > .col-xxl-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.row > .col-xxl-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.row > .col-xxl-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.row > .col-xxl-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.row > .col-xxl-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.row > .col-xxl-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.row > .col-xxl-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}

.offset-1 {
	margin-left: 8.333333%;
}
.offset-2 {
	margin-left: 16.666667%;
}
.offset-3 {
	margin-left: 25%;
}
.offset-4 {
	margin-left: 33.333333%;
}
.offset-5 {
	margin-left: 41.666667%;
}
.offset-6 {
	margin-left: 50%;
}
.offset-7 {
	margin-left: 58.333333%;
}
.offset-8 {
	margin-left: 66.666667%;
}
.offset-9 {
	margin-left: 75%;
}
.offset-10 {
	margin-left: 83.333333%;
}
.offset-11 {
	margin-left: 91.666667%;
}
.offset-12 {
	margin-left: 100%;
}
@media screen and (min-width: 576px) {
	.offset-sm-1 {
		margin-left: 8.333333%;
	}
	.offset-sm-2 {
		margin-left: 16.666667%;
	}
	.offset-sm-3 {
		margin-left: 25%;
	}
	.offset-sm-4 {
		margin-left: 33.333333%;
	}
	.offset-sm-5 {
		margin-left: 41.666667%;
	}
	.offset-sm-6 {
		margin-left: 50%;
	}
	.offset-sm-7 {
		margin-left: 58.333333%;
	}
	.offset-sm-8 {
		margin-left: 66.666667%;
	}
	.offset-sm-9 {
		margin-left: 75%;
	}
	.offset-sm-10 {
		margin-left: 83.333333%;
	}
	.offset-sm-11 {
		margin-left: 91.666667%;
	}
	.offset-sm-12 {
		margin-left: 100%;
	}
		
}

@media screen and (min-width: 768px) {
	.offset-md-1 {
		margin-left: 8.333333%;
	}
	.offset-md-2 {
		margin-left: 16.666667%;
	}
	.offset-md-3 {
		margin-left: 25%;
	}
	.offset-md-4 {
		margin-left: 33.333333%;
	}
	.offset-md-5 {
		margin-left: 41.666667%;
	}
	.offset-md-6 {
		margin-left: 50%;
	}
	.offset-md-7 {
		margin-left: 58.333333%;
	}
	.offset-md-8 {
		margin-left: 66.666667%;
	}
	.offset-md-9 {
		margin-left: 75%;
	}
	.offset-md-10 {
		margin-left: 83.333333%;
	}
	.offset-md-11 {
		margin-left: 91.666667%;
	}
	.offset-md-12 {
		margin-left: 100%;
	}

}
@media screen and (min-width: 992px) {
	.offset-lg-1 {
		margin-left: 8.333333%;
	}
	.offset-lg-2 {
		margin-left: 16.666667%;
	}
	.offset-lg-3 {
		margin-left: 25%;
	}
	.offset-lg-4 {
		margin-left: 33.333333%;
	}
	.offset-lg-5 {
		margin-left: 41.666667%;
	}
	.offset-lg-6 {
		margin-left: 50%;
	}
	.offset-lg-7 {
		margin-left: 58.333333%;
	}
	.offset-lg-8 {
		margin-left: 66.666667%;
	}
	.offset-lg-9 {
		margin-left: 75%;
	}
	.offset-lg-10 {
		margin-left: 83.333333%;
	}
	.offset-lg-11 {
		margin-left: 91.666667%;
	}
	.offset-lg-12 {
		margin-left: 100%;
	}

}
@media screen and (min-width: 1200px) {
	.offset-xl-1 {
		margin-left: 8.333333%;
	}
	.offset-xl-2 {
		margin-left: 16.666667%;
	}
	.offset-xl-3 {
		margin-left: 25%;
	}
	.offset-xl-4 {
		margin-left: 33.333333%;
	}
	.offset-xl-5 {
		margin-left: 41.666667%;
	}
	.offset-xl-6 {
		margin-left: 50%;
	}
	.offset-xl-7 {
		margin-left: 58.333333%;
	}
	.offset-xl-8 {
		margin-left: 66.666667%;
	}
	.offset-xl-9 {
		margin-left: 75%;
	}
	.offset-xl-10 {
		margin-left: 83.333333%;
	}
	.offset-xl-11 {
		margin-left: 91.666667%;
	}
	.offset-xl-12 {
		margin-left: 100%;
	}

}
@media screen and (min-width: 1680px) {
	.offset-xxl-1 {
		margin-left: 8.333333%;
	}
	.offset-xxl-2 {
		margin-left: 16.666667%;
	}
	.offset-xxl-3 {
		margin-left: 25%;
	}
	.offset-xxl-4 {
		margin-left: 33.333333%;
	}
	.offset-xxl-5 {
		margin-left: 41.666667%;
	}
	.offset-xxl-6 {
		margin-left: 50%;
	}
	.offset-xxl-7 {
		margin-left: 58.333333%;
	}
	.offset-xxl-8 {
		margin-left: 66.666667%;
	}
	.offset-xxl-9 {
		margin-left: 75%;
	}
	.offset-xxl-10 {
		margin-left: 83.333333%;
	}
	.offset-xxl-11 {
		margin-left: 91.666667%;
	}
	.offset-xxl-12 {
		margin-left: 100%;
	}

}

/**** Typography ****/
body {
  font-family: var(--primary-font-family);
  font-weight: var(--primary-font-weight);
  color: var(--body-color);
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-style: normal;
}

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin-bottom: var(--text-spacing);
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child, li:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5 {
  font-family: var(--secondary-font-family);
  font-weight: var(--secondary-font-weight);
  color: var(--heading-color);
}

h1 {
  font-size: var(--font-size--h1);
  line-height: var(--line-height--h1);
}

h2 {
  font-size: var(--font-size--h2);
  line-height: var(--line-height--h2);
}

h3 {
  font-size: var(--font-size--h3);
  line-height: var(--line-height--h3);
}

h4 {
  font-size: var(--font-size--h4);
  line-height: var(--line-height--h4);
}

h5 {
  font-size: var(--font-size--h5);
  line-height: var(--line-height--h5);
}

h6 {
  font-size: var(--font-size--h6);
  line-height: var(--line-height--h6);
  font-weight: var(--primary-font-weight--semi-bold);
}

ul, ol {
  margin-left: var(--spacer-3);
}

li {
  margin-bottom: var(--spacer-1);
}
li > ul, li > ol {
	margin-top: var(--spacer-1);
}

nav ul {
  list-style: none;
  margin-left: 0;
}
nav li > ul, nav li > ol {
	margin-top: 0;
}

strong {
  font-weight: var(--primary-font-weight--bold);
}

em {
  font-style: italic;
}

a {
  color: var(--link-color);
  text-decoration: none;
  transition: var(--transition);
}

a:hover {
  color: var(--link-hover-color);
  text-decoration: underline;
}

h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a {
  text-decoration: none;
  color: var(--heading-link-color);
}

h1 > a:hover, h2 > a:hover, h3 > a:hover, h4 > a:hover, h5 > a:hover, h6 > a:hover {
  text-decoration: none;
  color: var(--link-hover-color);
}

.font-size--sm {
  font-size: var(--font-size--sm);
}

.font-size--lg {
  font-size: var(--font-size--lg);
}

.subtitle {
	font-family: var(--primary-font-family);
	font-weight: var(--primary-font-weight--light);
	color: var(--secondary-100);
}



/***** Forms ******/
::placeholder {
  color: var(--grey-75);
  opacity: 1;
}

::-ms-input-placeholder {
  color: var(--grey-75);
  opacity: 1;
}

input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
	color: var(--grey-75);
}

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

textarea {
  height: auto;
  overflow: auto;
  line-height: normal;
  white-space: pre-wrap;
  border-bottom: solid 2px var(--grey-50);
}

.elementor-form [class*="elementor-field-type"], .sl-form [class*="sl-field-type"] {
	margin-bottom: var(--spacer-2);
	page-break-inside: avoid;
	break-inside: avoid-column;
}

.elementor-form [class*="elementor-col-"], .sl-form [class*="sl-col"] {
	padding-left: 0;
	padding-right: 0;
	display: block;
}

.elementor-form [class*="elementor-field-type"]:last-child, .form-row:last-child {
  margin-bottom: 0;
}

.elementor-form .elementor-button {
	padding: 16px 48px;
	cursor: pointer;
}

[class*="elementor-field-type"] > label, .form-row > label {
	font-weight: var(--primary-font-weight--bold);
	display: block;
	margin-bottom: 6px;
	font-size: var(--font-size--sm);
}

.elementor-field-required > .elementor-field-label::after {
	content: '*';
	color: var(--error-100);
}

.elementor-field-type-text input, .form-row .input-text, 
.elementor-field-type-email input, 
.elementor-field-type-tel input, 
.elementor-field-type-url input, 
.elementor-field-type-password input, 
.elementor-field-type-number input, 
.elementor-field-type-date input, 
.elementor-field-type-time input, 
.elementor-field-type-textarea textarea, .form-row textarea {
	background-color: inherit;
	border-radius: 0;
	-webkit-appearance: none;
	line-height: 44px;
	border: solid 1px var(--grey-50);
	width: 100%;
	padding: 0 12px;
	font-weight: 400;
}


.elementor-field-type-textarea textarea, .form-row textarea {
  line-height: var(--line-height);
  padding-top: 8px !important;
}

.elementor-field-type-number input {
  max-width: 100px;
}
.elementor-field-type-date input, .elementor-field-type-time input, .month-input input {
	max-width: 200px;
	cursor: pointer;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
	min-height: 40px;
}

.elementor-field-option label {
	display: inline-flex;
	align-items: baseline;
	margin-left: 8px;
}
.elementor-field-type-acceptance label {
	display: inline;
}

.elementor-field-option label span {
	margin-left: var(--spacer-1);
}

.elementor-field-subgroup .elementor-field-option {
	display: flex;
	align-items: baseline;
}

.elementor-subgroup-inline .elementor-field-option {
	display: inline-block;
	margin-right: var(--spacer-2);
}

.elementor-select-wrapper, .form-row .woocommerce-input-wrapper--select, .sl-select-wrapper {
	position: relative;
	line-height: 44px;
	display: block;
	background-color: inherit;
	border: solid 1px var(--grey-50);
}

.elementor-select-wrapper::after, .woocommerce-input-wrapper--select::after, .sl-select-wrapper::after {
	display: block;
	content: " ";
	height: 10px;
	width: 10px;
	border-right: solid 1px var(--grey-75);
	border-bottom: solid 1px var(--grey-75);
	transform: rotate(45deg);
	position: absolute;
	right: 16px;
	top: calc(50% - 6px);
	opacity: 0;
	transition: opacity 0.1s ease-in-out 0.5s;
}
.dom-loaded .elementor-select-wrapper::after, .woocommerce-input-wrapper--select::after, .sl-select-wrapper::after {
  opacity: 1;
}
.elementor-select-wrapper.remove-before::before, .woocommerce-input-wrapper--select::before, .sl-select-wrapper::before {
	display: none !important;
}

.elementor-select-wrapper select, .form-row .woocommerce-input-wrapper--select select, .sl-select-wrapper select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: 0;
  box-shadow: none;
  margin: 0;
  cursor: pointer;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  color: var(--grey-75);
}

.elementor-select-wrapper select.option-selected, .woocommerce-input-wrapper--select select.option-selected, .sl-select-wrapper select.option-selected {
	color: var(--body-100);
}

.select-caret-down-wrapper {
	display: none !important;
}

option:disabled {
  color: var(--grey-50);
}

.elementor-mark-required > .elementor-field-label::after {
	content: '*';
	display: inline;
	color: var(--error-100);
}

.input--invalid.input--blurred input, .input--invalid.input--blurred textarea, .input--invalid.input--blurred .elementor-select-wrapper {
  border-color: var(--error-100);
}

.input--invalid.input--blurred input {
  color: var(--error-100);
}

.input--valid.input--blurred input, .input--valid.input--blurred textarea, .input--valid.input--blurred .elementor-select-wrapper {
  /*border-bottom: 2px solid var(--success-100);*/
}

.input--valid.input--blurred input {
  /*color: var(--success-100);*/
}

.input--validation-message {
	font-size: 12px;
	padding-left: 0;
	display: none;
	padding-top: 2px;
	color: var(--error-100);
}

.input--invalid.input--blurred .input--validation-message {
	display: block;
}

.form-type--inline .elementor-form-fields-wrapper, .form-type--inline .form-fields-wrapper {
	display: flex;
	flex-direction: row;
}
.form-type--inline .e-form__buttons {
	width: auto !important;
}
.form-type--inline .e-form__buttons button {
	margin-right: 0;
	border-radius: 0 3px 3px 0;
	padding: 0 28px;
}
.form-type--inline .e-form__buttons button span {
	white-space: nowrap !important;
}
.form-type--inline .elementor-form [class*="elementor-field-type"] {
	margin-bottom: 0;
}
.form-type--inline .elementor-field-group > input, .form-type--inline .elementor-field-group > button {
	height: 45px;
}
.form--submitted .elementor-form-fields-wrapper {
	display: none !important;
}


@media screen and (min-width: 768px) {
	
	.form-columns--2 .elementor-form-fields-wrapper, .form-columns--3 .elementor-form-fields-wrapper {
		position: relative;
		padding-bottom: 80px;
		column-gap: var(--gutter-width);
	}
	.form-columns--2 .elementor-form-fields-wrapper {
		columns: 2;
	} 
	.form-columns--3 .elementor-form-fields-wrapper {
		columns: 3;
	}
	.form-columns--2 .elementor-field-type-submit, .form-columns--3 .elementor-field-type-submit {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 0;
		text-align: left;
	}
}

/*--- Component: Top Notification ---*/
.notice-bar {
	text-align: center;
	padding: var(--spacer-1) 0;
	font-size: var(--font-size--sm);
}

/*--- Component: Top Bar ---*/
.top-bar {
	font-size: var(--font-size--sm);
}
.top-bar > .e-con-inner {
	padding: var(--spacer-1) 0 !important;
}
.top-bar .menu-navigation {
	display: flex;
	justify-content: right;
}
.top-bar .menu-navigation ul {
	display: flex;
	gap: var(--spacer-2);
}
.top-bar .menu-navigation ul li {
	margin-bottom: 0;
}
.top-bar a {
	color: var(--white);
}

/**** Component: Header ****/
header {
	position: static;
	width: 100%;
	z-index: 20;
}
.header {
	width: 100%;
	z-index: 1;
	transition: var(--transition);
}
.sticky .header, .main-navigation--open .header {
}
.header-logo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: var(--spacer-2) 0;
}
.header-logo img {
	height: var(--header-logo-height);
	transition: var(--transition);
	width: auto;
}
.sticky-spacer {
	height: 0;
	transition: var(--transition);
}
header[data-overlay-header] {
	transform: translateY(100%);
	margin-top: calc(var(--header-height) * -1);
}
body:not(.sticky) header[data-overlay-header] .header:not(.main-navigation--open) {
	background-color: transparent;
	transition-delay: 0.3s;
}
header[data-overlay-header] + .sticky-spacer {
	height: calc(var(--notice-bar-height) + var(--top-bar-height) - 1px) !important;
}
header[data-overlay-header] .main-navigation {
	top: var(--header-height);
}


@media screen and (max-width: 991px) {
	header[data-sticky-mobile] {
		position: fixed;
		transform: translateY(0);
		transition: var(--transition);
		margin-top: 0;
	}
	.sticky header[data-sticky-mobile] {
		transform: translateY(calc(var(--sticky-offset) * -1));
	}
	header[data-sticky-mobile] + .sticky-spacer {
		height: var(--header-init-height);
	}
	.sticky header[data-sticky-mobile] + .sticky-spacer {
		height: calc(var(--header-height) - var(--sticky-offset));
	}
	.sticky header[data-sticky-mobile] .header-logo img {
		height: var(--header-logo-sticky-height);
	}
}

@media screen and (min-width: 992px) {
	/* lg */
	header[data-sticky-desktop] {
		position: fixed;
		transform: translateY(0);
		transition: var(--transition);
		margin-top: 0;
	}
	.sticky header[data-sticky-desktop] {
		transform: translateY(calc(var(--sticky-offset) * -1));
	}
	header[data-sticky-desktop] + .sticky-spacer {
		height: var(--header-init-height);
	}
	.sticky header[data-sticky-desktop] + .sticky-spacer {
		height: calc(var(--header-height) - var(--sticky-offset));
		/*height: var(--header-height);*/
	}
	.sticky header[data-sticky-desktop] .header-logo img {
		height: var(--header-logo-sticky-height);
	}
}


/**** Component: Main ****/
main {
	position: relative;
}

/**** Component: Footer ****/
footer {
	position: relative;
	margin-top: auto;  /* Allows footer to stick to the bottom */
}
footer a {
	text-decoration: none;
}
.footer-dashboard {
	font-size: var(--font-size--sm);
	font-weight: 400;
}
.footer-dashboard h4 {
	font-family: var(--primary-font-family);
	font-size: var(--font-size--h6);
	font-weight: var(--primary-font-weight--semi-bold);
	margin-top: var(--text-spacing);
	color: var(--body-100);
}
.footer-dashboard a {
	color: inherit;
}
.footer-dashboard a:hover {
	color: var(--secondary-100);
}
.footer-logo {
	text-align: left;
	padding-bottom: 20px;
}
.footer-logo img {
	max-width: 80px;
}
.footnotes {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
	font-size: var(--font-size--xsm);
	font-weight: 400;
	text-align: center;
}
.footnotes > .e-con-inner {
	border-top: solid 1px var(--border-color);
	padding-top: 16px !important;
}
.footnotes li {
	display: inline-block;
	margin: 0 12px;
}
.footnotes li:first-child {
	margin-left: 0;
}
.footnotes li:last-child {
	margin-right: 0;
}
.footnotes a {
	color: var(--white);
}

@media screen and (min-width: 768px) {
	/* md */
	.footnotes {
		text-align: left;
	}
	.footnotes ul {
		display: flex;
		justify-content: flex-end;
	}
}
@media screen and (min-width: 992px) {
	/* xl */
	.footnotes nav li {
		margin: 0;
	}
	.footnotes nav li::before {
		content: '–';
		padding-right: 12px;
		padding-left: 12px;
	}
	.footnotes nav li:first-child::before {
		display: none;
	}
}
@media screen and (min-width: 1200px) {
	.footer-logo {
		padding-bottom: 40px;
	}
	.footer-logo img {
		max-width: 140px;
	}
}

/*--- Main Navigation ---*/
.elementor-widget-main_navigation {
	position: static !important;
}
.elementor-widget-main_navigation > div {
	display: flex;
	justify-content: flex-end;
}
.main-navigation {
	position: fixed;
	top: var(--scroll-offset);
	right: -100%;
	width: 100%;
	height: 100vh;
	background-color: var(--tertiary-100);
	color: var(--white);
	transition: right 0.3s ease-in-out, top 0s linear;
}
.main-navigation--open .main-navigation {
	right: 0;
}
.main-navigation li {
	margin: 0;
	border-bottom: solid 1px var(--white);
}
.main-navigation a {
	display: inline-flex;
	padding: 12px var(--body-margin);
	text-decoration: none;
	position: relative;
	color: var(--white);
	width: 100%;
}
.main-navigation__sub_menu {
	position: absolute;
	top: 0;
	width: 100%;
	left: 100%;
	display: none;
}
.sub-menu-open > .main-navigation__sub_menu {
	display: block;
}
.main-navigation .has-children > a::after {
	content: '';
	width: 12px;
	height: 12px;
	position: absolute;
	right: var(--body-margin);
	top: calc(50% - 6px);
	border-top: solid 2px var(--white);
	border-right: solid 2px var(--white);
	transform: rotate(45deg);
	display: block;
}
.main-navigation button {
	cursor: pointer;
}
.main-navigation button.back {
	padding: 12px var(--body-margin);
	color: var(--secondary-100);
	font-size: inherit;
	display: block;
	outline: none;
	font-family: inherit;
	width: 100%;
	text-align: left;
	line-height: inherit;
}
.main-navigation button.back::before {
	content: ' ';
	display: inline-block;
	width: 12px;
	height: 12px;
	border-top: solid 2px var(--secondary-100);
	border-left: solid 2px var(--secondary-100);
	transform: rotate(-45deg);
	margin-right: 12px;
	margin-top: -2px;
	vertical-align: middle;
	transition: all 0.3s ease-in-out 0s;
}
.main-navigation__toggle {
	cursor: pointer;
	height: 40px;
	position: relative;
}
.main-navigation__toggle i {
	color: var(--body-100);
	transition: var(--transition);
	font-size: var(--font-size--lg);
}
.main-navigation__toggle .main-navigation__toggle--close {
	display: none;
}
.main-navigation--open .main-navigation__toggle--close {
	display: block;
}
.main-navigation__toggle--open {
	display: block;
}
.main-navigation--open .main-navigation__toggle--open {
	display: none;
}
.main-navigation .icon {
	width: 24px;
	height: 24px;
	font-size: 24px;
	color: var(--white);
	transition: var(--transition);
}
.main-navigation .icon + span {
	padding-left: 12px;
}


@media screen and (max-width: 991px) {
	header[data-sticky-mobile] .main-navigation {
		top: var(--header-height);
	}
	.main-navigation__links {
		transform: translateX(0);
		transition: var(--transition);
	}
	.main-navigation--depth-1 .main-navigation__links {
		transform: translateX(-100%);
	}
	.main-navigation--depth-2 .main-navigation__links  {
		transform: translateX(-200%);
	}
	.main-navigation--depth-3 .main-navigation__links  {
		transform: translateX(-300%);
	}
	.main-navigation--depth-4 .main-navigation__links  {
		transform: translateX(-400%);
	}
	.main-navigation--depth-5 .main-navigation__links  {
		transform: translateX(-500%);
	}
}
@media screen and (min-width: 992px) {
	/* lg */
	.main-navigation__toggle {
		display: none;
	}
	.main-navigation {
		position: static;
		width: 100%;
		height: auto;
		background-color: transparent;
    	transform: translateY(0);
	}
	.main-navigation li {
		display: flex;
		border-bottom: none;
		position: relative;
		align-items: center;
	}
	.main-navigation li.back {
		display: none;
	}
	.main-navigation a {
		display: inline-flex;
		padding: 12px 24px;
		color: var(--body-100);
	}
	.main-navigation li:hover > a {
		color: var(--secondary-25);
	}
	.main-navigation__parent_menu {
		display: flex;
		justify-content: flex-end;
	}
	.main-navigation__parent_menu > li:hover {
		min-height: var(--header-content-height);
	}
	.main-navigation__parent_menu > li > a {
		white-space: nowrap;
	}
	.main-navigation__parent_menu > li:last-child > a {
		padding-right: 0;
	}
	.main-navigation__parent_menu > .has-children {
		border-radius: 10px 10px 0 0;
		transition: var(--transition);
	}
	.main-navigation__parent_menu > .has-children:hover {
		background-color: var(--white);
		color: var(--primary-100);
	}
	.main-navigation__parent_menu > .has-children > a::after {
		display: none;
	}
	.main-navigation__sub_menu {
		display: block;
		width: auto;
		left: 0;
		top: 100%;
		min-width: 220px;
		background-color: var(--white);
		padding: 10px 0;
		transform: scaleY(0%);
		transform-origin: top left;
		opacity: 0;
		transition: var(--transition);
	}
	.has-children:hover > .main-navigation__sub_menu {
		transform: scaleY(100%);
		opacity: 1;
	}
	.main-navigation__sub_menu .main-navigation__sub_menu {
		left: 100%;
		top: 0px;
		transform: scaleY(100%);
		transform: scaleX(0%);
		min-height: 100%;
	}
	.main-navigation__sub_menu--right {
		left: auto;
		right: 0;
	}
	.main-navigation__sub_menu--right .main-navigation__sub_menu {
		left: -100%;
		transform-origin: top right;
	}
	.main-navigation__sub_menu--center {
		left: 50%;
		transform: translateX(-50%) scaleY(0%);
	}
	.has-children:hover > .main-navigation__sub_menu--center {
		transform: translateX(-50%) scaleY(100%);
	}
	.main-navigation__sub_menu .has-children:hover > .main-navigation__sub_menu {
		transform: scaleX(100%);
	}
	.main-navigation__sub_menu li {
		display: block;
		padding: 0 24px;
		position: static;
	}
	.main-navigation__sub_menu a {
		color: var(--primary-100);
		padding: 8px 0 8px 0;
		display: block;
		border-bottom: solid 1px var(--grey-50);
		font-size: var(--font-size);
	}
	.main-navigation__sub_menu li:last-child > a {
		border-bottom: none;
	}
	.main-navigation__sub_menu .has-children > a {
		padding: 8px 20px 8px 0;
	}
	.main-navigation__sub_menu .has-children > a::after {
		right: 6px;
		border-top: solid 1px var(--primary-100);
		border-right: solid 1px var(--primary-100);
		width: 10px;
		height: 10px;
		top: calc(50% - 5px);
		transition: all 0.2s ease-in-out 0s;
	}
	.main-navigation__sub_menu li:hover > a {
		color: var(--secondary-100);
	}
	.main-navigation__sub_menu li:hover > a::after {
		border-color: var(--secondary-100);
		border-width: 2px;
		right: 0;
	}
	.main-navigation .icon + span.alternative-text-lg {
		padding-left: 0;
	}
}

/**** Component: Mega Menu ****/
:root {
	--mega-menu-margin: 24px;
}
.mega-menu {
	/* display: none; */
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	height: 100vh;
	background-color: var(--primary-overlay-100);
	color: var(--white);
	overflow-y: auto;
	padding-top: var(--header-height);
	z-index: 10;
	transform: translateX(100%);
	transition: var(--transition);
}
.sticky .mega-menu {
	padding-top: var(--header-height);
	height: calc(100vh + var(--sticky-offset));
}
.mega-menu--open .mega-menu {
	transform: translateX(0);
}
.mega-menu__wrapper {
	margin-bottom: 48px;
}
.mega-menu__toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--primary-100);
	cursor: pointer;
	z-index: 999;
	position: relative;
	transition: var(--transition);
	height: 40px;
	float: right;
}
.mega-menu__toggle-text {
	display: none;
}
.mega-menu--open .mega-menu__toggle {
	color: var(--white);
}
.mega-menu__toggle .icon {
	font-size: 16px;
}
.mega-menu__toggle .mega-menu__toggle--close {
	display: none;
}
.mega-menu--open .mega-menu__toggle .mega-menu__toggle--close {
	display: block;
}
.mega-menu--open .mega-menu__toggle .mega-menu__toggle--open {
	display: none;
}
.mega-menu__inner ul {
	padding: 24px 0;
	margin-bottom: 0;
}
.mega-menu .mega-menu__primary-parent {
	padding-left: var(--mega-menu-margin);
	padding-right: var(--mega-menu-margin);
}
.mega-menu__sub_menu {
	position: absolute;
	top: 0;
	width: 100%;
	left: 100%;
	display: none;
	padding: 24px var(--mega-menu-margin);
}
.sub-menu-open > .mega-menu__sub_menu {
	display: block;
}
.mega-menu__primary li {
	margin-bottom: 0;
}
.mega-menu__primary a {
	color: var(--white);
	font-family: var(--secondary-font-family);
	font-size: var(--font-size--h4);
	padding: 4px 0;
	display: block;
}
.mega-menu__primary a:hover {
	color: var(--secondary-100);
	text-decoration: none;
}
.mega-menu__secondary {
	margin: 0 var(--mega-menu-margin);
}
.mega-menu__secondary::before {
	content: '';
	border-top: solid 1px var(--white);
	width: auto;
	display: block;
}
.mega-menu__secondary a {
	color: var(--white);
	font-weight: 400;
	display: inline-flex;
	width: 60%;
	justify-content: space-between;
}
.mega-menu__secondary a:hover {
	color: var(--secondary-100);
	text-decoration: none;
}
.mega-menu__secondary a::after {
	content: '';
	display: block;
	border-bottom: solid 2px var(--white);
	border-right: solid 2px var(--white);
	width: 12px;
	height: 12px;
	transform: rotate(-45deg);
	margin-top: 6px;
	margin-right: 0;
	transition: var(--transition);
}
.mega-menu__secondary a:hover::after {
	border-color: var(--secondary-100);
	margin-right: -16px;
}
.mega-menu__primary .back {
	font-size: var(--font-size--h6);
	color: var(--secondary-100);
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}
.mega-menu__primary .back::before {
	content: '';
	display: inline-block;
	border-bottom: solid 2px var(--secondary-100);
	border-left: solid 2px var(--secondary-100);
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	margin-top: 6px;
	margin-right: 10px;
	transition: var(--transition);
}
.mega-menu__primary .back + .mega-menu__sub_menu-links {
	margin-top: -12px;
}
.mega-menu__sub_menu-image {
	display: block;
}
.mega-menu__sub_menu-cta-text {
	display: block;
	padding: 12px 0;
}
.mega-menu__sub_menu-cta-text a {
	display: flex;
	font-family: var(--primary-100);
	font-size: var(--font-size);
	gap: 16px;
}
.mega-menu__sub_menu-cta-text a::after {
	content: '';
	display: block;
	border-bottom: solid 2px var(--white);
	border-right: solid 2px var(--white);
	width: 12px;
	height: 12px;
	transform: rotate(-45deg);
	margin-top: 6px;
	margin-left: 0;
	transition: var(--transition);
}
.mega-menu__sub_menu-cta-text a:hover::after {
	border-color: var(--secondary-100);
	margin-left: 16px;
}
.mega-menu__primary .back + .mega-menu__sub_menu-image, .mega-menu__primary .back + .mega-menu__sub_menu-cta-text {
	margin-top: 24px;
}


@media screen and (max-width: 767px) {
	.mega-menu__wrapper {
		transform: translateX(0);
		transition: var(--transition);
	}
	.mega-menu--depth-1 .mega-menu__wrapper {
		transform: translateX(-100%);
	}

}

@media screen and (min-width: 576px) {

}
@media screen and (min-width: 768px) {
	:root {
		--mega-menu-margin: var(--body-margin);
	}
	.mega-menu__toggle .icon {
		font-size: 20px;
	}
	.mega-menu__primary {
		position: relative;
	}
	.mega-menu__wrapper {
		width: 50%;
		border-right: solid 1px var(--white);
	}
	.mega-menu__primary li.sub-menu-hover > .mega-menu__sub_menu {
		display: block;
	}
	.mega-menu__primary .back {
		display: none;
	}
	.mega-menu__primary .back + .mega-menu__sub_menu-links {
		margin-top: 0;
		padding-top: 0;
	}
	.mega-menu__inner ul {
		padding: 24px 0;
		margin-bottom: 0;
	}
	.mega-menu__secondary a {
		font-size: var(--font-size--lg);
	}
}
@media screen and (min-width: 992px) {
	.mega-menu__toggle .icon {
		font-size: 24px;
	}

}
@media screen and (min-width: 1200px) {
}
@media screen and (min-width: 1680px) {
	
	.mega-menu--open .mega-menu {
		padding-left: var(--body-margin);
		padding-right: var(--body-margin);
	}
	.mega-menu__outer {
		max-width: var(--max-container-width);
		padding: 0;
		margin: 0 auto;
	}
	.mega-menu__inner .mega-menu__primary-parent {
		padding-left: 0;
	}
	.mega-menu__secondary {
		margin-left: 0;
	}
}

/**** Component: Table ****/
.table {
	overflow-x: auto;
}
.table table {
	width: 100%;
	border: solid 1px var(--grey-50);
	border-collapse: collapse;
		font-size: 14px;
}
.table table th {
	font-weight: 600;
}
.table table th, .table table td {
	border: solid 1px var(--grey-50);
	text-align: left;
	vertical-align: text-top;
	padding: 6px 12px;
}
.table table .nobreak {
	white-space: nowrap;
}
.rich-text th, .rich-text td {
	padding-right: 5px;
	padding-bottom: 5px;
}
.rich-text tr:last-child th, .rich-text tr:last-child td {
	padding-bottom: 0;
}
.rich-text tr th:last-child, .rich-text tr td:last-child {
	padding-right: 0;
}

@media screen and (min-width: 768px) {
	.table table {
		font-size: 16px;
	}
}

/**** Component: Buttons ****/
.button-group {
	list-style-type: none;
	margin-left: 0;
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacer-2);
}
.button-group li {
	margin-bottom: 0;
}
.button-group li:last-child {
	margin-right: 0;
}
.btn, .elementor-button {
	background-color: var(--secondary-100);
	border: solid 1px var(--secondary-100);
	color: var(--white);
	text-decoration: none;
	margin-right: var(--spacer-2);
	border-radius: 0;
	padding: 9px 16px;
	display: inline-flex;
	align-items: center;
	font-size: var(--font-size);
	letter-spacing: 1px;
	transform: scale(1);
	cursor: pointer;
	transition: var(--transition);
	font-weight: 400;
	justify-content: center;
}
.btn.disabled, .btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}
.btn:hover, .elementor-button:hover {
	transform: scale(1.05);
	text-decoration: none;
	color: var(--white);
}
.btn:last-child {
	margin-right: 0;
}
.btn--inverted, .btn--inverted:hover {
	background-color: transparent;
	color: var(--secondary-100);
}

.btn--link {
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--secondary-100);
	padding-left: 0;
	padding-right: 0;
}
.btn--link:hover {
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--secondary-50);
}

.btn--text {
	display: inline-block;
	border-color: transparent;
}
.btn [class^="icon-"] + .btn--text, .btn [class*=" icon-"] + .btn--text {
	padding-left: 12px;
}
.btn .btn--text + [class^="icon-"], .btn .btn--text + [class*=" icon-"] {
	padding-left: 12px;
}
.btn .icon-wrapper > i {
	font-size: 16px;
}
.btn .icon-wrapper > svg {
	height: 16px;
}

@media screen and (min-width: 992px) {
	.btn:not(.btn--link), .elementor-button {
		padding: 10px 36px;
	}
}

/**** Backgrounds & style overrides ****/
[class^="background--"], [class*=" background--"] {
	color: var(--body-color);
	background-color: var(--background-color);
}
.background--primary {
	--body-color: var(--white);
	--heading-color: var(--white);
	--heading-link-color: var(--white);
	--link-color: var(--white);
	--link-hover-color: var(--white);
	--background-color: var(--primary-100);
	--border-color: var(--white);
}
.background--secondary {
	--body-color: var(--white);
	--heading-color: var(--white);
	--heading-link-color: var(--white);
	--link-color: var(--white);
	--link-hover-color: var(--white);
	--background-color: var(--secondary-100);
	--border-color: var(--white);
}
.background--tertiary {
	--body-color: var(--grey-25);
	--heading-color: var(--grey-25);
	--heading-link-color: var(--grey-25);
	--link-color: var(--white);
	--link-hover-color: var(--white);
	--background-color: var(--tertiary-100);
	--border-color: var(--white);
}
.background--faint-grey, .background--grey-0 {
	--background-color: var(--grey-0);
}
.background--faint-grey, .background--grey-25 {
	--background-color: var(--grey-25);
}
.background--light-grey, .background--grey-50 {
	--background-color: var(--grey-50);
}
.background--mid-grey, .background--grey-75 {
	--background-color: var(--grey-75);
}
.background--dark-grey, .background--grey-100 {
	--background-color: var(--grey-100);
}
.background--black {
	--body-color: var(--white);
	--background-color: var(--black);
}
.background--split::before {
	content: '';
	background-color: var(--primary-100);
	height: calc(50% + var(--font-size--h1) + var(--text-spacing));
	width: 100%;
}

/*.background--primary .btn, .background--primary .elementor-button, .background--primary .btn:hover, .background--primary .elementor-button:hover {
	background-color: var(--white);
	border: solid 1px var(--white);
	color: var(--primary-100);
}
.background--primary .btn--inverted, .background--primary .btn--inverted:hover {
	background-color: transparent;
	color: var(--white);
}
.background--primary .btn--link {
	color: var(--white);
}
[class^="background--grey-"] .btn, [class^="background--grey-"] .btn:hover, [class*=" background--grey-"] .btn, [class*=" background--grey-"] .btn:hover {
	background-color: var(--white);
	border: solid 1px var(--white);
	color: var(--secondary-100);
}
[class^="background--grey-"] .btn--inverted, [class^="background--grey-"] .btn--inverted:hover, [class*=" background--grey-"] .btn--inverted, [class*=" background--grey-"] .btn--inverted:hover {
	background-color: transparent;
	border: solid 1px var(--white);
	color: var(--secondary-100);
}
.btn--primary:not(.btn--inverted) {
	background-color: var(--primary-100);
	border-color: var(--primary-100);
}
.btn--primary.btn--inverted {
	border-color: var(--primary-100);
	color: var(--primary-100);
}

.background--primary h1, .background--primary h2, .background--primary h3, .background--primary h4, .background--primary h5 {
	color: var(--secondary-100);
}
.background--split h1, .background--split h2, .background--split h3, .background--split h4, .background--split h5 {
	color: var(--white);
}

.background--primary .elementor-field-type-text input, .background--secondary .elementor-field-type-text input,  
.background--primary .elementor-field-type-email input, .background--secondary .elementor-field-type-email input, 
.background--primary .elementor-field-type-tel input, .background--secondary .elementor-field-type-tel input, 
.background--primary .elementor-field-type-url input, .background--secondary .elementor-field-type-url input, 
.background--primary .elementor-field-type-password input, .background--secondary .elementor-field-type-password input, 
.background--primary .elementor-field-type-number input, .background--secondary .elementor-field-type-number input, 
.background--primary .elementor-field-type-date input, .background--secondary .elementor-field-type-date input, 
.background--primary .elementor-field-type-time input, .background--primsecondaryary .elementor-field-type-time input, 
.background--primary .elementor-field-type-textarea textarea, .background--secondary .elementor-field-type-textarea textarea, 
.background--primary .form-row .input-text, .background--secondary .form-row .input-text, 
.background--primary .form-row textarea, .background--secondary .form-row textarea {
	border-color: var(--white);
	color: var(--white);
}
.background--primary ::placeholder, .background--secondary ::placeholder {
  color: var(--white);
  opacity: 1;
}
.background--primary ::-ms-input-placeholder, .background--secondary ::-ms-input-placeholder {
  color: var(--white);
  opacity: 1;
}
.background--primary .input--validation-message, .background--secondary .input--validation-message {
	color: var(--error-25);
}*/

/**** Component: Icons ****/
.icon-align--left {
	margin-right: 8px;
}
.icon-align--right {
	order: 2;
	margin-left: 8px;
}

/**** Component: Hero Image ****/
.hero-image {
	position: relative;
	max-height: 150vw;
	overflow: hidden;
}

.hero-image--notice-bar-padding {
	padding-top: var(--notice-bar-height);
}	
.hero-image--orientation-portrait {
	height: 100vh;
}
.hero-image::after {
	content: "";
	display: block;
	background-image: linear-gradient(rgba(0, 0, 0, 0.7) 0px, rgba(0, 0, 0, 0) 400px);
	width: 100%;
	height: 400px;
	position: absolute;
	left: 0;
	top: 0;
}
.hero-image--shadow-dark::after {
  background-image: linear-gradient(rgba(0, 0, 0, 0.8) 0px, rgba(0, 0, 0, 0) 400px);
}
.hero-image--shadow-medium::after {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5) 0px, rgba(0, 0, 0, 0) 400px);
}
.hero-image--shadow-light::after {
  background-image: linear-gradient(rgba(0, 0, 0, 0.35) 0px, rgba(0, 0, 0, 0) 400px);
}
.hero-image--shadow-faint::after {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0) 400px);
}
.hero-image--shadow-none::after {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 400px);
}
.hero-image img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.hero-image--top-left img {
  object-position: left top;
}
.hero-image--top-center img {
  object-position: center top;
}
.hero-image--top-right img {
  object-position: right top;
}
.hero-image--center-left img {
  object-position: left center;
}
.hero-image--center-center img {
  object-position: center center;
}
.hero-image--center-right img {
  object-position: right center;
}
.hero-image--bottom-left img {
  object-position: left bottom;
}
.hero-image--bottom-center img {
  object-position: center bottom;
}
.hero-image--bottom-right img {
  object-position: right bottom;
}
.hero-image__scroll-btn {
  position: absolute;
  bottom: 100px;
  left: 50%;
  background-color: var(--white);
  padding: 12px 24px;
  transform: translateX(-50%);
  cursor: pointer;
}
.hero-image__text-wrapper {
	position: absolute;
	height: 100%;
	z-index: 1;
	top: 0;
	width: var(--body-content-width);
	/* margin: 0 var(--body-margin); */
	display: flex;
	justify-content: flex-end;
	align-items: center;
	transform: translateX(var(--body-content-left));
	padding: var(--spacer-5) 0;
}
.hero-image__text {
	position: relative;
	z-index: 1;
	left: 0;
	display: flex;
	flex-direction: column;
	top: auto;
	margin: var(--spacer-5) 0;
	max-width: 60%;
}
.hero-image__title, .hero-image__content {
	color: var(--white);
	text-shadow: 0 0 20px rgb(0, 0, 0);
}
.hero-image__title {
	font-size: var(--font-size--h3);
}
.hero-image--text-top-left .hero-image__text-wrapper {
	justify-content: flex-start;
	align-items: flex-start;
}
.hero-image--text-top-center .hero-image__text-wrapper {
	justify-content: center;
	align-items: flex-start;
}
.hero-image--text-top-right .hero-image__text-wrapper {
	justify-content: flex-end;
	align-items: flex-start;
}
.hero-image--text-center-left .hero-image__text-wrapper {
	justify-content: flex-start;
	align-items: center;
}
.hero-image--text-center-center .hero-image__text-wrapper {
	justify-content: center;
	align-items: center;
}
.hero-image--text-center-right .hero-image__text-wrapper {
	justify-content: flex-end;
	align-items: center;
}
.hero-image--text-bottom-left .hero-image__text-wrapper {
	justify-content: flex-start;
	align-items: flex-end;
}
.hero-image--text-bottom-center .hero-image__text-wrapper {
	justify-content: center;
	align-items: flex-end;
}
.hero-image--text-bottom-right .hero-image__text-wrapper {
	justify-content: flex-end;
	align-items: flex-end;
}

@media screen and (max-width: 767px) {
	.hero-image__text-wrapper {
		padding: var(--spacer-2) 0;
		align-items: center !important;
	}
	.hero-image__title {
		font-size: var(--font-size--h5);
	}
	.hero-image__content {
		font-size: var(--font-size--sm);
	}
	.hero-image__buttons .btn {
		font-size: var(--font-size--sm);
		padding: 4px 10px;
	}
	.hero-image__text {
		max-width: none;
		margin: 0;
	}
}
@media screen and (min-width: 992px) {
  	.hero-image {
		height: calc(100vh - var(--header-init-height));
		max-height: calc((100vw / 16) * 7);
	}
	.hero-image--lg {
		max-height: calc((100vw / 16) * 9);
	}
	.hero-image--md {
		max-height: calc((100vw / 3) * 1);
	}
	.hero-image--sm {
		max-height: calc((100vw / 4) * 1);
	}
}
@media screen and (min-width: 3840px) {
	.hero-image {
		height: 66.66667vh;
		max-height: calc((66.66667vw / 16) * 7);
	}
	.hero-image--lg {
		max-height: calc((66.66667vw / 16) * 9);
	}
	.hero-image--md {
		max-height: calc((66.66667vw / 3) * 1);
	}
	.hero-image--sm {
		max-height: calc((66.66667vw / 4) * 1);
	}
	
}
@media screen and (min-width: 7680px) {
	.hero-image {
		height: 33.33333vh;
		max-height: calc((33.33333vw / 16) * 7);
	}
	.hero-image--lg {
		max-height: calc((33.33333vw / 16) * 9);
	}
	.hero-image--md {
		max-height: calc((33.33333vw / 3) * 1);
	}
	.hero-image--sm {
		max-height: calc((33.33333vw / 4) * 1);
	}
}


/**** Component: Carousel ****/
.carousel {
	position: relative;
}
.carousel .row > [class*="col-"] {
	margin-bottom: 0;
}
.carousel__wrapper {
	margin: 0 40px;
	overflow: hidden;
}
.carousel--single > .carousel__wrapper {
	margin: 0;
}
.carousel__wrapper > .row, .carousel__wrapper > .slides {
	flex-wrap: nowrap;
	transform: translateX(0);
	transition: all 0.3s ease-out 0s;
}
.carousel__btn {
	position: absolute;
	top: calc(50% - 20px);
	width: 40px;
	height: 40px;
	cursor: pointer;
	text-indent: -9999rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.carousel__btn--hide {
	display: none;
}
.carousel__navigation .carousel__btn {
	position: relative;
	width: 16px;
	height: 16px;
}
.carousel__btn[disabled] {
	cursor: auto;
	opacity: 0.5;
}
.carousel__btn--prev:not(.carousel__navigation-btn .carousel__btn) {
	left: -10px;
}
.carousel__btn--next:not(.carousel__navigation-btn .carousel__btn) {
	right: -10px;
}
.carousel__btn::after {
	content: ' ';
	border-top: solid 2px var(--border-color);
	width: 20px;
	height: 20px;
	display: block;
}
.carousel__navigation .carousel__btn::after {
	position: absolute;
	width: 16px;
	height: 16px;
}
.carousel__btn--prev::after {
	border-left: solid 2px var(--border-color);
	transform: rotate(-45deg);
	left: 0px;
}
.carousel__btn--next::after {
	border-right: solid 2px var(--border-color);
	transform: rotate(45deg);
	right: 0px;
}
.background--primary .carousel__btn::after, .background--tertiary .carousel__btn {
	border-color: var(--white);
}
.carousel__navigation {
	margin: 30px auto;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.carousel--single > .carousel__navigation {
	display: none;
}
.carousel__navigation-item {
	display: inline-block;
	margin: 0 6px;
}
.carousel__navigation-btn {
	display: inline-block;
	margin: 0 12px;
}
.carousel__navigation-item button {
	text-decoration: none;
	text-indent: -9999rem;
	display: block;
	width: 16px;
	height: 16px;
	border: solid 1px var(--secondary-50);
	border-radius: 50%;
	cursor: pointer;
}
.carousel__navigation-item.active button {
	background-color: var(--secondary-50);
}

.carousel--drag .carousel__btn {
	display: none;
}
.carousel--drag .carousel__wrapper {
	overflow: visible;
}

@media screen and (min-width: 768px) {
	.carousel--drag .carousel__wrapper {
		overflow: visible;
		clip-path: inset( -100vw -100vw -100vw 0 );
	}
}
@media screen and (min-width: 992px) {
	.carousel__wrapper {
		margin: 0;
	}
	.carousel__btn--prev:not(.carousel__navigation-btn .carousel__btn) {
		left: -45px;
	}
	.carousel__btn--next:not(.carousel__navigation-btn .carousel__btn) {
		right: -45px;
	}

}
@media screen and (min-width: 1200px) {
	.carousel__btn::after {
		width: 40px;
		height: 40px;
	}
	.carousel__btn--prev:not(.carousel__navigation-btn .carousel__btn) {
		left: -60px;
	}
	.carousel__btn--next:not(.carousel__navigation-btn .carousel__btn) {
		right: -60px;
	}
}


/**** Component: Hero Carousel ****/
:root {
	--hero-carousel-width: var(--app-width);
	--hero-carousel-height: calc(var(--app-width) / 16 * 9);
}
.hero-carousel {
	margin-bottom: -1px;
}
.hero-carousel .carousel__wrapper {
	margin: 0;
}
.hero-carousel__slides {
	display: flex;
	flex-direction: revert;
	flex-wrap: nowrap;
}
.hero-carousel__slide {
	flex-basis: 100%;
	flex-shrink: 0;
	position: relative;
	width: var(--hero-carousel-width);
	height: var(--hero-carousel-height);
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding-bottom: 48px;
	padding-right: 36px;
}
.hero-carousel__slide_image, .hero-carousel__slide_video {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 0;
	overflow: hidden;
}
.hero-carousel__slide_image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: center center;
}


.hero-carousel__slide_video_wrapper {
	position: absolute;
	
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.hero-carousel__slide_video_wrapper > iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.hero-carousel__slide_video + .hero-carousel__slide_text .hero-carousel__slide_title::after {
	margin-top: var(--hero-carousel-test);
}


.hero-carousel__slide_text {
	z-index: 1;
	color: var(--white);
	width: 50%;
}
.hero-carousel__slide_title {
	font-size: var(--font-size--h4);
	line-height: 1.2;
	margin-bottom: 6px;
	text-shadow: 0px 0px 20px var(--black);
	color: var(--white);
}
.hero-carousel__slide_content {
	font-size: var(--font-size--sm);
	font-weight: var(--primary-font-weight--semi-bold);
	text-shadow: 0px 0px 20px var(--black);
}
.hero-carousel__slide_btn {
	display: inline-block;
	border: solid 1px var(--white);
	padding: 6px 12px;
	color: var(--white);
	background-color: rgba(0,0,0,0.2);
	font-weight: var(--primary-font-weight--semi-bold);
	font-size: var(--font-size--sm);
}
.hero-carousel__slide_btn:hover {
	color: inherit;
	text-decoration: none;
}
.hero-carousel .carousel__navigation {
	margin: 0;
	position: absolute;
	bottom: 11px;
	width: 100%;
}
.hero-carousel .carousel__navigation-item {
	margin: 0 3px;
}
.hero-carousel .carousel__navigation-item button {
	border: solid 1px var(--white);
	width: 12px;
	height: 12px;
}
.hero-carousel .carousel__navigation-item.active button {
	background-color: var(--white);
}
.hero-carousel .carousel__btn {
	z-index: 2;
	top: calc(50% - 20px);
}
.hero-carousel .carousel__btn::after {
	border-color: var(--white);
	top: 12px;
}
.hero-carousel .carousel__btn--prev::after {
	left: 12px;
}
.hero-carousel .carousel__btn--next::after {
	right: 12px;
}
.hero-carousel .carousel__navigation .carousel__btn::after {
	width: 12px;
	height: 12px;
	top: 0;
}


@media screen and (min-width: 576px) {
	.hero-carousel__slide {
		padding-bottom: 72px;
	}
	.hero-carousel__slide_text {
		width: 45%;
	}
	.hero-carousel__slide_title {
		font-size: var(--font-size--h3);
		margin-bottom: 12px;
	}
	.hero-carousel__slide_content {
		font-size: var(--font-size);
	}
	.hero-carousel__slide_btn {
		font-size: 15px;
		padding: 8px 24px;
	}
}
@media screen and (min-width: 768px) {
	.hero-carousel__slide {
		/*height: 66vw;*/
		padding-bottom: 100px;
	}
	.hero-carousel__slide_title {
		font-size: var(--font-size--h2);
	}
	.hero-carousel__slide_content {
		margin-bottom: 24px;
	}
}
@media screen and (min-width: 992px) {
	.hero-carousel__slide_text {
		width: 40%;
	}
	.hero-carousel__slide {
		 padding-bottom: 120px; 
		padding-right: var(--body-margin);
	}
	.hero-carousel__slide_title {
		font-size: var(--font-size--h1);
	}
}
@media screen and (min-width: 1200px) {
	.hero-carousel__slide {
		/*height: 60vw;*/
		padding-bottom: 160px;
		max-height: calc(100vh - var(--scroll-offset));
	}
	.hero-carousel__slide_text {
		width: 37%;
		max-width: 600px;
	}
	.hero-carousel__slide_video_wrapper {
		width: 100vw;
		height: 56.25vw;
	}
}
@media screen and (min-width: 1680px) {
	.hero-carousel__slide {
		justify-content: flex-start;
		padding-bottom: 25vh;
	}
	.hero-carousel__slide_text {
		margin-left: 60%;
	}
}

/**** Component: Rich Text ****/
.rich-text--size-xsm p, .text-heading--size-xsm p, .text-size-xsm {
	font-size: var(--font-size--xsm);
}
.rich-text--size-sm p, .text-heading--size-sm p, .text-size-sm {
	font-size: var(--font-size--sm);
}
.rich-text--size-lg p, .text-heading--size-lg p, .text-size-lg {
	font-size: var(--font-size--lg);
}
.rich-text--size-xlg p, .text-heading--size-xlg p, .text-size-xlg {
	font-size: var(--font-size--xlg);
}

/**** Component: Text Heading ****/
.text-heading--spacing {
	margin-bottom: var(--text-spacing);
}
.text-heading--decorated {
	padding-bottom: 24px;
}
.text-heading--decorated > :first-child {
	display: inline-block;
	position: relative;
}
.text-heading--decorated > :first-child::after {
	content: '';
	border-bottom: solid 3px var(--secondary-25);
	width: 100px;
	display: inline-block;
	max-width: 50%;
	position: absolute;
	left: 0;
	bottom: -24px;
}
.text-heading--overline {
	margin-bottom: calc(var(--text-spacing) * -1);
}
.background--tertiary .text-heading--decorated > :first-child::after {
	border-color: var(--secondary-75);
}
.text-heading--decorated > h5:first-child::after, .text-heading--decorated > h6:first-child::after {
	border-width: 2px;
}
.text-heading--decorated.text-align-right > :first-child::after, .text-heading--decorated:is(.text-align-right .text-heading--decorated) > :first-child::after {
	left: auto;
	right: 0;
}
.text-heading--decorated.text-align-center > :first-child::after, .text-heading--decorated:is(.text-align-center .text-heading--decorated) > :first-child::after {
	left: 50%;
	right: auto;
	transform: translateX(-50%);
}
footer .text-heading--decorated > :first-child::after {
	width: 60px;
}

@media screen and (min-width: 992px) {
	.text-heading--decorated > *:first-child::after {
		max-width: 50%;
		width: 200px;
	}
}


/**** Component: Image CTA ****/
.image-cta {
	position: relative;
	transform: scale(1);
	box-shadow: 0px 12px 24px rgba(0,0,0,0);
	transition: var(--transition);
	height: 100%;
	width: 100%;
}
.image-cta__image, .image-cta__image > .image {
	width: 100%;
	height: 100%;
}
.image-cta__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.image-cta:hover {
	box-shadow: 0px 12px 24px rgba(0,0,0,0.25);
	transform: scale(1.05);
}
.image-cta__button a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.image-cta__button a span {
	background-color: var(--primary-100);
	color: var(--white);
	text-decoration: none;
	padding: 6px 16px;
	display: block;
	position: absolute;
	bottom: 20px;
	left: 20px;
	text-transform: uppercase;
	border-radius: 3px;
}

@media screen and (min-width: 992px) {
	.image-cta__button a span {
		bottom: 40px;
		left: 40px;
		padding: 10px 24px;
	}

}
@media screen and (min-width: 1200px) {
	.image-cta__button a span {
		padding: 16px 32px;
		font-size: 20px;
	}

}

/**** Component: Text Image Block ****/
.text-image-block img {
	margin-bottom: var(--component-spacing);
}
@media screen and (min-width: 768px) {
	/* md */
	.text-image-block img {
		float: right;
		max-width: 40%;
		margin-bottom: var(--gutter-width);
		margin-left: calc(var(--gutter-width) * 2);
	}
	.text-image-block--left img {
		float: left;
		margin-bottom: var(--gutter-width);
		margin-left: 0;
		margin-right: calc(var(--gutter-width) * 2);
	}
	.text-image-block__content::after {
		content: '';
		clear: both;
		display: block;
		height: 0;
		line-height: 0;
	}
	.text-image-block--left ul, .text-image-block--left ol {
		margin-left: 0;
		transform: translateX(var(--spacer-3));
		padding-right: var(--spacer-3);
	}
}

/**** Component: Divider ****/
.divider {
	border-top: solid 1px var(--grey-25);
	margin-top: var(--component-spacing);
	margin-bottom: var(--component-spacing);
}
.background--tertiary .divider {
	border-color: var(--tertiary-50);
}
.divider--double {
	margin-top: calc(var(--component-spacing) * 2);
	margin-bottom: calc(var(--component-spacing) * 2);
}
.elementor-widget-container > .divider {
	margin-top: calc(var(--component-spacing) / 2);
	margin-bottom: calc(var(--component-spacing) / 2);
}
.elementor-widget-container > .divider--double {
	margin-top: var(--component-spacing);
	margin-bottom: var(--component-spacing);
}

.spacer-inner {
	display: block;
	height: var(--component-spacing);
}
.spacer--double .spacer-inner {
	height: calc(var(--component-spacing) * 2);
}
.elementor-widget-container > .spacer .spacer-inner {
	height: 0;
}
.elementor-widget-container > .spacer--double .spacer-inner {
	height: var(--component-spacing);
}


/**** Component: Highlighted CTA ****/
.highlighted-cta__content {
	gap: var(--component-spacing);
}
@media screen and (min-width: 992px) {
	.highlighted-cta > .row {
		align-items: center;
	}
	.highlighted-cta__image {
		order: 2;
	}
}


/**** Component: Breadcrumbs ****/
.component.breadcrumbs {
	margin: 30px 0 0 0;
}
.breadcrumbs ul {
	display: flex;
	gap: 5px;
	margin: 0;
	font-size: var(--font-size--sm);
	color: var(--secondary-100);
}
.breadcrumbs ul li {
	margin: 0;
}
.breadcrumbs ul li::before {
	content: '/';
	color: var(--primary-100);
	margin-right: 5px;
	display: inline-block;
}
.breadcrumbs ul li:first-child::before {
	display: none;
}
.breadcrumbs ul li a {
	color: var(--primary-100);
}



/**** Component: Icons ****/
:root {
	--ico-base-size: 16px;
	--ico-base-size--12: 12px;
	--ico-base-size--24: 24px;
	--ico-base-size--36: 36px;
	--ico-base-size--48: 48px;
	--ico-base-size--60: 60px;
	--ico-base-size--72: 72px;
}
@media screen and (max-width: 575px) {
	:root {
		--ico-base-size: 14px;
		--ico-base-size--12: 10px;
		--ico-base-size--24: 18px;
		--ico-base-size--36: 22px;
		--ico-base-size--48: 28px;
		--ico-base-size--60: 36px;
		--ico-base-size--72: 48px;
	}
}
@media screen and (min-width: 576px) and (max-width: 991px) {
	:root {
		--ico-base-size--24: 18px;
		--ico-base-size--36: 24px;
		--ico-base-size--48: 36px;
		--ico-base-size--60: 48px;
		--ico-base-size--72: 60px;
	}
}
[class^="ico-"], [class*=" ico-"] {
	font-size: var(--ico-base-size);
	display: inline-block;
}
.ico--12 {
	--ico-base-size: var(--ico-base-size--12);
}
.ico--24 {
	--ico-base-size: var(--ico-base-size--24);
}
.ico--36 {
	--ico-base-size: var(--ico-base-size--36);
}
.ico--48 {
	--ico-base-size: var(--ico-base-size--48);
}
.ico--60 {
	--ico-base-size: var(--ico-base-size--60);
}
.ico--72 {
	--ico-base-size: var(--ico-base-size--72);
}
.ico--primary {
  color: var(--primary-100);
}
.ico--secondary {
  color: var(--secondary-100);
}
.ico--tertiary {
  color: var(--tertiary-100);
}
.ico--white {
  color: var(--white);
}


/**** Component: Icon Text ****/
.icontext {
	display: flex;
	flex-direction: row;
	gap: 16px;
}
.text-align-center > div > .icontext {
	justify-content: center;
}
.text-align-right > div > .icontext {
	justify-content: flex-end;
}
.icontext__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
}
.icontext__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.icontext--top {
	align-items: flex-start;
}
.icontext--center {
	align-items: center;
}
.icontext--bottom {
	align-items: flex-end;
}
.icontext--above {
	flex-direction: column;
	align-items: center;
}

.ico-wrapper {
	--ico-size: var(--ico-base-size);
	display: flex;
	width: var(--ico-size);
	height: var(--ico-size);
	justify-content: center;
	align-items: center;
}
.icontext--12 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--12); 
}
.icontext--24 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--24); 
}
.icontext--36 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--36); 
}
.icontext--48 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--48); 
}
.icontext--60 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--60); 
}
.icontext--72 .ico-wrapper {
	--ico-base-size: var(--ico-base-size--72); 
}
.ico-wrapper[class*=" background--"] {
	border-radius: 50%;
	--ico-size: calc(var(--ico-base-size) * 2.2);
}

/**** Component: Trustpilot ****/
.trustpilot {
	text-align: center;
}
.trustpilot p {
	display: flex;
	justify-content: center;
	align-items: center;
}
.trustpilot__stars {
	color: #ffd70a;
	padding: 0 6px;
	line-height: 16px;
	display: inline-flex;
}
.trustpilot__stars i {
	font-size: 14px;
}
@media screen and (min-width: 992px) {
	.trustpilot__stars {
		padding: 0 10px;
	}
	.trustpilot__stars i {
		font-size: 16px;
	}
}

/**** Component: Social Links ****/
.social-links li {
	display: inline-block;
	margin-bottom: 0;
	margin-right: 12px;
}
.social-links li:last-child {
	margin-right: 0;
}
.social-links a {
	display: flex;
	background-color: var(--grey-100);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
}
.social-links a:hover {
	color: var(--grey-50);
	text-decoration: none;
}

/**** Component: Post Listings ****/
.post-listing {
	text-align: center;
}
.post-listing__image {
  margin-bottom: var(--component-spacing);
}
.post-listing__content {
	gap: var(--component-spacing);
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 768px) {
  .post-listing--single {
    display: flex;
    align-items: center;
    text-align: left;
  }
  .post-listing--single .post-listing__image {
    margin-right: calc(var(--component-spacing) * 2);
    margin-bottom: 0;
    flex: 0 0 33%;
  }
}
@media screen and (min-width: 992px) {
	.post-listing {
		text-align: left;
		border: none;
		padding-left: 0;
		padding-right: 0;
	}
	.post-listing--single {
		display: flex;
		align-items: center;
		text-align: left;
		padding-bottom: 48px;
	}
}

/**** Component: Pagination ****/
.post-listings + .pagination, .post-cards + .pagination, .product-cards + .pagination {
	margin-top: var(--section-padding);
}
.pagination ul {
	list-style: none;
	margin: 0;
	display: flex;
	justify-content: flex-start;
}
.pagination li {
  display: inline-block;
  margin: 0 4px;
}
.pagination li:first-child {
  margin-left: 0;
}
.pagination li:last-child {
  margin-right: 0;
}
.pagination .page {
	display: inline-block;
	padding: 6px 8px;
	text-decoration: none;
	border: solid 1px var(--primary-100);
	color: var(--primary-100);
	border-radius: 3px;
	line-height: 30px;
	text-align: center;
	min-width: 44px;
}
.pagination .page:not(.page--active, .page.page--disabled, .page.page--truncate):hover {
  background-color: var(--secondary-50);
  border-color: var(--secondary-50);
  color: var(--white);
}
.pagination .page.page--truncate {
  border-color: transparent;
}
.pagination .page.page--active {
	background-color: var(--primary-100);
	color: var(--white);
}
.pagination .page--disabled {
  opacity: 0.2;
  cursor: default;
}
.pagination .page--txt {
  font-size: var(--font-size--sm);
}

/*--- 8.x Post Cards ---*/
.post-cards + .pagination {
	margin-top: var(--section-padding);
}
.post-card {
	position: relative;
	border: solid 1px var(--grey-50);
	padding-bottom: 70px;
	min-height: 100%;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	transform: scale(1);
	transition: var(--transition);
	background-color: var(--white);
	text-align: center;
}
.post-card:hover {
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
	transform: scale(1.05);
}
.post-card::before {
	content: '';
	border-top: solid 6px var(--secondary-50);
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 0;
}
.post-card__text {
	padding: var(--spacer-3);
}
.post-card__button {
	position: absolute;
	bottom: 0;
	padding: 0 30px 30px 30px;
	width: 100%;
}
.post-card__text h3 a::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
	left: 0;
}

/*--- 8.x Product Cards ---*/
.product-card {
	text-align: center;
	border: solid 1px #DDD;
	padding: 24px;
}
.product-card__image {
  margin-bottom: var(--component-spacing);
}
.product-card__overline {
	font-size: var(--font-size--sm);
	margin-bottom: 10px;
	font-weight: 400;
}
.product-card__content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.product-card__attributes {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.product-card__price {
	font-weight: var(--primary-font-weight--bold);
	font-size: var(--font-size--h3);
	color: var(--primary-100);
	margin-bottom: 0;
}
.product-card__price .price-info {
	display: flex;
	align-items: center;
	gap: 20px;
	justify-content: center;
	margin: 0;
}

@media screen and (min-width: 768px) {
	.product-card--single {
		display: flex;
		align-items: center;
		text-align: left;
	}
	.product-card--single .product-card__image {
		margin-right: calc(var(--component-spacing) * 2);
		margin-bottom: 0;
		flex: 0 0 33%;
	}
	.product-card__price {
		font-size: var(--font-size--h4);
	}
	.woocommerce .price-info {
		justify-content: flex-start;
	}
}
@media screen and (min-width: 992px) {
	.product-card {
		text-align: left;
		border: none;
		padding: 0;
	}
}
@media screen and (min-width: 1680px) {
	.product-card__attributes {
		gap: var(--component-spacing);
		display: flex;
		flex-direction: revert;
		align-items: center;
		justify-content: space-between;
		margin-top: 16px;
	}
}

/**** Component: Filter Menu ****/
.filter-menu ul {
	list-style: none;
	margin-left: 0;
}
.filter-menu ul ul {
	margin-left: 24px;
}
.filter-menu__selected-filters, .filter-menu__search, .filter-menu__taxonomy {
	margin-bottom: var(--component-spacing);
}
.filter-menu__selected-filters {
	display: none;
}
.filter-menu__selected-filters:has(li) {
	display: block;
}
.filter-menu__selected-filters ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}
.filter-menu__selected-filters li {
	margin: 0;
	padding: 0;
	display: inline;
}
.filter-menu__selected-filters a {
	background-color: var(--secondary-100);
	color: var(--white);
	padding: 4px 12px;
	display: inline-flex;
	border-radius: 20px;
	font-size: var(--font-size--sm);
	align-items: center;
}
.filter-menu__selected-filters a:hover {
	text-decoration: none;
}
.filter-menu__selected-filters a.clear-all {
	background-color: var(--primary-100);
}
.filter-menu__selected-filters a::after {
	content: "\2715";
	padding-left: 10px;
	font-size: 11px;
	font-weight: 800;
}
.filter-menu__search .search-wrapper {
	position: relative;
}
.filter-menu__search .search-wrapper button {
	position: absolute;
	color: var(--grey-75);
	top: 0;
	right: 0;
	height: 46px;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.filter-menu__item a {
	position: relative;
	padding-left: 24px;
	line-height: 24px;
	color: var(--body-100);
}
.filter-menu__item a:hover {
	text-decoration: none;
}
.filter-menu__item a::before {
	content: '';
	width: 16px;
	height: 16px;
	display: inline-block;
	border: solid 1px var(--grey-100);
	margin-right: 8px;
	position: absolute;
	left: 0;
	top: 4px;
}
.filter-menu__item--active > a::after {
	content: '\2714';
	color: var(--secondary-50);
	position: absolute;
	display: inline-block;
	left: 0;
	top: 0;
	font-size: 14px;
	width: 16px;
	text-align: center;
}
@media screen and (max-width: 991px) {
	.btn-filter-menu {
		display: flex;
		width: 100%;
		background-color: var(--grey-25);
		padding: 12px 24px;
		justify-content: center;
		align-items: center;
		gap: 8px;
		border-radius: 30px;
		font-weight: 400;
		cursor: pointer;
	}
	.btn-filter-close {
		position: absolute;
		right: 0;
		cursor: pointer;
	}
	.filter-menu__selected-filters:has(li) {
		border-bottom: solid 1px #ddd;
		padding: 24px 0;
		margin-bottom: 0;
	}
	.filter-menu__panels {
		position: fixed;
		background-color: var(--white);
		width: 100%;
		right: 0;
		top: var(--scroll-offset);
		bottom: 0;
		z-index: 99;
		padding: 36px 24px;
		overflow-y: auto;
		display: none;
	}
	.filter-menu--open .filter-menu__panels {
		display: block;
	}
	.filter-menu__title {
		font-family: var(--primary-font-family);
		text-align: center;
		border-bottom: solid 1px #ddd;
		padding-bottom: 36px;
		color: var(--body-100);
		font-size: var(--font-size--h6);
		font-weight: 500;
		margin-bottom: 0;
		position: relative;
	}
	.filter-menu__panel {
		margin-bottom: 0;
	}
	.filter-menu__header {
		padding: 24px 0;
		margin-bottom: 0;
		border-bottom: solid 1px #ddd;
		display: flex;
		justify-content: space-between;
		align-content: center;
		cursor: pointer;
		  -webkit-user-select: none; /* Safari */
		  -ms-user-select: none; /* IE 10 and IE 11 */
		  user-select: none; /* Standard syntax */
	}
	.filter-menu__header::after {
		content: '';
		border-right: solid 2px var(--body-100);
		border-bottom: solid 2px var(--body-100);
		width: 8px;
		height: 8px;
		display: block;
		transform: rotate(45deg);
		margin-top: 4px;
		transition: var(--transition);
	}
	.filter-menu__panel--open .filter-menu__header::after {
		transform: rotate(225deg);
	}
	.filter-menu__content {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
	}
	.filter-menu__panel--open .filter-menu__content {
		max-height: 2000px;
		overflow-x: visible;
		overflow-y: auto;
		border-bottom: solid 1px #ddd;
		padding-bottom: 24px;
		opacity: 1;
	}
	.filter-menu__price.filter-menu__panel--open .filter-menu__content {
		overflow: visible
	}
	.filter-menu__panel--open .filter-menu__header {
		border-bottom: solid 1px transparent;
	}
}
@media screen and (min-width: 992px) {
	.btn-filter-menu, .filter-menu__title {
		display: none;
	}
	.elementor-widget-filter_menu {
		min-height: 100%;
	}
	.filter-menu {
		height: 100%;
		border-left: solid 1px #DDD;
		padding-left: calc(var(--gutter-width) * 2);
	}
}

/**** Component: Testimonials ****/
.testimonials__content {
	justify-content: center;
}

/**** Component: Post Content ****/
img.alignright, img.alignleft {
	margin-bottom: var(--spacer-2);
	display: block;
}
@media screen and (min-width: 576px) {
	img.alignright, img.alignleft {
		max-width: 50%;
	}
	img.alignright {
		float: right;
		margin-left: var(--spacer-2);
		margin-bottom: var(--spacer-1);
	}
	img.alignleft {
		float: left;
		margin-right: var(--spacer-2);
		margin-bottom: var(--spacer-1);
	}
}


/**** Component: CTA Grid ****/
:root {
	--cta-grid-gap: 5px;
	--cta-grid-row-height: 250px;
}
.cta-grid__wrapper {
	display: flex;
	flex-direction: column;
	background-color: var(--grey-0);
	gap: var(--cta-grid-gap);
	padding: var(--cta-grid-gap);
}
.cta-grid__cell {
	position: relative;
	overflow: hidden;
}
.cta-grid__text {
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	bottom: 0;
	top: 40px;
	background-color: var(--primary-overlay-75);
	color: var(--white);
	font-size: var(--font-size--sm);
	font-weight: var(--primary-font-weight);
	padding: 16px;
	transform: translateY(100%);
	transition: var(--transition);
}
.cta-grid__cell:hover .cta-grid__text {
	transform: translateY(0);
}
.cta-grid__btn {
	color: var(--white);
	border: solid 1px var(--white);
	padding: 8px 12px;
	display: inline-block;
	transform: scale(100%);
	transition: var(--transition);
}
.cta-grid__btn:hover {
	color: var(--white);
	border: solid 1px var(--white);
	transform: scale(105%);
	text-decoration: none;
}
.cta-grid__title {
	position: absolute;
	background-color: var(--primary-100);
	left: 0;
	top: -40px;
	height: 40px;
	width: 70%;
	z-index: 2;
	max-width: 250px;
}
.cta-grid__title::before {
	content: '';
	width: 28px;
	height: 28px;
	display: block;
	position: absolute;
	top: 0;
	right: -28px;
	border-bottom: solid 28px var(--primary-100);
	border-left: solid 28px transparent;
	border-right: solid 28px transparent;
	z-index: -1;
}
.cta-grid__title::after {
	content: '';
	width: 28px;
	height: 12px;
	display: block;
	position: absolute;
	bottom: 0;
	right: -28px;
	background-color: var(--primary-100);
	z-index: -1;
}
.cta-grid__title h3 {
	line-height: 40px;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
	width: 100%;
	overflow: hidden;
	background-color: var(--primary-100);
	padding: 0 16px;
	position: relative;
	font-family: var(--primary-font-family);
	font-size: var(--font-size--lg);
	font-weight: var(--primary-font-weight);
}
.cta-grid__title h3 a {
	white-space: nowrap;
}

@media screen and (min-width: 768px) {
	.cta-grid__wrapper {
		flex-direction: revert;
		flex-wrap: wrap;
	}
	.cta-grid__cell {
		flex-shrink: 1;
		flex-grow: 1;
		flex-basis: calc(50% - var(--cta-grid-gap));
	}
	.cta-grid__text {
		padding: 36px 16px;
	}
}
@media screen and (min-width: 992px) {
	.cta-grid__cell {
		flex-basis: calc(33% - var(--cta-grid-gap));
	}
	.cta-grid__image {
		height: 100%;
	}
	.cta-grid__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	.cta-grid__title h3 {
		font-size: var(--font-size);
	}
	.cta-grid--length-4 .cta-grid__wrapper, 
	.cta-grid--length-5 .cta-grid__wrapper, 
	.cta-grid--length-6 .cta-grid__wrapper, 
	.cta-grid--length-7 .cta-grid__wrapper {
		display: grid;
		grid-template-columns: repeat(3,calc(25% - var(--cta-grid-gap))) calc(25%) !important;
		gap: var(--cta-grid-gap);
	}
	.cta-grid--length-4 .cta-grid__wrapper, 
	.cta-grid--length-5 .cta-grid__wrapper {
		grid-template-rows: repeat(2, var(--cta-grid-row-height)) !important;
	}
	.cta-grid--length-6 .cta-grid__wrapper, 
	.cta-grid--length-7 .cta-grid__wrapper {
		grid-template-rows: repeat(3, var(--cta-grid-row-height)) !important;
	}
	.cta-grid--length-4 .cta-grid__wrapper > :nth-of-type(7n+2),
	.cta-grid--length-5 .cta-grid__wrapper > :nth-of-type(7n+2),
	.cta-grid--length-6 .cta-grid__wrapper > :nth-of-type(7n+2),
	.cta-grid--length-7 .cta-grid__wrapper > :nth-of-type(7n+2){
		grid-column: span 2;
		grid-row: span 2;
	}
	.cta-grid--length-4 .cta-grid__wrapper > :nth-of-type(7n+3),
	.cta-grid--length-6 .cta-grid__wrapper > :nth-of-type(7n+3),
	.cta-grid--length-7 .cta-grid__wrapper > :nth-of-type(7n+3) {
		grid-row: span 2;
	}
	.cta-grid--length-6 .cta-grid__wrapper > :nth-of-type(7n+5),
	.cta-grid--length-7 .cta-grid__wrapper > :nth-of-type(7n+5) {
		grid-column: span 2;
	}
	.cta-grid--length-6 .cta-grid__wrapper > :nth-of-type(7n+6){
		grid-column: span 2;
	}
}
@media screen and (min-width: 1680px) {
	:root {
		--cta-grid-row-height: 300px;
	}
}

/**** Component: Gallery ****/
.gallery {
	position: relative;
	opacity: 0;
	transition: opacity 0.3s linear 0s;
}
.page-loaded .gallery {
	position: relative;
	opacity: 1;
}
.gallery__wrapper {
	margin: 0 -10px;
}
.gallery ul {
	list-style: none;
	margin: 0;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.gallery ul::after {
	content: '';
	display: block;
	clear: both;
}
.gallery li {
	margin: 0;
	padding: 10px;
}
.gallery a {
	display: block;
	width: 100%;
	height: 100%;
}
.gallery img {
	max-width: 100%;
	height: 200px;
	max-height: 300px;
}

/**** Component: Testimonials ****/
.testimonials {
	--quote-text-size: var(--font-size--h5);
	--quote-icon-size: 60px;
	--quote-size: 30px;
	--quote-padding: 24px;
	--quote-margin: 0;
}
@media screen and (min-width: 768px) {
	
}
@media screen and (min-width: 992px) {
	.testimonials {
		--quote-text-size: var(--font-size--h4);
		--quote-icon-size: 150px;
		--quote-size: 75px;
		--quote-padding: 75px;
		--quote-margin: 75px;
	}

}
@media screen and (min-width: 1200px) {
}
.testimonials__quote {
	font-family: var(--secondary-font-family);
	font-style: italic;
	font-size: var(--quote-text-size);
	text-align: center;
	padding: calc(var(--quote-padding) / 2) calc(var(--quote-padding) * 1.5);
	position: relative;
	margin: 0 var(--quote-margin);
}
.testimonials__client {
	text-align: center;
}
.testimonials__quote::before, 
.testimonials__quote::after {
	position: absolute;
	font-size: var(--quote-icon-size);
	height: var(--quote-size);
	line-height: 1;
	width: var(--quote-size);
	display: flex;
	opacity: 0.5;
}
.testimonials__quote::before {
	content: '\201C';
	top: 0;
	left: 0;
}
.testimonials__quote::after {
	content: '\201D';
	bottom: 0;
	right: 0;
}

/**** Component: Callout ****/
.callout {
	position: relative;
	padding: var(--section-padding-xl) var(--body-margin);
}
.callout__content {
	width: 100%;
	max-width: var(--max-container-width);
	margin: auto;
}
.callout__image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.callout__image::after {
	content: '';
	background-color: var(--primary-100);
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	opacity: 0.25;
}
.callout__image img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

/**** Component: Lightbox ****/
.lightbox__container {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 99;
	padding: 60px 60px 60px 60px;
}
.lightbox__container--image {
	padding: 60px 60px 200px 60px;
}
.lightbox__overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--tertiary-100);
	opacity: 0;
	z-index: 10;
	transition: all 0.3s linear 0s;
}
.lightbox__container--opening .lightbox__overlay {
	opacity: 0.95;
}
.lightbox__container--loaded .lightbox__overlay {
	opacity: 0.95;
}
.lightbox__container--closing .lightbox__overlay {
	opacity: 0;
}
.lightbox__wrapper {
	position: relative;
	z-index: 11;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
}
.lightbox__placeholder {
	position: absolute;
	z-index: 12;
	opacity: 1;
	margin-left: 0;
	transform: translateX(0);
	transition: width 0.35s linear 0s, height 0.35s linear 0s, left 0.35s linear 0s, top 0.35s linear 0s, margin-left 0.3s linear 0s, transform 0.3s linear 0s, opacity 0s linear 0s;
}
.lightbox__placeholder--hide {
	opacity: 0;
	transition: width 0.35s linear 0s, height 0.35s linear 0s, left 0.35s linear 0s, top 0.35s linear 0s, margin-left 0.3s linear 0s, transform 0.3s linear 0s, opacity 0.6s linear 0s;
}
.lightbox__placeholder--offset-left {
	opacity: 1;
	transform: translateX(100vw);
}
.lightbox__placeholder--offset-right {
	opacity: 1;
	transform: translateX(-100vw);
}
.lightbox__content {
	position: relative;
	margin: auto;
	opacity: 1;
	transition: transform 0.3s linear 0s;
}
.lightbox__content--offset-left {
	opacity: 0;
	transform: translateX(-100vw);
}
.lightbox__content--offset-right {
	opacity: 0;
	transform: translateX(100vw);
}
.lightbox__media {
	width: 100%;
	height: 100%;
}
.lightbox__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.lightbox__meta {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	color: var(--white);
	padding: 16px;
	font-size: var(--font-size--sm);
	transform: translateY(0%) scaleY(0%);
	transform-origin: left bottom;
	transition: all 0.2s linear 0s;
}
.lightbox__meta:empty {
	display: none;
}
.lightbox__meta.lightbox__meta--open  {
	transform: translateY(100%) scaleY(100%);
}
.lightbox__meta .btn {
	padding: 8px 24px;
	text-align: center;
	border-color: var(--secondary-100);
	background-color: var(--secondary-100);
	margin-top: 12px;
}
.lightbox__meta .btn:hover {
	border-color: var(--secondary-100);
}
.lightbox__meta .btn:first-child {
	margin-top: 0;
}
.lightbox__title {
	margin-bottom: 0px;
	font-weight: var(--primary-font-weight--bold);
}
.lightbox__description {
	margin-bottom: 0px;
}
.lightbox__close, .lightbox__prev, .lightbox__next {
	position: fixed;
	width: 50px;
	height: 50px;
	color: var(--white);
	text-indent: -9999rem;
	cursor: pointer;
}
.lightbox__prev[disabled], .lightbox__next[disabled] {
	opacity: 0.2;
	cursor: not-allowed;
}
.lightbox__close::before, .lightbox__prev::before, .lightbox__next::before {
	text-indent: 0;
	font-size: 24px;
	position: absolute;
	top: calc(50% - 12px);
	left: calc(50% - 12px);
}
.lightbox__close {
	top: 0;
	right: 0;
}
.lightbox__prev {
	top: 50%;
	left: 0;
	transform: translateY(-100%);
}
.lightbox__next {
	top: 50%;
	right: 0;
	transform: translateY(-100%);
}
.lightbox__gallery {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 11;
	transform: translateY(100%);
	opacity: 0;
	transition: all 0.2s linear 0s;
}
.lightbox__container--loaded .lightbox__gallery {
	transform: translateY(0%);
	opacity: 1;
}
.lightbox__gallery ul {
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	list-style: none;
	transition: all 0.1s linear 0s;
}
.lightbox__gallery li {
	margin: 5px;
	border: solid 2px var(--grey-50);
	overflow: hidden;
	flex: 0 0 auto;
}
.lightbox__gallery li.active {
	border: solid 2px var(--secondary-50);
}
.lightbox__gallery li img {
	height: 60px;
	width: auto;
}
.lightbox__gallery a {
	display: block;
}
.lightbox__iframe-container {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	max-width: var(--max-container-width);
	margin: auto;
	background-color: var(--white);
}
.lightbox__content--page {
	width: 80px;
	height: 80px;
	transition: all 0.3s linear 0s;
}
.lightbox__container--loaded .lightbox__content--page {
	width: 100%;
	height: 100%;
}
.lightbox__iframe-placeholder {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--white);
	top: 0;
	left: 0;
	z-index: 3;
	opacity: 1;
	transition: all 0.3s linear 0s;
}
.lightbox__iframe-placeholder.lightbox__iframe-placeholder--fade  {
	opacity: 0;
	z-index: 0;
}
.lightbox__iframe {
	z-index: 2;
	position: relative;
	width: 100%;
	height: 100%;
}
.lightbox__iframe-loader {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: center;
}
.window--iframe:not(.elementor-editor-active) header, .window--iframe:not(.elementor-editor-active) footer, .window--iframe:not(.elementor-editor-active) .sticky-spacer {
	display: none;
}
.lightbox__image-loader {
	z-index: 13;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	justify-content: center;
	transform: translateY(-100%);
	opacity: 0;
	transition: all 0.3s linear 0s;
}
.lightbox__image-loader--fade-in {
	opacity: 1;
}
.lightbox__image-loader .lds-ring {
	color: var(--white);
}


@media screen and (min-width: 992px) {
	.lightbox__container {
		padding: 60px 60px 60px 60px;
	}
	.lightbox__container--image {
		padding: 60px 90px 250px 90px;
	}
	.lightbox__close, .lightbox__prev, .lightbox__next {
		width: 100px;
		height: 100px;
	}
	.lightbox__close::before, .lightbox__prev::before, .lightbox__next::before {
		font-size: 36px;
		top: calc(50% - 18px);
		left: calc(50% - 18px);
	}
	.lightbox__meta--has-cta {
		padding-right: 200px;
	}
	.lightbox__meta .btn {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		max-width: 200px;
		min-width: 150px;
		margin-top: 0;
	}
	.lightbox__meta .btn:first-child {
		position: static;
		transform: none;
	}
	.lightbox__gallery li img {
		height: 100px;
	}

}

/**** Component: Elementor Messages ****/
.elementor-message {
	background-color: var(--grey-25);
	padding: 24px 24px 24px 48px;
	border-radius: 8px;
	border-left: solid 4px var(--grey-100);
	font-size: inherit;
	line-height: inherit;
	position: relative;
	display: block;
}
.elementor-message::before {
	position: absolute;
	left: 16px;
	width: 24px;
	height: 24px;
	margin-right: 0;
	content: '' !important;
}
.elementor-message-success {
	border-left-color: var(--success-100);
	background-color: var(--success-25);
}
.elementor-message-danger {
	background-color: var(--error-25);
	border-left-color: var(--error-100);
	color: inherit !important;
}
.background--tertiary .elementor-message-success {
	background-color: rgba(255,255,255,0.25);
	border-left-color: rgba(255,255,255,0.75);
}
.background--tertiary .elementor-message-danger {
	color: var(--error-100);
}

/**** Component: Alerts ****/
.alert {
  padding: var(--spacer-2) var(--spacer-4);
  margin-bottom: var(--spacer-4);
  background-color: var(--grey-25);
  border-left-color: var(--grey-100);
  border-left-style: solid;
  border-left-width: 4px;
  font-weight: 500;
  box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05), 0px 2px 8px -2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.alert:is(.elementor-widget-woocommerce-notices .alert) {
	margin-top: var(--section-padding);
	margin-bottom: 0;
}
.alert-icon {
  position: absolute;
  left: var(--spacer-3);
  margin-left: -12px;
}

.alert-icon svg {
  width: 24px;
  height: 24px;
}

.alert-icon svg path, .alert-icon svg circle {
  stroke: var(--grey-50);
}

.alert--success {
  border-left-color: var(--success-100);
  background-color: var(--success-25);
}

.alert--success .alert-icon svg path, .alert--success .alert-icon svg circle {
  stroke: var(--success-100);
}

.alert--error {
  border-left-color: var(--error-100);
  background-color: var(--error-25);
}

.alert--error .alert-icon svg path, .alert--error .alert-icon svg circle {
  stroke: var(--error-100);
}

.alert--info {
  border-left-color: var(--info-100);
  background-color: var(--info-25);
}

.alert--info .alert-icon svg path, .alert--info .alert-icon svg circle {
  stroke: var(--info-100);
}

.alert--warning {
  border-left-color: var(--warning-100);
  background-color: var(--warning-25);
}

.alert--warning .alert-icon svg path, .alert--warning .alert-icon svg circle {
  stroke: var(--warning-100);
}

.alert .btn-wrapper {
	margin-top: 16px;
	margin-right: 24px;
	display: inline-block;
}

.alert .btn-wrapper {
	display: inline;
}
.btn-wrapper::before {
	content: ' ';
	display: block;
	clear: both;
	width: 100%;
	height: 16px;
}
.btn-wrapper + .btn-wrapper::before {
	content: none;
}

/**** Component: Search ****/
.search-box {
	background-color: var(--primary-overlay-100);
	position: fixed;
	z-index: 99;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	color: var(--white);
	display: none;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: var(--transition);
}
.search-box--init {
	display: flex;
}
.search-box--open {
	opacity: 1;
}
.search-box form {
	border-bottom: solid 2px rgba(255,255,255,0.5);
	padding-bottom: 16px;
}
.search-box p {
	display: flex;
	gap: 24px;
}
.search-box input[type="text"] {
	order: 3;
	color: var(--white);
	font-size: var(--font-size);
	font-weight: 400;
	width: 60vw;
	max-width: 400px;
}
.search-box ::placeholder {
  color: var(--white);
  opacity: 1;
}
.search-box ::-ms-input-placeholder {
  color: var(--white);
  opacity: 1;
}
.search-box button {
	order: 2;
	cursor: pointer;
}
.search-box button i {
	color: var(--white);
	font-size: var(--font-size--h3);
}
.search-box .btn-close {
	position: fixed;
	top: 48px;
	right: 48px;
}
@media screen and (min-width: 576px) {
	.search-box input[type="text"] {
		font-size: var(--font-size--lg);
	}
}

/**** Component: Accordion ****/
.e-n-accordion .container {
	width: auto !important;
	padding: 0;
}
.e-n-accordion-item > .container {
	padding: 24px;
	width: auto;
	border: solid 1px var(--grey-25);
	margin: 0;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-text {
	font-size: var(--font-size--h6);
}
.e-n-accordion .e-n-accordion-item-title {
	border: solid 1px var(--grey-25) !important;
	background-color: var(--grey-0);
	padding: 16px;
	gap: 20px;
	align-items: center;
}
.e-n-accordion .e-n-accordion-item-title-icon .icon {
	color: var(--secondary-75) !important;
	line-height: 24px;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon span > i {
	font-size: 16px;
}

/**** Component: Cookie Consent ****/
.cookie-consent {
	font-size: 90%;
	line-height: normal;
	display: none;
}
.cookie-consent--show-notice, .cookie-consent--show-preferences {
	display: block;
}
.cookie-consent__notice {
	position: fixed;
	display: none;
	bottom: 30px;
	margin-left: 30px;
	left: auto;
	background-color: var(--grey-0);
	padding: var(--spacer-3) var(--spacer-4);
	border-radius: 30px;
	right: 30px;
	max-width: 550px;
	box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);
	z-index: 900;
	opacity: 0;
	transition: all 0.5s ease-in-out 0s;
}
.cookie-consent--show-notice .cookie-consent__notice {
	display: block;
}
.cookie-consent--show-notice .cookie-consent__notice--show {
	opacity: 1;
}
.cookie-consent h4, .cookie-consent h5 {
	font-weight: 700;
}
.cookie-consent .btn {
	padding: 12px 24px;
}
.cookie-consent__overlay {
	display: none;
	background-color: rgba(0,0,0,0.7);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	z-index: 901;
	opacity: 0;
	transition: all 0.5s ease-in-out 0s;
}
.cookie-consent--show-preferences .cookie-consent__overlay {
	display: block;
}
.cookie-consent--show-preferences .cookie-consent__overlay--show {
	opacity: 1;
}
.cookie-consent__preferences {
	display: none;
	position: fixed;
	height: var(--app-height);
	top: 0;
	right: 0;
	background-color: var(--white);
	max-width: 500px;
	width: 100%;
	z-index: 902;
	overflow-y: auto;
	transform: translateX(100%);
	transition: all 0.5s ease-in-out 0s;
}
.cookie-consent--show-preferences .cookie-consent__preferences {
	display: block;
}
.cookie-consent--show-preferences .cookie-consent__preferences--show {
	transform: translateX(0);
}
.cookie-consent__info {
	padding: var(--spacer-3);
}
.cookie-consent__choices {
	padding: var(--spacer-3);
	border-top: solid 1px var(--grey-50);
	display: flex;
}

.cookie-consent__manage-preferences {
	border-top: solid 1px var(--grey-50);
	border-left: solid 1px var(--grey-50);
	border-right: solid 1px var(--grey-50);
}
.cookie-consent__option {
	border-bottom: solid 1px var(--grey-50);
}
.cookie-consent__option-header {
	display: flex;
	flex-wrap: nowrap;
	padding: var(--spacer-1) var(--spacer-2);
	align-items: center;
	justify-content: space-between;
	gap: var(--spacer-4);
}
.cookie-consent__option-header > h6 {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 21px;
	display: inline-flex;
	gap: 12px;
	cursor: pointer;
}
.cookie-consent__option-header > h6::before {
	content: '+';
	display: block;
	font-size: 24px;
	font-weight: 300;
	width: 16px;
	flex-grow: 0;
	flex-shrink: 0;
	text-align: center;
}
.cookie-consent__option-header--active > h6::before {
	content: '–';
	transform: translateY(-3px);
}
.cookie-consent__option-essential {
	display: block;
	white-space: nowrap;
	font-weight: 700;
	color: var(--info-100);
}
.cookie-consent__option-btn {
	background-color: var(--grey-25);
	width: 45px;
	height: 25px;
	border: solid 1.5px var(--grey-50);
	border-radius: 30px;
	position: relative;
	cursor: pointer;
	transition: var(--transition);
}
.cookie-consent__option-btn::after {
	content: '';
	background-color: var(--grey-75);
	height: 21px;
	width: 21px;
	display: block;
	border-radius: 21px;
	margin-left: 1px;
	transition: var(--transition);
}
.cookie-consent__option-btn--active {
	background-color: var(--success-25);
	border-color: var(--success-100);
}
.cookie-consent__option-btn--active::after {
	background-color: var(--success-100);
	margin-left: 20px;
}


.cookie-consent__option-content {
	max-height: 0;
	overflow: hidden;
	transition: var(--transition);
}
.cookie-consent__option-content--active {
	max-height: 500px;
}
.cookie-consent__option-content-inner {
	padding: 0 var(--spacer-2) var(--spacer-2) var(--spacer-2);
}

@media screen and (max-width: 575px) {
	.cookie-consent__notice {
		bottom: 0;
		margin-left: 0;
		left: 0;
		right: 0;
		max-width: none;
		border-radius: 0;
		border-top: solid 3px var(--primary-50);
	}
	.cookie-consent .btn {
		font-size: 12px;
		padding: 10px 16px;
	}
}


