/**********
MAIN
**********/
/* Magnific Popup CSS */
.mfp-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1042;
  overflow: hidden;
  opacity: 0.8;
  width: 100%;
  height: 100%;
  background: #0b0b0b;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mfp-figure figure {
  margin: 0;
}

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

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

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

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

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

Cubic-bezier curves for transition-timing-function similar to Flash & jQuery animations

Reference: https://matthewlein.com/ceaser/
**********/
/**
 * #CEASAR-EASING-ANIMATION
 * Classic Penner equations popularly found in Flash and jQuery.
 * https://github.com/matthewlein/Ceaser
 * http://matthewlein.com/ceaser/
 */
/*------------------------------------*\
    #CEASAR-EASING-ANIMATION
\*------------------------------------*/
/***** Functions *****/
/**********
Function: Map Deep Get

Recursively get items from a Sass map

Reference: https://css-tricks.com/snippets/sass/deep-getset-maps/
**********/
/**********
Function: Strip Unit

Helps remove the unit of a length

Reference: https://css-tricks.com/snippets/sass/strip-unit-function/
**********/
/**********
Function: View Width

Helps set view width to a specific breakpoint.
Use case: Scale font down at a certain width, best used if you have a desktop font size and want to scale it down throughout mobile or vice versa
**********/
/**********
Function: Aspect Ratio

Helps calculate the aspect ratio for an element.
Use case: You want to quickly calculate the aspect ratio an element will take based off a width & height for the padding trick
**********/
/***** Mixins *****/
/**********
Mixing: Breakpoint

Breakpoint mixin for width-based media queries
By default, accepts a single variable (eg. bp(1000px)) and sets min-width media query
Two variables can be passed to create a min-max range (eg. bp(400px, 1000px))

Reference: https://css-tricks.com/snippets/sass/mixin-manage-breakpoints/
**********/
/***** Generics *****/
/**********
CSS Reset

Eric Meyer's oldie but a goodie with additional modifications

Reference: http://meyerweb.com/eric/tools/css/reset/
**********/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

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

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

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

a {
  outline: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
a img {
  border: none;
}

/**********
Form Reset

The base of this reset is based on anothyshort's Super Form Reset but made some additional modifications

Reference: https://gist.github.com/anthonyshort/552543
**********/
/* ----------------------------------------------------------------------------------------------------
Super Form Reset
A couple of things to watch out for:
- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs
----------------------------------------------------------------------------------------------------*/
input, label, select, button, textarea {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: Arial;
  /* Browsers have different default form fonts */
  font-size: 13px;
  line-height: 1;
  vertical-align: middle;
  white-space: normal;
  background: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Remove the stupid outer glow in Webkit */
input:focus {
  outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input, textarea {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/* These elements are usually rendered a certain way by the browser */
button, input[type=reset], input[type=button], input[type=submit], input[type=checkbox], input[type=radio], select {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox], input[type=radio] {
  width: 13px;
  height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Buttons
-----------------------------------------------*/
button, input[type=reset], input[type=button], input[type=submit] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
  /* Turn off scroll bars in IE unless needed */
  overflow: auto;
  /* Move the label to the top */
  vertical-align: top;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top;
}

/***** Vendor *****/
/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsla(0deg, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10; /* always overlap slide content */
  pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin: 15px 0 0 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

/***** Variables *****/
/***** Base *****/
body {
  overflow-x: hidden;
  overflow-y: scroll;
  color: var(--colorGray);
  font-family: var(--fontBase);
  font-size: var(--fontSize);
  font-weight: var(--fontBaseWeight);
  background-color: var(--colorBody);
}
body[data-menu-toggle=true] {
  overflow-y: hidden;
  overscroll-behavior: none;
}

.heading, .text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
  color: var(--colorBlack);
}
.heading--1, .text h1 {
  font-family: var(--fontHeading);
  font-weight: var(--fontHeadingWeightStrong);
}
@media (min-width: 0) and (max-width: 429px) {
  .heading--1, .text h1 {
    font-size: 7.9069767442vw;
  }
}
@media (min-width: 430px) {
  .heading--1, .text h1 {
    font-size: 44px;
  }
}
.heading--2, .text h2, .text h3 {
  font-family: var(--fontHeading);
  font-weight: var(--fontHeadingWeight);
}
@media (min-width: 0) and (max-width: 429px) {
  .heading--2, .text h2, .text h3 {
    font-size: 6.511627907vw;
  }
}
@media (min-width: 430px) {
  .heading--2, .text h2, .text h3 {
    font-size: 38px;
  }
}
.heading--3 {
  font-family: var(--fontBase);
  font-weight: var(--fontHeadingWeightStrong);
}
@media (min-width: 0) and (max-width: 429px) {
  .heading--3 {
    font-size: 5.5813953488vw;
  }
}
@media (min-width: 430px) {
  .heading--3 {
    font-size: 34px;
  }
}
.heading--4, .text h4, .text h5, .text h6 {
  font-family: var(--fontBase);
  font-weight: var(--fontHeadingWeight);
}
@media (min-width: 0) and (max-width: 429px) {
  .heading--4, .text h4, .text h5, .text h6 {
    font-size: 6.976744186vw;
  }
}
@media (min-width: 430px) {
  .heading--4, .text h4, .text h5, .text h6 {
    font-size: 30px;
  }
}
.heading--white {
  color: white;
}
.heading--primary {
  color: var(--colorPrimary);
}
.heading--secondary {
  color: var(--colorSecondary);
}

.text--center {
  text-align: center;
}
.text--center img {
  display: inline-block;
  width: auto;
  margin-right: auto;
  margin-left: auto;
}
.text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
  margin-top: calc(var(--space) * 2);
  margin-bottom: calc(var(--space));
}
.text h1:first-child, .text h2:first-child, .text h3:first-child, .text h4:first-child, .text h5:first-child, .text h6:first-child {
  margin-top: 0;
}
.text h1:last-child, .text h2:last-child, .text h3:last-child, .text h4:last-child, .text h5:last-child, .text h6:last-child {
  margin-bottom: 0;
}
.text p, .text ul, .text ol, .text figure, .text img {
  margin-bottom: var(--space);
}
.text p:last-child, .text ul:last-child, .text ol:last-child, .text figure:last-child, .text img:last-child {
  margin-bottom: 0;
}
.text p, .text li {
  position: relative;
  font-family: var(--fontBase);
  font-size: var(--fontSize);
  font-weight: var(--fontBaseWeight);
}
.text p strong, .text li strong {
  color: var(--colorBlack);
  font-weight: var(--fontBaseWeightStrong);
}
.text p em, .text li em {
  color: var(--colorBlack);
  font-style: italic;
}
.text hr {
  margin-top: calc(var(--spaceInt) * 2 / 760 * 100vw);
  margin-bottom: calc(var(--spaceInt) * 2 / 760 * 100vw);
  border: none;
  border-top: var(--border) solid rgba(0, 0, 0, 0.15);
}
@media (min-width: 760px) {
  .text hr {
    margin-top: calc(var(--space) * 2);
    margin-bottom: calc(var(--space) * 2);
  }
}
.text hr:first-child {
  margin-top: 0;
}
.text hr:last-child {
  margin-bottom: 0;
}
.text p {
  line-height: calc(var(--textLeading) - 0.25em);
}
@media (min-width: 760px) {
  .text p {
    line-height: var(--textLeading);
  }
}
.text li {
  margin-top: calc(var(--space) / 2);
  padding-left: 1.5em;
  line-height: var(--textListLeading);
}
.text li:before {
  border-radius: var(--textListStyleRadius);
}
.text ol {
  counter-reset: listcounter;
}
.text ol li {
  counter-increment: listcounter;
}
.text ol > li:before {
  position: absolute;
  left: 0;
  width: 1.5em;
  color: var(--colorBlack);
  font-weight: var(--fontBaseWeightStrong);
  content: counter(listcounter) ". ";
}
.text ul > li:before {
  position: absolute;
  top: calc(var(--textListLeading) * 0.5 - var(--textListStyleSize) * 0.5);
  left: 0;
  width: var(--textListStyleSize);
  height: var(--textListStyleSize);
  margin-right: calc(1.5em - var(--textListStyleSize));
  content: "";
  background-color: var(--colorPrimary);
}
.text ul > li > ul > li {
  padding-left: 1.5em;
}
.text ul > li > ul > li:before {
  background-color: var(--colorBlack);
}
.text ul > li > ul > li > ul > li:before {
  border: var(--border) solid var(--colorBlack);
  background-color: transparent;
}
.text a {
  color: var(--colorPrimary);
  text-decoration: underline;
}

.text--white h1, .text--white h2, .text--white h3, .text--white h4, .text--white h5, .text--white h6, .text--white p, .text--white li {
  color: white !important;
}
.text--white h1 strong, .text--white h1 em, .text--white h2 strong, .text--white h2 em, .text--white h3 strong, .text--white h3 em, .text--white h4 strong, .text--white h4 em, .text--white h5 strong, .text--white h5 em, .text--white h6 strong, .text--white h6 em, .text--white p strong, .text--white p em, .text--white li strong, .text--white li em {
  color: white !important;
}
.text--white hr {
  border-top-color: rgba(255, 255, 255, 0.15);
}
.text--white ol li:before {
  color: white !important;
}
.text--white a {
  color: white;
}
.text--disclaimer p {
  margin-bottom: calc(var(--space) / 2);
  font-size: 12px;
  line-height: 1.5em;
}
.text--disclaimer p:last-child {
  margin-bottom: 0;
}

.media {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  transform: translate3d(0, 0, 0);
}
.media--maxheight {
  height: 100vh;
}
.media--radius {
  border-radius: var(--radius);
}
.media:after {
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
  z-index: 1;
  width: 24px;
  height: 24px;
  border: 3px solid rgba(255, 255, 255, 0.25);
  border-top-color: white;
  border-radius: 24px;
  pointer-events: none;
  content: "";
  animation: preloader 1s linear infinite;
}
@keyframes preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.media.js-media-parallax-tb img, .media.js-media-parallax-lr img {
  transform: translate3d(0, 0, 0) scale(1.3);
}
.media .simpleParallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.media img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  font-family: "Arial", sans-serif;
  font-size: 12px;
  object-fit: cover;
  object-position: center;
}

.media--cover:after, .media--attached:after {
  display: none;
}
.media--cover img, .media--attached img {
  display: none;
}
.media--cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.media--fixed {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: none;
}
@media (min-width: 1000px) {
  .media--fixed {
    background-attachment: fixed;
  }
}

.media__content {
  position: absolute;
  left: 0;
  z-index: 300;
  width: 100%;
}
.media__content[data-position=center] {
  top: 50%;
  transform: translate3d(0, -50%, 0);
}
.media__content[data-position=top] {
  bottom: 0;
}
.media__content[data-position=bottom] {
  bottom: 0;
}
.media__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: 100%;
}
.media__overlay:after, .media__overlay:before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 75%;
  content: "";
}
.media__overlay[data-top]:after {
  top: 0;
}
.media__overlay[data-bottom]:after {
  bottom: 0;
}
.media__overlay[data-all=black] {
  background-color: rgba(0, 0, 0, 0.3);
}
.media__overlay[data-top=black]:before {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.media__overlay[data-bottom=black]:after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.75));
}

.media[data-size="1:1"] {
  padding-bottom: 100%;
}
.media[data-size="2:1"] {
  padding-bottom: 50%;
}
.media[data-size="3:2"] {
  padding-bottom: 66.66%;
}
.media[data-size="4:3"] {
  padding-bottom: 75%;
}
.media[data-size="16:9"] {
  padding-bottom: 56.25%;
}
.media[data-preload=false]:after {
  display: none;
}
.media[data-size=hero] {
  max-height: 500px;
}
@media (min-width: 0) and (max-width: 999px) {
  .media[data-size=hero] {
    height: 300px;
  }
}
@media (min-width: 1000px) {
  .media[data-size=hero] {
    height: 41.6666666667vw;
  }
}
.media[data-size=hero2] {
  max-height: 500px;
}
@media (min-width: 0) and (max-width: 999px) {
  .media[data-size=hero2] {
    height: 300px;
  }
}
@media (min-width: 1000px) {
  .media[data-size=hero2] {
    padding-bottom: 56.25%;
  }
}
.media[data-size="1080"] {
  max-height: 500px;
}
@media (min-width: 0) and (max-width: 999px) {
  .media[data-size="1080"] {
    padding-bottom: 130%;
  }
}
@media (min-width: 1000px) {
  .media[data-size="1080"] {
    padding-bottom: 56.25%;
  }
}

@media (min-width: 1000px) {
  a.media:hover:before {
    opacity: 0.35;
  }
  a.media:hover img {
    filter: brightness(75%);
  }
  a.media img {
    transition: 0.25s ease filter;
  }
}

.figure figcaption {
  margin-top: calc(var(--spaceInt) * 0.5 / 760 * 100vw);
  padding-bottom: 3px;
  color: var(--colorBlack);
  font-family: var(--fontBase);
  font-size: 14px;
  font-weight: var(--fontBaseWeightStrong);
  text-align: center;
}
@media (min-width: 760px) {
  .figure figcaption {
    margin-top: calc(var(--space) * 0.5);
  }
}
.figure--white figcaption {
  color: white;
}

.w {
  position: relative;
  z-index: 100;
  width: 100%;
}
.w--body {
  background-color: var(--colorBody);
}
@media (min-width: 0) and (max-width: 999px) {
  [data-menu-toggle=true] .w--body:after {
    display: block;
  }
}
.w--body:after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 900;
  display: none;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.9);
}
.w--content {
  width: calc(100vw - var(--spaceInt) * 6 / 760 * 100vw);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1280px) {
  .w--content {
    max-width: calc(1280px - var(--space) * 8);
  }
}
.w--narrow {
  width: calc(100vw - var(--spaceInt) * 6 / 760 * 100vw);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 800px) {
  .w--narrow {
    max-width: calc(800px - var(--space) * 8);
  }
}
.w--space {
  padding-top: calc(var(--spaceInt) * 4 / 760 * 100vw);
  padding-bottom: calc(var(--spaceInt) * 4 / 760 * 100vw);
}
@media (min-width: 760px) {
  .w--space {
    padding-top: calc(var(--space) * 4);
    padding-bottom: calc(var(--space) * 4);
  }
}
.w--spacet {
  padding-top: calc(var(--spaceInt) * 4 / 760 * 100vw);
}
@media (min-width: 760px) {
  .w--spacet {
    padding-top: calc(var(--space) * 4);
  }
}
.w--spaceb {
  padding-bottom: calc(var(--spaceInt) * 4 / 760 * 100vw);
}
@media (min-width: 760px) {
  .w--spaceb {
    padding-bottom: calc(var(--space) * 4);
  }
}
.w--bg {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.w--gray {
  background-color: var(--colorGrayLight);
}
.w--white {
  background-color: white;
}
.w--black {
  background-color: var(--colorBlack);
}
.w--primary {
  background-color: var(--colorPrimary);
}
.w--secondary {
  background-color: var(--colorSecondary);
}

.s {
  position: relative;
  width: 100%;
  pointer-events: none;
}
.s--1 {
  margin-bottom: calc(var(--spaceInt) / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--1 {
    margin-bottom: var(--space);
  }
}
.s--2 {
  margin-bottom: calc(var(--spaceInt) * 2 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--2 {
    margin-bottom: calc(var(--space) * 2);
  }
}
.s--3 {
  margin-bottom: calc(var(--spaceInt) * 3 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--3 {
    margin-bottom: calc(var(--space) * 3);
  }
}
.s--4 {
  margin-bottom: calc(var(--spaceInt) * 4 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--4 {
    margin-bottom: calc(var(--space) * 4);
  }
}
.s--5 {
  margin-bottom: calc(var(--spaceInt) * 5 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--5 {
    margin-bottom: calc(var(--space) * 5);
  }
}
.s--6 {
  margin-bottom: calc(var(--spaceInt) * 6 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--6 {
    margin-bottom: calc(var(--space) * 6);
  }
}
.s--7 {
  margin-bottom: calc(var(--spaceInt) * 7 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--7 {
    margin-bottom: calc(var(--space) * 7);
  }
}
.s--8 {
  margin-bottom: calc(var(--spaceInt) * 8 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--8 {
    margin-bottom: calc(var(--space) * 8);
  }
}
.s--line:after, .s--line-white:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--border);
  content: "";
  background-color: var(--colorGrayMid);
  transform: translate3d(0, calc(var(--border) * -1), 0);
}
.s--line.s--1:after, .s--line-white.s--1:after {
  top: calc(var(--spaceInt) * 0.5 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--1:after, .s--line-white.s--1:after {
    top: calc(var(--space) * 0.5);
  }
}
.s--line.s--2:after, .s--line-white.s--2:after {
  top: calc(var(--spaceInt) / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--2:after, .s--line-white.s--2:after {
    top: var(--space);
  }
}
.s--line.s--3:after, .s--line-white.s--3:after {
  top: calc(var(--spaceInt) * 1.5 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--3:after, .s--line-white.s--3:after {
    top: calc(var(--space) * 1.5);
  }
}
.s--line.s--4:after, .s--line-white.s--4:after {
  top: calc(var(--spaceInt) * 2 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--4:after, .s--line-white.s--4:after {
    top: calc(var(--space) * 2);
  }
}
.s--line.s--5:after, .s--line-white.s--5:after {
  top: calc(var(--spaceInt) * 2.5 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--5:after, .s--line-white.s--5:after {
    top: calc(var(--space) * 2.5);
  }
}
.s--line.s--6:after, .s--line-white.s--6:after {
  top: calc(var(--spaceInt) * 3 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--6:after, .s--line-white.s--6:after {
    top: calc(var(--space) * 3);
  }
}
.s--line.s--7:after, .s--line-white.s--7:after {
  top: calc(var(--spaceInt) * 3.5 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--7:after, .s--line-white.s--7:after {
    top: calc(var(--space) * 3.5);
  }
}
.s--line.s--8:after, .s--line-white.s--8:after {
  top: calc(var(--spaceInt) * 4 / 760 * 100vw);
}
@media (min-width: 760px) {
  .s--line.s--8:after, .s--line-white.s--8:after {
    top: calc(var(--space) * 4);
  }
}
.s--line-white:after {
  background-color: rgba(255, 255, 255, 0.25);
}

.grid {
  display: grid;
  transform: translate3d(0, 0, 0);
  grid-column-gap: calc(var(--spaceInt) / 1000 * 100vw);
  grid-row-gap: calc(var(--spaceInt) / 1000 * 100vw);
}
@media (min-width: 1000px) {
  .grid {
    grid-column-gap: var(--space);
    grid-row-gap: var(--space);
  }
}
.grid[data-size="2"] {
  grid-template-columns: 1fr 1fr;
}
.grid[data-size="3"] {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid[data-size="4"] {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid--radius {
  overflow: hidden;
  border-radius: var(--radius);
}
.grid--no-gap {
  grid-column-gap: 0;
  grid-row-gap: 0;
}
.grid--no-gap .grid__item--wide .media {
  padding-bottom: 50% !important;
}

.grid[data-type=collage] {
  grid-auto-flow: row dense;
}
@media (min-width: 0) and (max-width: 999px) {
  .grid[data-type=collage] {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.grid[data-type=collage] .grid__item {
  grid-column: auto/span 1;
  grid-row: auto/span 1;
}
.grid[data-type=collage] .grid__item .media {
  padding-bottom: 100%;
}
@media (min-width: 0) and (max-width: 999px) {
  .grid[data-type=collage] .grid__item--wide-large {
    grid-column: auto/span 2;
    grid-row: auto/span 1;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--wide-large {
    grid-column: auto/span 4;
    grid-row: auto/span 2;
  }
}
.grid[data-type=collage] .grid__item--wide-large .media {
  padding-bottom: 50%;
}
.grid[data-type=collage] .grid__item--large {
  grid-column: auto/span 2;
  grid-row: auto/span 2;
}
.grid[data-type=collage] .grid__item--wide {
  grid-column: auto/span 2;
  grid-row: auto/span 1;
}
@media (min-width: 0) and (max-width: 999px) {
  .grid[data-type=collage] .grid__item--wide .media {
    padding-bottom: 50%;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--wide .media {
    padding-bottom: calc(50% - var(--space) * 0.5);
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--1 {
    grid-column-start: 1;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--2 {
    grid-column-start: 2;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--3 {
    grid-column-start: 3;
  }
}
@media (min-width: 1000px) {
  .grid[data-type=collage] .grid__item--4 {
    grid-column-start: 4;
  }
}

.form input, .form select, .form textarea {
  box-sizing: border-box;
  border-radius: var(--radius);
  outline: 0;
  color: var(--colorGray);
  font-family: var(--btnFont);
  font-size: var(--btnSize);
  font-size: 16px;
  line-height: 20px;
  background-color: var(--colorGrayLight);
  appearance: none;
}
.form input::placeholder, .form select::placeholder, .form textarea::placeholder {
  opacity: 0.6;
}
.form button {
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
}
.form__wrap {
  display: grid;
  transform: translate3d(0, 0, 0);
  grid-auto-flow: row dense;
  grid-column-gap: var(--space);
  grid-row-gap: var(--space);
}
@media (min-width: 1000px) {
  .form__wrap {
    grid-column-gap: var(--space);
    grid-row-gap: calc(var(--spaceInt) / 1000 * 100vw);
    grid-template-columns: 1fr 1fr;
  }
}
.form__item {
  width: 100%;
}
@media (min-width: 0) and (max-width: 759px) {
  .form__item {
    grid-column: auto/span 2;
  }
}
.form__item--full {
  grid-column: auto/span 2;
}
.form__item[data-required=active] .form__label:after {
  color: red;
  font-family: Arial;
  content: " *";
}
.form__label, .form__input, .form__select, .form__textarea {
  position: relative;
}
.form__label {
  margin-bottom: calc(var(--space) * 0.5);
  color: var(--colorBlack);
  font-family: var(--btnFont);
  font-size: var(--btnSize);
  font-weight: var(--btnWeight);
}
@media (min-width: 0) and (max-width: 759px) {
  .form__label {
    margin-bottom: calc(var(--space) * 0.25);
  }
}
.form__input input {
  width: 100%;
  padding: calc(var(--space) / 1.5);
}
.form__select select {
  width: 100%;
  padding: calc(var(--space) / 1.5);
  padding-right: calc(var(--space) * 2.5);
}
.form__select-icon {
  position: absolute;
  top: 50%;
  right: calc(var(--space) / 1.5);
  pointer-events: none;
  transform: translate3d(0, -50%, 0);
}
.form__select-icon i {
  position: relative;
  display: block;
  width: var(--space);
  height: var(--space);
  text-align: middle;
}
.form__select-icon svg {
  position: absolute;
  width: 100%;
  height: 100%;
  stroke: var(--colorBlack);
  stroke-width: 3px;
}
.form__textarea textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 120px;
  max-height: 300px;
  padding: calc(var(--space) / 1.5);
}

.btn {
  height: var(--btnHeight);
  padding-right: var(--space);
  padding-left: var(--space);
  border-radius: var(--btnRadius);
  font-family: var(--btnFont);
  font-size: var(--btnSize);
  font-weight: var(--btnWeight);
  line-height: var(--btnHeight);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.btn:after {
  border-width: var(--btnBorder);
  border-style: solid;
  border-radius: var(--btnRadius);
}
.btn--set {
  width: var(--btnSet);
  padding-right: 0;
  padding-left: 0;
}

.btn {
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin-right: var(--btnSpace);
  margin-bottom: var(--btnSpace);
  text-align: center;
  vertical-align: top;
}
.btn:last-child {
  margin-right: 0;
}
.btn:after {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  content: "";
}
.btn--large {
  height: var(--btnHeightLarge);
  border-radius: var(--btnRadius);
  line-height: var(--btnHeightLarge);
}
.btn--large:after {
  border-radius: var(--btnRadius);
}
.btn--small {
  height: var(--btnHeightSmall);
  border-radius: var(--btnRadius);
  line-height: var(--btnHeightSmall);
}
.btn--small:after {
  border-radius: var(--btnRadius);
}
@media (min-width: 0) and (max-width: 759px) {
  .btn--expand {
    width: 100%;
  }
}
.btn--max {
  width: 100%;
  margin-right: 0;
}
@media (min-width: 0) and (max-width: 759px) {
  .btn--half {
    width: 100%;
  }
}
@media (min-width: 760px) {
  .btn--half {
    left: 0;
    width: calc(50% - var(--btnSpace) / 2);
    margin-left: 0;
  }
  .btn--half:nth-child(even) {
    margin-right: var(--btnSpace);
  }
}
@media (min-width: 0) and (max-width: 759px) {
  .btn--third {
    width: 100%;
  }
}
@media (min-width: 760px) {
  .btn--third {
    left: 0;
    width: calc(33.333% - var(--btnSpace) * 2 / 3);
    margin-left: 0;
  }
  .btn--third:nth-child(1n), .btn--third:nth-child(2n) {
    margin-right: var(--btnSpace);
  }
  .btn--third:nth-child(3n) {
    margin-right: 0;
  }
}
.btn--no-space {
  margin-bottom: 0;
}

.btn--link {
  text-decoration: underline;
  background-color: transparent !important;
}
.btn--outline {
  color: var(--colorBlack);
  background-color: transparent !important;
}
.btn--outline:after {
  display: block;
  border-color: var(--colorBlack);
}
.btn--black {
  color: white;
  background-color: var(--colorBlack);
}
.btn--black.btn--outline {
  color: var(--colorBlack);
}
.btn--black.btn--outline:after {
  border-color: var(--colorBlack);
}
.btn--black.btn--link {
  color: var(--colorBlack);
}
.btn--white {
  color: var(--colorBlack);
  background-color: white;
}
.btn--white.btn--outline {
  color: white;
}
.btn--white.btn--outline:after {
  border-color: white;
}
.btn--white.btn--link {
  color: white;
}
.btn--primary {
  color: white;
  background-color: var(--colorPrimary);
}
.btn--primary.btn--outline {
  color: var(--colorPrimaryDark);
}
.btn--primary.btn--outline:after {
  border-color: var(--colorPrimary);
}
.btn--primary.btn--link {
  color: var(--colorPrimary);
}
.btn--secondary {
  color: white;
  background-color: var(--colorSecondary);
}
.btn--secondary.btn--outline {
  color: var(--colorSecondaryDark);
}
.btn--secondary.btn--outline:after {
  border-color: var(--colorSecondary);
}
.btn--secondary.btn--link {
  color: var(--colorSecondary);
}
.btn--gray {
  color: var(--colorBlack);
  background-color: var(--colorGrayMid);
}
.btn--gray.btn--outline {
  color: var(--colorGray);
}
.btn--gray.btn--outline:after {
  border-color: var(--colorGrayMid);
}
.btn--gray.btn--link {
  color: var(--colorGray);
}

.header {
  position: relative;
  z-index: 900;
  background-color: var(--colorNav);
  transform: translate3d(0, 0, 0);
}
.header__announce {
  min-height: var(--btnHeight);
  padding: calc(var(--space) * 0.5) var(--space);
  color: var(--colorBlack);
  font-family: var(--fontBase);
  font-size: 14px;
  text-align: center;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--space) * 0.5);
  justify-content: center;
}
.header__announce strong {
  font-weight: var(--fontBaseWeightStrong);
}
.header__announce em {
  font-size: 1.25em;
  font-weight: var(--fontBaseWeightStrong);
}
.header__announce--white {
  color: white;
}
.header__announce span a {
  text-decoration: underline;
}
.header__hero {
  font-size: 20px;
}
.header__mini {
  display: block !important;
  font-size: 11px;
  font-weight: 400;
  font-style: italic;
}
.header__btn {
  display: block;
  max-width: 220px;
  margin-top: 10px;
  margin-right: auto;
  margin-bottom: 10px;
  margin-left: auto;
}
.header__toolbar {
  display: flex;
  border-bottom: 1px solid var(--colorGrayMid);
  font-family: var(--fontBase);
  font-weight: var(--fontBaseWeightStrong);
  background-color: var(--colorBlack);
}
@media (min-width: 0) and (max-width: 999px) {
  .header__toolbar {
    display: none;
  }
}
.header__toolbar a:hover {
  color: var(--colorPrimary);
  color: var(--colorSecondary);
}
.header__toolbar a:hover i svg {
  stroke: var(--colorSecondary);
}
.header__toolbar-item {
  display: inline-block;
  padding: calc(var(--space) * 0.5) var(--space);
  border-left: 1px solid var(--colorGrayMid);
  color: white;
  font-size: 12px;
}
.header__toolbar-item i {
  position: relative;
  top: calc(50% - 5px);
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  text-align: middle;
}
.header__toolbar-item i svg {
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  stroke: white;
  stroke-width: 3px;
}
.header__toolbar-item:first-child {
  border-left: none;
}
.header__toolbar-item:last-child {
  border-right: none;
}
.header__toolbar-gap {
  flex-grow: 1;
}
.header__toolbar-gap + .header__toolbar-item {
  border-left: none;
}

.nav {
  position: relative;
  left: 0;
  z-index: 1000;
  transform: translate3d(0, 0, 0);
}
[data-nav=sticky] .nav, [data-nav=sticky-over] .nav {
  top: -1px;
}
.nav--shadow:after {
  position: absolute;
  bottom: calc(var(--space) * -1);
  z-index: -1;
  width: 100%;
  height: calc(var(--space) * 1);
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), transparent);
}
@media (min-width: 0) and (max-width: 999px) {
  .nav--space .nav__wrap {
    padding-right: calc(var(--space) * 0.5);
    padding-left: calc(var(--space) * 0.5);
  }
}
@media (min-width: 1000px) {
  .nav--space .nav__wrap {
    padding-right: var(--space);
    padding-left: var(--space);
  }
}
.nav__wrap {
  display: flex;
  background-color: var(--colorNav);
}
[data-nav=sticky-over] .is-stuck .nav__wrap {
  background-color: white;
}
.nav__gap {
  flex-grow: 1;
}
[data-nav=sticky] .nav, [data-nav=sticky-over] .nav {
  position: sticky;
}
[data-nav=sticky-over] .nav {
  height: 0;
}
.nav__logo {
  position: relative;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 0) and (max-width: 999px) {
  .nav__logo {
    width: 120px;
    height: 60px;
    margin-top: 10px;
    margin-bottom: 10px;
    background-image: url("../fpo/ui/logo.jpg");
  }
}
@media (min-width: 1000px) {
  .nav__logo {
    width: 200px;
    height: 120px;
    margin-top: 10px;
    background-image: url("../fpo/ui/logo.jpg");
  }
}
.nav__logo svg {
  height: 100%;
  fill: var(--colorBlack);
}
@media (min-width: 1000px) {
  .nav__mobile {
    display: none !important;
  }
}
@media (min-width: 0) and (max-width: 999px) {
  .nav__desktop {
    display: none !important;
  }
}

@media (min-width: 1000px) {
  .nav__menu {
    position: relative;
    display: flex;
  }
  .nav__item {
    position: relative;
    padding-top: calc(var(--space) * 1.5);
    padding-bottom: calc(var(--space) * 1.5);
  }
  .nav__item:hover .nav__drop {
    color: white;
  }
  .nav__item:hover .nav__drop:after {
    opacity: 1;
  }
  .nav__item:hover .nav__sub {
    opacity: 1;
    height: auto;
    padding-top: calc(var(--space) * 0.5);
    padding-bottom: calc(var(--space) * 0.5);
  }
  .nav__drop, .nav__link {
    position: relative;
    z-index: 10;
    display: block;
    height: var(--btnHeight);
    height: 70px;
    padding-right: var(--navGap);
    padding-left: var(--navGap);
    color: var(--colorBlack);
    font-size: 14px;
    font-weight: var(--fontBaseWeightStrong);
    line-height: var(--btnHeight);
    line-height: 70px;
  }
  .nav__drop {
    cursor: default;
  }
  .nav__drop:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    width: 100%;
    height: calc(var(--space) + var(--btnHeight));
    border-radius: var(--radius) var(--radius) 0 0;
    content: "";
    background-color: var(--colorBlack);
  }
  .nav__link {
    cursor: pointer;
  }
  .nav__btn {
    position: relative;
    left: 0;
    margin-top: 15px;
    margin-right: 0;
    margin-left: var(--space);
  }
  .nav__sub {
    position: absolute;
    top: calc(var(--space) * 2 + var(--btnHeight));
    left: 0;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
    width: 200px;
    height: 0;
    border-radius: 0 0 var(--radius) var(--radius);
    background-color: var(--colorBlack);
  }
  .nav__sub-link {
    position: relative;
    z-index: 10;
    display: block;
    padding-top: calc(var(--navGap) * 0.5);
    padding-right: var(--navGap);
    padding-bottom: calc(var(--navGap) * 0.5);
    padding-left: var(--navGap);
    color: white;
    font-size: 14px;
    line-height: 1.25em;
  }
  .nav__sub-link:after {
    position: absolute;
    top: calc(50% - 1.25em);
    left: 0.625em;
    z-index: -1;
    opacity: 0;
    width: calc(100% - 1.25em);
    height: 2.5em;
    border-radius: var(--radius);
    pointer-events: none;
    content: "";
    background-color: rgba(255, 255, 255, 0.1);
  }
  .nav__sub-link:hover:after {
    opacity: 1;
  }
}

@media (min-width: 0) and (max-width: 999px) {
  [data-menu-toggle=true] .nav {
    position: fixed;
    top: -1px;
    left: 0;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
  }
  [data-menu-toggle=true] .nav:after {
    display: none;
  }
  .nav__menu {
    position: absolute;
    top: calc(var(--space) + var(--btnHeight));
    top: 80px;
    left: 0;
    z-index: -1;
    display: none;
    width: 100%;
    padding-bottom: var(--space);
    color: var(--colorBlack);
    color: white;
  }
  [data-menu-toggle=true] .nav__menu {
    display: block;
  }
  .nav__item {
    width: calc(100% - var(--space) * 2);
    margin-top: var(--space);
    margin-right: var(--space);
    margin-left: var(--space);
    padding-bottom: var(--space);
    border-bottom: var(--btnBorder) solid rgba(255, 255, 255, 0.15);
  }
  .nav__item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .nav__drop {
    position: relative;
    padding-bottom: calc(var(--space) * 0.5);
    color: rgba(255, 255, 255, 0.5);
    font-family: var(--fontHeading);
    font-size: 12px;
    font-weight: var(--fontHeadingWeightStrong);
    cursor: default;
  }
  .nav__link, .nav__sub-link {
    display: block;
    font-size: 20px;
    font-weight: var(--fontBaseWeightStrong);
    line-height: 1.25em;
  }
  .nav__sub {
    display: grid;
    grid-row-gap: var(--space);
    grid-template-columns: 1fr 1fr;
    grid-column-gap: var(--space);
  }
  .nav__btn {
    width: 100%;
  }
}

.nav__icon {
  position: relative;
  display: block;
  overflow: hidden;
  width: var(--btnHeight);
  height: var(--btnHeight);
  cursor: pointer;
}
@media (min-width: 0) and (max-width: 999px) {
  .nav__icon {
    margin-top: 18px;
    margin-bottom: 18px;
  }
}
@media (min-width: 1000px) {
  .nav__icon {
    margin-top: var(--space);
    margin-bottom: var(--space);
  }
}
@media (min-width: 1000px) {
  .nav__icon--gap {
    margin-left: var(--space);
  }
}
[data-menu-toggle=true] .nav__icon--menu span {
  transition: 0s 0.15s ease width, 0.15s ease top, 0.15s ease bottom, 0.15s 0.15s ease transform;
}
[data-menu-toggle=true] .nav__icon--menu span:nth-child(1) {
  top: calc(50% - 1.5px);
  transform: translate3d(-50%, 0, 0) rotate(45deg);
}
[data-menu-toggle=true] .nav__icon--menu span:nth-child(2) {
  width: 0;
}
[data-menu-toggle=true] .nav__icon--menu span:nth-child(3) {
  bottom: calc(50% - 1.5px);
  transform: translate3d(-50%, 0, 0) rotate(-45deg);
}
.nav__icon--menu span {
  position: absolute;
  left: 50%;
  display: block;
  width: 60%;
  height: 3px;
  border-radius: 3px;
  background-color: var(--colorBlack);
  transition: 0.15s ease width, 0.15s 0.15s ease top, 0.15s 0.15s ease bottom, 0.15s ease transform;
  transform: translate3d(-50%, 0, 0);
}
.nav__icon--menu span:nth-child(1) {
  top: 26%;
}
.nav__icon--menu span:nth-child(2) {
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
}
.nav__icon--menu span:nth-child(3) {
  bottom: 26%;
}
.nav__icon--contact span {
  position: absolute;
  display: block;
}
.nav__icon--contact span:nth-child(1) {
  top: 20%;
  left: 15%;
  width: 70%;
  height: 60%;
  border: 3px solid var(--colorBlack);
  border-radius: 3px 3px 3px 0;
}
.nav__icon--contact span:nth-child(1):before, .nav__icon--contact span:nth-child(1):after {
  position: absolute;
  top: calc(50% - 1.5px);
}
.nav__icon--contact span:nth-child(1):after {
  left: calc(50% - 7px);
  width: 14px;
  height: 3px;
  border-right: 3px solid var(--colorBlack);
  border-left: 3px solid var(--colorBlack);
  content: "";
}
.nav__icon--contact span:nth-child(1):before {
  left: calc(50% - 1.5px);
  width: 3px;
  height: 3px;
  content: "";
  background-color: var(--colorBlack);
}
.nav__icon--contact span:nth-child(2) {
  bottom: calc(20% - 5px);
  left: 15%;
  width: 0;
  height: 0;
  border-width: 6px 6px 0 0;
  border-style: solid;
  border-color: var(--colorBlack) transparent transparent transparent;
}

.slider {
  width: 100%;
}
.slider__wrap {
  width: 100%;
}
.slider__item {
  display: none;
  width: 100%;
}
.slider__item:first-child {
  display: block;
}
.flickity-enabled .slider__item {
  display: block;
}
@media (min-width: 0) and (max-width: 999px) {
  .slider--full .media {
    padding-bottom: 60vw;
  }
}
@media (min-width: 1000px) {
  .slider--full .media {
    padding-bottom: 45%;
  }
}
.slider--radius .flickity-viewport {
  position: relative;
  border-radius: var(--radius);
  transform: translate3d(0, 0, 0);
}
.slider--gap .slider__item {
  margin-right: auto;
  margin-left: auto;
}
.slider--gap .flickity-enabled .slider__item {
  margin-right: var(--space);
  margin-left: 0;
}
@media (min-width: 0) and (max-width: 759px) {
  .slider--gap .flickity-enabled .slider__item {
    margin-right: calc(var(--spaceInt) / 760 * 100vw);
  }
}
.slider--highlight .flickity-enabled .slider__item {
  opacity: 0.35;
}
.slider--highlight .slider__item {
  transition: 0.25s ease opacity;
}
.slider--highlight .slider__item.is-selected {
  opacity: 1;
}
.slider--narrow .slider__item {
  width: calc(100vw - var(--spaceInt) * 6 / 760 * 100vw);
}
@media (min-width: 800px) {
  .slider--narrow .slider__item {
    max-width: calc(800px - var(--space) * 8);
  }
}
.slider--content .slider__item {
  width: calc(100vw - var(--spaceInt) * 6 / 760 * 100vw);
}
@media (min-width: 1280px) {
  .slider--content .slider__item {
    max-width: calc(1280px - var(--space) * 8);
  }
}

.slider .flickity-page-dots {
  display: none;
  font-size: var(--fontSize);
  line-height: var(--textListStyleSize);
  pointer-events: none;
}
.slider .flickity-page-dots .dot {
  opacity: 0.35;
  width: var(--textListStyleSize);
  height: var(--textListStyleSize);
  margin: 0 0.1875em;
  border-radius: var(--textListStyleRadius);
  background-color: var(--colorBlack);
  transition: 0.25s ease width;
}
.slider .flickity-page-dots .dot.is-selected {
  opacity: 1;
  width: 1.5em;
}
.slider .flickity-button {
  display: none;
  width: calc(var(--space) * 3);
  height: calc(var(--space) * 3);
  color: var(--colorBlack);
  background: transparent;
}
.slider .flickity-button:active {
  opacity: 1;
}
.slider .flickity-button .flickity-button-icon {
  top: 35%;
  left: 35%;
  width: 30%;
  height: 30%;
}
.slider .flickity-button.next {
  right: 0;
}
.slider .flickity-button.previous {
  left: 0;
}
.slider--dots-over .flickity-page-dots, .slider--dots-out .flickity-page-dots, .slider--dots-white .flickity-page-dots {
  display: block;
}
.slider--dots-over .flickity-page-dots {
  bottom: calc((var(--space)) - var(--textListStyleSize) * 0.5);
}
.slider--dots-out {
  padding-bottom: 40px;
}
.slider--dots-out .flickity-page-dots {
  bottom: calc(var(--space) * -1 - var(--textListStyleSize) * 0.5);
}
.slider--dots-white .flickity-page-dots .dot {
  background-color: white;
}
.slider--buttons .flickity-button, .slider--buttons-white .flickity-button {
  display: block;
}
@media (min-width: 0) and (max-width: 759px) {
  .slider--buttons .flickity-button, .slider--buttons-white .flickity-button {
    display: none;
  }
}
.slider--buttons-white .flickity-button {
  color: white;
}
.slider--buttons-white .flickity-button-icon {
  stroke: var(--colorBlack);
  stroke-width: 1px;
}

/***** Partials *****/
.pswp__button--arrow {
  width: calc(var(--space) * 3);
  height: calc(var(--space) * 3);
  margin-top: 0;
  transform: translateY(-50%);
}
.pswp__button--arrow .pswp__icn {
  position: absolute;
  top: 35% !important;
  left: 35% !important;
  width: 30% !important;
  height: 30% !important;
  margin-top: 0 !important;
  fill: white;
  stroke: var(--colorBlack) !important;
  stroke-width: 1px !important;
}

.pswp__bg {
  background: black;
}

[data-aos=fade] {
  opacity: 0;
  transition: 0.5s ease-out opacity, 0.5s ease-out transform;
}
@media (min-width: 0) and (max-width: 759px) {
  [data-aos=fade] {
    transform: translate3d(0, var(--space), 0);
  }
}
@media (min-width: 760px) {
  [data-aos=fade] {
    transform: translate3d(0, calc(var(--space) * 2), 0);
  }
}
[data-aos=fade].aos-animate, [data-dom=false] [data-aos=fade] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.language {
  position: relative;
  width: var(--btnHeight);
  height: var(--btnHeight);
}
.language select {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
  width: 100%;
  height: 100%;
  outline: none;
  font-size: 16px;
}
.language span {
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--space);
  color: var(--colorBlack);
  font-family: "Arial Narrow", sans-serif;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  transform: translate3d(0, -50%, 0);
}
@media (min-width: 0) and (max-width: 999px) {
  .language span {
    display: none;
  }
}
.language svg {
  position: absolute;
  stroke: var(--colorBlack);
  stroke-width: 2px;
}
@media (min-width: 0) and (max-width: 999px) {
  .language svg {
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    transform: translate3d(-50%, -50%, 0);
  }
}
@media (min-width: 1000px) {
  .language svg {
    top: 50%;
    left: 0;
    width: 22px;
    height: 22px;
    transform: translate3d(0, -50%, 0);
  }
}

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

.logo-img {
  width: 100%;
  max-width: 300px;
  margin-right: auto;
  margin-left: auto;
}

.sky {
  background-color: #c9e2ef;
  background-image: url("../fpo/sky.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 760px) {
  .sky {
    background-attachment: fixed;
  }
}
@media (min-width: 760px) {
  .sky__text {
    position: sticky;
    top: 0;
  }
}
.sky__building {
  position: relative;
  z-index: 100;
  width: 100%;
  padding-bottom: 56.25%;
  pointer-events: none;
}
.sky__building img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.filter {
  user-select: none;
}
.filter__wrap {
  display: grid;
  overflow: hidden;
  grid-auto-flow: row dense;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-column-gap: calc(var(--spaceInt) / 1000 * 100vw);
  padding: 5px;
  border-radius: var(--btnRadius);
  background-color: var(--colorGrayLight);
  transform: translate3d(0, 0, 0);
}
@media (min-width: 1000px) {
  .filter__wrap {
    grid-column-gap: var(--space);
  }
}
.filter__item {
  box-sizing: border-box;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: var(--btnRadius);
  color: var(--colorBlack);
  font-family: var(--btnFont);
  font-size: 14px;
  font-weight: var(--btnWeight);
  text-align: center;
  cursor: pointer;
  appearance: none;
}
@media (min-width: 0) and (max-width: 759px) {
  .filter__item {
    font-size: 12px;
  }
}
.filter__item:hover {
  background-color: #e1e1e1;
}
.filter__item[data-state=on] {
  color: white;
  background-color: var(--colorBlack) !important;
}

.fp {
  display: grid;
  grid-row-gap: calc(var(--spaceInt) / 1000 * 100vw);
  grid-column-gap: calc(var(--spaceInt) / 1000 * 100vw);
  user-select: none;
  transform: translate3d(0, 0, 0);
}
@media (min-width: 0) and (max-width: 559px) {
  .fp {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 560px) and (max-width: 759px) {
  .fp {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 760px) and (max-width: 1279px) {
  .fp {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1280px) {
  .fp {
    grid-row-gap: var(--space);
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: var(--space);
  }
}
.fp__item {
  border-radius: var(--radius);
  box-shadow: 0 6px 20px -10px rgba(0, 0, 0, 0.25);
  text-align: center;
  cursor: default;
  background-color: white;
  transition: 0.25s ease box-shadow;
  grid-column: auto/span 1;
  grid-row: auto/span 1;
}
.fp__item[data-state=off] {
  display: none;
}
.fp__item:hover {
  box-shadow: 0 6px 20px -10px rgba(141, 141, 53, 0.75);
}
.fp__top {
  padding: var(--space);
}
.fp__btm {
  padding: var(--space);
}
.fp__img {
  display: block;
  width: calc(100% - 20px);
  margin-left: 10px;
  padding-right: var(--space);
  padding-bottom: 50%;
  padding-left: var(--space);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.fp__unit {
  display: block;
  color: var(--colorBlack);
  font-family: var(--fontHeading);
  font-size: 24px;
  font-weight: var(--fontHeadingWeightStrong);
}
.fp__name {
  margin-top: 5px;
  color: var(--colorBlack);
  font-size: 14px;
  font-weight: var(--fontBaseWeightStrong);
}
.fp__rent {
  margin-bottom: 10px;
  color: var(--colorBlack);
  font-size: 18px;
  font-weight: var(--fontHeadingWeightStrong);
}
.fp__rent span {
  display: block;
  margin-top: 3px;
  color: var(--colorBlack);
  font-size: 12px;
}
.fp__details {
  font-size: 14px;
}
.fp__details strong {
  color: var(--colorBlack);
  font-weight: var(--fontBaseWeightStrong);
}

.col {
  display: grid;
  overflow: hidden;
  grid-auto-flow: row dense;
  grid-column-gap: calc(var(--spaceInt) / 1000 * 100vw);
  transform: translate3d(0, 0, 0);
}
@media (min-width: 1000px) {
  .col {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: var(--space);
  }
}

.none[data-state=off] {
  display: none;
}
.none[data-state=on] {
  display: block;
}

.engrain {
  width: 100%;
}
@media (min-width: 0) and (max-width: 759px) {
  .engrain {
    height: 600px;
  }
}
@media (min-width: 760px) {
  .engrain {
    height: 1000px;
  }
}

.tour {
  position: relative;
  width: 100%;
  padding-top: 57%;
}
.tour iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form input, .form select, .form textarea {
  box-sizing: border-box;
  border-radius: var(--radius);
  outline: 0;
  color: black;
  font-family: var(--btnFont);
  font-size: var(--btnSize);
  font-size: 16px;
  background-color: rgba(0, 0, 0, 0.1);
  appearance: none;
}
.form button {
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
}
.form__wrap {
  display: grid;
  overflow: hidden;
  grid-auto-flow: row dense;
  grid-row-gap: calc(var(--spaceInt) / 1000 * 100vw);
  grid-column-gap: calc(var(--spaceInt) / 1000 * 100vw);
  transform: translate3d(0, 0, 0);
}
@media (min-width: 1000px) {
  .form__wrap {
    grid-row-gap: calc(var(--spaceInt) / 1000 * 100vw);
    grid-template-columns: 1fr 1fr;
    grid-column-gap: var(--space);
  }
}
.form__item {
  width: 100%;
}
@media (min-width: 0) and (max-width: 759px) {
  .form__item {
    grid-column: auto/span 2;
  }
}
.form__item--full {
  grid-column: auto/span 2;
}
.form__item[data-required=active] .form__label:after {
  color: red;
  font-family: Arial;
  content: "*";
}
.form__label {
  margin-bottom: 6px;
  color: black;
  font-family: var(--btnFont);
  font-size: var(--btnSize);
  font-weight: var(--btnWeight);
}
.form__input input {
  width: 100%;
  height: var(--btnHeight);
  padding-right: 15px;
  padding-left: 15px;
  font-size: 16px;
  line-height: var(--btnHeight);
}
.form__textarea textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 120px;
  max-height: 300px;
  padding: 15px;
}

.sched {
  position: relative;
  max-width: 560px;
  margin: 40px auto;
  padding-top: 45px;
  padding-right: 20px;
  padding-bottom: 40px;
  padding-left: 20px;
  border-radius: 10px;
  text-align: left;
  background: #ffffff;
}
.sched__title {
  font-family: var(--fontHeading);
  font-size: 32px;
  font-weight: var(--fontHeadingWeight);
  font-weight: 300;
  text-align: center;
}
.sched__disclaimer {
  font-size: 10px;
}
.sched__confirm {
  display: none;
}
.sched__confirm strong {
  font-size: 22px;
}
.sched[data-state=submit] .form {
  display: none;
}
.sched[data-state=submit] .sched__confirm {
  display: block;
}

.webcam {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
.webcam__wrap {
  overflow: hidden;
  width: 1280px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 0) and (max-width: 1279px) {
  .webcam__wrap {
    padding-bottom: 56.25%;
  }
}
@media (min-width: 1280px) {
  .webcam__wrap {
    padding-bottom: 720px;
  }
}
.webcam__scale {
  position: absolute;
  width: 1280px;
  height: 720px;
  transform-origin: 0 0;
}
.webcam iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

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