@font-face {
  font-family: "inter";
  src:
    url("fonts/inter_bold.ttf") format("truetype"), /* Safari, Android, iOS */
    url("fonts/inter_bold.woff") format("woff"), /* Modern Browsers */
    url("fonts/inter_bold.woff2") format("woff2"); /* Modern Browsers */
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "inter";
  src:
    url("fonts/inter.ttf") format("truetype"), /* Safari, Android, iOS */
    url("fonts/inter.woff") format("woff"), /* Modern Browsers */
    url("fonts/inter.woff2") format("woff2"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}

html
{
    font-family: 'inter', sans-serif;
}

body
{
  background-color: #3a383b;
  color: white;
  fill: white;
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
  user-select: none;          /* Likely future */
  letter-spacing: 0.5px;
}

#pano {
  width: 100vw !important;
  height: 100vh !important;
}

p
{
  text-transform: none;
  font-size: 16px;
}

@keyframes rotation
{
    0%   {transform: rotate(0deg);}
    50%  {transform: rotate(180deg);}
    100% {transform: rotate(360deg);}
}

@keyframes wave
{
    0%   {transform: translate3d(0,0,0);}
    50%   {transform: translate3d(12.625px,0,0);}
    100% {transform: translate3d(25.25px,0,0);}
}

@keyframes wave2
{
    0%   {transform: translate3d(-12.625px,0,0) scale3d(1.05,1,1);}
    50%   {transform: translate3d(0,0,0) scale3d(1,1,1);}
    100% {transform: translate3d(12.625px,0,0) scale3d(1.05,1,1);}
}

.spinning
{
  -webkit-animation: rotation 2s linear infinite; /* Safari 4.0 - 8.0 */
  animation: rotation 2s linear infinite;
}

.wave
{
  -webkit-animation: wave 1s linear infinite; /* Safari 4.0 - 8.0 */
  animation: wave 1s linear infinite;
}

.wave2
{
  -webkit-animation: wave2 3s linear infinite; /* Safari 4.0 - 8.0 */
  animation: wave2 3s linear infinite;
  transform-origin: center center;
}

#svgAnim.disabled
{
  opacity: 0;
}

#svgAnim
{
  height:auto;
  width:100%;
  max-width:512px;
  pointer-events: none;
  margin-top: -6vh;
  margin-bottom: -6vh;
}

.slowtransition
{
  -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -webkit-transition-duration: 1s;

  transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-duration: 1s;

  -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -o-transition-duration: 1s;

  -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -moz-transition-duration: 1s;
}

.logoMask
{
  -webkit-mask-image: url(/img/clip.svg);
  mask-image: url(/img/clip.svg);
  height: 512px;
  width: 512px;
}

#instructions
{
  display: flex;
  justify-content: center;
  top: 1em;
  text-align: center;
  width: 100%;
}

#instructions > *
{
  position: absolute;
  max-width: 350px;
  height: 0;;
}

#instructions > .disabled
{
  opacity: 0;
}

#instructions > .closeButton
{
  color: #fff;
  border-bottom: 1px solid #fff;
}

#instructions > .closeButton:hover
{
  color: #5cc6c9;
  border-bottom: 1px solid #5cc6c9;
}

#instructions > .closeButton
{
  top: 3em;
}

#instructions > .closeButton.disabled
{
  opacity: 0.3;
}

#instruction5
{
  height: auto;
  position: relative;
}

#startTour
{
  font-size: 12rem;
  line-height: 1em;
  font-weight: 900;
  background: linear-gradient(90deg, #3cd5b4, #4655ee);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  cursor: pointer;
}

@media (min-width: 768px) and (min-height: 768px)
{
  #startTour
  {
    font-size: 18rem;
  }
}

#eyeBG
{
  fill: #fff;
}

#eyeFG
{
  fill: #6691a3;
  stroke: #535153;
  stroke-width: 4;
}

.clickable
{
  cursor: pointer;
}

.referencedEye
{
  cursor: pointer;
}

.referencedEye:hover
{
  transform: scale(2);
  opacity: 0;
}

.referencedEye
{
  transform: scale(1.5);
}

ul
{
  display: inline-block;
  padding: 0;
  list-style-type: none;
}

li
{
  padding: 6px;
  padding-left: 0;
  padding-right: 0;
  text-align: left;
  max-width: 248px;
  margin-left: 32px;
  margin-right: 32px;
}

.notLoaded
{
  /*top: 0px !important;
  left: 0px !important;
  height: 100% !important;
  width: 100% !important;
  background-color: #14354f !important;*/
  opacity: 0;
}

.visibleShop
{
  display: block;
}

.invisibleShop
{
  display: none;
}

.disabled
{
  opacity:0.3;
  pointer-events: none !important;
}

.button.disabled
{
  height: 0;
  padding: 0;
}

.displayNone
{
  display: none !important;
}

.disabledHotspot
{
  opacity:0;
  pointer-events: none !important;
}

.rectHotstpot
{
  fill: transparent;
  stroke-width: 1px;
  stroke: red;
  cursor: pointer;
}

.pointerEvents
{
  pointer-events: all;
}

/*#shopChooser
{
  border-bottom: none;
}*/

#menuIcon
{
  position: fixed;
  font-size: 1.4rem;
  font-weight: bold;
  right: 2.5rem;
  bottom: 3rem;
  z-index: 2;
  cursor: pointer;
  text-shadow: rgba(0,0,0,0.1) 0px 0px 3px;
}

@media (min-height: 768px) {
  #menuIcon{
    right: 4rem;
    font-size: 1.8rem;
  }
}

@media (min-height: 1400px) {
  #menuIcon{
    right: 6.5rem;
  }
}

#typologyButton
{
  position: fixed;
  right: calc(3vh + 40px);
  top: calc(3vh - 3px);
  z-index: 2;
  margin: 0;
  display: none;
}

/*#hotspotTooltip
{
  font-size: 12px;
  font-weight: bold;
  color: #6691a3;
  text-shadow:#3a383b 0px 0px 1px;
}*/

#typologyChooser
{
  z-index: 3;
  display: flex;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #3a383b;
  flex-direction: column;
  justify-content: center;
}

#loadAnim {
  z-index: 9;
  display: flex;
  flex-flow: column;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #3a383b;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 5rem;
}

#loadingLogoWrapper
{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24vh;
}

#textLogo
{
  width: 75%;
}

.typologyOption
{
  position: relative;
  flex-basis: 25%;
  flex-grow: 1;
  display: flex;
}

.typologyHover
{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(16,20,21,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.noMargin
{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#typology1
{
  background-image: url("/img/typologies/1bedroom.jpg");
  background-position: 40% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

#typology2
{
  background-image: url("/img/typologies/2bedroom.jpg");
  background-position: 0% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
#typology3
{
  background-image: url("/img/typologies/3bedroom.jpg");
  background-position: 65% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

#menu
{
  color: white;
  left: 0px;
  top: 93px;
  height: calc(100% - 93px);
  width: 275px;
  overflow-y: hidden;
  overflow-x: hidden;
  text-align: left;

  /*background: linear-gradient(to right, rgba(16, 20, 21, 0.5) , transparent);*/

  z-index: 2;
  position: fixed;

  -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -webkit-transition-duration: 0s;

  transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-duration: 0s;

  -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -o-transition-duration: 0s;

  -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -moz-transition-duration: 0s;

  cursor: default;
}

.largeScreenOnly
{
  display: none;
}

.disabledMap
{
  opacity: 0;
  pointer-events: none;
}

.enabledMap
{
  opacity: 1;
  pointer-events: all;
}

.noMarginTop
{
  margin: 0 !important;
  margin-bottom: 32px !important;
}

#menuClipper
{
  top: 0px;
  left: 0px;
  height: 100%;
  width: 300px;
  overflow-y: visible;
  overflow-x: hidden;
}

.fullscreenInfo
{
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  text-align: center;
  font-size: 14px;

  z-index: 4;
  position: absolute;
  justify-content: center;
  align-items: center;

  cursor: default;
}

.transition
{
    -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
    -webkit-transition-duration: 0.3s;

    transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
    transition-duration: 0.3s;

    -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
    -o-transition-duration: 0.3s;

    -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
    -moz-transition-duration: 0.3s;
}

.moveup
{
  transform: translateY(-6px);
}

#mainLogo
{
  cursor: pointer;
  position: fixed;
  top: 24px;
  left: 24px;
  height: auto;
  width: 180px;
  z-index: 10;
}

#mainLogo.disabled
{
  opacity: 0;
}

.features
{
  width: 180px;
  margin-left: 16px;
  margin-right: 16px;
  margin-top: 0;
  margin-bottom: 0;
}

.features li
{
  margin-left: 0;
  margin-right: 0;
}

h1.tagline
{
  display: inline-block;
  max-width: 460px;
}

.taglineCenter
{
  text-align: center;
}

#planHilight
{
  background-color: #fff;
  -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -webkit-transition-duration: 0.3s;

  transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-duration: 0.3s;

  -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -o-transition-duration: 0.3s;

  -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -moz-transition-duration: 0.3s;

  margin-top: -10px;
}

h1
{
  margin-top: 0px;
  text-align: center;
  font-size: 24px;
  margin-left: 24px;
  margin-right: 24px;
  font-weight: 200;
}

.fullscreenInfo p
{
  margin-left: 48px;
  margin-right: 48px;
}

.fullscreenInfo h2
{
  margin-left: 48px;
  margin-right: 48px;
}

#start.fullscreenInfo p
{
  max-width: 480px;
  display: inline-block;
}

.centerAlign
{
  display: inline-block;
  left:0;
  vertical-align: middle;
}

.leftAlign
{
  justify-content: flex-start;
}

.leftAlign>*
{
  margin-left: 15px;
}

.rightAlign
{
  justify-content: flex-end;
}

.rightAlign>*
{
  margin-right: 15px;
}

.controlBarTextBlock
{
  font-size: 12px;
  display: inline-block;
  cursor: pointer;
  text-align: center;
}

.landingbutton
{
  font-size: 18px;
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
  margin-bottom: 8px;
  text-decoration: underline;
}

#clickBlocker
{
  z-index: 1;
  pointer-events: fill;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: transparent;
}

.closeButton
{
  display: inline-block;
  background-color: transparent;
  padding: 0 4px;
  margin-top: 32px;
  margin-bottom: 0px;
  cursor: pointer;
  border-bottom: 1px solid #fff;
}

.closeButton:hover
{
  background-color: #3a383b;
}

.closeButton *
{
  margin: 12px;
  font-size: 12px;
  display: inline-block;
  cursor: pointer;
}

.closeButton.shortSpacing
{
  margin-top: 8px;
  margin-bottom: 0;
}

#disclaimer .closeButton
{
  margin-top: 24px;
  margin-bottom: 0px;
}

#disclaimer h1
{
  margin-top: 12px;
  margin-bottom: 12px;
  margin-left: 16px;
  margin-right: 16px;
}

#disclaimer h2
{
  font-size: 14px;
}

#disclaimer .textContainer
{
  height: 400px;
  overflow-y: auto;
}

#disclaimer p
{
  text-align: justify;
  color: white;
}

#controlbar>*>*
{
  -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -webkit-transition-duration: 0.3s;

  transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-duration: 0.3s;

  -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -o-transition-duration: 0.3s;

  -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -moz-transition-duration: 0.3s;
}

.iconbutton
{
  width: 26px;
  height: 26px;
  display: inline-block;
  cursor: pointer;
  font-size: 23px;
  width: 22px;
  height: 22px;
  vertical-align: middle;
}

.button
{
  display: flex;
  padding: 16px;
  margin-left:48px;
  margin-right:0px;
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
  text-align: left;
  width: 195px;
  height: 16px;
  border-bottom: 1px solid #5cc6c9;
  border-image: linear-gradient(to right, #5cc6c9 , #3475bb) 100% 1;
  font-size: 14px;
  font-weight: normal;
  align-items: center;
  overflow: hidden;
}

.credits.button
{
  border-bottom: none;
  justify-content: space-between;
  cursor: default;
}

.credits.button > *
{
  height: 12px;
  cursor: pointer;
}

.divider
{
  padding: 16px 0px 16px 24px;
  margin-left:0px;
  margin-right:0px;
  white-space: nowrap;
  vertical-align: middle;
  text-align: left;
  width: 259px;
  border-bottom: 1px solid #ffffff;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.divider>i
{
  font-size: 16px;
}

.nohover
{
  pointer-events: none;
}

.turn45
{
  transform: rotate(45deg);
}

/*.buttongroup>.button:last-child
{
  border-bottom: none;
}

.category>.button:last-child
{
  border-bottom: none;
}*/

.button *
{
  display: inline;
  vertical-align: top;
}

.button> i
{
  font-size: 22px;
}

.subButton
{
  min-width: 8px;
}

.separator
{
  padding: 16px;
  cursor: pointer;
  white-space: nowrap;
  display: block;
  width: 243px;
}

.roomList
{
  overflow: hidden;
}

.tab
{
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 16px;
  padding-bottom: 4px;
  cursor: pointer;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;

  -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -webkit-transition-duration: 0.3s;

  transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-duration: 0.3s;

  -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -o-transition-duration: 0.3s;

  -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
  -moz-transition-duration: 0.3s;

  font-size: 18px;
}

#controlbar
{
  display: none;
}

.planta
{
  display: none;
}

.closePlanClass
{
  display: none;
}

.link360
{
  display: none;
}

.midleAlignContainer
{
  position: relative;
  display: flex;
  height: 100%;
  width:100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#planTab
{
  display: none;
  position: absolute;
  z-index: -5000;
}

#planHilight
{
  margin-bottom:24px;
  background-color: #000;
}

#preloadMessage
{
  position: absolute;
  top: 6vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 12px;
}

#preloadMessage > .closeButton
{
  margin-left: 16px;
  color: #5cc6c9;
  border-bottom: 1px solid #5cc6c9;
}

#preloadMessage > .closeButton:hover
{
  color: #fff;
  border-bottom: 1px solid #fff;
}

@media only screen and (min-width: 600px) and (min-height: 520px)
{
    .smallScreenOnly
    {
      display: none;
    }

    #menuIcon:hover
    {
      text-shadow: rgba(0,0,0,0.3) 0px 1px 3px;
      transform: translate3d(0,-2px,0);
    }

    .divider:hover
    {
      background-color: #3a383b;
    }
    .button:hover
    {
      background-color: #3a383b;
      color: #5cc6c9;
    }
    .midleAlignContainer
    {
      max-width: 720px;
    }

    .link360
    {
      display: block;
      position: absolute;
      width: 40px;
      height: 20px;
      cursor: pointer;

      -webkit-transition-duration: 0.5s;

      transition-duration: 0.5s;

      -o-transition-duration: 0.5s;

      -moz-transition-duration: 0.5s;
      pointer-events: all;
    }

    .link360:hover
    {
      transform: scale3d(1.75,1.75,1.75);
      opacity: 0;
    }

    #planHilight
    {
      margin-bottom: 8px;
    }

    .closePlanClass
    {
      display: inline-block;
    }

    #planTab
    {
      display: inline-block;
      vertical-align: middle;
    }

    #planTab *
    {
      display: inline-block;
      vertical-align: middle;
    }

    .fullscreenInfo
    {
        width:100vw;

        display: flex;

        overflow: hidden;
        text-align: center;
        vertical-align: middle;
        justify-content: space-around;
        align-items: center;

        /*top: 48px;
        height: calc(100vh - 96px);*/

        top: calc(50vh - 200px);
        height: 400px;
    }

    .fullscreenInfo.withMenu
    {
        top: 104px;
        max-height: calc(100vh - 152px);
    }

    #controlbar, #planTab
    {
      height: 56px;
      display: block;
      z-index: 2;
      position: absolute;
      /*left: calc(50% - 360px);*/
      /*top: 48px;*/
      text-align: justify;

      -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -webkit-transition-duration: 0.3s;

      transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      transition-duration: 0.3s;

      -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -o-transition-duration: 0.3s;

      -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -moz-transition-duration: 0.3s;

      display: block;
      cursor: default;
    }

    #controlbar
    {
      top: 48px;
      width: 100%;
      min-width: 600px;
      max-width: 720px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    #controlbar>div
    {
      width: 100%;
      display: flex;
      align-items: center;
    }

    #planTab
    {
      top: 104px;
      /*width: 180px;*/
      z-index: 1;
    }

    .subplanta
    {
      height: 522px;
      left: -20px;

      position: absolute;
    }

    .plantaWrapper
    {
      -webkit-transition: opacity 0.5s;

      transition: opacity 0.5s;

      -o-transition: opacity 0.5s;

      -moz-transition: opacity 0.5s;
    }

    .planta
    {
      width: 100%;
      display: inline-block;
      height: 500px;
      vertical-align: bottom;
    }

    .roomList
    {
      display:none;
    }

    #menubuttons
    {
      width: 100%;
      text-align: center;
    }

    .largeScreenOnly
    {
      display: flex;
      justify-content: center;
      align-items: center;
      position: fixed;
      z-index: 1;
      top: 104px;
      height: calc(100vh - 104px);
      width: 100%;
      align-items: center;
      overflow: hidden;
      pointer-events: none;
    }

    #floorPlan
    {
      max-height: 80%;
      margin-left: 325px;
      margin-right: 50px;
      flex-grow: 1;
      flex-shrink: 1;
      z-index: 1;
      pointer-events: none;
      opacity: 1;
    }

    #floorPlan.hidden
    {
      opacity: 0;
    }

    #floorPlan>*
    {
      pointer-events: fill;
    }

    #floorPlan.hidden>*
    {
      pointer-events: none;
    }

    /*#basePlanSVG>svg>:not(.disabledMap)
    {
      pointer-events: all;
    }*/

    .svgHyperlink
    {
      cursor: pointer;
      fill: #fff;
    }

    .svgHyperlink>g
    {
      transform: scale(1.25,1.25);
      -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -webkit-transition-duration: 0.5s;
      transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      transition-duration: 0.5s;
      -o-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -o-transition-duration: 0.5s;
      -moz-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
      -moz-transition-duration: 0.5s;
    }

    .svgHyperlink>g:hover
    {
      transform: scale(1.75,1.75);
      opacity: 0;
    }

    li
    {
      padding-top: 10px;
      padding-bottom: 10px;
      padding-left: 0;
      padding-right: 0;
      text-align: left;
      margin: 0px;
      max-width: 100%;
    }

    #disclaimer h1
    {
      margin-top: 40px;
    }

    #typologyChooser
    {
      flex-direction: row;
    }

    .typologyOption:hover
    {
      flex-basis: 50%;
      opacity: 1;
    }
}

@media (min-width: 768px) and (min-height: 768px)
{
  #floorPlan
  {
    display: block;
  }
}