:root {
  --colorPrimary: #223467;
  --colorSecondary: #DA0812;
  --colorAccent: #4F4E53;
  --colorSecondaryBg: #ECEEF2;
  --colorText: #000;
  --sizeFrameWidth: 90rem;
  --sizeFrameMargin: calc((100vw - var(--sizeFrameWidth)) / 2);
  --sizeFramePadding: 1rem;
  --sizeSectionPadding: 3em;
  --textBaseSize: .875rem;
  --animationBase: all .24s ease-in-out;
}

@media (min-width: 30rem) {
  :root {
    --sizeFramePadding: 2rem;
  }
}

@media (min-width: 92rem) {
  :root {
    --sizeSectionPadding: 5em;
    --sizeFramePadding: 1rem;
  }
}

@media (min-width: 92rem) {
  :root {
    --textBaseSize: 1rem;
  }
}

@media (max-width: 75rem) {
  :root {
    --textBaseSize: .7rem;
  }
}

/**
 * Colours
 */
/**
 * Typography
 */
/**
 * Breakpoints
 */
/**
 * Grid
 */
/**
 * Components
 */
/**
 * Animations
 */
/*
 * Media query to respond to a minimum size (mobile first)
 */
/*
 * Media query to respond to a maximum size
 */
/*
 * Output font size in px/rem
 */
/*
 * Placeholder mixin for <input>
 */
/**
 * Clearfix
 */
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

html.is-not-smooth {
  scroll-behavior: unset;
}

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

input,
select,
textarea,
button {
  color: inherit;
  display: inline-block;
}

input[disabled],
select[disabled],
textarea[disabled],
button[disabled] {
  cursor: not-allowed;
}

figure {
  margin: 0;
}

button {
  cursor: pointer;
}

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

table th,
table td {
  text-align: left;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media only screen and (min-width: 1025px) {
  .visible-lg {
    display: block !important;
  }
}

@media only screen and (min-width: 1025px) {
  .hidden-lg {
    display: none !important;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .visible-md {
    display: block !important;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .hidden-md {
    display: none !important;
  }
}

@media only screen and (min-width: 481px) and (max-width: 768px) {
  .visible-sm {
    display: block !important;
  }
}

@media only screen and (min-width: 481px) and (max-width: 768px) {
  .hidden-sm {
    display: none !important;
  }
}

@media only screen and (max-width: 480px) {
  .visible-xs {
    display: block !important;
  }
}

@media only screen and (max-width: 480px) {
  .hidden-xs {
    display: none !important;
  }
}

/**
* Clearing and floating
*/
.alignleft,
.float-left {
  float: left;
}

img .alignleft, img
.float-left {
  margin-right: 24px;
}

.alignright,
.float-right {
  float: right;
}

img .alignright, img
.float-right {
  margin-left: 24px;
}

.aligncenter,
.float-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img .aligncenter, img
.float-center {
  margin-bottom: 24px;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

/**
* Text aligments
*/
.align-text-left {
  text-align: left;
}

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

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

/**
 * Elements visibility
 */
.visible-on-mobile {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .visible-on-mobile {
    display: block !important;
  }
}

.visible-on-tablet {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .visible-on-tablet {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .visible-on-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .visible-on-desktop {
    display: none !important;
  }
}

/**
 * Accessibility
 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

body {
  color: #000;
  font-family: "Merriweather", sans-serif;
  line-height: 1.5;
  text-size-adjust: none;
  font-size: var(--textBaseSize, 1rem);
  margin: 0;
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
hr,
ul,
ol,
dl {
  margin-bottom: 24px;
}

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

/**
 * Basic styles for links
 */
a {
  color: #000;
  text-decoration: none;
}

a:hover {
  color: #000;
  text-decoration: underline;
}

p a,
span a {
  text-decoration: underline;
}

p a:hover,
span a:hover {
  text-decoration: none;
  opacity: .8;
}

a[href^="tel"]:not(.ButtonBase) {
  font-size: inherit;
  font-family: inherit;
  text-decoration: none;
  font-style: inherit;
}

*:focus-within {
  outline-offset: 0.2em;
}

/**
 * Rules
 */
hr {
  height: 1px;
  background-color: #000;
}

.section-title {
  margin: 0 0 1em;
}

.section-perex {
  font-size: 1.125em;
  max-width: 44em;
  margin: 0 auto 2.5em;
}

.u-clearfix::after {
  clear: both;
  content: '';
  display: table;
}

[class*="u-frame"] {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: var(--sizeFrameWidth);
}

@media (max-width: 112rem) {
  [class*="u-frame"] {
    padding-left: var(--sizeFramePadding);
    padding-right: var(--sizeFramePadding);
  }
}

.u-frame--narrow {
  max-width: 61.25rem;
}

.u-frame--full {
  max-width: 110rem;
}

.u-frame--wide {
  max-width: 90rem;
}

.u-frame--small {
  max-width: 61.25rem;
}

@media (min-width: 90rem) {
  .u-margin--left {
    margin-left: var(--sizeFrameMargin);
  }
  .u-margin--right {
    margin-right: var(--sizeFrameMargin);
  }
}

.u-noPadding {
  padding: 0;
}

.u-fullWidth {
  width: 100%;
}

.u-block {
  display: block;
}

.u-hide {
  opacity: 0;
  font-size: 0;
  position: absolute;
}

.u-flex {
  display: flex;
}

.u-hidden {
  display: none !important;
}

.u-overflowHidden {
  overflow: hidden;
}

.u-hiddenVisually {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.u-invisibleScrollBar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.u-invisibleScrollBar::-webkit-scrollbar {
  display: none;
}

.u-customScrollBar {
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  scrollbar-width: thin;
}

.u-customScrollBar::-webkit-scrollbar {
  width: .4rem;
}

.u-customScrollBar::-webkit-scrollbar-track {
  background: transparent;
}

.u-customScrollBar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  transition: all .25s ease-in-out;
}

.u-customScrollBar::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
}

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

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

.u-flexJustifyStart {
  justify-content: flex-start;
}

.u-flexJustifyEnd {
  justify-content: flex-end;
}

.u-flexJustifyCenter {
  justify-content: center;
}

.u-flexJustifyBetween {
  justify-content: space-between;
}

.u-flexJustifyAround {
  justify-content: space-around;
}

.u-flexAlignItemsStart {
  align-items: flex-start;
}

.u-flexAlignItemsEnd {
  align-items: flex-end;
}

.u-flexAlignItemsCenter {
  align-items: center;
}

.u-spanRow {
  grid-column: 1 / -1;
}

.c-green {
  color: var(--colorPrimary);
}

.c-red {
  color: var(--colorSecondary);
}

.u-imageCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.grid {
  display: grid;
  grid-gap: 24px;
}

@media screen and (max-width: 768px) {
  .grid {
    grid-gap: 12px;
  }
}

@media only screen and (min-width: 1025px) {
  .grid.grid--lg-1x {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid.grid--lg-2x {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid.grid--lg-3x {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid.grid--lg-4x {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid.grid--lg-5x {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid.grid--lg-6x {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .grid.grid--md-1x {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid.grid--md-2x {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid.grid--md-3x {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid.grid--md-4x {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid.grid--md-5x {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid.grid--md-6x {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 481px) and (max-width: 768px) {
  .grid.grid--sm-1x {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid.grid--sm-2x {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid.grid--sm-3x {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid.grid--sm-4x {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid.grid--sm-5x {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid.grid--sm-6x {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 480px) {
  .grid.grid--xs-1x {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid.grid--xs-2x {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid.grid--xs-3x {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid.grid--xs-4x {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid.grid--xs-5x {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid.grid--xs-6x {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

/**
 * This file contains all @font-face declarations, if any.
 */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 800;
  font-display: fallback;
  src: url("../fonts/Merriweather-Black.woff2") format("woff2");
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url("../fonts/OpenSans-Bold.woff2") format("woff2");
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("../fonts/OpenSans-Regular.woff2") format("woff2");
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: fallback;
  src: url("../fonts/OpenSans-SemiBold.woff2") format("woff2");
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-display: fallback;
  src: url("../fonts/OpenSans-ExtraBold.woff2") format("woff2");
}

@font-face {
  font-family: 'lg';
  src: url("../fonts/lightgallery/lg.ttf?22t19m") format("truetype"), url("../fonts/lightgallery/lg.woff?22t19m") format("woff"), url("../fonts/lightgallery/lg.svg?22t19m#lg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

/**
 * Responsive images
 */
.is-fluid {
  display: block;
  width: 100%;
  height: auto;
}

label {
  display: inline-block;
  font-weight: 700;
  font-size: .875em;
  margin-bottom: .75em;
  color: var(--colorPrimary);
  opacity: .8;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  font-family: "Merriweather", sans-serif;
  background-color: transparent;
  border: 0.125rem solid var(--colorPrimary);
  color: var(--colorPrimary);
  font-size: 1em;
  line-height: 3.5em;
  height: 3.5em;
  padding: 0 1.125em;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
  outline: 0;
  background: #fff;
}

input[type="text"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid,
input[type="tel"].wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: var(--colorSecondary);
}

input[type="checkbox"],
input[type="radio"] {
  background: transparent;
  border: 0;
  line-height: normal;
  height: auto;
  width: auto;
}

input[type="file"] {
  line-height: normal;
  height: auto;
  padding: 6px 12px;
}

input[type="submit"] {
  border: 0;
}

input[disabled] {
  background-color: whitesmoke;
  cursor: not-allowed;
}

select {
  line-height: normal;
  padding: 0;
  padding-left: 12px;
}

textarea {
  min-height: 96px;
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

textarea[readonly] {
  min-height: auto;
  border: 0;
  padding: 0;
  resize: none;
  height: auto;
  line-height: 1.4;
  font-size: 1.125em;
  font-weight: 800;
  color: var(--colorSecondary);
  margin-bottom: 2em;
}

.wp-block-contact-form-7-contact-form-selector {
  padding: 2em;
  background: var(--colorSecondaryBg);
}

.wp-block-contact-form-7-contact-form-selector > div[role="form"] {
  max-width: 48em;
  margin: 0 auto;
}

.wp-block-contact-form-7-contact-form-selector p {
  font-size: 1rem !important;
}

.controlToggle {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  font-size: 0;
  margin: 0 0 1.5rem;
}

.controlToggle input {
  position: absolute;
  left: -9999px;
  width: 0;
  height: 0;
}

.controlToggle input + label {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: .5rem 1rem;
  border: solid 1px #DDD;
  background-color: #FFF;
  font-size: .75rem;
  line-height: 1.4;
  text-align: center;
  transition: border-color .15s ease-out, color .25s ease-out, background-color .15s ease-out;
}

.controlToggle input + label:first-of-type {
  border-radius: 6px 0 0 6px;
  border-right: none;
}

.controlToggle input + label:last-of-type {
  border-radius: 0 6px 6px 0;
  border-left: none;
}

.controlToggle input:hover + label {
  cursor: pointer;
  background-color: #f7ffe3;
}

.controlToggle input:checked + label {
  color: #FFF;
  border-color: var(--colorPrimary);
  background-color: var(--colorPrimary);
  z-index: 1;
}

/**
 * Form utility classes
 */
.form--inline .form__group {
  display: inline-block;
}

.form .form__group {
  display: block;
  margin-bottom: 24px;
}

.form .form__group .form__label {
  display: block;
  margin-bottom: 12px;
}

ul,
ol {
  margin-left: 24px;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

.list--unstyled {
  margin-left: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 800;
  line-height: 1.24;
}

h1 {
  font-size: 3.2em;
}

@media (max-width: 560px) {
  h1 {
    font-size: 2.4em;
  }
}

h1.main-title {
  font-size: 4em;
}

@media (max-width: 560px) {
  h1.main-title {
    font-size: 3em;
  }
}

h1 > span {
  display: block;
  font-size: .75em;
  margin-bottom: -.375em;
}

h2 {
  font-size: 2.5em;
}

@media (max-width: 560px) {
  h2 {
    font-size: 2em;
  }
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

small {
  font-size: .75em;
}

.big-number {
  font-size: 5em !important;
  font-weight: 800;
  color: var(--colorPrimary);
  margin-bottom: .75rem !important;
  line-height: 1.24 !important;
}

.big-number strong {
  font-weight: inherit;
}

.wp-block-column:nth-child(odd) .big-number {
  color: var(--colorSecondary);
}

.PageHeader {
  position: relative;
  padding: 2.4em 0;
  background: var(--colorSecondaryBg);
  overflow: hidden;
}

.PageHeader h1 {
  margin: 0;
  color: var(--colorPrimary);
}

.PageHeader-assets {
  position: absolute;
  top: -8vh;
  right: 0;
  height: 32vh;
  transform: rotate(8deg);
  opacity: .08;
}

.Breadcrumbs {
  font-weight: 800;
  font-size: 1em;
  margin-bottom: 1.5em;
}

@media (max-width: 44rem) {
  .Breadcrumbs {
    font-size: .8em;
  }
}

.Breadcrumbs a {
  text-decoration: none;
  color: var(--colorPrimary);
  opacity: .8;
}

.Breadcrumbs a:hover {
  text-decoration: underline;
}

.Breadcrumbs .separator {
  content: url('data:image/svg+xml; utf8, <svg width="12px" height="12px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="colorDefault" d="M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"></path></svg>');
  padding: 0 .75em;
  filter: invert(11%) sepia(37%) saturate(7317%) hue-rotate(340deg) brightness(135%) contrast(135%);
}

@media (max-width: 75rem) {
  .Breadcrumbs .separator {
    transform: scale(0.75);
    transform-origin: bottom;
  }
}

.Breadcrumbs .breadcrumb_last {
  color: var(--colorPrimary);
  opacity: .8;
}

.PageList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2.5em;
}

@media (max-width: 75rem) {
  .PageList {
    grid-gap: 1.5em;
  }
}

@media (max-width: 44rem) {
  .PageList {
    grid-template-columns: 1fr;
  }
}

.PageListItem {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
  height: 15.5vw;
  min-height: 15em;
  padding: 1em;
  box-sizing: border-box;
}

.PageListItem-img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}

.PageListItem-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.PageListItem-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.PageListItem-date {
  background: var(--colorSecondary);
  color: #fff;
  font-size: .75em;
  display: inline-block;
  padding: .25em 1.5em;
}

.PageListItem-title {
  font-size: 1.375em;
  background: #fff;
  color: var(--colorPrimary);
  padding: 1em;
  display: inline-block;
  margin-top: .2em;
  transition: var(--animationBase);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.PageListItem:hover, .PageListItem:focus {
  text-decoration: none;
}

.PageListItem:hover .PageListItem-title, .PageListItem:focus .PageListItem-title {
  color: var(--colorSecondary);
}

.PageContent {
  padding-top: 4.8em;
  padding-bottom: 3.2rem;
}

.PageContent :first-child {
  margin-top: 0 !important;
}

.PageContent h2 {
  color: var(--colorSecondary);
  margin: 1em 0 .8em;
}

.PageContent h3, .PageContent h4 {
  color: #4f4e53;
  margin: 1.5em 0 1em;
}

.PageContent p {
  font-size: 1.125em;
  margin-bottom: 1.5em;
  line-height: 1.8;
  font-family: "Open Sans";
}

.PageContent .wp-block-separator {
  margin: 2em 0;
}

.PageContent ul:not([class]) {
  padding: 0;
}

.PageContent ul:not([class]) > li {
  list-style: none;
}

.PageContent ul:not([class]) > li:not(:last-child) {
  padding-bottom: .25em;
}

.PageContent ul:not([class]) > li:before {
  content: url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chevron-circle-right" class="svg-inline--fa fa-chevron-circle-right fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"></path></svg>');
  display: inline-block;
  flex: 0 0 .8em;
  width: .8em;
  margin-right: 1.25em;
  opacity: .4;
}

.PageContent .wp-block-table {
  margin-bottom: 1.5em;
}

.PageContent .wp-block-table table tr:not(:last-child) {
  border-bottom: 1px solid #eee;
}

.PageContent .wp-block-table table td {
  padding: .75em .5em;
}

.PageContent .wp-block-table table + figcaption {
  padding: 0 .5em;
  margin-top: .5em;
  opacity: .8;
}

.PageContent .wp-block-table table + figcaption em {
  font-size: .875em;
}

.PageContent-map {
  width: 100vw;
  height: 20em;
  left: 50%;
  transform: translateX(-50%);
}

.PageContent-map:first-child {
  margin-top: -4.8em !important;
}

.PageContent-map iframe {
  width: 100%;
  height: 100%;
}

body.page article.type-page {
  overflow: hidden;
}

@media (max-width: 640px) {
  .wp-block-buttons.is-content-justification-right {
    justify-content: flex-start;
  }
}

.Page404-content {
  position: relative;
  text-align: center;
  padding-top: 3rem;
  padding-bottom: 2rem;
  margin: 4em 0;
  background: var(--colorSecondaryBg);
}

.Page404-content:before {
  content: "";
  position: absolute;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  border: 4px solid var(--colorSecondary);
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: -1;
}

.Page404-content h1 {
  margin-top: 0;
  font-size: 5em;
  margin-bottom: .5em;
  color: var(--colorPrimary);
}

.pagination {
  grid-column: 1/-1;
  text-align: center;
}

.pagination .page-numbers {
  padding: .5em;
  background: var(--colorSecondaryBg);
}

.pagination .page-numbers.current {
  color: #fff;
  background: var(--colorPrimary);
  pointer-events: none;
}

.pagination .page-numbers:hover {
  color: #fff;
  background: var(--colorSecondary);
  text-decoration: none;
}

.pagination .page-numbers.dots {
  pointer-events: none;
}

.AppHeader {
  position: sticky;
  top: 0;
  padding: 1.25em 0;
  background: #fff;
  transition: var(--animationBase);
  z-index: 10;
}

@media (max-width: 64rem) {
  .AppHeader {
    padding: 1em 0;
  }
  body.u-overflowHidden .AppHeader {
    transform: none !important;
  }
}

.AppHeader.is-sticked {
  background: #fff;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.12);
}

.AppHeader.is-up {
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0);
  transform: translateY(-100%);
}

.AppHeader-wFade:not(.is-sticked) {
  background: transparent;
}

.AppHeader a {
  color: var(--colorPrimary);
}

.AppHeader-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.AppHeader-logo {
  height: 4em;
}

@media (max-width: 1640px) {
  .AppHeader-logo {
    height: 3.6em;
  }
}

@media (max-width: 1340px) {
  .AppHeader-logo {
    margin-right: auto;
  }
}

.AppHeader-logo img {
  max-height: 100%;
  width: 100%;
}

.AppHeader-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  grid-gap: .25em;
}

@media (max-width: 1340px) {
  .AppHeader-right {
    grid-gap: 1em;
  }
}

@media (max-width: 64rem) {
  .AppHeader-right {
    grid-gap: 0;
    flex-direction: row;
    align-items: center;
  }
}

.AppHeader-contact {
  display: flex;
}

@media (max-width: 64rem) {
  .AppHeader-contact {
    flex-direction: column;
    grid-gap: .5em;
    justify-content: flex-end;
    align-items: flex-end;
  }
}

@media (max-width: 26.25rem) {
  .AppHeader-contact {
    display: none;
  }
}

.AppHeader-contact span {
  display: flex;
  align-items: center;
  color: var(--colorPrimary);
}

.AppHeader-contact span svg {
  margin-right: .5em;
}

@media (max-width: 48rem) {
  .AppHeader-contact span svg {
    width: 15px;
    height: 15px;
  }
}

@media (min-width: 64.01rem) {
  .AppHeader-contact span:not(:first-of-type) {
    padding-left: 2em;
    margin-left: 2em;
    border-left: 1px solid var(--colorPrimary);
  }
}

.AppHeader-nav {
  font-size: 1.125em;
  font-weight: 800;
}

@media (max-width: 1800px) {
  .AppHeader-nav {
    font-size: 1em;
  }
}

@media (min-width: 1340px) {
  .AppHeader-nav {
    padding: 1em 0 0;
  }
  .AppHeader-nav > ul > li > a {
    text-decoration: none;
    transition: .2s;
  }
  .AppHeader-nav > ul > li:hover > a,
  .AppHeader-nav > ul > li:focus > a {
    text-decoration: none;
    color: var(--colorSecondary);
  }
}

.AppFooter {
  margin-top: auto;
  font-size: .875em;
  color: var(--appFooter-color, #000);
}

.AppFooter-title {
  opacity: .8;
  font-size: .875em;
  font-family: "Open Sans";
  margin: 0 0 1rem;
}

.AppFooter-top {
  background: var(--colorSecondaryBg);
  padding: 3rem 0;
  color: var(--colorPrimary);
  line-height: 2;
}

.AppFooter-top a {
  color: var(--colorPrimary);
}

.AppFooter-top address {
  font-style: normal;
}

.AppFooter-content {
  display: grid;
  grid-template-columns: 2.5fr repeat(2, 3fr);
  grid-template-areas: 'logo contact nav' 'social contact nav';
  grid-gap: 0 5rem;
}

@media (max-width: 77.5rem) {
  .AppFooter-content {
    grid-gap: 0 3rem;
  }
}

@media (max-width: 56rem) {
  .AppFooter-content {
    grid-template-columns: 3fr repeat(2, 3fr);
    grid-gap: 0 1rem;
  }
}

@media (max-width: 48rem) {
  .AppFooter-content {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 'logo logo' 'contact nav' 'social social';
    grid-gap: 2rem;
  }
}

@media (max-width: 36.5rem) {
  .AppFooter-content {
    grid-template-columns: 1fr;
    grid-template-areas: 'logo' 'contact' 'nav' 'social';
    grid-gap: 1.5rem;
  }
}

.AppFooter-logo {
  grid-area: logo;
}

.AppFooter-social {
  grid-area: social;
}

.AppFooter-contact {
  grid-area: contact;
}

.AppFooter-nav {
  grid-area: nav;
}

.AppFooter-social p {
  margin-bottom: 1em;
}

.AppFooter-social--links a {
  margin-right: 1rem;
  text-decoration: none;
}

.AppFooter-social--links a:hover {
  color: var(--colorSecondary);
}

.AppFooter-contact--inner {
  display: flex;
}

.AppFooter-contact--links {
  display: flex;
  flex-direction: column;
  padding-left: 4em;
}

@media (max-width: 56rem) {
  .AppFooter-contact--links {
    padding-left: 2em;
  }
}

.AppFooter-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  grid-auto-flow: column;
}

.AppFooter-nav [data-submenu-toggle] {
  display: none;
}

.AppFooter-bottomBar {
  font-family: "Open Sans";
  padding-top: 2em;
  padding-bottom: 2em;
  line-height: 1.24;
  background: var(--appFooter-bg, #fff);
}

@media (max-width: 560px) {
  .AppFooter-bottomBar {
    line-height: 1;
  }
}

.AppFooter-bottomBar > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.AppFooter a {
  display: inline-flex;
  color: inherit;
  transition: opacity .24s ease;
}

.AppFooter a.u-inlineLink:hover {
  opacity: .4;
}

.AppFooter small {
  font-size: .75em;
  opacity: .64;
}

.AppFooter-agency {
  display: flex;
  align-items: center;
}

.AppFooter-agency span {
  margin-right: .625em;
}

@media (max-width: 560px) {
  .AppFooter-agency span {
    display: none;
  }
}

.AppFooter-agencyLogo {
  display: flex;
  height: 2.5em;
}

@media (max-width: 560px) {
  .AppFooter-agencyLogo {
    height: 2em;
  }
}

.AppFooter-agencyLogo svg {
  width: auto;
  height: 100%;
}

.AppFooter .c-brand {
  fill: var(--appFooter-logo-color, #163072);
}

.AppFooter .c-accent {
  fill: var(--appFooter-logo-color, #E4003C);
}

.ScrollTop {
  position: fixed;
  bottom: 2em;
  right: 2em;
  height: 2em;
  width: 2em;
  cursor: pointer;
  border-radius: 50%;
  background: transparent;
  transition: var(--animationBase);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aaa;
  z-index: 10;
}

.ScrollTop:hover {
  background: rgba(0, 0, 0, 0.12);
  color: var(--color-brand-gold);
}

.ScrollTop:not(.is-visible) {
  opacity: 0;
  pointer-events: none;
}

.ScrollTop svg {
  height: 1.5em;
  width: auto;
}

.ButtonBase,
.wp-block-button__link,
input[type="submit"] {
  background-color: var(--buttonColorBg, var(--colorPrimary));
  color: #fff;
  display: inline-flex;
  align-items: center;
  font-size: 1.5em;
  padding: .75em 1.75em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  user-select: none;
  width: auto;
  transition: var(--animationBase);
  font-weight: 800;
  font-family: "Merriweather", sans-serif;
  outline: 0;
  border: 0;
  border-radius: 0;
}

.ButtonBase svg,
.wp-block-button__link svg,
input[type="submit"] svg {
  height: 1em;
  margin-right: .625em;
  opacity: .64;
}

.ButtonBase-primary,
.wp-block-button__link-primary,
input[type="submit"]-primary {
  --buttonColorBg: var(--colorPrimary);
  --buttonColorBg-hover: #507000;
}

.ButtonBase.secondary,
.wp-block-button__link.secondary,
input[type="submit"].secondary {
  --buttonColorBg: var(--colorSecondary);
  --buttonColorBg-hover: #000;
}

.ButtonBase-narrow,
.wp-block-button__link-narrow,
input[type="submit"]-narrow {
  font-size: var(--sizeBtnNarrow, 1em);
  letter-spacing: -.02em;
  padding: .625em .75em;
}

.ButtonBase::-moz-focus-inner,
.wp-block-button__link::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.ButtonBase:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  text-decoration: none;
  color: #fff;
  background-color: #000;
}

.ButtonBase.is-disabled, .ButtonBase:disabled,
.wp-block-button__link.is-disabled,
.wp-block-button__link:disabled,
input[type="submit"].is-disabled,
input[type="submit"]:disabled {
  pointer-events: none;
  opacity: .65;
}

.ButtonBase--block,
.wp-block-button__link--block,
input[type="submit"]--block {
  display: block;
  width: 100%;
  max-width: var(--sizeButtonBlockWidth, none);
}

.ButtonBase--block + .ButtonBase--block,
.wp-block-button__link--block + .ButtonBase--block,
input[type="submit"]--block + .ButtonBase--block {
  margin-top: .875em;
}

.btn--inverse {
  background-color: #fff;
  color: #444;
  border: 1px solid #444;
}

.btn--inverse:hover {
  background-color: #444;
  color: #fff;
  border-color: transparent;
}

.btn--link {
  background-color: transparent;
  color: #444;
}

/**
 * Hamburger menu
 */
.nav-burger {
  display: none;
  margin-left: 2em;
  z-index: 550;
  text-decoration: none !important;
  transition: all 250ms ease-in-out;
}

.nav-burger:after {
  content: "MENU";
  font-size: .8em;
  color: var(--colorSecondary);
}

@media (max-width: 64rem) {
  .nav-burger {
    display: block;
  }
}

.nav-burger__line {
  display: block;
  width: 25px;
  height: 3px;
  background-color: var(--colorPrimary);
  margin: 5px auto;
  transition: all 250ms ease-in-out;
}

.nav-burger.is-open .nav-burger__line {
  background-color: #fff;
}

.nav-burger.is-open .nav-burger__line:nth-child(2) {
  opacity: 0;
}

.nav-burger.is-open .nav-burger__line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.nav-burger.is-open .nav-burger__line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/**
 * Navs
 */
.nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav > li {
  position: relative;
  display: inline-block;
  margin-right: 1em;
}

.nav > li:last-child {
  margin-right: 0;
}

.nav > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.nav > li ul.sub-menu {
  position: relative;
  width: 100vw;
  background: rgba(0, 0, 0, 0.2);
  max-height: var(--submenuHeight, 0);
  transition: var(--animationBase);
}

.nav > li ul.sub-menu li a {
  display: block;
  padding: .75em 0;
}

.nav > li ul.sub-menu li:first-child {
  margin-top: .75em;
}

.nav > li ul.sub-menu li:last-child {
  margin-bottom: .75em;
}

.nav > li .submenu-icon {
  margin-left: 1em;
  transform: rotate(var(--submenuIconRotate, 0deg));
  transition: var(--animationBase);
}

.nav > li.submenu--opened {
  --submenuHeight: 30rem;
  --submenuIconRotate: -90deg;
}

@media (min-width: 64rem) {
  .nav > li .submenu-icon {
    display: none;
  }
  .nav > li ul.sub-menu {
    display: block;
    position: absolute;
    top: calc(100% + 1.4em);
    left: 0;
    margin: 0;
    color: #fff;
    background: var(--colorPrimary);
    list-style: none;
    padding: 0;
    transform: scaleY(0);
    transition: var(--animationBase);
    transform-origin: top;
    min-width: 10em;
    width: auto;
    max-height: none;
  }
  .nav > li ul.sub-menu:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 2em;
  }
  .nav > li ul.sub-menu > li {
    font-size: .75em;
    margin: 0 !important;
  }
  .nav > li ul.sub-menu > li:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  }
  .nav > li ul.sub-menu > li a {
    padding: 1em 2em;
    color: inherit;
    transition: var(--animationBase);
    white-space: nowrap;
  }
  .nav > li ul.sub-menu > li a:hover {
    text-decoration: none;
    background: rgba(0, 0, 0, 0.24);
  }
  .nav > li:hover ul.sub-menu, .nav > li:focus-within ul.sub-menu {
    transform: scaleY(1);
  }
}

@media (max-width: 64rem) {
  .nav--header {
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    width: 0;
    height: 100%;
    margin: 0;
    transition: opacity 500ms ease;
    transition: opacity .35s ease, visibility .35s ease, width .35s ease;
    text-align: center;
    opacity: 0;
    background: var(--colorPrimary);
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
  }
  .nav--header.open {
    z-index: 500;
    visibility: visible;
    width: 100%;
    opacity: 1;
  }
  .nav--header.open ul {
    position: absolute;
    top: 50%;
    left: 0;
    overflow: auto;
    width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    user-select: none;
    transform: translateY(-50%);
    -webkit-touch-callout: none;
    -webkit-overflow-scrolling: touch;
  }
  .nav--header.open ul > li {
    width: 100%;
    margin: 0;
  }
  .nav--header li {
    margin: .75em 0;
  }
  .nav--header li a {
    font-size: 2em;
    color: #fff;
  }
}

.PageNavigation {
  font-weight: 800;
  color: #fff;
  background: var(--colorPrimary);
  padding: 2rem 0 .5rem;
}

.PageNavigation-title {
  display: block;
  font-size: .875em;
  opacity: .8;
  margin: 0 1.5rem 1em;
}

.PageNavigation-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.PageNavigation-nav > li {
  font-size: .75em;
  margin: 0 !important;
}

.PageNavigation-nav > li:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.PageNavigation-nav > li a {
  display: block;
  padding: 1em 2em;
  color: inherit;
  transition: var(--animationBase);
}

.PageNavigation-nav > li a:hover {
  background: rgba(0, 0, 0, 0.24);
  text-decoration: none;
}

.alert {
  padding: 24px;
  margin-bottom: 24px;
  border: .125rem solid transparent;
}

.alert > p,
.alert > ul {
  margin-bottom: 0;
}

.alert > p + p {
  margin-top: 24px;
}

.alert.alert--success {
  color: #5CB85C;
  border-color: #5CB85C;
}

.alert.alert--info {
  color: var(--colorPrimary);
  border-color: currentColor;
}

.alert.alert--warning {
  color: #F0AD4E;
  border-color: #F0AD4E;
}

.alert.alert--danger {
  color: #D9534F;
  border-color: #D9534F;
}

.FormBase-main {
  display: grid;
  grid-template-areas: "name email" "text text";
  grid-gap: 2em;
}

@media (max-width: 480px) {
  .FormBase-main {
    grid-template-areas: "name" "email" "text";
  }
}

.FormBase-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 2em;
}

@media (max-width: 480px) {
  .FormBase-layout {
    grid-template-columns: 1fr;
  }
}

.FormBase-name {
  grid-area: name;
}

.FormBase-email {
  grid-area: email;
}

.FormBase-text {
  grid-area: text;
}

.FormBase-text textarea {
  min-height: 11em;
}

.FormBase-gdpr {
  grid-area: gdpr;
}

@media (max-width: 48rem) {
  .FormBase-gdpr {
    width: 100%;
    order: 1;
    margin-bottom: 2rem;
  }
}

.FormBase-gdpr a {
  text-decoration: underline;
}

.FormBase-gdpr a:hover {
  text-decoration: none;
}

.FormBase-el {
  position: relative;
}

.FormBase-el br {
  display: none;
}

.FormBase-el label {
  position: absolute;
  left: 1.5em;
  top: .75em;
  margin: 0;
  z-index: 1;
}

.FormBase-el input[type="text"],
.FormBase-el input[type="email"],
.FormBase-el input[type="tel"],
.FormBase-el select,
.FormBase-el textarea {
  line-height: 2.4em;
  height: 4.2em;
  padding: 1.25em 1.125em 0;
}

.FormBase-el textarea {
  padding-top: 1.5em;
}

.FormBase-button {
  position: relative;
  grid-area: button;
}

@media (max-width: 48rem) {
  .FormBase-button {
    order: 2;
  }
}

.FormBase-button .ajax-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  margin: 0;
}

.FormBase-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 2em;
}

.BaseSlider {
  position: relative;
}

.BaseSlider-inner {
  display: flex;
  margin: var(--articlesGrid-spacingAround);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  --articlesGrid-gap: 4.2em;
  --articlesGrid-columns: 3;
  --articlesGrid-spacingAround: 1.5em 0 2.4em;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

@media (max-width: 80rem) {
  .BaseSlider-inner {
    --articlesGrid-gap: 2.4em;
  }
}

@media (max-width: 60rem) {
  .BaseSlider-inner {
    --articlesGrid-columns: 2;
    --articlesGrid-thumbHeight: 12em;
  }
}

@media (max-width: 30rem) {
  .BaseSlider-inner {
    --articlesGrid-columns: 1;
    --articlesGrid-gap: 2em;
    --articlesGrid-thumbHeight: 8em;
  }
}

.BaseSlider-inner::-webkit-scrollbar {
  display: none;
}

.BaseSlider-inner > figure {
  flex: 0 0 calc((100% - (var(--articlesGrid-gap) * (var(--articlesGrid-columns, 3) - 1))) / var(--articlesGrid-columns, 3));
  scroll-snap-align: start;
  min-height: 10em;
  aspect-ratio: 3/2;
}

.BaseSlider-inner > figure:not(:last-child) {
  margin-right: var(--articlesGrid-gap);
}

.BaseSlider-nav {
  position: absolute;
  top: 10em;
}

.BaseSlider-nav[data-direction="prev"] {
  right: calc(100% + 4em);
}

.BaseSlider-nav[data-direction="next"] {
  left: calc(100% + 4em);
}

@media (max-width: 1240px) {
  .BaseSlider-nav[data-direction="prev"] {
    right: calc(100% + 2em);
  }
  .BaseSlider-nav[data-direction="next"] {
    left: calc(100% + 2em);
  }
}

@media (max-width: 1024px) {
  .BaseSlider-nav[data-direction="prev"] {
    left: 0;
    right: auto;
  }
  .BaseSlider-nav[data-direction="next"] {
    right: 0;
    left: auto;
  }
}

@media (max-width: 30rem) {
  .BaseSlider-nav {
    top: 4.25em;
    transform: scale(1.25);
  }
  .BaseSlider-nav[data-direction="prev"] {
    left: -1em;
  }
  .BaseSlider-nav[data-direction="next"] {
    right: -1em;
  }
}

.BaseSlider-nav[disabled] {
  opacity: .5;
  cursor: default;
}

.BaseSlider-pagination {
  display: flex;
  justify-content: center;
}

.BaseSlider-pagination span {
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 5px;
  border: 2px solid var(--colorSecondary);
  margin: 0 .25em;
  cursor: pointer;
  transition: .24s;
}

.BaseSlider-pagination span.is-active {
  background: var(--colorSecondary);
  pointer-events: none;
}

.BaseSlider-pagination span:hover, .BaseSlider-pagination span:focus {
  border-color: var(--colorPrimary);
  background: var(--colorPrimary);
}

.BaseSlider .Button {
  border: 0;
  background: transparent;
  color: var(--colorSecondary);
}

.lg-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'lg' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-actions .lg-next, .lg-actions .lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 2px;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1080;
  outline: none;
  border: none;
  background-color: transparent;
}

.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover {
  color: #FFF;
}

.lg-actions .lg-next {
  right: 20px;
}

.lg-actions .lg-next:before {
  content: "\e095";
}

.lg-actions .lg-prev {
  left: 20px;
}

.lg-actions .lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

.lg-outer.lg-right-end .lg-object {
  animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
  background: none;
  border: none;
  box-shadow: none;
  transition: color 0.2s linear;
}

.lg-toolbar .lg-icon:hover {
  color: #FFF;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  background-color: rgba(0, 0, 0, 0.45);
  bottom: 0;
  color: #EEE;
  font-size: 16px;
  left: 0;
  padding: 10px 40px;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 1080;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0;
}

#lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  vertical-align: middle;
}

.lg-toolbar, .lg-prev, .lg-next {
  opacity: 1;
  transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
}

.lg-hide-items .lg-prev {
  opacity: 0;
  transform: translate3d(-10px, 0, 0);
}

.lg-hide-items .lg-next {
  opacity: 0;
  transform: translate3d(10px, 0, 0);
}

.lg-hide-items .lg-toolbar {
  opacity: 0;
  transform: translate3d(0, -10px, 0);
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transform-origin: 50% 50%;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

.lg-outer .lg-thumb-outer {
  background-color: #0D0A0A;
  bottom: 0;
  position: absolute;
  width: 100%;
  z-index: 1080;
  max-height: 350px;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  transition-duration: 0s !important;
}

.lg-outer.lg-thumb-open .lg-thumb-outer {
  transform: translate3d(0, 0%, 0);
}

.lg-outer .lg-thumb {
  padding: 10px 0;
  height: 100%;
  margin-bottom: -5px;
}

.lg-outer .lg-thumb-item {
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border: 2px solid #FFF;
  border-radius: 4px;
  margin-bottom: 5px;
}

@media (min-width: 1025px) {
  .lg-outer .lg-thumb-item {
    transition: border-color 0.25s ease;
  }
}

.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lg-outer.lg-has-thumb .lg-item {
  padding-bottom: 120px;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer.lg-pull-caption-up .lg-sub-html {
  transition: bottom 0.25s ease;
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
  bottom: 100px;
}

.lg-outer .lg-toggle-thumb {
  background-color: #0D0A0A;
  border-radius: 2px 2px 0 0;
  color: #999;
  cursor: pointer;
  font-size: 24px;
  height: 39px;
  line-height: 27px;
  padding: 5px 0;
  position: absolute;
  right: 20px;
  text-align: center;
  top: -39px;
  width: 50px;
  outline: medium none;
  border: none;
}

.lg-outer .lg-toggle-thumb:after {
  content: "\e1ff";
}

.lg-outer .lg-toggle-thumb:hover {
  color: #FFF;
}

.lg-outer .lg-video-cont {
  display: inline-block;
  vertical-align: middle;
  max-width: 1140px;
  max-height: 100%;
  width: 100%;
  padding: 0 5px;
}

.lg-outer .lg-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
}

.lg-outer .lg-video .lg-object {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-video .lg-video-play {
  width: 84px;
  height: 59px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -42px;
  margin-top: -30px;
  z-index: 1080;
  cursor: pointer;
}

.lg-outer .lg-has-vimeo .lg-video-play {
  background: image("lightgallery/vimeo-play.png", false, "../../") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-vimeo:hover .lg-video-play {
  background: image("lightgallery/vimeo-play.png", false, "../../") no-repeat scroll 0 -58px transparent;
}

.lg-outer .lg-has-html5 .lg-video-play {
  background: transparent image("lightgallery/video-play.png", false, "../../") no-repeat scroll 0 0;
  height: 64px;
  margin-left: -32px;
  margin-top: -32px;
  width: 64px;
  opacity: 0.8;
}

.lg-outer .lg-has-html5:hover .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-has-youtube .lg-video-play {
  background: image("lightgallery/youtube-play.png", false, "../../") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
  background: image("lightgallery/youtube-play.png", false, "../../") no-repeat scroll 0 -60px transparent;
}

.lg-outer .lg-video-object {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.lg-outer .lg-has-video .lg-video-object {
  visibility: hidden;
}

.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play {
  display: none;
}

.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
  visibility: visible;
}

.lg-progress-bar {
  background-color: #333;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1083;
  opacity: 0;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 5px;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  transition-duration: 0s;
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
  transform: scale3d(1, 1, 1);
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  transform-origin: 0 0;
  backface-visibility: hidden;
}

#lg-zoom-in:after {
  content: "\e311";
}

#lg-actual-size {
  font-size: 20px;
}

#lg-actual-size:after {
  content: "\e033";
}

#lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

#lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed #lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer .lg-pager-outer {
  bottom: 60px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 1080;
  height: 10px;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 5px;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  box-shadow: 0 0 0 2px white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #FFF;
  bottom: 100%;
  height: 83px;
  left: 0;
  margin-bottom: 20px;
  margin-left: -60px;
  opacity: 0;
  padding: 5px;
  position: absolute;
  width: 120px;
  border-radius: 3px;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  transform: translate3d(0, 5px, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 12px;
  transition: box-shadow 0.3s ease 0s;
  width: 12px;
}

.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
  box-shadow: 0 0 0 8px white inset;
}

.lg-outer .lg-caret {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px dashed;
  bottom: -10px;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.lg-outer #lg-dropdown-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay {
  transition-delay: 0s;
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-dropdown-active #lg-share {
  color: #FFF;
}

.lg-outer .lg-dropdown {
  background-color: #fff;
  border-radius: 2px;
  font-size: 14px;
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 50px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 5px, 0);
  transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}

.lg-outer .lg-dropdown:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  border: 8px solid transparent;
  border-bottom-color: #FFF;
  right: 16px;
  top: -16px;
}

.lg-outer .lg-dropdown > li:last-child {
  margin-bottom: 0px;
}

.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon {
  color: #333;
}

.lg-outer .lg-dropdown a {
  color: #333;
  display: block;
  white-space: pre;
  padding: 4px 12px;
  font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 12px;
}

.lg-outer .lg-dropdown a:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.lg-outer .lg-dropdown .lg-dropdown-text {
  display: inline-block;
  line-height: 1;
  margin-top: -3px;
  vertical-align: middle;
}

.lg-outer .lg-dropdown .lg-icon {
  color: #333;
  display: inline-block;
  float: none;
  font-size: 20px;
  height: auto;
  line-height: 1;
  margin-right: 8px;
  padding: 0;
  vertical-align: middle;
  width: auto;
}

.lg-outer #lg-share {
  position: relative;
}

.lg-outer #lg-share:after {
  content: "\e80d";
}

.lg-outer #lg-share-facebook .lg-icon {
  color: #3b5998;
}

.lg-outer #lg-share-facebook .lg-icon:after {
  content: "\e904";
}

.lg-outer #lg-share-twitter .lg-icon {
  color: #00aced;
}

.lg-outer #lg-share-twitter .lg-icon:after {
  content: "\e907";
}

.lg-outer #lg-share-googleplus .lg-icon {
  color: #dd4b39;
}

.lg-outer #lg-share-googleplus .lg-icon:after {
  content: "\e905";
}

.lg-outer #lg-share-pinterest .lg-icon {
  color: #cb2027;
}

.lg-outer #lg-share-pinterest .lg-icon:after {
  content: "\e906";
}

.lg-outer .lg-img-rotate {
  position: absolute;
  padding: 0 5px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
}

.lg-rotate-left:after {
  content: "\e900";
}

.lg-rotate-right:after {
  content: "\e901";
}

.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver {
  font-size: 26px;
}

.lg-flip-hor:after {
  content: "\e902";
}

.lg-flip-ver:after {
  content: "\e903";
}

.lg-group {
  *zoom: 1;
}

.lg-group:before, .lg-group:after {
  display: table;
  content: "";
  line-height: 0;
}

.lg-group:after {
  clear: both;
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  opacity: 0;
  outline: none;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  box-sizing: border-box;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current {
  transition-duration: inherit !important;
  transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  max-height: 100%;
}

.lg-outer .lg-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}

.lg-outer .lg-item {
  background: image("lightgallery/loading.gif", false, "../../") no-repeat scroll center center transparent;
  display: none !important;
}

.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item, .lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

.lg-outer .lg-img-wrap {
  position: absolute;
  padding: 0 5px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-image {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}

.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play {
  opacity: 0;
  transition: opacity 0.15s ease 0s;
}

.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-empty-html {
  display: none;
}

.lg-outer.lg-hide-download #lg-download {
  display: none;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.15s ease 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current {
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  backface-visibility: hidden;
}

.lg-css3.lg-use-left .lg-item {
  backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-left .lg-item {
  opacity: 0;
  position: absolute;
  left: 0;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
  left: -100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
  left: 100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  left: 0;
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.HomeTitle {
  margin: 0 0 1em;
  font-size: 3em;
  text-align: center;
  color: var(--colorPrimary);
}

@media (max-width: 48rem) {
  .HomeTitle {
    font-size: 2.5em;
  }
}

.HomeBanner {
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 87.5rem) {
  .HomeBanner {
    font-size: .85em;
  }
}

@media (max-width: 48rem) {
  .HomeBanner {
    display: grid;
    font-size: 1em;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 37.5rem) {
  .HomeBanner {
    grid-template-columns: 3fr 1fr;
  }
}

.HomeBanner:before {
  content: "";
  position: absolute;
  width: 30em;
  height: 30em;
  border: 0.25rem solid var(--colorSecondary);
  bottom: -10em;
  right: -.5rem;
  z-index: 2;
}

@media (max-width: 124rem) {
  .HomeBanner:before {
    right: 0;
    border-right: 0;
  }
}

@media (max-width: 87.5rem) {
  .HomeBanner:before {
    width: 20em;
    height: 20em;
    bottom: -5em;
  }
}

@media (max-width: 48rem) {
  .HomeBanner:before {
    content: none;
  }
}

.HomeBanner-text {
  position: absolute;
  background: var(--colorSecondaryBg);
  width: 40%;
  padding: 7em 13em 5em 5em;
  color: var(--colorPrimary);
  z-index: 1;
  box-sizing: border-box;
}

@media (max-width: 87.5rem) {
  .HomeBanner-text {
    padding: 5em 10em 5em 3em;
  }
}

@media (max-width: 64rem) {
  .HomeBanner-text {
    padding: 5em 5em 5em 3em;
    width: 50%;
  }
}

@media (max-width: 48rem) {
  .HomeBanner-text {
    position: relative;
    width: 100%;
    padding: 3em 2em;
  }
}

.HomeBanner-text:before {
  content: "";
  position: absolute;
  width: 50vw;
  min-width: 100%;
  height: calc(100% + 10em);
  background: var(--colorSecondaryBg);
  z-index: -1;
  right: 0;
  bottom: 0;
}

@media (max-width: 48rem) {
  .HomeBanner-text:before {
    content: none;
  }
}

.HomeBanner-text h1 {
  font-size: 5em;
  text-transform: uppercase;
  color: var(--colorPrimary);
  margin: 0 0 .4em;
}

@media (max-width: 48rem) {
  .HomeBanner-text h1 {
    font-size: 2.5em;
  }
}

.HomeBanner-text p {
  font-size: 1.5em;
}

@media (max-width: 48rem) {
  .HomeBanner-text p {
    font-size: 1.25em;
  }
}

.HomeBanner-inner {
  position: relative;
  background: var(--colorPrimary);
}

.HomeBanner-inner img {
  mix-blend-mode: screen;
}

@media (max-width: 87.5rem) {
  .HomeBanner-inner {
    padding: 0;
  }
}

@media (max-width: 48rem) {
  .HomeBanner-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60%;
  }
}

.HomeBanner-social {
  position: absolute;
  bottom: 3.125em;
  right: 3.125em;
  z-index: 5;
}

@media (max-width: 87.5rem) {
  .HomeBanner-social {
    right: 5em;
  }
}

@media (max-width: 87.5rem) {
  .HomeBanner-social svg {
    width: 3em;
    height: 3em;
  }
}

.HomeBanner-social a {
  display: inline-flex;
  color: #fff;
  opacity: .8;
  text-decoration: none;
  transition: .2s;
}

@media (max-width: 48rem) {
  .HomeBanner-social a {
    opacity: 1;
  }
}

.HomeBanner-social a:not(:last-of-type) {
  margin-right: .75em;
}

.HomeBanner-social a:hover, .HomeBanner-social a:focus {
  color: var(--colorSecondary);
}

@media (max-width: 37.5rem) {
  .HomeBanner-social {
    display: none;
  }
}

.HomeMain {
  position: relative;
  background: var(--colorPrimary);
  color: #fff;
  padding: 5em 0;
  --buttonColorBg: var(--colorSecondary);
}

@media (max-width: 87.5rem) {
  .HomeMain {
    font-size: .85em;
  }
}

@media (max-width: 48rem) {
  .HomeMain {
    font-size: 1em;
  }
}

.HomeMain:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--colorPrimary);
  top: -70%;
  left: 0;
  z-index: -1;
}

@media (max-width: 87.5rem) {
  .HomeMain:before {
    content: none;
  }
}

@media (min-width: 48.01rem) {
  .HomeMain h2 {
    max-width: 50%;
  }
  .HomeMain p {
    max-width: 70%;
  }
}

.HomeMain h2 {
  font-size: 4em;
  margin: 0 0 .5em;
}

@media (max-width: 48rem) {
  .HomeMain h2 {
    font-size: 2.5em;
  }
}

.HomeMain p {
  font-size: 1.5em;
  line-height: 2;
  margin-bottom: 1.5em;
}

@media (max-width: 48rem) {
  .HomeMain p {
    font-size: 1.25em;
  }
}

.HomeNumbers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: flex-start;
  grid-gap: 1.5em;
  color: var(--colorPrimary);
  padding: 5rem 0;
}

@media (max-width: 75rem) {
  .HomeNumbers {
    padding: 3rem 0;
  }
}

@media (max-width: 48rem) {
  .HomeNumbers {
    padding: 1.5rem 0;
  }
}

@media (max-width: 25rem) {
  .HomeNumbers {
    grid-template-columns: repeat(2, 1fr);
  }
}

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

@media (max-width: 25rem) {
  .HomeNumbers-el:nth-of-type(3) {
    grid-column: 1 / -1;
  }
}

.HomeNumbers-el strong {
  display: block;
  font-size: 5em;
}

@media (max-width: 48rem) {
  .HomeNumbers-el strong {
    font-size: 3.5em;
  }
}

@media (max-width: 30rem) {
  .HomeNumbers-el strong {
    font-size: 2.5em;
  }
}

.HomeNumbers-el span {
  display: inline-block;
  font-size: 1.5em;
  opacity: .8;
  max-width: 9rem;
}

@media (max-width: 48rem) {
  .HomeNumbers-el span {
    font-size: 1.4em;
  }
}

@media (max-width: 30rem) {
  .HomeNumbers-el span {
    font-size: 1.2em;
  }
}

.HomeLinks {
  border-top: 2px solid var(--colorSecondary);
  border-bottom: 2px solid var(--colorSecondary);
  font-size: 1.9em;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: .875em 0;
}

@media (max-width: 40rem) {
  .HomeLinks {
    font-size: 1.4em;
  }
}

@media (max-width: 30rem) {
  .HomeLinks {
    font-size: 1.2em;
  }
}

@media (max-width: 25rem) {
  .HomeLinks {
    flex-wrap: wrap;
  }
}

.HomeLinks > * {
  display: inline-block;
}

.HomeLinks-el {
  color: var(--colorPrimary);
  padding: .125em 1em;
  position: relative;
}

@media (max-width: 25rem) {
  .HomeLinks-el {
    width: 50%;
    text-align: center;
  }
}

.HomeLinks-el:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 0;
  height: 4px;
  background: transparent;
  transition: var(--animationBase);
}

.HomeLinks-el:hover, .HomeLinks-el:focus {
  text-decoration: none;
  color: var(--colorPrimary);
}

.HomeLinks-el:hover:after, .HomeLinks-el:focus:after {
  width: calc(100% - 1em);
  background: var(--colorPrimary);
}

.HomeLinks-sep {
  width: 2.65em;
  height: 2px;
  background: var(--colorPrimary);
}

@media (max-width: 25rem) {
  .HomeLinks-sep {
    display: none;
  }
}

.HomeServices {
  margin-top: 3rem;
  padding: 5rem 0;
  background: var(--colorSecondaryBg);
}

@media (max-width: 75rem) {
  .HomeServices {
    padding: 3rem 0;
  }
}

.HomeServices-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2.5em;
}

@media (max-width: 75rem) {
  .HomeServices-inner {
    grid-gap: 1.5em;
  }
}

@media (max-width: 50rem) {
  .HomeServices-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 25rem) {
  .HomeServices-inner {
    grid-template-columns: 1fr;
  }
}

.HomeServicesEl {
  background: #fff;
  position: relative;
  text-align: center;
  padding: 2em 1em;
  font-size: 1.3em;
  color: var(--colorPrimary);
}

.HomeServicesEl > *, .HomeServicesEl:before {
  transition: var(--animationBase);
}

.HomeServicesEl:before {
  content: "";
  position: absolute;
  width: calc(100% + 1.25em);
  height: calc(100% + 1.25em);
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  border: 4px solid var(--colorSecondary);
  opacity: 0;
}

.HomeServicesEl:hover, .HomeServicesEl:focus {
  outline: 0;
  text-decoration: none;
}

.HomeServicesEl:hover:before, .HomeServicesEl:focus:before {
  opacity: 1;
}

.HomeServicesEl:hover .HomeServicesEl-title,
.HomeServicesEl:hover .HomeServicesEl-img, .HomeServicesEl:focus .HomeServicesEl-title,
.HomeServicesEl:focus .HomeServicesEl-img {
  color: var(--colorPrimary) !important;
}

.HomeServicesEl-img {
  color: var(--colorSecondary);
}

.HomeServicesEl-img svg {
  height: 5.6em;
  width: auto;
}

@media (max-width: 75rem) {
  .HomeServicesEl-img svg {
    height: 4.8em;
  }
}

.HomeServicesEl-title {
  color: var(--colorSecondary) !important;
  margin: 1.5em 0 1em;
}

.HomeServicesEl-perex {
  font-size: .8em;
  font-family: "Open Sans";
  font-weight: 600;
}

.HomeServicesEl-perex p {
  font-size: 1em;
  line-height: inherit;
  margin: 0;
}

.HomeEstates {
  padding-top: 5em;
  padding-bottom: 5em;
}

@media (max-width: 75rem) {
  .HomeEstates {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 64rem) {
  .HomeEstates .EstatesListEl:nth-of-type(4) {
    display: none;
  }
}

@media (max-width: 44rem) {
  .HomeEstates .EstatesListEl:nth-of-type(4) {
    display: block;
  }
}

.HomeEstates-title {
  margin-bottom: .5em;
}

.HomeEstates-perex {
  text-align: center;
  color: var(--colorPrimary);
  opacity: .8;
  font-family: "Open Sans";
  font-weight: 700;
  font-size: 1.5em;
  margin-bottom: 0;
}

.HomeEstates-all {
  text-align: center;
  margin-top: 2.5em;
}

.HomeEstates .EstatesList {
  margin-top: 3em;
}

.HomeNews {
  background: var(--colorSecondaryBg);
  padding: 5em 0;
}

@media (max-width: 75rem) {
  .HomeNews {
    padding: 3rem 0;
  }
}

.HomeNews-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2.5em;
}

@media (max-width: 75rem) {
  .HomeNews-inner {
    grid-gap: 1.5em;
  }
}

@media (max-width: 44rem) {
  .HomeNews-inner {
    grid-template-columns: 1fr;
  }
}

.HomeNews-all {
  text-align: center;
  margin-top: 2.5em;
}

.HomeForm {
  padding: 5em 0;
  background: var(--colorPrimary);
}

.HomeForm-inner {
  border: 4px solid var(--colorSecondary);
  padding: 2.5em;
}

@media (max-width: 48rem) {
  .HomeForm-inner {
    padding: 1.5em;
  }
}

.HomeForm form {
  background: var(--colorSecondaryBg);
  padding: 3.375em 0;
}

@media (max-width: 48rem) {
  .HomeForm form {
    padding: 3em 0;
  }
}

.HomeForm form .wpcf7-not-valid-tip {
  margin-top: .5em;
}

.HomeForm form .wpcf7-response-output {
  max-width: 61.25rem;
  margin: 2em auto 1em;
}

.HomeForm .HomeTitle {
  color: #fff;
}

.EstatesList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2.5em;
}

@media (max-width: 75rem) {
  .EstatesList {
    grid-gap: 1.5em;
  }
}

@media (max-width: 64rem) {
  .EstatesList {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 44rem) {
  .EstatesList {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 25rem) {
  .EstatesList {
    grid-template-columns: 1fr;
  }
}

.EstatesList--archive {
  grid-template-columns: repeat(3, 1fr);
  align-self: start;
}

@media (max-width: 64rem) {
  .EstatesList--archive {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 44rem) {
  .EstatesList--archive {
    grid-template-columns: 1fr;
  }
}

.EstatesList-layout {
  display: grid;
  grid-template-columns: 20em 1fr;
  grid-gap: 2.5em;
}

@media (max-width: 36rem) {
  .EstatesList-layout {
    grid-template-columns: 1fr;
  }
}

.EstatesListAlert {
  align-self: flex-start;
  text-align: center;
  padding: 2em;
}

.EstatesListEl {
  display: flex;
  flex-flow: column;
  border: 2px solid var(--colorSecondary);
  transition: var(--animationBase);
}

.EstatesListEl > * {
  transition: var(--animationBase);
}

.EstatesListEl-img {
  overflow: hidden;
  aspect-ratio: 1;
}

.EstatesListEl-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--animationBase);
}

.EstatesListEl-text {
  flex: 1;
  background: #fff;
  padding: 1em;
}

.EstatesListEl-tag {
  font-size: .75em;
  display: inline-block;
  padding: .25em 1.5em;
  transition: var(--animationBase);
}

.EstatesListEl-tag[data-type="prodej"] {
  color: #fff;
  background: var(--colorPrimary);
}

.EstatesListEl-tag[data-type="pronajem"] {
  color: #fff;
  background: var(--colorSecondary);
}

.EstatesListEl-title {
  line-height: 1.4;
  margin-bottom: .5em;
}

.EstatesListEl-title a {
  color: var(--colorPrimary);
}

.EstatesListEl-price {
  font-family: "Open Sans";
  color: var(--colorPrimary);
}

.EstatesListEl:hover, .EstatesListEl:focus {
  border-color: var(--colorPrimary);
}

.EstatesListEl:hover .EstatesListEl-img img, .EstatesListEl:focus .EstatesListEl-img img {
  transform: scale(1.2);
}

.EstatesListEl:hover .EstatesListEl-text, .EstatesListEl:focus .EstatesListEl-text {
  background: var(--colorSecondaryBg);
}

.EstateFilter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1.2em .75em;
  padding: 2em;
  font-size: .75em;
  background: var(--colorSecondaryBg);
}

.EstateFilter-wrapper {
  align-self: flex-start;
  grid-row: 1/-1;
}

@media (min-width: 25.01rem) {
  .EstateFilter [data-estate-filter-order] {
    display: none;
  }
}

.EstateFilter > *:not(.half) {
  grid-column: 1/-1;
}

.EstateFilter-note {
  font-size: 1.24em;
  color: var(--colorPrimary);
}

.EstateFilter-note span {
  color: var(--colorSecondary);
  font-size: 1.2em;
  margin-left: .4em;
}

.EstateFilter button {
  justify-content: center;
}

.EstateFilter-result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: .5em;
}

.EstateFilter-reset {
  font-size: .8em;
  text-decoration: underline;
}

.EstateFilter-reset:hover {
  text-decoration: none;
  opacity: .8;
}

.EstateFilter-count {
  font-size: 1.2em;
  opacity: .8;
}

.EstateFilter-count span {
  font-size: 1.2em;
  color: var(--colorSecondary);
}

.EstateCategory {
  margin-top: 2em;
}

@media (max-width: 36rem) {
  .EstateCategory {
    display: none;
  }
}

.EstateCategory-title {
  color: var(--colorPrimary);
}

.EstateCategory-nav {
  display: flex;
  flex-flow: column;
  margin-top: .5em;
  background: var(--colorSecondaryBg);
}

.EstateCategory-nav a {
  font-size: .8em;
  padding: 1em 2em;
  transition: var(--animationBase);
}

.EstateCategory-nav a:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.EstateCategory-nav a:hover {
  text-decoration: none;
  background: var(--colorSecondary);
  color: #fff;
}

.EstateOrder {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: .4em;
  border-top: 0.125rem solid var(--colorSecondary);
  border-bottom: 0.125rem solid var(--colorSecondary);
  padding: .625em 0;
}

@media (max-width: 44rem) {
  .EstateOrder {
    display: none;
  }
}

.EstateOrder button {
  font-family: inherit;
  font-size: .75em;
  border: 0;
  color: var(--colorPrimary);
  background: var(--colorSecondaryBg);
  padding: 1em 2em;
  transition: var(--animationBase);
}

.EstateOrder button.is-active {
  background: var(--colorPrimary);
  color: #fff;
}

.EstateOrder button:hover {
  background: var(--colorSecondary);
  color: #fff;
}

.EstateDetail-title {
  margin-top: 0;
  color: var(--colorPrimary);
}

.EstateDetail-type {
  display: inline-block;
  font-size: 1.125em;
  position: absolute;
  left: 6rem;
  top: 3rem;
  padding: .25em 1.5em;
}

.EstateDetail-type[data-type="prodej"] {
  color: #fff;
  background: var(--colorPrimary);
}

.EstateDetail-type[data-type="pronajem"] {
  color: #fff;
  background: var(--colorSecondary);
}

@media (max-width: 48rem) {
  .EstateDetail-type {
    left: 0;
  }
}

.EstateDetail-location {
  font-family: "Open Sans";
  font-size: 1.25em;
  font-weight: 600;
}

.EstateDetail-tags {
  font-size: 0.75em;
  font-weight: 800;
  margin-top: 2em;
}

.EstateDetail-tags span {
  border: 1px solid var(--colorSecondary);
  display: inline-block;
  padding: .25em 1.5em;
  margin: 0 0 .5em .5em;
}

.EstateDetail-price {
  font-size: 2.5em;
  margin-top: .8em;
}

.EstateDetail-note {
  font-family: "Open Sans";
  font-weight: 600;
}

.EstateDetail-galleryButton {
  position: absolute;
  background: var(--colorSecondaryBg);
  font-size: 1.125em;
  padding: .5em 1.25em;
  bottom: 2em;
  right: 2em;
  box-sizing: border-box;
  display: inline-block;
  cursor: pointer;
}

.EstateDetail-galleryButton:after {
  content: "";
  position: absolute;
  width: 120%;
  height: 150%;
  border: 4px solid var(--colorSecondary);
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: .2s;
}

.EstateDetail-galleryButton:hover:after, .EstateDetail-galleryButton:focus:after {
  width: 110%;
  height: 130%;
}

@media (max-width: 48rem) {
  .EstateDetail-galleryButton {
    display: none;
  }
}

.EstateDetailHeader {
  position: relative;
  background: var(--colorPrimary);
  padding-bottom: 5rem;
}

@media (max-width: 64rem) {
  .EstateDetailHeader {
    padding-bottom: 2rem;
  }
}

@media (max-width: 48rem) {
  .EstateDetailHeader {
    padding-bottom: 0;
  }
}

.EstateDetailHeader-inner {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-template-rows: 1fr auto;
}

@media (max-width: 112rem) {
  .EstateDetailHeader-inner {
    padding: 0;
  }
}

@media (max-width: 48rem) {
  .EstateDetailHeader-inner {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
}

@media (max-width: 35rem) {
  .EstateDetailHeader-inner {
    grid-template-columns: 1fr;
  }
}

.EstateDetailHeader .Breadcrumbs > span > span > span > span > .separator,
.EstateDetailHeader .Breadcrumbs .breadcrumb_last {
  display: none;
}

@media (max-width: 48rem) {
  .EstateDetailHeader .Breadcrumbs {
    display: none;
  }
}

.EstateDetailHeader h1 {
  font-size: 2.5em;
  text-transform: none;
}

.EstateDetailHeader-info {
  grid-column: 1;
  background: var(--colorSecondaryBg);
  position: relative;
  padding: 3em 13em 4em 0;
  color: var(--colorPrimary);
  z-index: 1;
  box-sizing: border-box;
}

.EstateDetailHeader-infoInner {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
}

@media (max-width: 112rem) {
  .EstateDetailHeader-info {
    padding: 3em 12em 4em var(--sizeFramePadding);
  }
}

@media (max-width: 87.5rem) {
  .EstateDetailHeader-info {
    padding: 2em 10em 5em var(--sizeFramePadding);
  }
}

@media (max-width: 64rem) {
  .EstateDetailHeader-info {
    padding: 2em 5em 5em var(--sizeFramePadding);
  }
}

@media (max-width: 48rem) {
  .EstateDetailHeader-info {
    padding: 3em 2em 3em var(--sizeFramePadding);
    grid-column: 1 / 2;
    margin-left: 0;
  }
}

.EstateDetailHeader-info:before {
  content: "";
  position: absolute;
  width: 50vw;
  min-width: 100%;
  height: calc(100% + 10em);
  background: var(--colorSecondaryBg);
  z-index: -1;
  right: 0;
  bottom: 0;
}

@media (max-width: 48rem) {
  .EstateDetailHeader-info:before {
    height: 100%;
  }
}

.EstateDetailHeader-image {
  grid-column: 2;
  grid-row: 1 / 3;
  position: relative;
  margin-left: -6rem;
  max-height: 50em;
}

@media (max-width: 48rem) {
  .EstateDetailHeader-image {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 0;
  }
}

@media (max-width: 35rem) {
  .EstateDetailHeader-image {
    display: none;
  }
}

.EstateDetailHeader-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.EstateDetailHeader-more {
  grid-row: 2 / 3;
  grid-column: 1 / 4;
  padding: 1.5em 2em 1.5em 0;
  font-size: 1.25em;
  display: flex;
  align-items: center;
  text-decoration: underline;
  color: #fff;
}

@media (max-width: 87.5rem) {
  .EstateDetailHeader-more {
    padding-left: 2em;
  }
}

@media (max-width: 48rem) {
  .EstateDetailHeader-more {
    display: none;
  }
}

.EstateDetailHeader-more:hover, .EstateDetailHeader-more:focus {
  color: #fff;
  text-decoration: none;
}

.EstateDetailHeader-more svg {
  width: 3em;
  height: auto;
  opacity: .8;
}

.EstateDetailHeader .ButtonBase {
  margin-top: 1.7em;
}

.EstateDetailGallery {
  padding: 3rem 0 4rem;
  border-bottom: 2px solid var(--colorSecondary);
}

@media (max-width: 75rem) {
  .EstateDetailGallery {
    padding: 2rem 0 3rem;
  }
}

.EstateDetailGallery .BaseSlider-inner {
  margin: 0;
  --articlesGrid-columns: 4;
  --articlesGrid-gap: .4rem;
}

@media (max-width: 44rem) {
  .EstateDetailGallery .BaseSlider-inner {
    --articlesGrid-columns: 3;
  }
}

@media (max-width: 30rem) {
  .EstateDetailGallery .BaseSlider-inner {
    --articlesGrid-columns: 2;
  }
}

.EstateDetailGallery figure {
  transition: var(--animationBase);
}

.EstateDetailGallery figure:hover {
  opacity: .64;
}

.EstateDetailGallery figure.is-hidden {
  display: none;
}

.EstateDetailGallery .MatterportItem {
  position: relative;
  background: var(--colorSecondaryBg);
  cursor: pointer;
}

.EstateDetailGallery .MatterportItem-inner {
  position: absolute;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  inset: 0;
  padding-top: 0.5rem;
  color: var(--colorPrimary);
}

.EstateDetailGallery .MatterportItem-inner span {
  margin-top: 1em;
}

.EstateDetailGallery .MatterportItem img {
  opacity: .12;
  filter: grayscale(1);
}

.EstateDetailGallery img {
  height: 100%;
  object-fit: cover;
}

.EstateDetailGallery .BaseSlider-nav {
  top: 50%;
  color: var(--colorPrimary);
}

.EstateDetailGallery .BaseSlider-nav svg {
  width: 1.875rem;
}

@media (max-width: 64rem) {
  .EstateDetailGallery .BaseSlider-nav {
    background: var(--colorPrimary);
    color: #fff;
    height: 3em;
    width: 3em;
  }
  .EstateDetailGallery .BaseSlider-nav svg {
    width: 1.5em;
  }
}

.EstateDetailGallery .BaseSlider-nav[data-direction="prev"] {
  transform: translateY(-50%) rotate(90deg);
}

@media (max-width: 64rem) {
  .EstateDetailGallery .BaseSlider-nav[data-direction="prev"] {
    left: calc(var(--sizeFramePadding) * -1);
  }
}

.EstateDetailGallery .BaseSlider-nav[data-direction="next"] {
  transform: translateY(-50%) rotate(-90deg);
}

@media (max-width: 64rem) {
  .EstateDetailGallery .BaseSlider-nav[data-direction="next"] {
    right: calc(var(--sizeFramePadding) * -1);
  }
}

.EstateDetailDesc {
  color: var(--colorPrimary);
  padding: 3rem 0 5rem;
}

@media (max-width: 75rem) {
  .EstateDetailDesc {
    padding: 3rem 0;
  }
}

.EstateDetailDesc-text {
  font-family: "Open Sans";
  font-weight: 600;
}

.EstateDetailDesc-text > * {
  font-size: 1.125em;
  line-height: 1.75;
}

.EstateDetailParameters {
  padding: 5rem 0 3rem;
  background: var(--colorSecondaryBg);
  color: var(--colorPrimary);
}

@media (max-width: 75rem) {
  .EstateDetailParameters {
    padding: 3rem 0;
  }
}

.EstateDetailParameters-row {
  font-family: "Open Sans";
  font-size: 1.125em;
  display: flex;
  justify-content: space-between;
  padding: 1em 0;
  font-weight: 600;
  transition: .5s;
}

.EstateDetailParameters-row:not(:first-of-type) {
  border-top: 1px solid;
}

.EstateDetailParameters-row:nth-of-type(n+6) {
  display: none;
  opacity: 0;
}

.EstateDetailParameters-row:nth-of-type(n+6).is-visible {
  display: flex;
  opacity: 1;
}

.EstateDetailParameters-value {
  font-weight: 900;
}

.EstateDetailParameters-button {
  text-align: center;
  display: none;
}

.EstateDetailParameters-button.is-active {
  display: block;
}

.EstateDetailParameters-button span {
  cursor: pointer;
  position: relative;
  font-size: 1.25em;
  padding-bottom: .5em;
}

.EstateDetailParameters-button span:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--colorSecondary);
  transition: .2s;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

.EstateDetailParameters-button span:hover:after, .EstateDetailParameters-button span:focus:after {
  width: 50%;
}

.EstateDetailMap {
  width: 100%;
  height: 23.75em;
}

.EstateDetailMap iframe {
  width: 100%;
  height: 100%;
}

.EstateDetailBroker {
  padding: 4.8em 0 4em;
  color: var(--colorPrimary);
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  grid-gap: 0 3em;
}

.EstateDetailBroker a:not(.ButtonBase) {
  color: var(--colorPrimary);
  font-size: 1.8em;
  margin-bottom: .5em;
}

@media (max-width: 30rem) {
  .EstateDetailBroker a:not(.ButtonBase) {
    font-size: 1.5em;
  }
}

.EstateDetailBroker .ButtonBase {
  margin-top: .4em;
}

.EstateDetailBroker-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 44rem) {
  .EstateDetailBroker-text {
    align-items: center;
  }
}

.EstateDetailBroker-contacts {
  display: flex;
  flex-flow: column;
  text-align: center;
}

@media (min-width: 44.01rem) {
  .EstateDetailBroker-contacts {
    gap: 2em;
    flex-flow: row;
  }
}

.EstateDetailBroker-name {
  margin-top: 0;
  font-size: 2.24em;
  position: relative;
  margin-bottom: 1.5em !important;
  text-align: center;
}

@media (max-width: 30rem) {
  .EstateDetailBroker-name {
    font-size: 2em;
  }
}

.EstateDetailBroker-name:before {
  content: "";
  position: absolute;
  width: 110%;
  height: 200%;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  border: 4px solid var(--colorSecondary);
}

.EstateDetailBroker-image {
  grid-area: image;
  height: 32em;
}

@media (max-width: 44rem) {
  .EstateDetailBroker-image {
    text-align: center;
  }
}

.EstateDetailBroker-image img {
  height: 100%;
}

.ServicePage {
  background: var(--colorSecondaryBg);
}

.ServicePage .AppHeader {
  background: #fff;
}

.ServicePage .AppFooter-content {
  position: relative;
}

.ServicePage .AppFooter-content:before {
  content: '';
  position: absolute;
  top: -4rem;
  left: 0;
  right: 0;
  height: .25em;
  background: #fff;
}

.ArticleItem {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
  height: 20vw;
  min-height: 18em;
  max-height: 24em;
  padding: 1em;
  box-sizing: border-box;
}

.ArticleItem-img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: var(--colorPrimary);
  overflow: hidden;
}

.ArticleItem-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--animationBase);
}

.ArticleItem-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ArticleItem-date {
  background: var(--colorSecondary);
  color: #fff;
  font-size: .75em;
  display: inline-block;
  padding: .25em 1.5em;
}

.ArticleItem-title {
  font-size: 1.375em;
  background: #fff;
  color: var(--colorPrimary);
  padding: 1em;
  display: inline-block;
  margin-top: .2em;
  transition: var(--animationBase);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 21em;
}

.ArticleItem:hover, .ArticleItem:focus {
  text-decoration: none;
}

.ArticleItem:hover .ArticleItem-title, .ArticleItem:focus .ArticleItem-title {
  color: var(--colorSecondary);
}

.ArticleItem:hover .ArticleItem-img img, .ArticleItem:focus .ArticleItem-img img {
  transform: scale(1.2);
  opacity: .4;
}

/*# sourceMappingURL=style.min.css.map */
