:root {
  --white: #f9f9f9;
  --black: #36383F;
  --grey: #85888C;
  --yellow: #ECD033;
  --dark-green: #38ada9;
  --middle-green: #8bd9d7;
  --light-green: #ebf9f8;
  --color: #2f2e2e;
  --hover: #EEEEEE;
  --error: red;
  --notification: #057CBC;
  --toggle-indicator-size: 24px;
  --track-height: --toggle-indicator-size + 6;
  --track-width: --toggle-indicator-size * 2.5;
}
@keyframes rotate-s-loader {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes indeterminate {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.perspective {
  transition: all 0.4s ease-in-out;
}
.perspective.hidden {
  opacity: 0;
  transform: scale(0.8);
}
.perspective.visible {
  opacity: 1;
  transform: scale(1);
}
@keyframes perspective {
  from {
    opacity: 0;
    transform: perspective(500px) translate3d(-35px, -40px, -150px) rotate3d(1, -1, 0, 35deg);
  }
  to {
    opacity: 1;
    transform: perspective(500px) translate3d(0, 0, 0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
html {
  font-size: 62.5%;
}
html * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html *:focus {
  outline: none;
}
html br {
  clear: both;
}
html hr {
  clear: both;
  margin: 2.5rem 0.5rem 1.5rem 0.5rem;
  border-left: none;
  border-right: none;
  border-bottom: none;
}
html h1,
html h2,
html h3,
html p {
  margin: 1rem 0;
}
html h4,
html h5,
html h6 {
  margin: 2rem 0;
}
body {
  animation: 0.6s ease-out 0s 1 fadeIn;
  background-color: var(--white);
  font-family: 'Roboto Slab', serif;
  font-size: 1.5rem;
  font-weight: 300;
}
body.waiting {
  cursor: progress;
}
body.waiting * {
  cursor: progress;
}
body.antialiased {
  -webkit-font-smoothing: antialiased;
}
body .label,
body label {
  font-weight: 700;
  color: var(--black);
  display: inline-block;
  text-align: left;
  width: 100%;
}
body .container {
  position: relative;
  max-width: 100%;
}
body .button-control {
  text-align: right;
  padding: 1rem 0;
}
body .loader {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -50%);
}
body button {
  font-family: inherit;
  font-size: inherit;
  border: none;
  display: inline-block;
  padding: 0 1rem;
  height: 4rem;
  cursor: pointer;
}
body fieldset {
  border: none;
  display: block;
}
body input:not([type=checkbox]):not([type=radio]),
body .input {
  color: var(--black);
  background-color: var(--white);
  text-align: left;
  height: 4rem;
  display: inline-block;
  width: 100%;
  border: 1px solid #9fa9a3;
  padding: 0.4rem;
  border-radius: 0;
}
body input:not([type=checkbox]):not([type=radio]):focus,
body .input:focus {
  border-color: #33aaff;
}
body input:not([type=checkbox]):not([type=radio])::placeholder,
body .input::placeholder {
  font-style: oblique;
}
body input:not([type=checkbox]):not([type=radio]):disabled,
body .input:disabled {
  background-color: #C3C3C3;
}
body .clearfix::after {
  content: "";
  clear: both;
  display: table;
}
body h3 {
  font-size: 2rem;
}
body h4 {
  font-size: 2rem;
}
body .text-bold-800 {
  font-weight: 800;
}
body .text-ellipses {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body .clearfix::after {
  content: "";
  clear: both;
  display: table;
}
body .no-transition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}
body [class*="x-svg-"] {
  display: inline-block;
}
body [class*="w-"] {
  display: inline-block;
  float: left;
  padding: 0 0.5rem;
}
body .w-6-48 {
  width: 12.5%;
}
body .w-8-48 {
  width: 16.66666667%;
}
body .w-14-48 {
  width: 29.16666667%;
}
body .w-16-48 {
  width: 33.33333333%;
}
body .w-18-48 {
  width: 37.5%;
}
body .w-20-48 {
  width: 41.66666667%;
}
body .w-24-48 {
  width: 50%;
}
body .w-40-48 {
  width: 83.33333333% !important;
}
body .w-48-48 {
  width: 100%;
}
.main {
  padding: 1rem;
  background-color: #EAF0F2;
  min-height: calc(100vh - 27rem);
}
.footer {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.2rem;
  background-color: var(--white);
}
.footer .container {
  font-weight: 300;
  color: var(--black);
  padding: 2rem;
}
.footer .container:first-of-type {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.footer .container:last-of-type {
  text-align: center;
}
.footer .container label {
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 1.1em;
}
.footer .container hr {
  margin: 0.5rem 0;
  width: 4rem;
  border: none;
  border-top: 0.5px solid var(--black);
}
.footer address {
  position: relative;
}
.footer address a {
  color: inherit;
}
.footer img {
  width: 80px;
  height: 80px;
}
.footer a {
  text-decoration: none;
}
.footer a:hover {
  color: var(--dark-green);
  text-decoration: underline;
}
.x-date-picker {
  position: relative;
}
.x-date-picker.error input {
  border-color: red;
}
.x-date-picker .input-control {
  position: relative;
}
.x-date-picker .input-control .x-svg-date-picker {
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
}
.x-date-picker .mobile-wrapper {
  display: none;
}
.x-date-picker .picker-wrapper {
  display: grid;
  color: black;
  position: absolute;
  right: 0;
  padding-bottom: 20rem;
  margin-top: 1rem;
  z-index: 20;
  grid-template-columns: 20rem 30rem;
}
.x-date-picker .wrap-side {
  color: white;
  background: rgba(0, 0, 0, 0.4) url("/components/img.jpg");
  background-blend-mode: darken;
  background-size: cover;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  box-shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0, rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
}
.x-date-picker .wrap-side:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: '';
  opacity: 0.5;
  z-index: -1;
}
.x-date-picker .wrap-side .head-month {
  font-weight: 300;
}
.x-date-picker .wrap-side .head-day {
  font-weight: 700;
  font-size: 9rem;
}
.x-date-picker .picker-container {
  width: 30rem;
  position: relative;
  background-color: var(--white);
  box-shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0, rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
}
.x-date-picker .picker-close {
  padding: 1rem;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  font-size: 1.8rem;
  color: #818181;
}
.x-date-picker .picker-header {
  text-align: left;
}
.x-date-picker .picker-header .picker-header-month time {
  width: 6rem;
  text-align: center;
}
.x-date-picker .picker-header div {
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  align-items: center;
  color: var(--grey);
}
.x-date-picker .picker-header button {
  cursor: pointer;
  border: 0;
  background: 0;
}
.x-date-picker .picker-header button svg {
  fill: var(--grey);
  vertical-align: middle;
}
.x-date-picker .picker-header button[class^=next] svg {
  transform: rotate(90deg);
}
.x-date-picker .picker-header button[class^=previous] svg {
  transform: rotate(-90deg);
}
.x-date-picker .picker-header time {
  grid-column: 2 / span 5;
}
.x-date-picker .days-of-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 4rem;
  color: #38ada9;
  text-decoration: underline;
  font-weight: 700;
}
.x-date-picker .days-of-week abbr {
  display: flex;
  justify-content: center;
  align-items: center;
}
.x-date-picker .scroll-con {
  overflow-x: auto;
}
.x-date-picker .month-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 4rem;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
.x-date-picker .month-grid time {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin: 0.5rem;
  z-index: 10;
  font-weight: 500;
}
.x-date-picker .month-grid .previous-month,
.x-date-picker .month-grid .next-month {
  opacity: 0;
  pointer-events: none;
}
.x-date-picker .month-grid .prev {
  opacity: 0.3;
  pointer-events: none;
}
.x-date-picker .month-grid .disabled {
  text-decoration: line-through;
  pointer-events: none;
}
.x-date-picker .month-grid .occupied {
  margin: 0.5rem 0;
  pointer-events: none;
  text-decoration: line-through;
  font-weight: 300;
  background-color: unset!important;
}
.x-date-picker .month-grid .occupied-first:before {
  content: ' ';
  background-color: #e3f2fd;
  border-top-left-radius: 120%;
  border-bottom-left-radius: 120%;
  position: absolute;
  right: 0%;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.x-date-picker .month-grid .occupied-last:before {
  content: ' ';
  background-color: #e3f2fd;
  border-top-right-radius: 120%;
  border-bottom-right-radius: 120%;
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.x-date-picker .month-grid .today,
.x-date-picker .month-grid .check-in {
  border: 1px solid #00223E;
  border-radius: 1rem;
}
.x-date-picker .month-grid .occupied ~ time {
  background-color: unset;
}
.x-date-picker .month-grid .check-in ~ time {
  background-color: #e3f2fd;
}
.x-date-picker .month-grid .selected ~ time {
  background-color: unset;
}
.x-date-picker .month-grid .selected {
  color: var(--white);
  background-color: #00223E !important;
  border-radius: 1rem;
}
.x-date-picker .month-grid .after,
.x-date-picker .month-grid .before {
  opacity: 0.3;
  pointer-events: none;
  font-weight: 300;
}
.x-calendar {
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  position: relative;
  background-color: white;
  overflow: hidden;
}
.x-calendar .calendar-header {
  font-weight: 700;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--dark-green);
  color: var(--white);
}
.x-calendar .calendar-header section {
  display: inline-block;
}
.x-calendar .calendar-header section.month time {
  text-align: center;
  display: inline-block;
  width: 6rem;
}
.x-calendar .calendar-header button {
  background-color: transparent;
  color: var(--white);
}
.x-calendar .calendar-header button svg {
  fill: var(--white);
  vertical-align: middle;
}
.x-calendar .calendar-header button[class^=next] svg {
  transform: rotate(90deg);
}
.x-calendar .calendar-header button[class^=previous] svg {
  transform: rotate(-90deg);
}
.x-calendar .calendar {
  overflow-x: auto;
  overflow-y: hidden;
  display: grid;
  grid-template-columns: 4rem repeat(7, 1fr);
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.x-calendar .calendar.reservations time article {
  min-height: 6rem;
}
.x-calendar .calendar span {
  font-weight: 700;
  display: flex;
  height: 5rem;
  padding: 0.5rem;
  align-items: center;
  justify-content: right;
  border-top: 1px solid rgba(166, 168, 179, 0.12);
  border-bottom: 1px solid rgba(166, 168, 179, 0.12);
  border-right: 1px solid rgba(166, 168, 179, 0.12);
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  border-right: 1px solid white;
  background-color: var(--dark-green);
  color: var(--white);
}
.x-calendar .calendar span:last-of-type {
  border-right: none;
}
.x-calendar .calendar .week-no {
  align-items: center;
  padding: 0.3rem;
  font-weight: 900;
  display: flex;
  justify-content: flex-end;
}
.x-calendar .calendar time {
  display: flex;
  position: relative;
  text-align: right;
  align-items: center;
  border-top: 0.5px solid var(--dark-green);
  border-right: 0.5px solid var(--dark-green);
  padding-top: 4.4rem;
}
.x-calendar .calendar time:nth-of-type(8n+1) {
  grid-column: 1/1;
}
.x-calendar .calendar time:nth-of-type(8n+2) {
  grid-column: 2/2;
}
.x-calendar .calendar time:nth-of-type(8n+3) {
  grid-column: 3/3;
}
.x-calendar .calendar time:nth-of-type(8n+4) {
  grid-column: 4/4;
}
.x-calendar .calendar time:nth-of-type(8n+5) {
  grid-column: 5/5;
}
.x-calendar .calendar time:nth-of-type(8n+6) {
  grid-column: 6/6;
}
.x-calendar .calendar time:nth-of-type(8n+7) {
  grid-column: 7/7;
}
.x-calendar .calendar time:nth-of-type(8n+8) {
  grid-column: 8/8;
}
.x-calendar .calendar time:nth-of-type(n+1):nth-of-type(-n+8) {
  grid-row: 2;
}
.x-calendar .calendar time:nth-of-type(n+9):nth-of-type(-n+16) {
  grid-row: 3;
}
.x-calendar .calendar time:nth-of-type(n+17):nth-of-type(-n+24) {
  grid-row: 4;
}
.x-calendar .calendar time:nth-of-type(n+25):nth-of-type(-n+32) {
  grid-row: 5;
}
.x-calendar .calendar time:nth-of-type(n+33):nth-of-type(-n+40) {
  grid-row: 6;
}
.x-calendar .calendar time:nth-of-type(n+41):nth-of-type(-n+48) {
  grid-row: 7;
}
.x-calendar .calendar time:nth-child(8n-1) em {
  border-right: 0.5px solid var(--white);
}
.x-calendar .calendar time:nth-child(8n) {
  border-right: none;
}
.x-calendar .calendar time.saturday em,
.x-calendar .calendar time.sunday em {
  background-color: var(--dark-green);
  color: var(--white);
}
.x-calendar .calendar time.previous-month article,
.x-calendar .calendar time.next-month article {
  position: relative;
}
.x-calendar .calendar time.previous-month article::before,
.x-calendar .calendar time.next-month article::before {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 3px;
  right: 1px;
  background-image: url("data:image/svg+xml,%3Csvg height='40' width='40'  viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23f9f9fa' fill-opacity='1' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
  z-index: -1;
}
.x-calendar .calendar time.previous-month em,
.x-calendar .calendar time.next-month em {
  background-color: #E6E6E6;
  color: var(--grey);
}
.x-calendar .calendar time.previous-month p,
.x-calendar .calendar time.next-month p {
  background-color: transparent!important;
}
.x-calendar .calendar time.previous-month svg line,
.x-calendar .calendar time.next-month svg line {
  stroke: var(--grey);
}
.x-calendar .calendar time em {
  position: absolute;
  top: 0;
  padding: 0.5rem;
  font-style: normal;
  display: block;
  justify-content: right;
  align-items: center;
  color: var(--dark-green);
  border-bottom: 0.5px solid var(--dark-green);
  background-color: var(--light-green);
  width: 100%;
}
.x-calendar .calendar time em small {
  display: block;
  text-align: right;
  font-size: 0.6em;
}
.x-calendar .calendar time em i {
  font-size: 0.8em;
  padding: 0.7rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 2rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.x-calendar .calendar time article {
  color: var(--black);
  align-items: center;
  justify-content: center;
  display: flex;
  width: 100%;
  min-height: 14rem;
  position: relative;
  z-index: 1;
  padding: 0.5rem;
}
.x-calendar .calendar time article.top-left {
  font-family: 'Open Sans', serif;
  text-align: left;
  justify-content: left;
  align-self: flex-start;
  align-items: flex-start;
}
.x-calendar .calendar time article.top-left ul {
  font-size: 0.8em;
}
.x-calendar .calendar time article.top-left li:first-of-type {
  font-family: 'Roboto Slab', serif;
}
.x-calendar .calendar time article.top-left div {
  text-align: right;
  padding: 0.5rem;
}
.x-calendar .calendar time article.occupied-first {
  justify-content: left;
}
.x-calendar .calendar time article.occupied-first p {
  top: 20px;
  bottom: 0;
  left: 20px;
  right: 0;
  z-index: -1;
  align-items: end;
  justify-content: right;
}
.x-calendar .calendar time article.occupied-first div {
  align-self: start;
  text-align: left;
}
.x-calendar .calendar time article.occupied-first div button {
  padding-left: 0;
}
.x-calendar .calendar time article.occupied-last {
  justify-content: right;
}
.x-calendar .calendar time article.occupied-last p {
  justify-content: left;
  align-items: flex-start;
  position: absolute;
  top: 0;
  bottom: 20px;
  left: 0;
  right: 20px;
  z-index: -1;
  padding-bottom: 1.5rem;
}
.x-calendar .calendar time article.occupied-last div {
  align-self: end;
  text-align: right;
}
.x-calendar .calendar time article.occupied-last div button {
  padding-right: 0;
}
.x-calendar .calendar time article.occupied-first-last p {
  color: #f8254e;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.x-calendar .calendar time article.occupied-first-last small:first-of-type {
  align-self: flex-start;
}
.x-calendar .calendar time article.occupied-first-last small:last-of-type {
  align-self: flex-end;
}
.x-calendar .calendar time article button {
  color: var(--dark-green);
  background-color: transparent;
  font-weight: 500;
  height: auto;
}
.x-calendar .calendar time article small {
  display: inline-block;
}
.x-calendar .calendar time article ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.x-calendar .calendar time article div a {
  font-size: 0.8em;
  font-weight: 900;
  color: var(--notification);
}
.x-calendar .calendar p {
  position: absolute;
  border-left-color: #fa607e;
  margin: 0;
  padding: 0.5rem;
  color: #f8254e;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.x-calendar .calendar p svg {
  width: 90%;
  height: 90%;
  position: absolute;
}
.x-calendar .calendar p svg line {
  stroke: var(--grey);
  stroke-width: 1;
}
.x-calendar .calendar a {
  color: inherit;
  text-decoration: none;
}
.x-calendar .calendar a:hover {
  color: var(--dark-green);
  text-decoration: underline;
}
.x-calendar .calendar section.task {
  height: 100%;
  align-self: end;
  background: rgba(248, 37, 78, 0.3);
}
.x-calendar .calendar-footer {
  font-weight: 700;
  padding: 1rem 0.5rem;
  text-align: right;
  background-color: var(--dark-green);
  color: var(--white);
}
.x-calendar .calendar-footer button {
  color: var(--white);
  background-color: transparent;
}
.x-gallery {
  letter-spacing: -1rem;
}
.x-gallery.masonry main {
  display: grid;
  grid-template-columns: repeat(1, minmax(100px, 1fr));
  grid-gap: 10px;
  grid-auto-rows: 0;
}
.x-gallery.masonry figure {
  letter-spacing: normal;
  position: relative;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.x-gallery.masonry figure div {
  transition: all 0.4s ease-out;
}
.x-gallery.masonry figure div.hidden {
  transform: scale(0.8);
  opacity: 0;
}
.x-gallery:not(.masonry) figure {
  position: relative;
  display: inline-block;
  height: 350px;
  overflow: hidden;
  letter-spacing: normal;
  padding: 0.5rem 1rem;
}
.x-gallery:not(.masonry) figure div {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  transition: all 0.4s ease-out;
}
.x-gallery:not(.masonry) figure div.hidden {
  transform: scale(0.8);
  opacity: 0;
}
.x-gallery:not(.masonry) figure div img {
  position: absolute;
  width: auto;
  min-width: 100%;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.x-gallery:not(.masonry) .col-2 {
  width: 16.66666667%;
}
.x-gallery:not(.masonry) .col-3 {
  width: 25%;
}
.x-gallery:not(.masonry) .col-4 {
  width: 33.33333333%;
}
.x-gallery:not(.masonry) .col-5 {
  width: 41.66666667%;
}
.x-gallery:not(.masonry) .col-6 {
  width: 50%;
}
.x-gallery:not(.masonry) .col-7 {
  width: 58.33333333%;
}
.x-gallery:not(.masonry) .col-8 {
  width: 66.66666667%;
}
.x-gallery header svg {
  fill: #a0aec0;
  cursor: pointer;
  overflow: hidden;
}
.x-gallery header svg.icon-masonry {
  transform: rotate(-90deg);
  margin-bottom: 3px;
}
.x-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.x-gallery main figure {
  counter-increment: count;
}
.x-gallery main figure:after {
  position: absolute;
  display: block;
  top: 0.5rem;
  left: 1rem;
  width: 24px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  color: #fff;
  content: counter(count);
  opacity: 0;
}
.x-gallery main figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  color: var(--white);
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.x-gallery main figcaption:hover {
  margin-left: 2rem;
}
.x-gallery main figcaption h2 {
  font-weight: 300;
  margin: 1rem 0;
}
.x-gallery main figcaption p {
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
.x-gallery .lg-con {
  display: none;
  opacity: 0;
  transition: opacity 0.2s ease-in;
  letter-spacing: normal;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  z-index: 10;
}
.x-gallery .lg-con .lg-toolbar {
  height: 5rem;
  display: flex;
  padding: 1rem;
  align-items: center;
  align-content: space-between;
  justify-content: space-between;
}
.x-gallery .lg-con .lg-toolbar span {
  color: var(--grey);
}
.x-gallery .lg-con .lg-toolbar svg {
  cursor: pointer;
  fill: var(--grey);
  margin-left: 1rem;
  vertical-align: middle;
  display: inline-block;
}
.x-gallery .lg-con .lg-toolbar svg.left-right {
  transform: rotate(-90deg);
}
.x-gallery .lg-con .lg-toolbar svg.top-bottom {
  transform: rotate(-90deg);
}
.x-gallery .lg-con .lg-toolbar svg.autoplay-stop {
  display: none;
}
.x-gallery .lg-con .lg-toolbar svg.fullscreen-exit {
  display: none;
}
.x-gallery .lg-con .lg-content {
  height: calc(100vh - 8rem - 100px);
  position: relative;
  text-align: center;
  background-color: var(--grey);
}
.x-gallery .lg-con .lg-content figure {
  height: 100%;
  opacity: 0;
  position: absolute;
  padding: 0;
  transition-property: all;
  transition-duration: 0.4s;
  transition-timing-function: linear;
  text-align: center;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.x-gallery .lg-con .lg-content figure.active {
  opacity: 1;
}
.x-gallery .lg-con .lg-content figure img {
  vertical-align: middle;
  display: inline-block;
  max-height: 100%;
  max-width: 100%;
  width: unset;
  transition: opacity 0.6s ease-in;
  position: relative;
  transform: translateY(-50%);
  top: 50%;
}
.x-gallery .lg-con .lg-content div {
  display: flex;
  fill: var(--white);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0.4rem;
  z-index: 2;
}
.x-gallery .lg-con .lg-content div.i-previous {
  left: 1rem;
}
.x-gallery .lg-con .lg-content div.i-next {
  transform: translateY(-50%) rotate(180deg);
  right: 1rem;
}
.x-gallery .lg-con .lg-content div.disabled {
  cursor: not-allowed;
  opacity: 0.2;
}
.x-gallery .lg-con .lg-content div.i-loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}
.x-gallery .lg-con .lg-content div.i-loader svg {
  position: relative;
  animation-name: rotate-s-loader;
  animation-iteration-count: infinite;
  animation-duration: 2s;
  animation-timing-function: linear;
}
.x-gallery .lg-con .lg-thumb {
  height: calc(3rem + 100px);
}
.x-gallery .lg-con .lg-thumb-description {
  text-align: center;
  color: var(--white);
  font-weight: 300;
  height: 3rem;
  line-height: 3rem;
}
.x-gallery .lg-con .lg-thumb-description h2,
.x-gallery .lg-con .lg-thumb-description p {
  font-size: 1em;
  margin: 0;
  display: inline-block;
}
.x-gallery .lg-con .lg-thumb-con {
  height: 100px;
  overflow-x: visible;
  overflow-y: hidden;
  padding: 5px;
}
.x-gallery .lg-con .lg-inner-con {
  height: 100%;
  letter-spacing: -1rem;
}
.x-gallery .lg-con .lg-inner-con figure {
  display: inline-block;
  height: 100%;
  padding: 0 2px;
}
.x-gallery .lg-con .lg-inner-con figure.active img {
  border-color: var(--dark-green);
}
.x-gallery .lg-con .lg-inner-con figure img {
  display: block;
  height: 100%;
  border: 2px solid var(--white);
  border-radius: 0.5rem;
}
.x-gallery .lg-con .lg-inner-con figure figcaption {
  display: none;
}
.x-stepper .input-control {
  display: flex;
}
.x-stepper input {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  width: calc(100% - 8rem);
  text-align: center!important;
}
.x-stepper input::-webkit-outer-spin-button,
.x-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.x-stepper button {
  display: flex;
  height: 4rem;
  width: 4rem;
  background-color: var(--dark-green);
  color: var(--white);
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.x-municipality {
  position: relative;
}
.x-municipality.error-psc .lbl-0 input {
  border-color: var(--error) !important;
}
.x-municipality.error-municipality .lbl-1 input {
  border-color: var(--error) !important;
}
.x-municipality > div {
  position: relative;
  display: inline-block;
}
.x-municipality .lbl-0 {
  width: 10rem;
}
.x-municipality .lbl-1 {
  width: calc(100% - 10.5rem);
  float: right;
  position: relative;
}
.x-municipality .x-municipality-dropdown {
  position: absolute;
  display: none;
  z-index: 10;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  width: 100%;
  max-height: 10rem;
  overflow-y: auto;
}
.x-municipality .x-municipality-dropdown ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 500;
  z-index: 100;
  background-color: var(--white);
}
.x-municipality .x-municipality-dropdown ul li {
  padding: 0.5rem;
}
.x-municipality .x-municipality-dropdown ul li.selected,
.x-municipality .x-municipality-dropdown ul li:hover {
  background-color: var(--hover);
}
.x-input-phone.error-prefix input:first-of-type {
  border-color: var(--error);
}
.x-input-phone.error-phone input:last-of-type {
  border-color: var(--error);
}
.x-input-phone input {
  display: inline-block;
}
.x-input-phone input:first-of-type {
  width: 7rem!important;
  text-align: right;
}
.x-input-phone input:last-of-type {
  float: right;
  width: calc(100% - 7.5rem) !important;
}
.x-input-file {
  position: relative;
}
.x-input-file input {
  display: none!important;
}
.x-input-file label {
  color: var(--black);
  background-color: var(--white);
  text-align: left;
  height: 4rem;
  width: 100%;
  border: 1px solid #9fa9a3;
  border-radius: 0;
  box-sizing: border-box;
  align-items: center;
  font-weight: inherit;
  display: grid;
  position: relative;
  grid-template-columns: calc(100% - 5rem) 5rem;
}
.x-input-file label em {
  padding: 0 1rem;
}
.x-input-file label span {
  width: 5rem;
  color: var(--white);
  background-color: var(--dark-green);
  height: 100%;
  display: flex!important;
  align-items: center;
  padding: 0 1rem;
  justify-content: center;
  cursor: pointer;
}
.x-input-file label span svg {
  fill: var(--white);
}
.x-input-file label:focus {
  border-color: #33aaff;
}
.x-svg-checkbox .input-control {
  position: relative;
  align-items: center;
  border-radius: 100px;
  display: flex!important;
  font-weight: 700;
}
.x-svg-checkbox .input-control div {
  width: calc(100% - 48px);
}
.x-svg-checkbox .toggle__input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.x-svg-checkbox .toggle__input:checked + .toggle-track {
  border: 1px solid var(--yellow);
}
.x-svg-checkbox .toggle__input:checked + .toggle-track .toggle-indicator {
  background: var(--yellow);
  transform: translateX(24px);
}
.x-svg-checkbox .toggle__input:checked + .toggle-track .toggle-indicator .checkMark {
  opacity: 1;
  transition: opacity 400 ease-in-out;
}
.x-svg-checkbox .toggle-track {
  background: var(--white);
  border: 1px solid var(--grey);
  border-radius: 100px;
  cursor: pointer;
  display: flex;
  height: 24px;
  margin-right: 12px;
  position: relative;
  width: 48px;
}
.x-svg-checkbox .toggle-track .toggle-indicator {
  align-items: center;
  background: var(--grey);
  border-radius: 18px;
  bottom: 2px;
  display: flex;
  height: 18px;
  justify-content: center;
  left: 2px;
  outline: solid 2px transparent;
  position: absolute;
  transition: 0.25s;
  width: 18px;
}
.x-svg-checkbox .toggle-track .toggle-indicator .checkMark {
  fill: #fff;
  height: 20px;
  width: 20px;
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
}
.x-svg-checkbox .error {
  width: calc(100% - 60px) !important;
  margin-left: 60px;
}
.pure-form {
  position: relative;
  background-color: var(--white);
  padding: 1rem;
  margin: 2rem auto;
  max-width: 800px;
}
.pure-form label {
  margin-top: 1rem;
  position: relative;
}
.pure-form label span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pure-form label.error {
  margin-bottom: 1rem;
}
.pure-form label.error input {
  border-color: var(--error);
}
.pure-form fieldset[hidden] {
  display: none;
}
.pure-form fieldset legend {
  color: var(--dark-green);
  font-weight: 700;
  font-style: oblique;
  margin-left: 2rem;
  padding: 0 1rem;
}
.pure-form .relation {
  clear: both;
  padding: 0.5rem 0;
  margin: 2rem 0;
}
.pure-form .relation fieldset {
  border-top: 3px solid var(--dark-green);
  border-left: 5px solid var(--dark-green);
  border-top-left-radius: 0.5rem;
  padding: 1rem 0;
  margin: 0;
  background-color: var(--white);
}
.pure-form .button-control {
  text-align: right;
  padding: 2rem 0.5rem;
  clear: both;
}
.pure-form .button-control button {
  color: var(--white);
  background-color: var(--dark-green);
  margin-left: 1rem;
}
.pure-form input.error {
  border-color: var(--error);
}
.pure-form input[disabled] + div {
  opacity: 0.5;
}
.pure-form span.error {
  color: var(--error);
  font-style: oblique;
  position: absolute;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 300;
  font-size: 0.8em;
}
.pure-dialog {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: start;
  justify-content: center;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.15s linear;
}
.pure-dialog .dialog-container {
  padding: 3rem;
  transition: all 0.3s ease-out;
  transform: translate(0, -25%);
  opacity: 0;
}
.pure-dialog .dialog-container .dialog-inner {
  background-color: var(--white);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.pure-dialog .dialog-container.in {
  transform: translate(0, 0);
  opacity: 1;
}
.pure-dialog .dialog-title {
  font-size: 1.2em;
  padding: 1rem 2rem;
  margin: 0;
  background-color: var(--dark-green);
  color: var(--white);
}
.pure-dialog .dialog-title a {
  float: right;
  color: white;
  font-weight: 300;
  text-decoration: none;
}
.pure-dialog .dialog-message {
  padding: 1rem 2rem;
}
.pure-dialog .dialog-button {
  padding: 1rem 2rem;
  text-align: right;
}
.pure-dialog .dialog-button button {
  margin-left: 1rem;
}
.pure-dialog .dialog-button button:not([name=_cancel]) {
  color: var(--white);
  background-color: var(--dark-green);
}
.notification {
  position: fixed;
  top: -6rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--notification);
  color: var(--white);
  border-radius: 0.5rem;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
  transition: all 0.3s ease-in-out;
  z-index: 100;
}
.notification svg {
  fill: var(--white);
  cursor: pointer;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.notification p {
  padding: 1rem 3rem 1rem 2rem;
}
.linear-loader {
  overflow: hidden;
  width: 100%;
  height: 8px;
  background-color: var(--white);
  margin: 0;
  position: fixed;
  top: 0;
  z-index: 11;
}
.linear-loader .indeterminate {
  position: relative;
  width: 100%;
  height: 100%;
}
.linear-loader .indeterminate:before {
  content: '';
  position: absolute;
  height: 100%;
  background-color: #03A9F4;
  animation: indeterminate 3s infinite;
}
.login main {
  display: flex;
  align-items: center;
  min-height: calc(100vh - 14rem);
  justify-content: center;
}
.login main form {
  border: 1px solid white;
  text-shadow: none!important;
  padding: 1rem;
  width: 600px;
}
.login main form button[type=submit] {
  vertical-align: bottom;
  background-color: var(--yellow);
  color: white;
  height: 4rem;
  display: block;
  border: none;
  cursor: pointer;
  width: 100%;
}
.intro .main {
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url("/img/bc-5.jpg");
  background-blend-mode: darken;
  background-size: cover;
  background-position-y: center;
}
.intro .main .container {
  color: var(--yellow);
  display: flex;
  align-items: start;
  align-content: center;
  justify-content: center;
  text-shadow: 3px 0 7px rgba(81, 67, 21, 0.8), -3px 0 7px rgba(81, 67, 21, 0.8), 0 4px 7px rgba(81, 67, 21, 0.8);
}
.intro .main .search-widget {
  text-align: center;
  color: var(--white);
  margin: 10rem 0;
}
.intro .main .search-widget h3 {
  font-size: 7rem;
  font-weight: 900;
}
.intro .main .search-widget h5 {
  font-size: 5rem;
  font-weight: 300;
}
.intro .main .search-widget h5:first-of-type {
  margin: 0;
}
.intro .main form {
  border: 1px solid white;
  text-shadow: none!important;
  padding: 1rem;
}
.intro .main form input {
  border: none;
}
.intro .main form label {
  color: white;
  padding-bottom: 1rem;
}
.intro .main form button[type=submit] {
  vertical-align: bottom;
  background-color: var(--yellow);
  color: white;
  height: 4rem;
  display: block;
  border: none;
  cursor: pointer;
  width: 100%;
}
.coming .main {
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url("/img/bc-5.jpg");
  background-blend-mode: darken;
  background-size: cover;
  background-position-y: center;
  padding: 4rem 0;
  height: calc(100vh);
  display: flex;
  align-items: center;
}
.coming .main .container {
  color: var(--yellow);
  display: flex;
  align-items: start;
  align-content: center;
  justify-content: center;
  text-shadow: 3px 0 7px rgba(81, 67, 21, 0.8), -3px 0 7px rgba(81, 67, 21, 0.8), 0 4px 7px rgba(81, 67, 21, 0.8);
}
.coming .main .search-widget {
  text-align: center;
  color: var(--white);
  margin: 10rem 0;
}
.coming .main .search-widget h3 {
  font-size: 7rem;
  font-weight: 900;
}
.coming .main .search-widget h5 {
  font-size: 5rem;
  font-weight: 300;
}
.coming .main .search-widget h5:first-of-type {
  margin: 0;
}
.coming .main .search-widget h6 {
  font-size: 3rem;
  font-weight: 300;
  padding: 0 3rem;
}
.coming .main .search-widget h6:first-of-type {
  margin: 0;
}
.thanking .main {
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url("/img/bc.jpg");
  background-blend-mode: darken;
  background-size: cover;
}
.thanking .main .container {
  background-color: var(--white);
  padding: 4rem;
  width: 16cm;
}
.thanking .main h1 {
  color: var(--white);
  background-color: #33aaff;
  padding: 3rem;
  font-weight: 300;
}
.thanking .main h3 {
  margin-top: 3rem;
}
.thanking .main h4 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.thanking .main ul {
  list-style: none;
}
.price main,
.cookie main,
.neighbourhood main,
.contact main {
  background-color: #EAF0F2;
  background-image: url("/img/bc-3.jpg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  color: var(--black);
}
.price main .container,
.cookie main .container,
.neighbourhood main .container,
.contact main .container {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.price main ul.no-style,
.cookie main ul.no-style,
.neighbourhood main ul.no-style,
.contact main ul.no-style {
  list-style: none;
}
.price main ul.no-style > li,
.cookie main ul.no-style > li,
.neighbourhood main ul.no-style > li,
.contact main ul.no-style > li {
  margin-bottom: 1rem;
}
.price main ul.no-style > li span,
.cookie main ul.no-style > li span,
.neighbourhood main ul.no-style > li span,
.contact main ul.no-style > li span,
.price main ul.no-style > li div,
.cookie main ul.no-style > li div,
.neighbourhood main ul.no-style > li div,
.contact main ul.no-style > li div {
  margin: 0;
  display: inline-block;
  vertical-align: top;
}
.price main ul.no-style > li span,
.cookie main ul.no-style > li span,
.neighbourhood main ul.no-style > li span,
.contact main ul.no-style > li span {
  width: 2rem;
}
.price main ul.no-style > li div,
.cookie main ul.no-style > li div,
.neighbourhood main ul.no-style > li div,
.contact main ul.no-style > li div {
  max-width: calc(100% - 3rem);
}
.price main ul,
.cookie main ul,
.neighbourhood main ul,
.contact main ul {
  padding-left: 1.5rem;
  margin-left: 1.5rem;
  list-style: disc;
  list-style-position: outside;
}
.price main ul li,
.cookie main ul li,
.neighbourhood main ul li,
.contact main ul li {
  margin-bottom: 0;
}
.price h3,
.cookie h3,
.neighbourhood h3,
.contact h3 {
  color: var(--dark-green);
}
.price table,
.cookie table,
.neighbourhood table,
.contact table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}
.price table th,
.cookie table th,
.neighbourhood table th,
.contact table th,
.price table td,
.cookie table td,
.neighbourhood table td,
.contact table td {
  padding: 0.5rem;
  position: relative;
}
.price table th,
.cookie table th,
.neighbourhood table th,
.contact table th {
  color: var(--white);
  background-color: var(--dark-green);
  border-right: 1px solid var(--white);
}
.price table tbody td,
.cookie table tbody td,
.neighbourhood table tbody td,
.contact table tbody td {
  border: 1px solid var(--dark-green);
  text-align: center;
}
.price table tbody td:first-child,
.cookie table tbody td:first-child,
.neighbourhood table tbody td:first-child,
.contact table tbody td:first-child {
  color: var(--dark-green);
  text-align: right;
  font-weight: 700;
}
.price table tbody td.bc-light,
.cookie table tbody td.bc-light,
.neighbourhood table tbody td.bc-light,
.contact table tbody td.bc-light {
  background-color: var(--light-green);
}
.price table tbody td.bc-middle,
.cookie table tbody td.bc-middle,
.neighbourhood table tbody td.bc-middle,
.contact table tbody td.bc-middle {
  background-color: var(--middle-green);
}
.price table tfoot td,
.cookie table tfoot td,
.neighbourhood table tfoot td,
.contact table tfoot td {
  color: var(--white);
  background-color: var(--dark-green);
  text-align: left;
  font-size: 0.8em;
  font-style: oblique;
}
.neighbourhood main {
  background-image: url("/img/bc-2.jpg");
}
.neighbourhood main .container {
  margin: 2rem auto;
}
.contact main {
  background-image: url("/img/bc-3.jpg");
}
.contact main address {
  margin: 0.5rem 0;
}
.contact .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.contact .grid h3 {
  grid-column: 1 / span 2;
}
.contact .grid a {
  color: inherit;
  text-decoration: none;
}
.contact .grid a:hover {
  color: var(--dark-green);
}
.contact .map {
  position: relative;
}
.contact .map #map {
  width: 100%;
  min-height: 600px;
  height: calc(100vh - 42rem);
}
.contact .map .map-container {
  position: absolute;
  z-index: 10;
  top: 60px;
}
.contact .map .map-container .placecard__container {
  box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
  max-width: 330px;
  width: 100%;
  background: #ffffff none repeat scroll 0% 0% / auto padding-box border-box;
  border-radius: 2px 2px 2px 2px;
  font: normal normal normal normal 11px / normal Roboto, Arial, sans-serif;
  margin: 10px;
  padding: 9px 4px 9px 11px;
  overflow: hidden;
}
.contact .map .map-container .placecard__left {
  float: left;
  width: 75%;
}
.contact .map .map-container .placecard__right {
  text-align: center;
  float: left;
  width: 25%;
}
.contact .map .map-container .placecard__business-name {
  cursor: default;
  height: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 200px;
  perspective-origin: 100px 9.5px;
  transform-origin: 100px 9.5px;
  font: normal normal 500 normal 14px / normal Roboto, Arial;
  overflow: hidden;
  margin: 0;
}
.contact .map .map-container .placecard__info {
  color: #5b5b5b;
  cursor: default;
  height: 32px;
  width: 200px;
  column-rule-color: #5b5b5b;
  perspective-origin: 100px 16px;
  transform-origin: 100px 16px;
  border: 0px none #5b5b5b;
  font: normal normal normal normal 12px / normal Roboto, Arial;
  margin: 6px 0px 0px;
  outline: #5b5b5b none 0px;
}
.contact .map .map-container .placecard__direction-icon {
  height: 22px;
  width: 22px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.contact .map .map-container .placecard__direction-icon img {
  height: 100%;
}
.contact .map .map-container .placecard__direction-link {
  color: #3a84df;
  display: block;
  height: 43px;
  text-decoration: none;
  width: 54.7344px;
}
.contact .map .map-container .placecard__view-large {
  display: block;
  margin-top: 10px;
  color: #3a84df;
  text-decoration: none;
}
.gallery-manager .upload {
  padding: 2rem 0.5rem;
  display: flex;
  align-items: center;
}
.gallery-manager .upload .button-control {
  display: flex;
}
.gallery-manager .upload .button-control button {
  height: 4rem;
  color: var(--white);
  background-color: var(--dark-green);
  margin-right: 0.5rem;
}
.gallery-manager .upload .button-control button:hover {
  background-color: #1f605e;
}
.gallery-manager .upload .button-control button svg {
  fill: var(--white);
}
.gallery-manager .figure-con {
  position: relative;
  display: inline-block;
  counter-increment: count;
  margin: 1rem;
  width: calc(33% - 2rem);
  box-shadow: 1px 1px 5px 0px var(--grey);
}
.gallery-manager .figure-con:after {
  position: absolute;
  display: block;
  top: 0.5rem;
  right: 1rem;
  text-align: center;
  color: #fff;
  content: counter(count);
}
.gallery-manager .figure-con .draggable {
  padding: 0 1rem;
  color: var(--white);
  background-color: var(--dark-green);
  cursor: move;
  line-height: 3rem;
}
.gallery-manager .figure-con figure {
  height: 300px;
  position: relative;
  text-align: center;
  background-color: #EFE5C6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-manager .figure-con figure img {
  max-height: 100%;
  max-width: 100%;
}
.gallery-manager .figure-con form {
  box-sizing: border-box;
  background-color: var(--white);
  padding: 0.5rem;
}
.gallery-manager .figure-con form div {
  padding: 0.2rem;
}
.gallery-manager .figure-con form input {
  height: unset;
}
.gallery-manager .figure-con form .button-control > * {
  display: inline-block;
  width: auto;
  font-weight: 300;
  margin-right: 0.5rem;
}
.gallery-manager .figure-con form .button-control button:last-of-type {
  float: right;
  margin: 0;
}
.gallery-manager .hide {
  opacity: 0.2;
}
.gallery-manager .drag-over {
  border: dashed 3px red;
}
.chartisan .container .chart-title {
  background-color: var(--white);
  text-align: center;
  padding: 1rem;
}
.chartisan .container .scroll-con {
  overflow: scroll;
}
.chartisan #chart {
  background-color: var(--white);
  height: 600px;
}
.chartisan canvas {
  height: 100%;
  opacity: 1;
  transition: all ease-in-out 0.4s;
  background-color: var(--white);
}
.overflow\:hidden {
  overflow: hidden!important;
}
.height\:unset {
  height: unset!important;
}
.direction\:column {
  flex-direction: column!important;
}
.align\:end {
  align-self: flex-end !important;
}
.desktop .header {
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--color);
  background-color: var(--white);
  box-shadow: 1px 1px 5px 0px var(--grey);
  position: relative;
  top: 0;
  width: 100%;
  height: 5rem;
}
.desktop .header .navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.desktop .header .navigation input,
.desktop .header .navigation span {
  display: none;
}
.desktop .header .navigation ul {
  list-style: none;
}
.desktop .header .navigation li {
  float: left;
}
.desktop .header .navigation a {
  display: block;
  padding: 0 2rem;
  color: var(--color);
  text-decoration: none;
}
.desktop .header .navigation a:hover {
  background-color: transparent;
  color: var(--dark-green);
}
.desktop .header .navigation a:focus {
  color: var(--dark-green);
}
.desktop .header .navigation .menu {
  line-height: 5rem;
  max-height: 240px;
}
.desktop .header .logo img {
  display: block;
}
.tablet .header {
  height: 5rem;
  width: 5rem;
  position: fixed;
  z-index: 1000;
  background-color: var(--white);
  border-radius: 0.5rem;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}
.tablet .header .navigation .logo {
  display: none;
}
.tablet .header .menuToggle {
  position: relative;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}
.tablet .header .menuToggle input {
  display: flex;
  width: 40px;
  height: 32px;
  position: absolute;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
}
.tablet .header .menuToggle span {
  display: flex;
  width: 29px;
  height: 5px;
  margin-bottom: 5px;
  position: relative;
  background: var(--black);
  border-radius: 3px;
  z-index: 1;
  transform-origin: 3px 0px;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
}
.tablet .header .menuToggle span:last-of-type {
  margin-bottom: 0;
}
.tablet .header .menuToggle span:first-child {
  transform-origin: 0% 0%;
}
.tablet .header .menuToggle span:nth-last-child(2) {
  transform-origin: 0% 100%;
}
.tablet .header .menuToggle input:checked ~ span {
  opacity: 1;
  transform: rotate(45deg);
  background: #36383F;
}
.tablet .header .menuToggle input:checked ~ span:nth-last-child(3) {
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
.tablet .header .menuToggle input:checked ~ span:nth-last-child(2) {
  transform: rotate(-45deg) translate(2.5px, -1px);
}
.tablet .header .menuToggle input:checked ~ ul {
  transform: translate(0, 0);
}
.tablet .header .menu {
  min-width: 300px;
  position: absolute;
  top: 0;
  right: 0;
  box-shadow: 0 0 10px #85888C;
  background-color: #F5F6FA;
  transform-origin: 0% 0%;
  padding: 0.5rem;
  margin: -1.4rem -1rem;
  transform: translate(calc(100% + 2rem), 0);
  transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.tablet .header ul {
  list-style: none;
}
.tablet .header a {
  display: block;
  padding: 1rem 2rem;
  color: var(--color);
  text-decoration: none;
}
.tablet .header a:hover {
  background-color: transparent;
  color: var(--dark-green);
}
.tablet .header a:focus {
  color: var(--dark-green);
}
.mobile .header {
  height: 5rem;
  width: 5rem;
  position: fixed;
  z-index: 1000;
  background-color: var(--white);
  border-radius: 0.5rem;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  font-size: 2rem;
}
.mobile .header .navigation .logo {
  display: none;
}
.mobile .header .menuToggle {
  position: relative;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}
.mobile .header .menuToggle input {
  display: flex;
  width: 40px;
  height: 32px;
  position: absolute;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
}
.mobile .header .menuToggle span {
  display: flex;
  width: 29px;
  height: 5px;
  margin-bottom: 5px;
  position: relative;
  background: var(--black);
  border-radius: 3px;
  z-index: 1;
  transform-origin: 3px 0px;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
}
.mobile .header .menuToggle span:last-of-type {
  margin-bottom: 0;
}
.mobile .header .menuToggle span:first-child {
  transform-origin: 0% 0%;
}
.mobile .header .menuToggle span:nth-last-child(2) {
  transform-origin: 0% 100%;
}
.mobile .header .menuToggle input:checked ~ span {
  opacity: 1;
  transform: rotate(45deg);
  background: #36383F;
}
.mobile .header .menuToggle input:checked ~ span:nth-last-child(3) {
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
.mobile .header .menuToggle input:checked ~ span:nth-last-child(2) {
  transform: rotate(-45deg) translate(2.5px, -1px);
}
.mobile .header .menuToggle input:checked ~ ul {
  transform: translate(0, 0);
}
.mobile .header .menu {
  min-width: 300px;
  position: absolute;
  top: 0;
  right: 0;
  box-shadow: 0 0 10px #85888C;
  background-color: #F5F6FA;
  transform-origin: 0% 0%;
  padding: 0.5rem;
  margin: -1.4rem -1rem;
  transform: translate(calc(100% + 2rem), 0);
  transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.mobile .header ul {
  list-style: none;
}
.mobile .header a {
  display: block;
  padding: 1rem 2rem;
  color: var(--color);
  text-decoration: none;
}
.mobile .header a:hover {
  background-color: transparent;
  color: var(--dark-green);
}
.mobile .header a:focus {
  color: var(--dark-green);
}
.mobile.contact .grid {
  grid-template-columns: unset;
}
.mobile.contact h3 {
  grid-column: unset;
}
.mobile .x-date-picker .wrap-side {
  min-height: 30vh;
}
.mobile .x-date-picker .mobile-wrapper {
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.8);
}
.mobile .x-date-picker .mobile-wrapper .picker-wrapper {
  grid-template-columns: unset;
  width: 100%;
  padding: 1rem;
}
.mobile .x-date-picker .mobile-wrapper .picker-container {
  width: 100%;
}
.mobile .x-svg-date-picker svg {
  width: 4rem;
  height: 4rem;
  fill: var(--grey);
}
.mobile .x-svg-checkbox .error {
  margin-left: 0;
}
.mobile .x-gallery .lg-con .lg-toolbar {
  justify-content: unset;
}
@media only screen and (max-width: 767px) {
  .footer {
    font-size: 1.4rem;
  }
  .footer .container {
    padding: 1rem;
  }
  .footer .container:first-of-type {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .footer .container:first-of-type > *:not(:last-child) {
    margin-bottom: 2rem;
  }
  body {
    font-size: 1.6rem;
  }
  body.intro form fieldset {
    padding: 0;
    margin-top: 1rem;
  }
  body input:not([type=checkbox]):not([type=radio]),
  body .input,
  body button {
    height: 5rem!important;
    font-size: 1.6rem;
    padding: 1rem;
  }
  body .sm\:none {
    display: none!important;
  }
  body .sm\:rotate {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }
  body .sm\:48-48 {
    width: 100% !important;
  }
  body .sm\:40-48 {
    width: 83.33333333% !important;
  }
  body .sm\:8-48 {
    width: 16.66666667% !important;
  }
  body .sm\:3 {
    font-size: 3rem!important;
  }
  body .sm\:5 {
    font-size: 5rem!important;
  }
}
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  .md\:none {
    display: none;
  }
  .masonry main {
    grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
  }
  .footer .container:first-of-type {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
  }
  .footer .container:first-of-type > * {
    margin-bottom: 2rem;
  }
  .container {
    width: unset!important;
  }
  body {
    background-color: #33aaff;
  }
  body .main {
    padding: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .masonry main {
    grid-template-columns: repeat(3, minmax(100px, 1fr)) !important;
  }
  .footer .container:first-of-type {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .container {
    width: 1200px;
    margin: auto;
    clear: both;
  }
  body {
    background-color: #718096;
  }
  body .main {
    padding: 2rem;
  }
}
@supports (-webkit-overflow-scrolling: touch) {
  input {
    font-size: 16px;
  }
}
/*# sourceMappingURL=css.css.map */