/**
 * Swiper 8.2.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 13, 2022
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}
:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}
.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}

.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}
.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}
.Modal__portal {
}

.Modal__root {
  --modal-content-text-color: hsl(0, 0%, 100%);
  --modal-content-button-background: var(--palette-background--grey);
  --modal-content-background: var(--palette-background--lightgrey);
  --modal-header-grid-column: min-content;

  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: auto;
}

.Modal__root--is-hidden {
  pointer-events: none;
}

.Modal__backdrop {
  background: hsla(0, 0%, 0%, 0.33);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  margin: 0;
}

.Modal-divider {
  position: relative;
  width: 100%;
  border: none;
  border-top: 0.1rem solid hsl(0, 0%, 90%);
}

.Modal__close {
  align-self: start;
  -webkit-user-select: none;
          user-select: none;
  transition: color 0.35s, background-color 0.35s;
  font-size: 0.83rem;
}
.Modal__close:hover {
  color: hsl(0, 0%, 0%);
}

.Modal__header {
  background-color: hsl(0, 0%, 0%);
  color: white;

  display: grid;
  grid-auto-flow: column;

  padding: 1.5rem;
  align-items: center;

  grid-template-columns: auto var(--modal-header-grid-column, 1fr);
  font-size: 2rem;
}

.Modal__dialog-content {
  background: none;
  width: var(--modal-content-width, 60rem);
  padding: 0;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.5);
}

.Modal__content {
  background: var(--modal-content-background, hsl(0, 0%, 100%));
  color: var(--modal-content-text-color, hsl(0, 0%, 0%));
  padding: 1.5rem;
}

.Modal__content button {
  color: var(--modal-content-text-color, hsl(0, 0%, 0%));
  border: 1px solid var(--modal-content-text-color, hsl(0, 0%, 0%));
  background: var(--modal-content-button-background, hsl(0, 0%, 100%));
}

.slideshow-thumbnail__root {
  --background-color: var(--palette-secondary--main);
}
.slideshow-thumbnail__thumbnail-images-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20vh;
  width: 100%;
  background-color: var(--background-color);
  opacity: 0.5;
}
.slideshow-thumbnail__thumbnail-image {
  object-fit: cover;
  max-height: 80%;
  width: 80%;
}
.slideshow-thumbnail__thumbnail-swiper {
  width: 100%;
}
.slideshow-thumbnail__paper-props {
  background-color: var(--background-color);
}
.swiper-slide-thumb-active {
  opacity: 1;
}

:root {
  --base-viewport-height-desktop: 720;

  /* Topnav */
  --topnav-height: 5;
  --TopNav-theme-spacing: var(--theme-spacing--1);
  --topnav-total-height: calc(var(--topnav-height) * var(--TopNav-theme-spacing));

  /* scrollbar */
  --scrollbar-size: 0.5rem;

  /* label position */
  --input-label-bottom-spacing: -1.2rem;

  /* --palette-secondary--main: rgba(0, 0, 0, 1); */

  --palette-main: rgba(255, 255, 255, 1);

  --palette-primary--main-with-alpha: rgba(255, 255, 255, 0.5);
}

.FloorplansGrid__root {
  --background-color: var(--palette-primary--main);
  --divider-color: var(--palette-divider);

  display: grid;
  grid-template-areas:
    'floorplan-1 floorplan-2'
    'floorplan-3 floorplan-4';
  grid-template-columns: 100vw 0;
  grid-template-rows: 100vh 0;
  gap: 1px;
  width: 100vw;
  height: 100%;
  position: relative;
  cursor: pointer;
  background-color: var(--palette-common-white);
}

.FloorplansGrid__floorplan {
  width: 100%;
  height: 100%;
  max-height: 100vh;
  object-fit: contain;
  object-position: center;
  display: block;
  background-color: var(--background-color);
  position: relative;
}

.FloorplansGrid__image {
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}

.FloorplansGrid__apartmentNameContainer {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1em;
  z-index: 2;
}

.FloorplansGrid__apartmentName {
  /* TODO: Text decoration color shouold be somewhere in the style, as it should change depending on the building */
  text-decoration: underline;
}

.FloorplansGrid__apartmentDataContainer {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 2em;
  z-index: 2;
}
.FloorplansGrid__apartmentDataText {
  margin: 0;
}

.FloorplansGrid__fullscreen {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  /* z-index: 100; */
  grid-area: unset !important;
  grid-column-start: unset !important;
  grid-column-end: unset !important;
  grid-row-start: unset !important;
  grid-row-end: unset !important;
}

.FloorplansGrid__fullscreen--animation {
  box-shadow: inset 0px 0px 0px 1px var(--divider-color);
}


.VideoComponent__root {
  --color: hsl(0, 0%, 100%);
  --background-color: hsl(205deg, 67%, 11%);
  --video-bar-delay: 150;
  --video-bar-opacity: 0;
  --video-bar-height: 67.99px;
  height: 100%;
}

.VideoComponent__video-component {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  background-color: black;
  --video-bar-opacity: 0;
}

.VideoComponent__video-component:hover {
  --video-bar-delay: 0;
  --video-bar-opacity: 1;
}

.VideoComponent__fixed-outside-while-thumbnail {
  height: calc(var(--video-width) / var(--aspect-ratio) + var(--video-bar-height));
}

.VideoComponent__fixed-outside {
  padding-bottom: var(--video-bar-height);
  box-sizing: content-box;
}

.VideoComponent__remote-client-view {
}

.VideoComponent__video-bar {
  position: absolute;
  bottom: 0;
  opacity: var(--video-bar-opacity);
  transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) calc(var(--video-bar-delay) * 1ms);
}

.VideoComponent__fixed-video-bar {
  opacity: 1;
}

.VideoComponent__video-bar-hidden {
  opacity: 0;
  pointer-events: none;
}

.VideoComponent__thumbnail-button {
}

.AspectRatioContainer__aspect-ratio-container {
  height: 0;
  overflow: hidden;
  max-width: 100%;
  position: relative;
  width: 100%;
}

.AspectRatioContainer__aspect-ratio-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.AspectRatioContainer__aspect-ratio-content > *,
.AspectRatioContainer__auto-sizer-container {
  width: 100%;
  height: 100%;
}

.VideoBar__root {
  --color: var(--palette-primary--main);

  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: 100%;
  background-color: var(--background-color-transparent);
  padding: 1rem;
  box-sizing: border-box;
}

.VideoBar__button {
}

.VideoBar__play-pause {
  /* margin-left: 1rem; */
}

.VideoBar__time-display {
  /*  margin-left: 1em; */
  color: var(--color);
}

.VideoBar__time-bar {
  /* margin-left: 1rem; */
  --volume-thumb-size: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 100px;
  color: var(--color);
}

.VideoBar__time-bar .MuiSlider-thumb {
  margin-top: 0;
  height: var(--volume-thumb-size);
  width: var(--volume-thumb-size);
  transition: var(--timebar-thumb-transition);
}

.VideoBar__time-bar .MuiSlider-thumb .MuiSlider-thumb:hover {
  box-shadow: none;
}

.VideoBar__time-bar .Mui-focusVisible {
  box-shadow: none;
}

.VideoBar__time-bar .MuiSlider-rail {
  height: 4px;
  border-radius: 50px;
}

.VideoBar__time-bar .MuiSlider-track {
  height: 4px;
  border-radius: 50px;
}

.VideoBar__time-bar:hover {
  --volume-thumb-size: 12px;
}

.VideoBar__volume-control-wrap {
  position: relative;
  /* margin-left: 1rem; */
  width: 35px;
  height: 36px;
}

.VideoBar__volume-control {
  width: 100%;
  position: absolute;
  bottom: 0;
  padding-top: 0px;
  padding-bottom: 0;
  background-color: transparent;
  border-radius: 2px 2px 0 0;
  height: 0px;
  overflow: visible;

  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: center;
  transition: var(--volume-slider-transition);
}

.VideoBar__volume-control:before {
  content: '';
  position: absolute;
  bottom: 52px;
  height: 0;
  width: 28px;
  background-color: var(--background-color-transparent);
  border-radius: 2px 2px 0 0;
  transition: var(--volume-background-transition);
}

.VideoBar__volume-control-bar-expander {
}

.VideoBar__volume-control-bar-expander:hover {
  padding-top: 0.5em;
  height: 100px;
}

.VideoBar__volume-control-bar-expander:hover:before {
  height: 55px;
}

.VideoBar__volume-icon {
}

.VideoBar__volume-bar {
  --volume-thumb-size: 0;
}

.VideoBar__volume-bar .MuiSlider-thumb {
  margin-left: 0;
  height: var(--volume-thumb-size);
  width: var(--volume-thumb-size);
  transition: var(--volume-thumb-transition);
}

.VideoBar__volume-bar .MuiSlider-thumb:hover {
  box-shadow: none;
}

.VideoBar__volume-bar .Mui-focusVisible {
  box-shadow: none;
}

.VideoBar__volume-bar .MuiSlider-rail {
  height: 100%;
  width: 4px;
}

.VideoBar__volume-bar .MuiSlider-track {
  width: 4px;
  border-radius: 50px;
}

.VideoBar__volume-bar:hover {
  --volume-thumb-size: 12px;
}

.VideoBar__fullscreen {
  /* margin-left: 1rem; */
}

.Link {
}

.Link__root {
  text-decoration: none;
  transition: color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  cursor: pointer;
}

.Link__root:hover {
  color: hsl(195deg, 3%, 75%);
}

.Link__underline {
  position: relative;
}

.Link__underline::after {
  content: '';
  position: absolute;
  bottom: var(--underline-y-offset, 10%);
  left: 0;
  width: 100%;
  text-decoration: none;
  border-bottom: thin solid hsl(195deg, 3%, 75%);
  transform: scaleX(0);
  transition: transform 375ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.Link__underline:hover::after {
  transform: scaleX(1);
}

.Link__link-button-underline {
}

.Link__link-button-underline .Button__link-text {
  position: relative;
  text-decoration: none;
}

.Link__link-button-underline .Button__link-text::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: thin solid hsl(195deg, 3%, 75%);
  transform: scaleX(0);
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.Link__link-button-underline:hover .Button__link-text::after {
  transform: scaleX(1);
}

.Link__center {
}

.Link__left {
}

.Link__left.Link__link-button-underline .Button__link-text::after {
  transform-origin: left;
}

.Link__left.Link__underline::after {
  transform-origin: left;
}

.Link__right {
}

.Link__right.Link__link-button-underlinerline .Button__link-text::after {
  transform-origin: right;
}

.Link__right.Link__underline::after {
  transform-origin: right;
}

.Button__root {
  --color--straight: var(--palette-text--primary);
  --background-color--straight: var(--primary--main-with-alpha);
  --color--inverted: var(--palette-primary--main);
  --background-color--inverted: var(--text--primary-with-alpha);

  --color: var(--color--straight);
  --background-color: var(--background-color--straight);
  --border-color: var(--color);
  --icon-size: 1.1em;
  --border-width: thin;

  color: var(--color);
  background-color: var(--background-color);
  height: -moz-fit-content;
  height: fit-content;
  margin: 0;
  text-transform: none;
  border-color: var(--border-color);
  border-style: solid;
  border-width: 0;
  margin-top: 0px;
  white-space: nowrap;
}

.Button__root:hover {
  color: var(--color);
  background-color: var(--background-color);
}

.Button__root.Button__inverted:hover {
  /* background-color: var(--color);
  color: var(--background-color); */
}

.Button__with-text {
  padding-right: 1em;
  padding-left: 1em;
}

.Button__without-text {
  padding: 0.3em;
}

.Button__primary {
}

.Button__secondary {
  --color--inverted: var(--secondary--main-with-alpha);
  --background-color--straight: var(--secondary--main-with-alpha);
}

.Button__disabled {
  --background-color: var(--palette-action--disabledBackground);
  --color: var(--palette-action--disabled);
  cursor: default;
  pointer-events: none;
}

.Button__circle {
  border-radius: 50%;
}
.Button__circle.Button__with-text {
  border-radius: 50px;
}

.Button__rectangle {
  border-radius: var(--shape-borderRadius);
}

.Button__border-top {
  border-top-width: var(--border-width);
}

.Button__border-bottom {
  border-bottom-width: var(--border-width);
}

.Button__border-right {
  border-right-width: var(--border-width);
}

.Button__border-left {
  border-left-width: var(--border-width);
}

.Button__inverted {
  /* --background-color-inverted: var(--color);
  --color--inverted: var(--background-color); */

  --color: var(--color--inverted);
  --background-color: var(--background-color--inverted);
}

.Button__small {
  --icon-size: 0.9em;
}

.Button__medium {
  --icon-size: 1.1em;
}

.Button__large {
  --icon-size: 1.3em;
}

.Button__icon {
  font-size: var(--icon-size);
}
.Button__icon > *:nth-of-type(1) {
  font-size: var(--icon-size);
}

.Button__link-button {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}

.Button__link-icon {
  display: inherit;
  margin-right: 8px;
  margin-left: -4px;
}
.button__link-End-icon {
  display: inherit;
  margin-left: 8px;
  margin-right: -4px;
}

.Button__link-icon-without-text {
  display: inherit;
}

.Button__link-text {
  margin: 0.2em 0 0.1em;
}



.ButtonFullscreen__Modal {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: orange;
}

.FullScreenModal__root {
  position: 'absolute';
  top: '0%';
  left: '0%';
  z-index: var(--theme-z-index--modal);
  height: '100vh';
  width: '100vw';
}

.FullScreenModal__backdrop {
  background-color: var(--backdrop-color, 0.7);
}

.mousePosition {
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  border-color: none;
  border-width: 0;
  border-style: solid;
  position: absolute;
  pointer-events: none;
  opacity: 0.6;
  z-index: 10000000;
  background-color: red;
}

.ButtonClose__root {
  width: 44px;
  height: 44px;
}

.Portal__root {
  pointer-events: none;
}

.Portal__root--fullScreen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

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

.BackgroundImage__root {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  max-height: 100vh;
  width: 100%;
  height: 100vh;
  object-fit: cover;
  z-index: -1;
}

.ZoomableComponent__root {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
}

.ZoomableComponent__root .react-transform-wrapper {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
}

.ZoomableComponent__root .react-transform-component {
  width: 100%;
  height: 100%;
  justify-content: center;
  min-width: 100%;
  max-width: 100%;
  min-height: 100%;
  max-height: 100%;
}

.ZoomableComponent__root .react-transform-element {
  width: 100% !important;
  height: 100% !important;
  justify-content: center;
  max-width: 100%;
  max-height: 100%;
}

.ZoomableComponent__root img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.ZoomableComponent__disabled {
  pointer-events: none;
}

.Loader__root {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.Loader__circularProgressContainer {
  position: absolute;
  transition: opacity 1s ease-in, visibility 0s ease 1s;
  opacity: 1;
  visibility: visible;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.Loader__circularProgressHidden {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.Loader__childrenContainer {
  transition: visibility 0s ease 1s, opacity 1s ease-in 1s;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.Loader__showChildren {
  opacity: 1;
  visibility: visible;
}

.ButtonArrow__root {
}

.ButtonArrow__up-arrow {
}

.ButtonArrow__right-arrow {
  transform: rotate(90deg);
}

.ButtonArrow__down-arrow {
  transform: rotate(180deg);
}

.ButtonArrow__left-arrow {
  transform: rotate(270deg);
}

.Paginator__root {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
  width: 120px;
  color: var(--palette-secondary--main);
  border-radius: 4px;
}

.Paginator__page-indicator {
  color: var(--palette-secondary--main);
  text-align: center;
}

.Paginator__page-indicator::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.Paginator__prev-button-hidden {
  visibility: hidden;
}

.Paginator__next-button-hidden {
  visibility: collapse;
}



.Floorplan__root {
  --color: var(--palette-secondary--main);
  --background-color: var(--background-color-transparent);
  --orientation: 0deg;

  color: var(--color);
  background-color: var(--background-color);

  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;

  height: 100%;
  width: 100%;
  max-height: calc(100vh - var(--topnav-total-height, 0px));
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.Floorplan__view-buttons {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  position: relative;
  z-index: 9;
}

.Floorplan__view-button {
  margin-left: 0.75rem;
}

.Floorplan__content-wrapper {
  align-items: center;
  justify-content: center;
  display: flex;
  width: 100%;
  height: 100%;
}

.Floorplan__content {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.Floorplan__media {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.Floorplan__compass-rose {
  max-width: 9vw;
  transform: rotate(var(--orientation));
  position: absolute;
  z-index: 10;
  top: 32px;
  right: 0;
  bottom: 0;
  left: 0;
}

.Floorplan__buttons {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.PanoramaSlider__root {
  --track-thickness: 4px;
  --background-color: var(--background-color-trasnparent);
  --rail-color: var(--palette-primary--main);
  --rail-opacity: 0.38;
  --field-of-view: 50;

  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
  width: 100%;
}

.PanoramaSlider__vertical {
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
}

.PanoramaSlider__rotate {
  direction: rtl;
}

.PanoramaSlider__arrow {
  border: none;
}

.PanoramaSlider__up-arrow {
  margin: 0.5rem 0;
}

.PanoramaSlider__left-arrow {
  margin: 0 0.5rem;
}

.PanoramaSlider__slider-background {
  margin: 0 0.5rem;
  width: 100%;
  height: -webkit-fill-available;
  height: -moz-available;
  height: stretch;
  padding: 0 20px;
  border-radius: 50px;
  background-color: var(--background-color);
}

.PanoramaSlider__slider-background-vertical {
  flex-grow: 1;
  width: auto;
  height: -webkit-fill-available;
  height: -moz-available;
  height: stretch;
  padding: 20px 0;
}

.PanoramaSlider__slider {
  --track-size: calc(100 - var(--field-of-view));
  --track-margin-size: calc(10000 / var(--track-size) - 100);
}

.PanoramaSlider__slider:before {
  content: '';
  position: absolute;
  background-color: var(--rail-color);
  opacity: var(--rail-opacity);
}

.PanoramaSlider__slider:after {
  content: '';
  position: absolute;
  background-color: var(--rail-color);
  opacity: var(--rail-opacity);
}

.PanoramaSlider__slider .MuiSlider-thumb {
  z-index: 1;
  height: var(--track-thickness);
  border-radius: 100px;
}

.PanoramaSlider__slider .MuiSlider-thumb:hover {
  box-shadow: none;
}

.PanoramaSlider__slider .Mui-focusVisible {
  box-shadow: none;
}

.PanoramaSlider__slider-horizontal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(calc(100 - var(--field-of-view)) * 1%);
  right: calc(-0.5% * var(--field-of-view));
  /* --field-of-view represents the width of the thumb in %, respect to de main slider container.
   That is, our 'desired' width. The thumb's width, instead, is computed in terms of the track's
   width, which instead is obtained in function the 'desired' thumb width. This means that the
   real width of the thumb in % is the percentage that it would need to grow from 100% trackwidth
   to 100% slider. A value between 0% and 10000% the trackwidth (for a range of [0,99.99]% of
   'desired' thumb width), given by:  thumb_width=100^2 / track_width - 100 */
}

.PanoramaSlider__slider-horizontal:before {
  height: var(--track-thickness);
  width: calc(0.5% * var(--track-margin-size));
  left: calc(-0.5% * var(--track-margin-size));
  border-radius: 50px 0 0 50px;
}

.PanoramaSlider__slider-horizontal:after {
  height: var(--track-thickness);
  width: calc(0.5% * var(--track-margin-size));
  right: calc(-0.5% * var(--track-margin-size));
  border-radius: 0 50px 50px 0;
}

.PanoramaSlider__slider-horizontal .MuiSlider-thumb {
  margin-top: 0;
  height: var(--track-thickness);
  width: calc(1% * var(--track-margin-size));
}

.PanoramaSlider__slider-horizontal .MuiSlider-rail {
  height: var(--track-thickness);
  border-radius: 0;
  background-color: var(--rail-color);
  opacity: var(--rail-opacity);
}

.PanoramaSlider__slider-vertical {
  height: calc(calc(100 - var(--field-of-view)) * 1%);
  bottom: calc(-0.5% * var(--field-of-view));
}

.PanoramaSlider__slider-vertical:before {
  width: var(--track-thickness);
  height: calc(0.5% * var(--track-margin-size));
  top: calc(-0.5% * var(--track-margin-size));
  border-radius: 50px 50px 0 0;
}

.PanoramaSlider__slider-vertical:after {
  width: var(--track-thickness);
  height: calc(0.5% * var(--track-margin-size));
  bottom: calc(-0.5% * var(--track-margin-size));
  border-radius: 0 0 50px 50px;
}

.PanoramaSlider__slider-vertical .MuiSlider-thumb {
  position: relative;
  margin-left: 0;
  width: var(--track-thickness);
  height: calc(1% * var(--track-margin-size));
}

.PanoramaSlider__slider-vertical .MuiSlider-rail {
  width: var(--track-thickness);
  border-radius: 0;
  background-color: var(--rail-color);
  opacity: var(--rail-opacity);
}

.PanoramaSlider__full-screen {
  border: none;
  margin: 0 0.5rem;
}

.PanoramaSlider__full-screen-vertical {
  margin: 0.5rem 0;
}

.PanoramaSlider__right-arrow {
  margin: 0 0.5rem;
}

.PanoramaSlider__down-arrow {
  margin: 0.5rem 0;
}



.ScreensaverOverlay__root {
  position: absolute;
  top: 0%;
  left: 0%;
  z-index: var(--theme-z-index--screensaver);
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  padding: 0;
  margin: 0;
}

.ScreensaverOverlay__backdrop {
  background-color: var(--backdrop-color, 1);
}

.MediaBucketContainer__root {
  --grid-gap-and-padding: 0.5rem;
  --background-color: var(--palette-primary--main);

  width: 100vw;
  height: calc(100vh - var(--topnav-total-height));
  max-height: calc(100vh - var(--topnav-total-height));
  padding: var(--grid-gap-and-padding);
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  background-color: var(--background-color);
  align-items: center;
  justify-content: center;
}

.MediaBucketContainer__root-list {
  background-color: var(--palette-common-white);
  padding: 0;
}

.MediaBucketContainer__close-button {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: var(--theme-z-index--appBar);
}

.MediaBucketContainer__menu {
  padding-bottom: var(--grid-gap-and-padding);
  box-sizing: content-box;
}

.MediaBucketContainer__thumbnail-grid {
  width: 100%;
  height: 100%;
  display: grid;
  gap: var(--grid-gap-and-padding);
}

.MediaBucketContainer__text-thumbnail-container {
  display: flex;
  flex-flow: column nowrap;
  gap: 0.03rem;
  padding: 0;
}

.MediaBucketContainer__root-gallery {
  width: 100vw;
  height: 100vh;
}

.ButtonCloseMediaBuckets__root {
  width: 44px;
  height: 44px;
}

.MediaBucketThumbnail__root {
  width: 100%;
  height: 100%;
  cursor: pointer;
  position: relative;
}

.MediaBucketThumbnail__root-title {
  border-bottom: 1px var(--palette-common-black) solid;
}

.MediaBucketThumbnail__root-title:last-child {
  border-bottom: 0px;
}

.MediaBucketThumbnail__aspect-ratio-container {
  height: 100% !important;
  padding: 0 !important;
}

.MediaBucketThumbnail__video > video {
  object-fit: cover;
}

.MediaBucketThumbnail__media-item {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.MediaBucketThumbnail__caption {
  position: absolute;
  bottom: 0;
  margin: 0;
  padding: 1rem;
  color: var(--palette-text--secondary);
  background-color: var(--caption-background-color);
}

.MediaBucketThumbnail__caption-title {
  padding: 1.5rem;
  color: var(--palette-text--primary);
  background-color: var(--palette-common-white);
}

.MediaBucketThumbnail__caption-thumbnail {
  width: 100%;
  height: 100%;
  position: static;
  justify-content: space-between;
}

.MediaBucketThumbnail__root-title span {
  --font-size: calc(45 / var(--base-viewport-height-desktop) * 100vh);
  text-transform: uppercase;
}

.MediaBucketThumbnail__root-title .Button__icon svg {
  font-size: calc(50 / var(--base-viewport-height-desktop) * 100vh);
}

.ImageGallery__root {
  --background-color: var(--palette-background--default);

  --padding-v: 7vh;
  --padding-h: 3vw;
  --padding: 7vh 3vw;

  position: relative;
  background-color: var(--background-color);
}

.ImageGallery__root--row {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  grid-gap: 1vw;
  padding: 8vh 9vw;
}

.ImageGallery__root,
.ImageGallery__root--absolute *,
.ImageGallery__root--row * {
  pointer-events: none;
}

.ImageGallery__zoom-in {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  padding: 4vh 10vw;
}

.ImageGallery__span-container {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 999;
}

.ImageGallery__span-container > span {
  margin-right: calc(0.75 * var(--font-size));
  text-transform: uppercase;
}

.ImageGallery__caption--zoom {
  opacity: 0;
}

.ImageGallery__root--absolute .ImageGallery__item,
.ImageGallery__root--row .ImageGallery__image-background--row {
  background-color: var(--background-color--opacity);
  pointer-events: auto;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.ImageGallery__root--absolute .ImageGallery__item {
  width: var(--width);
  top: var(--top);
  bottom: var(--bottom);
  right: var(--right);
  left: var(--left);
  display: flex;
  justify-content: center;
  align-items: center;
}

.ImageGallery__root--row .ImageGallery__item {
  width: 100%;
  height: 100%;
}

.ImageGallery__image-container {
  position: relative;
}

.ImageGallery__root--row .ImageGallery__image-container {
  width: 100%;
  height: 100%;
}

.ImageGallery__root--row .ImageGallery__image-background--row {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  margin: auto;
}

.ImageGallery__root--row .ImageGallery__image {
  object-fit: contain;
}

.ImageGallery__image {
  width: 100%;
  height: 100%;
}

.ImageGallery__caption {
  position: absolute;
}

.ImageGallery__root--absolute .ImageGallery__caption--top {
  top: -4vh;
}

.ImageGallery__root--absolute .ImageGallery__caption--bottom {
  bottom: -4.2vh;
}

.ImageGallery__root--row .ImageGallery__caption {
  bottom: 0;
  height: 0;
}

.ImageGallery__item-container {
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;

  --padding: calc(6vh * var(--image-gallery-padding-ratio));
  padding: var(--padding);
}
.ImageGallery__root--absolute .ImageGallery__item--landscape .ImageGallery__item-container {
  max-width: calc(var(--image-gallery-height) * var(--aspect-ratio) - 2 * var(--padding));
}

.ImageGallery__root--absolute .ImageGallery__item--portrait .ImageGallery__item-container {
  max-width: calc(var(--image-gallery-height) * var(--aspect-ratio));
}

.MediaBucketHeaderbar__root {
  width: 1;
  background: var(--palette-common-black);
  margin-bottom: 0.5rem;
}

.MediaBucketHeaderbar__button {
  background: var(--palette-common-black);
  color: var(--palette-common-white);
}

.ButtonClose__root {
  width: 44px;
  height: 44px;
}

.MediaBucketNavbar__root {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
}

.MediaBucketNavbar__root .MediaBucketNavbar__button .MuiTypography-root {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
  display: block;
}

.MediaBucketNavbar__close-button {
  height: auto;
}

.MediaBucketNavbar__button {
  width: 100%;
}

.MediaBucketNavbar__plenty-items-container {
  gap: 0.1rem;
}

.MediaBucketNavbar__plenty-items {
  min-width: 46px;
}

.slideshow__root {
  --padding-vertical: 10vh;
  --padding-horizontal: 5vw;
  /* buttons */
  --buttons-spacing: 1em;
  --icon-color: var(--palette-main);
  /* bullet */
  --bullet-size: 0.2rem;
  --bullet-padding: 0.3rem;
  --bullet-spacing: 0.1rem;
  --bullet-color: var(--palette-primary--main-with-alpha);
  --bullet-active-color: var(--palette-main);
  --background-color: var(--palette-secondary--main);
  --shadow-color: var(--palette-secondary--main-with-alpha);
  /* Caption */
  --caption-color: var(--palette-text--secondary);
  --caption-background-color: var(--palette-secondary--main-with-alpha);

  --swiper-navigation-color: var(--palette-main);
  --swiper-pagination-color: var(--palette-main);

  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: var(--background-color);
}
.slideshow__swiper {
  width: 100%;
  height: 100%;
}
.slideshow__navigation .swiper-pagination {
  position: absolute;
  height: auto;
  bottom: calc(var(--padding-vertical) / 2 - (var(--bullet-size) + var(--bullet-padding)) / 2);
}
.slideshow__bullet {
  display: inline-block;
  cursor: pointer;
  padding: calc(var(--bullet-size) + var(--bullet-padding, --bullet-size));
  margin-left: var(--bullet-spacing, calc(var(--bullet-size) * 0.25));
  position: relative;
  width: var(--bullet-size);
  height: var(--bullet-size);
}
.slideshow__bullet::after {
  position: absolute;
  margin: var(--bullet-padding, --bullet-size);
  padding: var(--bullet-size);
  content: '';
  border-radius: 50%;
  background-color: var(--bullet-color);
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  box-shadow: 0 0 0.3rem 0.1rem var(--shadow-color);
}
.slideshow__bullet--hidden {
  opacity: 0;
}
.slideshow__bullet--active {
}
.slideshow__bullet--active::after {
  background-color: var(--bullet-active-color);
}
/* Buttons */
.slideshow__buttons {
  position: absolute;
  padding: 0;
  margin: var(--buttons-spacing);
}
.slideshow__icon-buttons-container {
  z-index: 2;
}
.slideshow__buttons-icon {
  /* width: calc(var(--padding-horizontal) - 2 * var(--buttons-spacing));
  height: auto;
  color: var(--icon-color); */
}
.slideshow__buttons-prev {
  left: 0;
}
.slideshow__buttons-next {
  right: 0;
}
.slideshow__image-container {
  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: column;
}
.slideshow__image {
  position: absolute;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.slideshow__thumbnail-images-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150px;
  width: 100%;
  background-color: var(--background-color);
}
.slideshow__thumbnail-image {
  object-fit: cover;
  max-height: 80%;
  width: 80%;
}
.slideshow__thumbnail-swiper {
  width: 100%;
}
.slideshow__paper-props {
  background-color: var(--background-color);
}
.slideshow__caption {
  pointer-events: none;

  box-sizing: border-box;
  width: 100%;
  padding: 0.5rem;
  display: flex;
  justify-content: center;

  background-color: var(--caption-background-color);
}

.slideshow__floating-caption {
  position: absolute;
  bottom: 0;
}

.slideshow__caption-content {
  color: var(--caption-color);
  background-color: transparent;
}

.slideshow__zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: var(--background-color);
}

.slideshow__swiper-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.Drawer__root {
  top: calc(var(--topnav-total-height));
}

.Drawer__paper {
  overflow: visible;
}

.Drawer__notch {
  position: absolute;
  visibility: visible;
  pointer-events: all;
  width: 44px;
  height: 44px;
}

.Drawer__root .MuiDrawer-paperAnchorLeft {
}

.Drawer__root .MuiDrawer-paperAnchorRight {
}

.Drawer__root .MuiDrawer-paperAnchorTop {
  top: calc(var(--topnav-total-height));
}

.Drawer__root .MuiDrawer-paperAnchorBottom {
}

.Drawer__notch-left {
  right: 0;
  transform: translateX(calc(100% - 1px));
  border-end-start-radius: 0px;
  border-start-start-radius: 0px;
}

.Drawer__notch-top {
  bottom: 0;
  transform: translateY(calc(100% - 1px));
  border-start-end-radius: 0px;
  border-start-start-radius: 0px;
}

.Drawer__notch-bottom {
  top: 0;
  transform: translateY(calc(-100% + 1px));
  border-end-end-radius: 0px;
  border-end-start-radius: 0px;
}

.Drawer__notch-right {
  left: 0;
  transform: translateX(calc(-100% + 1px));
  border-end-end-radius: 0px;
  border-start-end-radius: 0px;
}

.CheckingOnlineStatus__root {
  width: 100vw;
  height: 100vh;
  background: black;
  display: flex;
  align-items: center;
  justify-content: center;
}

.CheckingOnlineStatus__root .MuiCircularProgress-svg {
  color: white;
}

.spinner-container {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.notification-container {
  pointer-events: auto;
  padding: 0.5rem;
  display: grid;
  grid-auto-flow: column;
  grid-gap: 0.5rem;
  grid-template-columns: 1fr;
  align-items: start;
  margin-bottom: 1rem;
  font-size: 18px;
}

.notification-container .crossicon {
  border-color: white;
}

.notification-container-success {
  color: hsl(0, 0%, 99%);
  background-color: rgba(62, 108, 142, 0.8);
}

.notification-container-error {
  color: hsl(0, 0%, 99%);
  background-color: rgba(230, 25, 25, 0.8);
}

.notification-container-warning {
  color: hsl(0, 0%, 99%);
  background-color: rgba(250, 150, 100, 1);
}

.notification-container button,
.MuiTouchRipple-root {
  padding: 4px;
  min-width: 0;
}

.notification-container svg {
  width: 24px;
  height: 24px;
}

.notification-container .MuiTypography-button {
  margin: 0;
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
}

.notification-placement {
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 6rem 2rem;
  z-index: 1000000;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.Slide__root {
  --slide-padding: 4.25rem;
  --slide-grid-gap: 3rem;
  --media-width: 55%;

  width: 100%;
  height: calc(100vh - var(--nav-bar-height, 0px));
  padding: var(--slide-padding);
}

.Slide__grid {
  display: grid;
  grid-template-areas: 'left right';
  grid-template-columns: var(--meia-width) auto;
  grid-template-rows: 100%;
  grid-gap: var(--slide-grid-gap);
}

.Slide__media {
  width: 100%;
  height: 100%; /* 'calc(100% - calc(var(--slide-padding) * 2))' */
}

.Slide__text {
  width: 100%;
  height: 100%;
}

.Slide__left {
  grid-area: left;
}

.Slide__right {
  grid-area: right;
}

.SlideImage__root {
}

.SlideImage__media {
  object-fit: contain;
}

.DrawerClients__root .MuiFilledInput-root {
  padding-top: 0;
  padding-bottom: 16px;
  margin-top: 0;
  margin-bottom: 0;
  min-width: 35vw;
}

.ClientSearch__root {
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  --list-margin-left: 0.5rem;
  --list-margin-right: 0.5rem;
  --list-margin-bottom: 0.5rem;

  --selected-client--color: var(--palette-text--secondary);
  --selected-client--background-color: var(--palette-secondary--main);
}

.ClientSearch__list {
  width: calc(100% - (var(--list-margin-left) + var(--list-margin-right)));
  height: calc(100% - var(--list-margin-bottom));
  margin-bottom: var(--list-margin-bottom);
  padding: 1em;
  /* width: 17rem; */
}

.ClientSearch__empty-table-message {
  font-size: 1rem;
}

.ClientSearch__table {
}

.ClientSearch__table .ReactVirtualized__Grid {
  padding-left: 0;
}

.ClientSearch__input {
  margin: 0;
}

.ClientSearch__active-client {
  color: var(--selected-client--color);
  background-color: var(--selected-client--background-color);
}

.ClientSearch__list-body-cell {
  max-width: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ClientSearch__client,
.ClientSearch__broker {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.List__root {
  --table-header-color: var(--palette-primary--main);
  --table-row-color: var(--palette-primary--main);
  --table-row-hover-color: var(--palette-primary--dark);
  height: 100%;
  width: 100%;
  background-color: var(--table-row-color);
}
.List__empty-table-message {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.MuiVirtualizedTable {
}

.MuiVirtualizedTable__root {
}

.MuiVirtualizedTable__empty-table-message {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.MuiVirtualizedTable__flex-container {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  justify-content: center;
}

.MuiVirtualizedTable__table {
}

.MuiVirtualizedTable__table .ReactVirtualized__Table__headerRow {
  padding-right: 0 !important;
}

.MuiVirtualizedTable__table .ReactVirtualized__Table__headerColumn {
}

.MuiVirtualizedTable__table .ReactVirtualized__Grid {
  /* padding-left: var(--scrollbar-size); */
}

.MuiVirtualizedTable__row {
  cursor: pointer;
}

.MuiVirtualizedTable__row-hover {
}

.MuiVirtualizedTable__row-hover:hover {
  background-color: var(--table-row-hover-color);
}

.MuiVirtualizedTable__cell {
  flex: 1;
}

.MuiVirtualizedTable__header-cell {
  height: var(--header-height);
  background-color: var(--table-header-color);
  text-align: center;
}

.MuiVirtualizedTable__body-cell {
  height: var(--row-height);
}

.MuiVirtualizedTable__no-click {
  cursor: initial;
}

.MuiVirtualizedTable__no-pointer-events {
  pointer-events: none;
}

.DrawerFavorites__root {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  min-width: 35vw;
}

.Favorites__root {
  width: 100%;
  padding: 0.2rem 1rem;
  color: var(--palette-text--secondary);
  background-color: var(--palette-secondary--main);

  display: grid;
  grid-template-areas: 'fav-header' 'fav-floorplans' 'fav-buttons';
  grid-template-columns: 1fr;
  grid-template-rows: 86px 1fr 72px;
  height: calc(100vh - var(--topnav-total-height));
  max-height: calc(100vh - var(--topnav-total-height));
}

.Favorites__username-and-date-container {
  grid-area: fav-header;
  height: -moz-fit-content;
  height: fit-content;
}

.Favorites__username {
  height: -moz-fit-content;
  height: fit-content;
}

.Favorites__addition-date {
  height: -moz-fit-content;
  height: fit-content;
}

.Favorites__floorplans-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: -moz-fit-content;
  height: fit-content;
  overflow-y: scroll;
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 100%;
}

.Favorites__button-group {
  height: -moz-fit-content;
  height: fit-content;
}

.Favorites__data-container {
  grid-area: fav-floorplans;
  overflow-y: scroll;
  padding-top: 2rem;
}

.Favorites__buttons {
  grid-area: fav-buttons;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  height: -moz-fit-content;
  height: fit-content;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.Favorites__favorite-button {
  width: 40%;
}

.Favorites__clients-button {
  width: 40%;
}



.ButtonGroup__root {
  --background-opacity: 1;
  border-left-color: var(--border-color);
  position: relative;
}

.ButtonGroup__label {
}

.ButtonGroup__elementsWrapper {
  /* The -1 px margin is avoiding a space between the border top and the left borders of the buttons. */
  margin-top: -1px;
  border-top: thin solid var(--palette-secondary--main);
  border-right: thin solid var(--palette-secondary--main);
}

.ButtonGroup__element {
  border-radius: 0px;
  width: 100%;
  padding-left: 8px;
  padding-right: 8px;
  min-width: 24px;
}

.ButtonGroup__selected {
  --border-color: var(--palette-secondary--main);
  /* outline: thin solid white; */
  box-shadow: inset 0px 0px 0px 0.4px var(--palette-primary--main);
}

.ButtonGroup__grid-class {
  display: grid;
}

.ButtonGroup__has-max-height {
  max-height: 35vh;
  overflow-x: scroll;
}





.NumberComponent__root {
  width: 100%;
  --local-input-label-offset-adjust: -1px;
  color: var(--color);
  background-color: var(--background-color);
}
.NumberComponent__primary {
  --color: var(--palette-text--primary);
  --background-color: var(--palette-primary--main);
}
.NumberComponent__secondary {
  --color: var(--palette-text--secondary);
  --background-color: var(--palette-secondary--main);
}

.NumberComponent__input-props-root {
  justify-content: center;
}

label + .NumberComponent__input-props-root {
  margin-top: 0;
  margin-bottom: 0;
}

.NumberComponent__input {
  color: var(--color);
  padding: 0 0.5em;
  width: calc(var(--maxCharacters) * 0.65em);
  text-align: center;
}

.NumberComponent__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.NumberComponent__input[type='number'] {
  -moz-appearance: textfield;
}

.NumberComponent__input-label-props-root {
  margin: 0;
  margin-top: calc(var(--input-label-bottom-spacing) + var(--local-input-label-offset-adjust));
  width: 100%;
  color: var(--label-color);
}

.input-label-props-root__input-label-props-root.Mui-focused {
  color: var(--palette-secondary--main);
}

.SelectComponent__root {
  --arrow-icon-color: var(--palette-text--primary);

  --label-color: var(--select-font-color);
  --label-color-focused: var(--select-font-color);
  --label-color-secondary: var(--select-font-color);
  --label-color-focused-secondary: var(--select-font-color);

  --menu-border-color: var(--select-font-color);
  --select-border-color: var(--select-font-color);
  --select-border-color-hover: var(--select-font-color);

  --arrow-icon-left: -0.65em;
  --arrow-icon-right: -0.65em;
  --arrow-icon-size: 3.5em;
  --local-input-label-offset-adjust: 0px;

  position: relative;
  width: 100%;
}

.SelectComponent__primary {
  --select-background-color: var(--palette-primary--main);
  --select-font-color: var(--palette-text--primary);
  --select-icon-color: var(--palette-common-black);
  --menu-background-color: var(--palette-primary--main);
}

.SelectComponent__secondary {
  --select-background-color: var(--palette-secondary--main);
  --select-font-color: var(--palette-text--secondary);
  --select-icon-color: var(--palette-common-white);
  --menu-background-color: var(--palette-secondary--main);
}

.SelectComponent__select-root {
  width: 100%;
  margin-top: unset;
  margin-bottom: unset;
  background-color: var(--select-background-color);
  color: var(--select-font-color);
  border: thin solid var(--select-border-color);
}

.SelectComponent__select-root .MuiSelect-select {
  padding-left: 1em;
}

.SelectComponent__select-root:hover {
  border: thin solid var(--select-border-color-hover);
}

.SelectComponent__select-root fieldset {
  border: none;
}

.SelectComponent__select {
}

.SelectComponent__menu {
  --select-option-font-color: var(--select-font-color);
  --select-option-list-background-color-hover: var(--select-option-font-colorhover);
  --select-option-list-background-color-selected: var(--palette-action--selected);
  --select-option-list-border-color-hover: var(--select-option-font-color);

  border-radius: 0;
  background-color: var(--menu-background-color);
  color: var(--select-option-font-color);
  border: thin solid var(--menu-border-color);
}

.SelectComponent__translated-to-left-menu {
  transform: translate(-1em, 0) !important;
}

.SelectComponent__translated-to-right-menu {
  transform: translate(1em, 0) !important;
}

.SelectComponent__translated-to-top-menu {
  transform: translate(0, 0) !important;
}

.SelectComponent__translated-to-bottom-menu {
  transform: translate(0, 0) !important;
}

.SelectComponent__list {
  color: var(--select-option-font-color);
}

.SelectComponent__list li:hover {
  border: thin solid var(--select-option-list-border-color-hover);
  background-color: var(--select-option-list-background-color-hover);
}

.SelectComponent__list .Mui-selected {
  background-color: var(--select-option-list-background-color-selected) !important;
}

.SelectComponent__small-list-element {
  padding: 0;
}

.SelectComponent__small-list-element li {
  padding: 0;
  padding-left: 0.6em;
  min-height: 1.7em;
}

.SelectComponent__label {
  margin: 0;
  display: inline-block;
  margin-top: calc(var(--input-label-bottom-spacing) + var(--local-input-label-offset-adjust));
  color: var(--label-color);
}

.SelectComponent__label.Mui-focused {
  color: var(--label-color-focused);
}

.SelectComponent__arrow {
  position: absolute;
  color: var(--arrow-icon-color);
  font-size: var(--arrow-icon-size) !important;
  transition: opacity 0.3s;
  opacity: 1;
}

.SelectComponent__arrow-position-left {
  left: var(--arrow-icon-left);
  transform: translate(0, 0%) rotate(270deg);
}

.SelectComponent__arrow-position-right {
  right: var(--arrow-icon-right);
  transform: translate(0, 0%) rotate(270deg);
}

.SelectComponent__arrow-position-top {
  display: none;
}

.SelectComponent__arrow-position-bottom {
  display: none;
}

.SelectComponent__hide-element {
  opacity: 0;
}

.SelectComponent__no-arrow {
  display: none;
}

.SelectComponent__icon {
  fill: var(--select-icon-color);
  right: 0;
}

.InputSliderValueLabel__root {
}

.InputSliderValueLabel__root-primary-color {
}

.InputSliderValueLabel__root-secondary-color {
}

.InputSliderValueLabel__tooltip {
  --slider-tooltip-font-size: 0.7em;
  color: var(--slider-tooltip-text-color);
  background-color: var(--slider-tooltip-background-color);
  font-size: var(--slider-tooltip-font-size);
  transition: none !important;
  margin-top: 0 !important;
}

.InputSliderValueLabel__primary {
  /* Primary Colors */
  --slider-tooltip-text-color: var(--palette-text--primary);
  --slider-tooltip-background-color: var(--palette-primary--main);
}

.InputSliderValueLabel__secondary {
  /* Secondary Colors */
  --slider-tooltip-text-color: var(--palette-text--primary);
  --slider-tooltip-background-color: var(--palette-secondary--main);
}

/* Moves price labels to the left/right. This avoids overlapping when they are together. */
.InputSliderValueLabel__popper {
  left: calc(0% + (-1 * var(--left)) * -5px) !important;
  margin-top: 0;
}

.InputSlider__root {
  --mark-label-color: var(--color);
  --label-color: var(--color);
  --rail-background-color: var(--palette-text--ternary);
  --track-border-color: var(--palette-text--ternary);
  --track-background-color: var(--background-color);
  --thumb-border-color: var(--color);
  --thumb-background-color: var(--background-color);

  width: 8rem;

  margin: auto;
  --thumb-size: 0.9em;
  --thumb-border-width: 0.1em;
  --line-thumb-height: 1.5em;
  --local-input-label-offset-adjust: 0px;
  --mark-label-v-position: 1.4rem;
}

.InputSlider__primary {
  --color: var(--palette-text--primary);
  --background-color: var(--palette-primary--main);
}

.InputSlider__secondary {
  --color: var(--palette-text--secondary);
  --background-color: var(--palette-secondary--main);
}

.InputSlider__label {
  margin: 0;
  display: inline-block;
  margin-top: calc(var(--input-label-bottom-spacing) + var(--local-input-label-offset-adjust));

  width: 100%;
  color: var(--label-color);
}

.InputSlider__slider {
  width: 90%;
  border-radius: unset;
  display: flex;
  justify-content: center;
  margin: 0;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  height: 1em;
  padding-top: 0;
  padding-bottom: 0;
}
.InputSlider__slider .MuiSlider-thumb {
  width: var(--thumb-size);
  height: var(--thumb-size);
  border-width: var(--thumb-border-width);
  border-style: solid;
  border-color: var(--thumb-border-color);
  background-color: var(--thumb-background-color);
}
.InputSlider__slider .MuiSlider-thumb::after {
  width: 100%;
  height: 100%;
}
.InputSlider__slider .Mui-focusVisibl {
  box-shadow: none;
}

.InputSlider__line-slider .MuiSlider-thumb {
  border-radius: 1px;
  border-width: 1px;
  width: 3px;
  height: var(--line-thumb-height);
}
.InputSlider__slider .MuiSlider-mark {
  display: none;
}

.InputSlider__full-width {
  width: 100%;
}

.InputSlider__mark-label {
  position: absolute;
  color: var(--mark-label-color, --color);
  top: var(--mark-label-v-position);
  font-size: 0.8rem;
  transform: translateX(-50%);
}

.InputSlider__mark-label-full-width[data-index='0'] {
  transform: translateX(0%);
}
.InputSlider__mark-label-full-width[data-index='1'] {
  transform: translateX(-100%);
}

.InputSlider__rail {
  --slider-rail-height: 3px;
  height: var(--slider-rail-height);
  transform: translateY(calc((var(--slider-rail-height) / 2 * -1) + 1px));
  background-color: var(--rail-background-color);
}

.InputSlider__track {
  --slider-track-height: 4px;
  height: var(--slider-track-height);
  transform: translateY(calc((var(--slider-track-height) / 2 * -1) + 0px));
  background-color: var(--track-background-color);
  border-color: var(--track-border-color);
}

.Input__root {
  color: var(--color, --palette-text--primary);
}

.Input__primary {
  --color: var(--palette-text--primary);
  --background-color: var(--palette-primary--main);
}

.Input__secondary {
  --color: var(--palette-text--secondary);
  --background-color: var(--palette-secondary--main);
}

.Search__root {
  --label-color: var(--color);
  --border-color: var(--color);

  --search-height: 100%;
  --search-icon-size: var(--search-height);

  width: 100%;
  margin: auto;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  position: relative;

  --local-input-label-offset-adjust: -10px;
}

.Search__primary {
  --color: var(--palette-text--primary);
  --background-color: var(--palette-primary--main);
}

.Search__secondary {
  --color: var(--palette-text--secondary);
  --background-color: var(--palette-secondary--main);
}

.Search__label {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0.5em 0;
  margin-top: calc(var(--input-label-bottom-spacing) + var(--local-input-label-offset-adjust));

  width: 100%;
  color: var(--label-color);
  margin-bottom: -1.1em;
}

.Search__input {
  width: inherit;
  margin: 0;
  border: thin solid var(--border-color);
  border-radius: 1.5px;
}

.Search__input-input {
  height: var(--search-height);
}

.Search__icon {
  color: var(--color);
  font-size: var(--search-icon-size);
}

.Search__borderless {
  border: unset;
}

.Search__select--root {
  position: absolute;
  bottom: -100%;
  max-width: 100%;
  width: 100%;
}
.Search__select--root > .MuiInput-root {
  margin: 0;
  max-width: 100%;
  width: 100%;
}

/* .Search__select--select {
  max-width: 5rem;
} */

.ApartmentFinderFilter__root {
  --vertical-padding: 0.75em;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0em;
  padding-left: var(--vertical-padding);
  padding-right: var(--vertical-padding);
  background-color: var(--palette-background--default);
}

.ApartmentFinderFilter__vertical {
  overflow-y: scroll;
  flex-direction: column;
  padding-top: 0.5em;
  align-items: stretch;
}

.ApartmentFinderFilter__horizontal {
  overflow: scroll;
  flex-direction: row;
  gap: 1.5em;
}

.ApartmentFinderFilter__filter-container {
}

.ApartmentFinderFilter__filter-containerhorizontal {
}

.ApartmentFinderFilter__filter-containervertical {
  padding-top: 1.5rem;
  flex-grow: 0;
}

.ApartmentFinderFilter__number {
  flex-grow: 0;
}

.ApartmentFinderFilter__slider {
  min-width: 120px;
}

.ApartmentFinderFilter__select {
}

.DrawerComparator__paper {
  width: 25rem;
  padding: 0 1rem;
  color: var(--palette-text--primary);
  background-color: var(--palette-primary--main);
  display: grid;
  grid-template-areas: 'username' 'filters' 'floorplans' 'floorplans-counter';
  grid-template-columns: auto;
  grid-template-rows: 1fr 10fr 9fr 1fr;
  gap: 1em;
  max-height: calc(100vh - var(--topnav-total-height));
}

.DrawerComparator__root {
  position: relative;
}

.DrawerComparator__username {
  grid-area: username;
}

.DrawerComparator__filtersWrapper {
  grid-area: filters;
  max-height: 100%;
  gap: 0;
  background-color: transparent;
  padding: 0px;
  overflow-y: scroll;
  overflow-x: hidden;
}

.DrawerComparator__filtersWrapper .ApartmentFinderFilter__filter-container:first-child {
  padding-top: 0px;
}

.DrawerComparator__filtersWrapper .ApartmentFinderFilter__slider {
  padding-bottom: 1.5em;
}

.DrawerComparator__residences {
  grid-area: floorplans;
  max-height: 100%;
  overflow-y: auto;
  --shadow-background-color: var(--palette-secondary--main);
  --shadow-color: var(--palette-primary--main);
}

.DrawerComparator__floorplans-counter {
  grid-area: floorplans-counter;
}

.DrawerComparator__username {
  color: var(--palette-text--primary);
}

.ComparatorButtonGroup__grayedOut {
  --color: var(--palette-action--disabled);
}

.ApartmentsComparator__root {
  height: calc(100vh - var(--topnav-total-height));
}

.ButtonCloseComparator__root {
  width: 44px;
  height: 44px;
  position: absolute;
  bottom: 1em;
  left: 1em;
  /* This Z-index is required so that the close button can be clicked when the
  comparator drawer is open. */
  z-index: 1300;
}

.ApartmentDetails__root {
  --color: var(--palette-secodnary--main);
  --background-opacity: 1;
  --background-color: var(--palette-primary--main);
  --divider-color: var(--palette-text--ternary);

  height: calc(100vh - var(--topnav-total-height, 0px));
  max-width: 100vw;
  width: 100%;

  background-color: var(--background-color);

  display: grid;
  grid-template-areas:
    'floorplan-buttons-up info-buttons-up'
    'floorplan info'
    'floorplan-buttons-down info-buttons-down';
  grid-template-rows: min(min-content, 60px) auto min(min-content, 60px);
  grid-template-columns: 3fr 1fr;
  position: relative;

  max-height: calc(100vh - var(--topnav-total-height));
}

.ApartmentDetails__floorplan-section {
  grid-row: 1 / -1;
  height: inherit;
}

.ApartmentDetails__info-section {
  grid-area: info;
  grid-row: 1 / -1;
  border-left: thin solid var(--palette-divider);
}

.ApartmentDetails__floorplan-buttons-up {
  position: absolute;

  padding: 1em;
}

.ApartmentDetails__floorplan-buttons-down {
  position: absolute;
  bottom: 0;

  right: 0;
  padding: 1em;
}

.ApartmentDetails__info-buttons-up {
  position: absolute;
  right: 0;

  padding: 1em;
}

.ApartmentDetails__info-buttons-down {
  position: absolute;

  bottom: 0;
  padding: 1em;
}

.ApartmentInfo__root {
  --color: var(--palette-secondary--main);
  --background-color: var(--background-color-transparent);
  --background-opacity: 0;
  --shadow-color: var(--palette-secondary--main-with-alpha);
  --main-right-margin: 10vw;

  background-color: var(--background-color);
  color: var(--color);
  max-width: 100%;
  padding: 1.5rem;
  display: flex;
  flex-flow: column nowrap;
  overflow: scroll;
}

.ApartmentInfo__headings {
  display: flex;
  flex-flow: column nowrap;
}

@media (min-width: 900px) {
  .ApartmentInfo__headings {
    margin-right: var(--main-right-margin);
  }
}

.ApartmentInfo__label {
}

.ApartmentInfo__title {
}

.ApartmentInfo__description {
}

.ApartmentInfo__divider {
  margin: 0.5rem 0;
  width: 100%;
}

.ApartmentInfo__info-section {
  height: auto;
  /* height: 50vh; */
  overflow-y: scroll;
  display: grid;
}

.ApartmentInfo__info-element {
}

.ApartmentInfo__info-element-title {
  display: block;
}

.ApartmentInfo__info-element-content {
}

.ApartmentInfo__buttons {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  grid-gap: 1em;
}

.ApartmentInfo__button {
}

.ButtonsList__root {
  background-color: var(--buttonslist-background-color);
  display: grid;
}

.ButtonsList__full-width {
  width: 100%;
}

.ButtonsList__root .Button__without-text {
  padding: 0;
  margin: 0;
  min-width: 44px;
  min-height: 44px;
}

.ButtonsList__root .Button__with-text {
  min-height: 44px;
}
.ButtonsList__root .Button__icon {
  margin-left: 0;
  margin-right: 0;
}

.ButtonsList__root:hover {
  background-color: var(--buttonslist-background-color);
}

.ButtonsList__primary {
  --buttonslist-background-color: var(--background-color-transparent);
}

.ButtonsList__secondary {
  --buttonslist-background-color: var(--background-color-transparent);
}

.ButtonsList__buttonslist-group-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.ButtonsList__left-aligned-group {
  justify-content: flex-start;
}

.ButtonsList__center-aligned-group {
  justify-content: center;
}

.ButtonsList__right-aligned-group {
  justify-content: flex-end;
}

.ButtonsList__buttonslist-button {
  width: calc(8 * var(--button-list-theme-spacing));
}

.ButtonsList__buttonslist-element {
  width: -moz-fit-content;
  width: fit-content;
}
.ButtonsList__no-borders-element {
  border: none !important;
}



.CloseButton__root {
  width: 44px;
  height: 44px;
}








.ModalShare__content-paragraph p:first-of-type {
  margin-top: 0;
}

.ModalShare__content-paragraph p:last-of-type {
  margin-bottom: 0;
}





.ApartmentFinder__root {
  max-width: 100vw;
  height: calc(100vh - var(--topnav-total-height));
  display: grid;
  grid-template-areas: 'model filters' 'model table';
  grid-template-columns: 1fr 1.95fr;
  grid-template-rows: 6rem 1fr;

  --background-color: var(--palette-primary--main);
  background-color: var(--background-color);
}

.ApartmentFinder__model {
  grid-area: model;
  box-shadow: inset 1px 0 var(--palette-divider);
}

.ApartmentFinder__filters {
  grid-area: filters;
  box-shadow: inset 1px 0 var(--palette-divider);
}

.ApartmentFinder__table {
  grid-area: table;
  box-shadow: inset 1px 0 var(--palette-divider);
}
.ApartmentFinder__hide-finder {
  display: none;
}

.BuildingModel__root {
  --color: var(--palette-sencondary--main);
  --background-color: var(--background-color-transparent);

  color: var(--color);
  background-color: var(--background-color);
  display: grid;
  grid-template-rows: 1fr;
  height: 100%;
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  padding: 1.5rem;
  row-gap: 1rem;
}

.BuildingModel__root--3d canvas {
  max-height: calc(100vh - var(--topnav-total-height));
}

.BuildingModel__top-section-wrapper {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin-right: 3rem;
  margin-left: 3rem;
}

.BuildingModel__view-buttons {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  grid-gap: 0.75rem;
}

.BuildingModel__view-button {
}

.BuildingModel__media-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

.BuildingModel__media {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* TODO: Look into fixing this component sithout using absolute */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ApartmentFinderApartmentModel__closeButton {
}

.DrawerWrapper__root .MuiFilledInput-root {
  padding-top: 0;
  padding-bottom: 16px;
  margin-top: 0;
  margin-bottom: 0;
  min-width: 35vw;
  max-width: 90vw;
}

.CRM__root {
  max-height: calc(100vh - (var(--topnav-total-height)));
}

.CRM__root {
  max-width: 100vw;
  height: calc(100vh - var(--topnav-total-height));
  max-height: 100vh;
  display: grid;
  grid-template-areas: 'search data' 'buttons buttons';
  grid-template-columns: 1fr 3fr;
  grid-template-rows: auto 60px;
  --background-color: var(--palette-primary--main);
  background-color: var(--background-color);
}

.CRM__search {
  grid-area: search;
}

.CRM__data {
  grid-area: data;
  max-height: 100%;
  overflow-y: scroll;
}

.CRM__buttons {
  grid-area: buttons;
  padding-left: 1em;
  padding-right: 1em;
  gap: 1em;
}

.CRM__hide-content {
  display: none;
}

.GuestCard__root {
  --background-color: var(--palette-primary--main);
  --shadow-color: var(--palette-divider);
  display: flex;
  flex-flow: column nowrap;
  width: 100%;
  padding: 1rem;
  max-height: 100vh;
  box-shadow: none;
}

.GuestCard__primary {
}

.GuestCard__secondary {
}

.GuestCard__fields-wrapper {
  height: auto;
  overflow-y: scroll;
}

.GuestCard__section {
}

.GuestCard__divider {
  border-bottom-style: solid;
  border-bottom-width: thin;
  border-bottom-color: var(--palette-divider);
}

.GuestCard__section-title {
  font-size: 1.2rem;
}

.GuestCard__client-inputs-data-container {
  display: grid;
  align-items: center;
  grid-template-areas:
    '1 2 3'
    '4 5 .';
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.GuestCard__text-input-field {
}

.GuestCard__text-input-field .MuiInputBase-root {
}

.GuestCard__text-input-field .MuiInputBase-root:hover fieldset {
  border-color: var(--text-input-field-border-hover-color);
}

.GuestCard__text-input-field .MuiInputBase-root.Mui-focused fieldset {
  border-color: var(--text-input-field-border-focused-color);
  border-width: thin;
}

.GuestCard__text-input-field input:-webkit-autofill {
  -webkit-text-fill-color: var(--text-input-field-input-text-color) !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--text-input-field-background-color) inset !important;
}

.OptionGroup__root {
  --elements-per-row: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.OptionGroup__group-title {
  width: 100%;
}

.OptionGroup__group-options-container {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--elements-per-row), auto);
}

.OptionGroup__option {
  margin: 0;
}

.AppSettings__root {
  --scroll-shadow-background-color: var(--palette-primary--main);
  --scroll-shadow-shadow-color: var(--palette-primary--dark);

  --tabs-section-text: var(--palette-text--secondary);
  --tabs-section: var(--palette-secondary--main);
  --tab: var(--palette-primary--light);
  --tab-text: var(--palette-text--primary);
  --tab-hover: var(--palette-secondary--light);
  --tab-selected: var(--palette-secondary--main);
  --tab-text-selected: var(--palette-text--secondary);

  display: grid;
  grid-template-areas: 'tabs options';
  grid-template-columns: 15rem auto;
  width: 100vw;
  height: 100vh;
  max-height: 100%;
}

.AppSettings__close-button {
  position: absolute;
  right: calc(var(--topnav-total-height) * -1);
  width: calc(var(--topnav-total-height));
  height: calc(var(--topnav-total-height));
  border: none;
  --icon-size: 2rem;
  background-color: var(--palette-common-black);
  color: var(--palette-common-white);
}

.AppSettings__tabs-section {
  height: 100%;
  grid-area: tabs;
  background-color: var(--tabs-section);
  display: flex;
  flex-flow: column nowrap;
  color: var(--tabs-section-text);
  position: relative;
}

.AppSettings__tabs-section-title {
  font-size: 1.2rem;
  height: 4rem;
  padding-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.AppSettings__tabs {
  height: 100%;
  overflow-y: auto;
}

.AppSettings__tab {
  height: 5rem;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--tab);
  color: var(--tab-text);
  --tab-border: var(--palette-text--secondary);
  border: thin solid var(--tab-border);
  cursor: pointer;
}

.AppSettings__tab:hover {
  background-color: var(--tab-hover);
}

.AppSettings__selected-tab {
  background-color: var(--tab-selected);
  color: var(--tab-text-selected);
}

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

.AppSettings__options-section {
  padding: 2rem;
  overflow-y: auto;
}

.AppSettings__option-group {
  margin: 1.5rem 0;
  display: flex;
  flex-flow: column nowrap;
  align-items: baseline;
}

.DrawerSettings__root {
  top: calc(var(--topnav-total-height));
  max-height: calc(100vh - var(--topnav-total-height));
}



.ModalDownloadUpdate__text {
  margin: 0;
}

.BucketScreen {
  max-height: calc(100vh - var(--topnav-total-height));
}

.not-found-page-container {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}


.MediaItem__root {
  width: 100vw;
  height: 100%;
  max-height: calc(100vh - var(--topnav-total-height, 0px));
  position: relative;
}

.MediaItem__media-item {
  width: 100%;
  height: 100%;
}

.MediaItem__close-button {
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
}


.Eula__root {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.Eula__viewer-container {
  max-height: 75vh;
  min-height: 75vh;
  overflow: auto;
  max-width: 80vw;
  min-width: 80vw;
  margin-bottom: 2rem;
  z-index: 100;
  background-color: #ffff;
}

.EulaViewer__root {
  padding: 5rem;
}

.Markdown__root {
}


.LoginScreen__root {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  background-color: var(--login-background-color);
}

.LoginScreen__hide-content {
  display: none;
}

.LoginScreen__primary {
  --login-background-color: hsla(205, 67%, 11%, 0.5);
  --username-field-background-color: var(--palette-primary--main);
  --username-field-border-color: var(--palette-common-black);
  --username-field-border-hover-color: var(--palette-common-black);
  --username-field-border-focused-color: var(--palette-common-black);
  --username-field-input-text-color: var(--palette-text--primary);

  --password-field-background-color: var(--palette-primary--main);
  --password-field-border-color: var(--palette-common-black);
  --password-field-border-hover-color: var(--palette-common-black);
  --password-field-border-focused-color: var(--palette-common-black);
  --password-field-input-text-color: var(--palette-text--primary);

  --login-button-background-color: var(--palette-primary--main);
  --login-button-text-color: var(--palette-text--primary);
  --login-button-background-hover-color: var(--palette-action--hover);
  --login-button-border-color: var(--palette-primary--main);
}

.LoginScreen__secondary {
  --login-background-color: hsla(205, 67%, 11%, 0.5);
  --username-field-background-color: var(--palette-secondary--main);
  --username-field-border-color: var(--palette-common-black);
  --username-field-border-hover-color: var(--palette-common-black);
  --username-field-border-focused-color: var(--palette-common-black);
  --username-field-input-text-color: var(--palette-text--secondary);

  --password-field-background-color: var(--palette-secondary--main);
  --password-field-border-color: var(--palette-common-black);
  --password-field-border-hover-color: var(--palette-common-black);
  --password-field-border-focused-color: var(--palette-common-black);
  --password-field-input-text-color: var(--palette-text--secondary);

  --login-button-background-color: var(--palette-secondary--main);
  --login-button-text-color: var(--palette-text--secondary);
  --login-button-background-hover-color: var(--palette-action--hover);
  --login-button-border-color: var(--palette-secondary--main);
}

.LoginScreen__background-image {
  filter: brightness(50%);
}

.LoginScreen__login-container {
  display: flex;
  flex-direction: column;
  padding-left: 6em;
}

.LoginScreen__username-and-password-container {
  display: flex;
  flex-direction: column;
  gap: 0px;
  width: 25vw;
}

.LoginScreen__username-field {
  background-color: var(--username-field-background-color);
  color: var(--username-field-input-text-color);
  margin: 0px;
  height: 3rem;
  padding: 1em;
}

.LoginScreen__username-field .Mui-disabled {
  color: var(--username-field-input-text-color);
  -webkit-text-fill-color: var(--username-field-input-text-color);
}

.LoginScreen__username-field .MuiInputBase-root {
}

.LoginScreen__username-field .MuiInputBase-root fieldset {
  border-color: var(--username-field-border-color);
}

.LoginScreen__username-field .MuiInputBase-root:hover fieldset {
  border-color: var(--username-field-border-hover-color);
}

.LoginScreen__username-field .MuiInputBase-root.Mui-focused fieldset {
  border-color: var(--username-field-border-focused-color);
}

.LoginScreen__username-field input:-webkit-autofill {
  -webkit-text-fill-color: var(--username-field-input-text-color) !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--username-field-background-color) inset !important;
}

.LoginScreen__password-field {
  background-color: var(--password-field-background-color);
  color: var(--password-field-input-text-color);
  margin: 0px;
  height: 3rem;
  padding: 1em;
}

.LoginScreen__password-field .MuiInputBase-root {
}

.LoginScreen__password-field .MuiInputBase-root fieldset {
  border-color: var(--password-field-border-color);
}

.LoginScreen__password-field .MuiInputBase-root:hover fieldset {
  border-color: var(--password-field-border-hover-color);
}

.LoginScreen__password-field .MuiInputBase-root.Mui-focused fieldset {
  border-color: var(--password-field-border-focused-color);
}

.LoginScreen__password-field input:-webkit-autofill {
  -webkit-text-fill-color: var(--password-field-input-text-color) !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--password-field-background-color) inset !important;
}

.LoginScreen__login-button {
  margin-top: 1em;
  width: 75%;
  height: 3rem;
  background-color: var(--login-button-background-color);
  border-color: var(--login-button-border-color);
  color: var(--login-button-text-color);
}

.LoginScreen__change-button {
  border: none;
}

.LoginScreen__login-button:hover {
  background-color: var(--login-button-background-hover-color);
}

.LoginScreen__invalid-container {
  z-index: 100;
  text-align: center;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.LoginScreen__invalid-caption {
  color: var(--login-button-background-color);
  background-color: var(--login-button-text-color);
}

.LoginScreen__login-container span.MuiFormControlLabel-label,
.LoginScreen__remember-me,
.LoginScreen__remember-me.MuiCheckbox-colorPrimary,
.LoginScreen__remember-me.MuiCheckbox-colorPrimary.Mui-checked {
  color: white;
}

.header {
  grid-area: header;
  position: sticky;
  top: 0;
  z-index: 2;
}

.TopNav__root {
  height: calc(var(--topnav-total-height));
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  border-bottom: 1px solid var(--topnav-border-color);
  border-radius: 0;
  background-color: var(--topnav-background-color);
  display: grid;
  box-sizing: border-box;
  z-index: calc(var(--theme-z-index--drawer) + 1);
}

.TopNav__primary {
  --topnav-border-color: var(--palette-text--primary);
  --topnav-background-color: var(--palette-background--default);
}

.TopNav__secondary {
  --topnav-border-color: var(--palettte-text-secondary);
  --topnav-background-color: var(--palette-background--default);
}

.TopNav__topnav-group-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: content-box;
  height: calc(var(--topnav-total-height) - 1px);
}

.TopNav__left-aligned-group {
  justify-content: flex-start;
  border-left: 0px;
}

.TopNav__center-aligned-group {
  justify-content: center;
}

.TopNav__center-aligned-group > .TopNav__topnav-button:first-child {
  border-left: 1px solid var(--topnav-border-color);
}

.TopNav__right-aligned-group {
  justify-content: flex-end;
}

.TopNav__right-aligned-group > .TopNav__topnav-button:first-child {
  border-left: 1px solid var(--topnav-border-color);
}

.TopNav__right-aligned-group > :last-child {
  border-right: none;
}

.TopNav__topnav-button {
  border-right: 1px solid var(--topnav-border-color);
  width: calc(var(--topnav-total-height));
  height: calc(var(--topnav-total-height));
  border-radius: 0;
}

.TopNav__topnav-socket {
  border-right: 1px solid var(--topnav-border-color);

  height: calc(var(--topnav-total-height) - 1px);
}

.TopNav__borderless,
.TopNav__borderless > * > .TopNav__topnav-socket,
.TopNav__borderless > * > .TopNav__topnav-button,
.TopNav__borderless > * > .TopNav__topnav-button:first-child {
  border: unset;
}

.TopNavButton__root {
  height: 100%;
  max-height: 100%;
  min-width: unset;

  color: var(--topnav-button-icon-color);
  background-color: var(--topnav-button-background-color);
  padding: 0;
}

.TopNavButton__root:hover {
  background-color: var(--topnav-button-hover-background-color);
  color: var(--topnav-button-icon-hover-color);
}

.TopNavButton__primary {
  --topnav-button-background-color: var(--palette-background--default);
  --topnav-button-hover-background-color: var(--palette-action--hover);
  --topnav-button-active-background-color: var(--palette-action--active);
  --topnav-button-icon-color: var(--palette-text--primary);
  --topnav-button-icon-hover-color: var(--palette-text--primary);
  --topnav-button-icon-active-color: var(--palette-text--primary);
  --topnav-button-left-border-color: var(--palette-text--primary);
  --topnav-button-right-border-color: var(--palette-text--primary);
}

.TopNavButton__secondary {
  --topnav-button-background-color: var(--palette-background--default);
  --topnav-button-hover-background-color: var(--palette-action--hover);
  --topnav-button-active-background-color: var(--palette-action--active);
  --topnav-button-icon-color: var(--palette-text-secondary);
  --topnav-button-icon-hover-color: var(--palette-text-secondary);
  --topnav-button-icon-active-color: var(--palette-text-secondary);
  --topnav-button-left-border-color: var(--palette-text-secondary);
  --topnav-button-right-border-color: var(--palette-text-secondary);
}

.TopNavButton__active {
  background-color: var(--topnav-button-active-background-color);
  color: var(--topnav-button-icon-active-color);
}

.TopNavButton__image {
  max-height: 100%;
  max-width: 100%;
}

.layout {
  display: grid;
  min-height: 100vh;
  grid-template-areas:
    'header'
    'main';
  grid-template-rows: auto 1fr auto;
}

#socket-summary-box {
  position: absolute;
  top: 50px;
  right: 50px;
  z-index: 100000;
  opacity: 0.7;
  pointer-events: none;
}

body .ButtonsList__primary {
  --buttonslist-background-color: transparent;
}

body .ButtonsList__secondary {
  --buttonslist-background-color: transparent;
}

body .ButtonsList__element-CRM .MuiTypography-root {
  height: -moz-fit-content;
  height: fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
}

body .ButtonsList__element-CRM {
  --color--straight: white;
  --border-color: white;
  --background-color--straight: hsl(0, 1%, 14%);
  --border-width: 1px;
}

.ButtonKeyplan__iconRoot {
  min-height: 100%;
  width: 100%;
  height: 100%;
}

.ButtonKeyplan__imageIcon {
  width: 100%;
  height: 100%;
  max-height: 100vh;
  object-fit: contain;
  object-position: center;
  display: block;
  background-color: var(--background-color);
  position: relative;
}

.ButtonApartmentGroupNavigation__root .ButtonNavigate__root {
  /* Reset vars to Button ones, from: marimba-design-core/packages/design-system/src/components/Button/Button.css */
  --color--straight: var(--palette-text--primary);
  --background-color--straight: var(--primary--main-with-alpha);
  --color--inverted: var(--palette-primary--main);
  --background-color--inverted: var(--text--primary-with-alpha);

  --color: var(--color--straight);
  --background-color: var(--background-color--straight);
  --border-color: var(--color);
  --icon-size: 1.1em;
  --border-width: thin;
}


.socket-button-group__root {
  display: flex;
  flex-direction: row;
  padding-left: 5px;
  padding-right: 5px;
}
.socket-button-group__buttons-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.socket-button-group__connected-signal {
  color: greenyellow;
}
.socket-button-group__connected-text {
  margin: 0;
}
.socket-button-group__socket-connecting-message-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.socket-button__root {
  --has-room-id-color: hsl(0, 0%, 46%);
  --no-room-id-color: hsl(0, 98%, 33%);
  height: -moz-fit-content;
  height: fit-content;
}
.socket-button__button {
}
.socket-button__icon {
  width: 5px;
  height: 5px;
}
.socket-button__room-id--active {
  border: 1px solid var(--has-room-id-color);
}
.socket-button__no-room-id--active {
  border: 1px solid var(--no-room-id-color);
}
.socket-button__no-room-id {
  color: var(--no-room-id-color);
}

.socket-connecting-message__root {
  display: flex;
  flex-direction: row;
}

.socket-room-dropdown__root {
}
.socket-room-dropdown__select {
  padding: 0em;
}
.socket-room-dropdown__select .MuiOutlinedInput-notchedOutline {
  border: none;
}
.socket-room-dropdown__select-display-props {
  padding: 0em;
}
.socket-room-dropdown__menu-item {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.socket-room-dropdown__icon {
  width: 5px;
}
.socket-room-dropdown__selected {
  color: greenyellow;
}

.BrochurePage__root {
  max-height: 100vh;
  overflow: auto;
  scroll-behavior: smooth;
}

.BrochurePage__section .SectionHeader__root h2 {
  height: 6rem;
  max-height: 6rem;
  min-height: 6rem;
  font-size: 6rem;
}

.BrochurePage__scroll-margin {
  scroll-padding-top: var(--nav-bar-height);
}

.BrochurePage__proximity {
  scroll-snap-type: y proximity;
}

.BrochurePage__mandatory {
  scroll-snap-type: y mandatory;
}

.BrochurePage__page-cover {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
}

.BrochurePage__brochure-body {
  margin-top: 100vh;
  background-color: var(--palette-background--default);
}

.BrochurePage__cover-shower {
  scroll-margin-top: 100vh;
  scroll-snap-align: start;
}

.BrochurePage__nav-bar {
  position: sticky;
  z-index: var(--theme-z-index--appBar);
  top: 0;
}

.BrochurePage__section {
  scroll-snap-align: start;
}

.BrochurePage__content {
  height: calc(100vh - (6rem + 2em));
  min-height: calc(100vh - (6rem + 2em));
}
.BrochurePage__content.ApartmentDetails__brochure:first-of-type {
  height: calc(100vh - (6rem + 2em));
  min-height: calc(100vh - (6rem + 2em));
}
.BrochurePage__content.ApartmentDetails__brochure {
  height: 100vh;
  min-height: 100vh;
}
@media (min-width: 900px) {
  .BrochurePage__content {
    height: calc(100vh - var(--nav-bar-height) - (6rem + 2em));
    min-height: calc(100vh - var(--nav-bar-height) - (6rem + 2em));
  }
  .BrochurePage__content.ApartmentDetails__brochure:first-of-type {
    height: calc(100vh - var(--nav-bar-height) - (6rem + 2em));
    min-height: calc(100vh - var(--nav-bar-height) - (6rem + 2em));
  }
  .BrochurePage__content.ApartmentDetails__brochure {
    height: calc(100vh - var(--nav-bar-height));
    min-height: calc(100vh - var(--nav-bar-height));
  }
}

.BrochurePage__footer {
  scroll-snap-align: start;
}

.PageCover__root {
  background-color: var(--palette-primary--main);
  width: 100%;
  max-width: 100%;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  display: grid;
  grid-template-columns: 2fr 1fr;
  position: relative;
}

.PageCover__content {
  padding: var(--theme-spacing);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.PageCover__logo {
  width: -moz-fit-content;
  width: fit-content;
}

.PageCover__salutation {
  font-weight: bold;
  color: var(--palette-secondary--main);
}

.PageCover__title {
  color: var(--palette-text--primary);
}

.PageCover__description {
  color: var(--palette-secondary--main);
  max-width: min(50%, 400px);
}

.PageCover__image {
  background-color: var(--palette-secondary--main);
}

.NavbarDropdown__root {
  position: absolute;
  top: 100%;

  --max-submenu-content-width: 25vw;
  --background-color: var(--palette-secondary--main);
  --shadow-color: var(--palette-primary--main);

  margin-left: calc(-1 * var(--dropdown-x-offset));
  min-width: 100%;
}

.NavbarDropdown__dropdown-items {
  writing-mode: vertical-lr;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  align-content: flex-start;
  max-height: 80vh;
  background-color: var(--palette-secondary--main);
  border-radius: 0.1rem;
  width: 100%;
  padding-left: 1.5rem;
}

.NavbarDropdown__item {
  writing-mode: horizontal-tb;
  text-align: left;
  font-size: 0.75rem;
  color: var(--palette-text--secondary);
  text-decoration: none;
  width: max-content;
  max-width: var(--max-submenu-content-width);
  margin-left: 1rem;
  margin-right: 1rem;
}

.NavbarDesktop__root {
  --nav-bar-height: 2.5rem;

  display: flex;
  justify-content: space-evenly;
  align-items: center;
  background-color: var(--palette-secondary--main);
  height: var(--nav-bar-height);
}

.NavbarDesktop__logo {
  height: 2rem;
  margin: auto 0;
}

.NavbarDesktop__logo-hidden {
  opacity: 0;
  pointer-events: none;
}

.NavbarDesktop__menu {
  flex: 0 1 75%;
  display: flex;
  justify-content: center;
}

.NavbarDesktop__links {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.NavbarDesktop__path-container {
  flex: 0 1 100vw;
  justify-content: center;
  border-right: 1px solid white;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  display: flex;
  position: relative;
}

.NavbarDesktop__path-container:last-child {
  border-right: 0;
}

.NavbarDesktop__link {
  flex: 0 1 auto;
  margin: auto;
  text-align: center;
  font-size: 13px;
  color: var(--palette-text--secondary);
  text-decoration: none;
}

.NavbarDesktop__dropdown-button {
  transition: var(--dropdown-button-transition);
}

.NavbarDesktop__dropdown-button-on {
  transform: rotate(180deg);
}

.NavbarDesktop__link-button {
}

.NavbarDesktop__link-text {
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
  flex: 0 1 auto;
}

.NavbarMobile__root {
  --max-menu-content-width: 30vw;

  position: relative;

  display: flex;
  flex-flow: column nowrap;
  justify-content: space-evenly;
  align-items: center;
  background-color: var(--palette-secondary--main);
  height: 100%;
  min-width: 9rem;
}

.NavbarMobile__close-button {
  position: absolute;
  top: 0.3rem;
  right: 0.5rem;
}

.NavbarMobile__logo {
  height: 2rem;
  margin: min(10vh, 4rem) auto;
}

.NavbarMobile__logo-hidden {
  opacity: 0;
  pointer-events: none;
}

.NavbarMobile__menu {
  display: flex;
  justify-content: center;
  height: 100%;
  margin-bottom: 1rem;
  overflow-y: auto;
}

.NavbarMobile__links {
  list-style-type: none;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

.NavbarMobile__path-container {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.NavbarMobile__link {
  width: max-content;
  max-width: var(--max-menu-content-width);
  font-size: 13px;
  text-decoration: none;
}

.NavbarMobile__link-button {
  justify-content: space-between;
  width: 100%;
}

.NavbarMobile__dropdown-button {
  padding-top: 0;
  padding-right: 0;
  padding-left: 0;
  transition: var(--dropdown-button-transition);
}

.NavbarMobile__dropdown-button-on {
  transform: rotate(180deg);
}

.NavbarMobile__dropdown-root {
  position: static;
  top: unset;
  margin-left: 0;
}

.Navbar__root {
}

.Navbar__path-container {
}

.Navbar__mobile-menu-button {
  position: absolute;
  z-index: 1100;
  top: 1rem;
  right: 1rem;
}

.SectionContainer__root {
}

.SectionHeader__root {
  padding: 1em 0;
  background-color: var(--palette-secondary--main);
}

.SectionHeader__divider-top {
  border-top: thin solid var(--palette-primary--main);
}

.SectionHeader__divider-bottom {
  border-bottom: thin solid var(--palette-primary--main);
}

.Section__root {
}


.Footer__root {
  --color: hsl(0, 0%, 100%);
  --background-color: hsl(205deg, 67%, 11%);

  color: var(--color);
  background-color: var(--background-color);
  width: 100%;
  margin-top: auto;
  padding: 2rem;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

.Footer__links {
  align-self: flex-end;
  display: flex;
  flex-flow: row nowrap;
}

.Footer__links > * {
  color: var(--color);
  margin-left: 1rem;
}

.DynamicHeader__root {
  color: var(--palette-text--primary);
  background-color: transparent;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
}

.DynamicHeader__root span {
  font-size: calc(14 / var(--base-viewport-height-desktop) * 100vh);
}

.MapSvg__root {
  width: 100%;
  height: 100%;

  position: relative;
}

.MapSvg__loading-map-container {
  opacity: 0;
}

.MapSvg__loader {
  position: absolute;

  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);
}

.MapInfo__root {
  padding: 10vh;
  height: 100%;
}

.MapInfo__buttons {
  height: 10%;
}

.MapInfo__content {
  height: 90%;
  margin-top: 3rem;
}

.MapInfo__tabs {
  width: 25%;
}

.MapInfo__categories {
  width: 55%;
}

.MapInfo__tab_message {
  padding: 0 25%;

  height: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.MapInfo__ButtonGroup_elementsWrapper {
  border: none;
}

.MapInfo__ButtonGroup_element > span {
  --font-size: 1rem;
  letter-spacing: 0.01em;
}

.MapInfo__place_list {
  list-style-type: decimal;

  display: flex;
  flex-flow: column wrap;

  height: 100%;
  margin-left: 50%;
  margin-top: 0;
  margin-bottom: 0;
}

.Map__root {
  display: grid;
  grid-template-columns: 1fr 1fr;

  height: 100%;
}

.Map__ItemClickable {
  cursor: pointer;
}

.ModalTeamBio__root {
  background-color: var(--palette-secondary--main);
  position: absolute;
}

.ModalTeamBio__photo {
  margin-top: 40px;
  margin-bottom: 30px;
  width: inherit;
}

.ModalTeamBio__modal-container {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: auto;
  display: grid;
  padding: 5% 10%;
  grid-template-areas: 'photo persInf' 'extDes extDes';
  opacity: 0.95;
  z-index: 2;
}

.ModalTeamBio__modal-photo {
  margin-top: 0;
  grid-area: photo;
}

.ModalTeamBio__personal-info {
  grid-area: persInf;
}

.ModalTeamBio__extended-description {
  text-align: justify;
  grid-area: extDes;
  max-width: 75%;
}

.ModalTeamBio__modal-text {
  color: var(--palette-text--secondary);
}

.TeamBio__root {
  width: 20rem;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  align-content: flex-start;
  justify-content: center;
  cursor: pointer;
}

.TeamBio__photo-container {
}

.TeamBio__photo {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.TeamBio__text-container {
  margin-top: 20px;
  margin-bottom: 30px;
}

.TeamBio__text {
}

.TeamBio__name {
  font-size: 1.3rem;
}

.TeamBio__description {
  text-align: justify;
}

.SlideTeamBio__root {
  --member-gap: 8.5vw;
}

.SlideTeamBio__media {
  display: flex;
  justify-content: center;
  gap: var(--member-gap);
}

.SlideTeamBio__team-bio-element {
  width: 19rem;
}


.TopNavButtonWrapper__root {
  height: 100%;
  max-height: 100%;
  min-width: unset;

  color: var(--topnav-button-icon-color);
  background-color: var(--topnav-button-background-color);
  padding: 0;
}

.TopNavButtonWrapper__root:hover {
  background-color: var(--topnav-button-hover-background-color);
  color: var(--topnav-button-icon-hover-color);
}

.TopNavButtonWrapper__primary {
  --topnav-button-background-color: var(--palette-background--default);
  --topnav-button-hover-background-color: var(--palette-action--hover);
  --topnav-button-active-background-color: var(--palette-action--active);
  --topnav-button-icon-color: var(--palette-text--primary);
  --topnav-button-icon-hover-color: var(--palette-text--primary);
  --topnav-button-icon-active-color: var(--palette-text--primary);
  --topnav-button-left-border-color: var(--palette-text--primary);
  --topnav-button-right-border-color: var(--palette-text--primary);
}

.TopNavButtonWrapper__secondary {
  --topnav-button-background-color: var(--palette-background--default);
  --topnav-button-hover-background-color: var(--palette-action--hover);
  --topnav-button-active-background-color: var(--palette-action--active);
  --topnav-button-icon-color: var(--palette-text-secondary);
  --topnav-button-icon-hover-color: var(--palette-text-secondary);
  --topnav-button-icon-active-color: var(--palette-text-secondary);
  --topnav-button-left-border-color: var(--palette-text-secondary);
  --topnav-button-right-border-color: var(--palette-text-secondary);
}

.TopNavButtonWrapper__active {
  background-color: var(--topnav-button-active-background-color);
  color: var(--topnav-button-icon-active-color);
}

.TopNavButtonWrapper__image {
  max-height: 100%;
  max-width: 100%;
}

