<div class="switch-mode-blk">
        <h5>Day / Night</h5>

        <input class="container_toggle" type="checkbox" id="switch" name="mode">
        <label for="switch"></label>
    </div>
 
<div class="bg">
  <div class="mountains">
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
      <div class="mountain"></div>
    </div>
  <div class="sun"></div>
  <div class="moon"></div>
  <div class="zb-outer parking">
    <div class="zb-flrs">
       <div class="f10 rel">
        <div class="zb-flr last-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          
          <i class="right-br"></i>
        </div>
      </div>
      <div class="f9 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f8 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          <span></span>
         
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
        <div class="f7 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f6 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          
         
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f5 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f4 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
        <div class="f3 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          </div>
      </div>
        <div class="f2 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          
          
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
         </div>
      </div>
        <div class="f1 rel">
          <div class="house-sparkle spark-left">
            <div class="house-sparkle-dots"></div>
          </div>
        <div class="zb-flr c-gls ">
          <i class="left-br"></i>
          
          <i class="right-br"></i>
      </div>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
    </div>
  </div>
  <div class="rel full-ht">
    <div class="zb-outer">
      <div class="zb-flrs">
       <div class="f10 rel">
        <div class="zb-flr last-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
        </div>
      </div>
      <div class="f9 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span class="gls-balcony"></span>
          <span class="gls-balcony"></span>
          <span class="gls-balcony"></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f8 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-open-right"></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
        <div class="f7 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f6 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <span class="gls-balcony"></span>
          <span class="gls-balcony"></span>
          <span class="gls-balcony"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f5 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-corner-left"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
      <div class="f4 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span class="gls-open-left"></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-open-right"></span>
          <span></span>
          <span></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
      </div>
        <div class="f3 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span class="gls-balcony"></span>
          <span></span>
          <span class="op5"></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-a"></span>
          <span class="gls-c"></span>
          <span class="gls-b"></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          </div>
      </div>
        <div class="f2 rel">
        <div class="zb-flr c-gls">
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span class="gls-balcony"></span>
          <span class="gls-balcony">
  </span>
          <span class="gls-balcony"></span>
          <i class="right-br"></i>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
         </div>
      </div>
        <div class="f1 rel">
          <div class="house-sparkle spark-left">
            <div class="house-sparkle-dots"></div>
          </div>
        <div class="zb-flr c-gls ">
          <i class="left-br"></i>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <i class="right-br"></i>
      </div>
          <div class="house-sparkle spark-right">
            <div class="house-sparkle-dots"></div>
          </div>
        </div>
    </div>

      <div class="zb-base">
        <span class="left-base"></span>
        <span></span>
        <div class="zb-entrance"></div>
        <span></span>
        <span class="right-base"></span>

      </div>
      <div class="base-grd">
      </div>
      <div class="zb-grnd"></div>
    </div>
    <!-- end of tower -->

 
  </div>
<!-- contruction -->
  <div id="outerCraneContainer">
  <div class="buildings">
    <div class="building-bg"></div>
    <div></div>
    <div class="1"></div>
    <div class="2"></div>
    <div class="3"></div>
    <div class="4"></div>
  </div>
  <div class="crane craneThree">
    <div class="line lineOne"></div>
    <div class="line lineTwo"></div>
    <div class="line lineThree"></div>
    <div class="stand"></div>
    <div class="weight"></div>
    <div class="cabin"></div>
    <div class="arm"></div>
  </div>
  <div class="crane craneTwo">
    <div class="line lineOne"></div>
    <div class="line lineTwo"></div>
    <div class="line lineThree"></div>
    <div class="stand"></div>
    <div class="weight"></div>
    <div class="cabin"></div>
    <div class="arm"></div>
  </div>
  <div class="crane craneOne">
    <div class="line lineOne"></div>
    <div class="line lineTwo"></div>
    <div class="line lineThree"></div>
    <div class="stand"></div>
    <div class="weight"></div>
    <div class="cabin"></div>
    <div class="arm"></div>
  </div>
</div>
<!--   end of constuction -->
<!-- south plaza  -->
  <div class="house south-plaza" id="house" data-rooms="6">
    <div class="sp-left">
      <div class="spleft-wall"></div>
    </div>
    <div class="sp-right">
      <div class="spright-wall"></div>
    </div>
  <div class="house-wings first-flr" data-flip-key="wings">
    <div class="house-left-wing">
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-right-wing">      
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-roof north-plaza">
      <div class="window-circle one"></div>
      <div class="window-circle two"></div>
      <div class="window-circle three"></div>
      <div class="window-circle four"></div>
      <div class="house-ledge"></div>
      <div class="window-circle five"></div>
      <div class="window-circle six"></div>
      <div class="window-circle seven"></div>
      <div class="window-circle eight"></div>
    </div>
  </div>
  <div class="house-wings first-flr" data-flip-key="wings">
    <div class="house-left-wing">
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-right-wing">      
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>

  </div>
    <div class="house-wings ground-flr" data-flip-key="wings">
    <div class="house-left-wing">
     
   
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-right-wing">      
  
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>

  </div>
    <div class="sp-head">
      <div class="sp-bowl"></div>
      <div class="sp-head-one"></div>
      <div class="sp-head-two"></div>
    </div>
  <div class="house-front" data-flip-key="front">
    <div class="house-facade">
      <div class="pillars"></div>
    </div>
    
    <div class="house-doorway">
      <div class="house-stairs"></div>
      <div class="house-door"></div>
    </div>
    <div class="house-gable">      
      <div class="house-roof">
        
        <div class="southplaza-ledge"></div>
      </div>
    </div>
  </div>
</div>
  
<!--   lake view -->
     
    <div class="house north-plaza" id="house" data-rooms="6">
  <div class="house-wings first-flr" data-flip-key="wings">
    <div class="house-left-wing">
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-right-wing">      
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-roof">
      <div class="house-ledge"></div>
    </div>
  </div>
  <div class="house-wings ground-flr" data-flip-key="wings">
    <div class="house-left-wing">
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-right-wing">      
      <div class="house-window"></div>
      <div class="house-window"></div>
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>

  </div>
  <div class="house-front" data-flip-key="front">
    <div class="house-chimney"></div>
    <div class="house-facade"></div>
    <div class="house-window">
      <div class="house-sparkle">
        <div class="house-sparkle-dots"></div>
      </div>
    </div>
    <div class="house-doorway">
      <div class="house-stairs"></div>
      <div class="house-door"></div>
    </div>
    <div class="house-gable">      
      <div class="house-roof">
        <div class="house-ledge"></div>
      </div>
    </div>
  </div>
</div>


  <!--end of lake view-->
  
  <div class="z-wall">
    <div class="container">
  
</div>
    <div class="gate">
    <div class="left">
      <div class="panel"></div>
    </div>
    <div class="right">
      <div class="panel"></div>
    </div>
  </div>

    <div class="container">
  
</div>



  </div>
  <div class="z-logo">
    <div class="z"><span>Z</span></div>
    <div class="o"><span>O</span></div>
    <div class="h"><span>H</span></div>
    <div class="oo"><span>O</span></div>
  </div>
  <div class="trees">
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
    <div class="tree-gap"></div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
      <div class="tree blown">
        <div class="branch"></div>
        <div class="branch"></div>
        <div class="trunk"></div>
        <div class="shadow"></div>
      </div>
    </div>
</div>
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  .switch-mode-blk{
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 20px;
    z-index: 102;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    h5{
      text-shadow: 0 0 10px #fff;
      margin-bottom: 5px
    }
    input[type=checkbox] {
      height: 0;
      width: 0;
      visibility: hidden;
    }
  
    label {
      cursor: pointer;
      text-indent: -9999px;
      width: 55px;
      height: 30px;
      background:#2196F3;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      -webkit-border-radius: 100px;
      -moz-border-radius: 100px;
      border-radius: 100px;
      position: relative;
    }
  
    label:after {
      content: '';
      background: #fff;
      width: 20px;
      height: 20px;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      position: absolute;
      top: 5px;
      left: 4px;
      -webkit-transition: ease-in-out 200ms;
      -moz-transition: ease-in-out 200ms;
      -ms-transition: ease-in-out 200ms;
      -o-transition: ease-in-out 200ms;
      transition: ease-in-out 200ms;
    }
  
    input:checked + label {
      background: #074a7f;
    }
  
    input:checked + label:after {
      left: calc(100% - 5px);
      -webkit-transform: translateX(-100%);
      -moz-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      -o-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  
    html.transition,
    html.transition *,
    html.transition *:before,
    html.transition *:after {
      -webkit-transition: ease-in-out 200ms !important;
      -moz-transition: ease-in-out 200ms !important;
      -ms-transition: ease-in-out 200ms !important;
      -o-transition: ease-in-out 200ms !important;
      transition: ease-in-out 200ms !important;
      transition-delay: 0!important;
    }
  }
  
  html[data-theme='dark'] {
    .bg{
       background: linear-gradient(180deg, #023480 20%, #797979 60%, #3a3737 62%);
        transition: all ease 2s;
      }
    .zb-outer.parking .zb-flrs .zb-flr{
      background-color: #757575;
background-image: radial-gradient(#414040 0.45px, #757575 0.45px);
background-size: 9px 9px;
      transition: all ease 1s;
    }
    .sun{
      opacity: 0;
      visibility: hidden;
      top: 200px;
      transition: all ease-out 1s;
    }
    .moon{
      opacity: 1;
      bottom: 80vh;
      transition: bottom ease 1s, opacity  ease-out 1s;
    }
    
    
      .zb-outer {
        .zb-flr.last-flr span {
          background: linear-gradient(45deg, #00c9ff, #00657b);
          transition: all ease 1s;
        }
        
        .zb-base{
          transition: all ease 1s;
          .zb-entrance{
         background: #ffe9a6;
            
          }
        }
        .base-grd {
            background: #d4d4d4;
            box-shadow: inset 0 0 10px 1px #333;
          transition: all ease 1s;
        }
        .zb-flr {
          background: #ababab;
          transition: all ease 1s;
          .gls-balcony:before {
            background: #e0e1e4; 
            box-shadow: 5px 0px 0px 0px #e0e1e4;
            transition: all ease 1s;
          }
        }
      }
  }
  body{
     height: 100%;
    overflow: hidden;
    position: relative;
    
    .z-wall{
      display: flex;
      justify-content: space-between;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      transform: scaleY(0.3) translateY(90px);
      transform-origin: bottom;
      z-index:11;
      
      
  
  .gate{
    width: 50%;
    height: 200px;
    position: relative;
    text-align: center;
    padding: 50px 0 0 0;
    text-shadow: 0 0 30px rgba(255,255,255,0.8);
    border-radius: 10px;
    border-bottom: 2px solid #ddd;
  }
  
  
  .gate > .left{
    width: 30%;
    height: 200px;
    background: rgb(175,114,103); /* Old browsers */
  background: #7faac3;
      position: absolute;
      top: 0;
      left: 0;
      border: 10px solid #5a484b;
    box-sizing: border-box;
    transform: translateX(-30%);
    
    &:before{
      content: "";
      position: absolute;
      width: 6px;
      height: 30px;
      background: #000;
      border-radius: 10px;
      left: -12px;
    }
      
    &:after{
      content: "";
      position: absolute;
      width: 6px;
      height: 30px;
      background: #000;
      border-radius: 10px;
      left: -12px;
      bottom: 0px;
    }
    
    .panel{
      content: "";
      width: 70%;
      height: 160px;
      background: rgba(0,0,0,0.1);
      border-top: 2px solid rgba(255,255,255,0.2);
      border-left: 2px solid rgba(255,255,255,0.2);
      border-right: 2px solid rgba(0,0,0,0.1);
      border-bottom: 2px solid rgba(0,0,0,0.1);
      position: absolute;
      top: 8px;
      left: 8px;
    }
  }
  
  .gate > .right{
    width: 30%;
    height: 200px;
  background: #7faac3;
      position: absolute;
      top: 0;
      right: 0;
      border: 10px solid #5a484b;
    box-sizing: border-box;
    z-index: 6;
    
    &:before{
      content: "";
      position: absolute;
      width: 6px;
      height: 30px;
      background: #000;
      border-radius: 10px;
      right: -12px;
    }
      
    &:after{
      content: "";
      position: absolute;
      width: 6px;
      height: 30px;
      background: #000;
      border-radius: 10px;
      right: -12px;
      bottom: 0px;
    }
    
    .panel{
      content: "";
      width: 70%;
      height: 160px;
      background: rgba(0,0,0,0.1);
      position: absolute;
      top: 8px;
      left: 8px;
      border-top: 2px solid rgba(255,255,255,0.2);
      border-left: 2px solid rgba(255,255,255,0.2);
      border-right: 2px solid rgba(0,0,0,0.1);
      border-bottom: 2px solid rgba(0,0,0,0.1);
    }
  }
  
  
      .container{
        width: 100%;
        background-color: #5f5f5f;
opacity: 1;
background-image:  linear-gradient(30deg, #37373a 12%, transparent 12.5%, transparent 87%, #37373a 87.5%, #37373a), linear-gradient(150deg, #37373a 12%, transparent 12.5%, transparent 87%, #37373a 87.5%, #37373a), linear-gradient(30deg, #37373a 12%, transparent 12.5%, transparent 87%, #37373a 87.5%, #37373a), linear-gradient(150deg, #37373a 12%, transparent 12.5%, transparent 87%, #37373a 87.5%, #37373a), linear-gradient(60deg, #37373a77 25%, transparent 25.5%, transparent 75%, #37373a77 75%, #37373a77), linear-gradient(60deg, #37373a77 25%, transparent 25.5%, transparent 75%, #37373a77 75%, #37373a77);
background-size: 34px 60px;
background-position: 0 0, 0 0, 17px 30px, 17px 30px, 0 0, 17px 30px;
      }
    } 
    .z-logo{
      position: absolute;
    left: 30%;
    bottom: 0;
    z-index: 100;
      display: flex;
      
      >div{
        width: 4px;
        height: 80px;
        background: #ccc;
        margin: 0 10px;
        
        >span{
          display: inline-flex;
          align-items:center;
          justify-content: center;
          width: 20px;
          height: 20px;
          border-radius: 2px;
          color: #fff;
          position: absolute;
          left: 50%;
          top: -10px;
          transform: translate(-50%);
        }
        &.z > span{
          background: #e62338;
          transform: translate(-50%) rotate(
-15deg);
          box-shadow: 2px -4px 0px 0px #fd5466;
}
        &.o > span{
          background: #00af4d;
          transform: translate(-50%) rotate(
15deg);
          box-shadow: -1px -3px 0px 0px #0ce56b;
}
         &.h > span{
          background: #0092cd;
          transform: translate(-50%) rotate(
-15deg);
           box-shadow: 2px -4px 0px 0px #23a0d3;
}
         &.oo > span{
          background: #feb400;
         box-shadow: 1px -3px 0px 0px #ffc431;
}
        }
      }
    
    /* TREES */
    .trees{
      position: absolute;
      width: 100%;
      height: auto;
      left: 0;
      bottom: 0;
      z-index: 101;
      display: flex;
      justify-content: space-between;
      
      .tree-gap{
        width: 30%;
      }
      
    }
.tree {

  background: darken(#408B0C, 5%);
  box-shadow: inset 1em 0 0 #408B0C;
  border-radius: 1em;
  height: 5em;
  width: 2em;

  &:nth-child(4n) {
    background: darken(#de8949, 5%);
    box-shadow: inset 1em 0 0 #de8949;
  }

  .branch {
    border: .2em solid #563D3D;
    width: .8em;
    height: .8em;
    transform: rotate(45deg);
    border-top: 0;
    border-left: 0;

    position: relative;

    &:before, &:after {
      content: '';
      height: 0.175em;
      width: 0.175em;
      background-color: #563D3D;
      border-radius: 50%;
      position: absolute;
    }

    &:after {
      right: -0.178125em;
      top: -0.11875em;
    }

    &:before {
      left: -0.11875em;
      bottom: -0.178125em;
    }
  }

  .branch:nth-child(1) {
    position: absolute;
    top: 35%;
    left: 25%;
  }

  .branch:nth-child(2) {
    position: absolute;
    top: 60%;
    left: 25%;
  }

  .shadow {
    height: .5em;
    width: 1.5em;
    background: rgba(198, 198, 198, 0.5);
    border-radius: 50%;
    position: absolute;
    bottom: -2.2em;
    left: 10%;
    z-index: -1;

    transition: width 1s;

    &.blown {
      width: 2.5em;
    }
  }
  
  .trunk {
    background-color: #563D3D;
    height: 5.5em;
    width: .25em;
    border-radius: 0.5em;
    position: absolute;
    bottom: -2em;
    left: 42%;
  }

  transition: transform 1s;
  &.blown {
    transition: transform 1s;
    transform: scale(.7) skewX(-5deg) !important;
    .shadow {
      width: 2.5em;
    }
  }
    }
  
  
  .bg{
      width: 100%;
    padding: 0 5%;
    
    background: linear-gradient(180deg, #548fe8 20%, #ffffff 60%, #dcb05c 62%);
    transition: all ease 2s;
    
  }
    /* MOUNTAINS */
 $green : #408b0c;
 $grey: #2e7d32;
.mountains {
position: absolute;
  width: 100%;
  height: 10em;
  overflow: hidden;
  left: 50%;
  transform: translateX(-50%);
  bottom: 36vh;
      display: flex;
    justify-content: space-between;

  .mountain {
    // position: absolute;
    bottom: -4em;

    height: 10em;
    width: 10em;
    transform: rotate(45deg);

    border-top-left-radius: 14%;
    border-top-right-radius: 80% 20%;
    border-bottom-left-radius: 20% 80%;

    // wow, firefox order matters
    background: linear-gradient(45deg, darken($grey, 5%) 50%, transparent 50%) no-repeat,
    linear-gradient(-45deg, transparent 50%, darken($grey, 5%) 50%) 0 90px no-repeat,
    linear-gradient(135deg, $grey 57.5%, transparent 57.5%) no-repeat;
    // background-size: 57.5%, 57.5%, 100%;

    // larger mountains
    &:nth-child(1), &:nth-child(5), &:nth-child(7), &:nth-child(10), &:nth-child(11) {
      transform: rotate(45deg) scale(1.2);
    }

    // green mountains
    &:nth-child(3), &:nth-child(7), &:nth-child(9) {
      background: linear-gradient(45deg, darken($green, 5%) 50%, transparent 50%) no-repeat,
      linear-gradient(-45deg, transparent 50%, darken($green, 5%) 50%) 0 90px no-repeat,
      linear-gradient(135deg, $green 57.5%, transparent 57.5%) no-repeat;
      // background-size: 57.5%, 57.5%, 100%;
    }

  }
}
    
    .moon{
          position: absolute;
      bottom: 50vh;
      right: 10vw;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: #fff;
    box-shadow: 2px 0px 15px 3px #fff;
      opacity: 0;
      transition: bottom ease 1s, opacity ease-out 1s; 
      
      &:before{
        width: 40px;
    height: 40px;
    border-radius: 100%;
    background: #fff;
    box-shadow: 1px 1px 100px 40px #fff;
        position: absolute;
        left: 0;
        top: 0;
      }
      &:after{
          width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #adacaa;
    box-shadow: 0px 0px 8px 8px #adacaa;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
      }
    }
    .sun{
          position: absolute;
      top: 10vh;
      left: 10vw;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: #f57c00;
    box-shadow: 2px 0px 15px 3px #ff9800;
      opacity: 1;
      transition: top ease 1s, opacity 1s ease-out;
      
      &:before{
        width: 40px;
    height: 40px;
    border-radius: 100%;
    background: #ff9800;
    box-shadow: 1px 1px 100px 40px #ff9800;
        position: absolute;
        left: 0;
        top: 0;
      }
      &:after{
          width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #ffc107;
    box-shadow: 0px 0px 8px 8px #ffc107;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
      }
    }
    .zb-outer.parking{
      position: absolute;
    left: -400px;
    z-index: 11;
      .zb-flrs{
        .zb-flr{
          background-color: #9e9e9e;
background-image: radial-gradient(#414040 0.45px, #9e9e9e 0.45px);
background-size: 9px 9px;
          border: 1px solid #524f4f;
              height: 40px;
              border-top: 1px dashed #007004;
    box-shadow: inset 6px 3px 10px #4d664e, inset 2px 2px 8px 0px #8bc34a;
          transition: background ease 2s;
        }
      }
    }   
// lunch hall constrcution
#outerCraneContainer {
    position: absolute;
    left: 63%;
    width: 53%;
    height: 100%;
    bottom: 5%;
    // overflow: hidden;
    display: flex;
    justify-content: center;
    transform: translateX(-50%);
  z-index:1;
   
}
.buildings {
  height: 84.9673202614379px;
  width: 100%;
  left: 0;
  
  .building-bg{
    background-color: #616161;
    background-image: radial-gradient(#9e9e9e 0.5px, #616161 0.5px);
    background-size: 10px 10px;
    width: 85% !important;
    height: 80% !important;
    left: 0;
    z-index: -1;
    border-radius: 20% 100% 0 0;
  }
}
.buildings div {
  height: inherit;
  width: 42.48366013071895px;
      background: linear-gradient(
135deg, #4f4f5155 25%, transparent 25%) -4px 0/ 8px 8px, linear-gradient(
225deg, #4f4f51 25%, transparent 25%) -4px 0/ 8px 8px, linear-gradient(
315deg, #4f4f5155 25%, transparent 25%) 0px 0/ 8px 8px, linear-gradient(
45deg, #4f4f51 25%, #8e9eab 25%) 0px 0/ 8px 8px;
  z-index: -1;
  position: absolute;
  bottom: 10%;
}
.buildings div:after {
  content: '';
  width: 80%;
  height: 60%;
  left: 10%;
  bottom: 30%;
  // background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAFElEQVQImWP4////fwYYIJKDEwAAfPsP8eFXG40AAAAASUVORK5CYII=") repeat;
  position: absolute;
}
.buildings div:nth-of-type(1) {
  width: 42.48366013071895px;
  height: 21.241830065359476px;
  right: 37%;
  bottom: 0;
}
.buildings div:nth-of-type(1):after {
  bottom: 11%;
}
.buildings div:nth-of-type(2) {
  width: 48.552754435107374px;
  height: 28.322440087145967px;
  right: 30%;
  bottom: 35%;
  transform: rotate(180deg);
}
.buildings div:nth-of-type(2):after {
  width: 60%;
  left: 11%;
}
.buildings div:nth-of-type(3) {
  width: 24.276377217553687px;
  height: 37.76325344952796px;
  left: 40%;
  bottom: 35%;
}
.buildings div:nth-of-type(3):after {
  bottom: 0;
  width: 20%;
  height: 85%;
  left: 70%;
}
.buildings div:nth-of-type(4) {
  width: 84.9673202614379px;
  height: 21.241830065359476px;
  left: 24%;
  bottom: 20%;
}
.buildings div:nth-of-type(4):after {
  background: none;
}
.buildings div:nth-of-type(5) {
  width: 61.794414735591204px;
  height: 67.97385620915033px;
  left: 47%;
  bottom: 10%;
}
.buildings div:nth-of-type(5):after {
  bottom: 0;
  width: 40%;
  height: 85%;
  left: 20%;
}
.crane,
.buildings {
  position: absolute;
  bottom: 0;
}
.crane div {
  border-radius: 2px;
  position: absolute;
}
.crane .line {
  border: none;
  background: #795548;
  outline: 1px solid transparent;
  z-index: 0;
}
.crane .lineOne {
  width: 60%;
  left: 11%;
  top: 0;
}
.crane .lineTwo {
  width: 19%;
  right: 8%;
  top: 0;
}
.crane .line.lineThree {
  height: 30%;
  top: 22%;
  left: 9%;
}
.crane .line.lineThree:after {
      content: "";
    position: absolute;
    height: 1.5em;
    width: 9000%;
    display: block;
    bottom: 0;
    left: -4500%;
    border: solid 2px #757575;
    background-color: #8e9eab;
    
}
.craneTwo .line.lineThree:after {
  height: 0.1em;
}
.craneThree .line.lineThree:after {
  height: 0.5em;
}
.stand {
  height: 100%;
  width: 5%;
  right: 25%;
  z-index: 1;
  background: linear-gradient(to top, #ff6347, #f29b8b);
}
.craneTwo .stand {
  background: linear-gradient(to top, #ff6347, #f19483);
}
.craneThree .stand {
  background: linear-gradient(to top, #ff6347, #f08c7b);
}
.weight {
  height: 20%;
  width: 8%;
  right: 4%;
  top: 12%;
  z-index: 2;
  background: #607d8b;
  border: 3px solid #546e7a!important;
    border-right: 1px solid #455a64!important;
}
.craneTwo .weight {
  background: #607d8b;
}
.craneThree .weight {
  background: #607d8b;
}
.cabin {
  height: 9%;
  width: 12%;
  right: 24%;
  top: 20%;
  z-index: 2;
      background: #d9aca5;
    border: 1px solid #b17272!important;

}
.cabin:after {
  content: '';
  position: absolute;
  height: 10%;
  width: 100%;
  background: #fff;
  display: block;
  top: 60%;
  left: 0;
}

.arm {
  height: 7%;
  width: 100%;
  top: 15%;
  z-index: 3;
  background: #f88f7c;
}
.craneTwo .arm {
  background: #f88773;
}
.craneThree .arm {
  background: #f77f6b;
}
.crane div.arm {
  border-top-left-radius: 10px;
}
.brick {
  height: 6%;
  width: 9%;
  bottom: 0;
  left: 40%;
  background: #ff7359;
}
.brickTwo {
  left: 48%;
}
.brickThree {
  bottom: 5.5%;
  left: 44%;
}
.craneOne {
  width: 260px;
  height: 169.9346405228758px;
  left: -10%;
   transform: scaleX(-1);
}
.craneOne div {
  border: solid 1px #ff6347;
}
.craneOne .line {
  height: 1px;
}
.craneOne .lineThree {
  width: 1px;
}
.craneTwo {
  width: 200px;
  height: 130.718954248366px;
  transform: scaleX(-1);
  left: 40%;
  z-index: -1;
}
.craneTwo div {
  border: solid 1px #ff6347;
}
.craneTwo .line {
  height: 0.769230769230769px;
}
.craneTwo .lineThree {
  width: 0.714285714285714px;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.craneTwo .cabin,
.craneTwo .arm,
.craneTwo .picker,
.craneTwo .weight {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.craneThree {
  width: 130px;
  height: 84.9673202614379px;
  left: 60%;
  z-index: -1;
}
.craneThree div {
  border: solid 1px #ff6347;
}
.craneThree .line {
  height: 0.5px;
}
.craneThree .lineThree {
  width: 0.5px;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.craneThree .brickThree {
  bottom: 5%;
}
.craneThree .brickOne,
.craneThree .brickTwo {
  bottom: 0;
}
.craneThree .cabin,
.craneThree .arm,
.craneThree .picker,
.craneThree .weight {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.crane {
  perspective: 600px;
}
.lineOne {
  transform-origin: right 0;
  -webkit-animation: moveLineOne 12s infinite alternate;
          animation: moveLineOne 12s infinite alternate;
}
.lineTwo {
  transform-origin: top left;
  -webkit-animation: moveLineTwo 12s infinite alternate;
          animation: moveLineTwo 12s infinite alternate;
}
.lineThree {
  transform-origin: right center;
  -webkit-animation: moveLineThree 12s ease-in-out infinite alternate;
          animation: moveLineThree 12s ease-in-out infinite alternate;
}
.cabin,
.arm,
.picker {
  transform-origin: 80% center;
  -webkit-animation: moveCrane 12s infinite alternate;
          animation: moveCrane 12s infinite alternate;
}
.weight {
  transform-origin: 0 center;
  -webkit-animation: moveWeight 12s infinite alternate;
          animation: moveWeight 12s infinite alternate;
}
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
html,
body {
  height: 100%;
}
* {
  box-sizing: border-box;
}
body {
  background: linear-gradient(to top, #ffa191, #ffc247);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
}
#content {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: Ubuntu;
  color: #fff;
}
#content h1,
#content p {
  margin: -8rem 0 0 1rem;
}
#content p {
  margin-top: 0.5rem;
}
#license {
  position: absolute;
  bottom: 0;
  right: 5px;
}
@-webkit-keyframes moveCrane {
  0%, 20% {
    transform: rotateY(0);
  }
  70%, 100% {
    transform: rotateY(45deg);
  }
}
@keyframes moveCrane {
  0%, 20% {
    transform: rotateY(0);
  }
  70%, 100% {
    transform: rotateY(45deg);
  }
}
@-webkit-keyframes moveWeight {
  0%, 20% {
    transform: rotateY(0) translateX(0);
  }
  70%, 100% {
    transform: rotateY(45deg) translateX(-50%);
  }
}
@keyframes moveWeight {
  0%, 20% {
    transform: rotateY(0) translateX(0);
  }
  70%, 100% {
    transform: rotateY(45deg) translateX(-50%);
  }
}
@-webkit-keyframes moveLineOne {
  0%, 20% {
    transform: rotateY(0) rotateZ(-10deg);
  }
  70%, 100% {
    transform: rotateY(45deg) rotateZ(-10deg);
  }
}
@keyframes moveLineOne {
  0%, 20% {
    transform: rotateY(0) rotateZ(-10deg);
  }
  70%, 100% {
    transform: rotateY(45deg) rotateZ(-10deg);
  }
}
@-webkit-keyframes moveLineTwo {
  0%, 20% {
    transform: rotateY(0) rotateZ(29deg);
  }
  70%, 100% {
    transform: rotateY(15deg) rotateZ(29deg);
  }
}
@keyframes moveLineTwo {
  0%, 20% {
    transform: rotateY(0) rotateZ(29deg);
  }
  70%, 100% {
    transform: rotateY(15deg) rotateZ(29deg);
  }
}
@-webkit-keyframes moveLineThree {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(2500%, -18%);
  }
  60% {
    transform: translate(11000%, -25%);
  }
  70% {
    transform: translate(9100%, -25%);
    height: 30%;
  }
  90%, 100% {
    transform: translate(9100%, -15%);
    height: 80%;
  }
}
@keyframes moveLineThree {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(2500%, -18%);
  }
  60% {
    transform: translate(11000%, -25%);
  }
  70% {
    transform: translate(9100%, -25%);
    height: 30%;
  }
  90%, 100% {
    transform: translate(9100%, -15%);
    height: 80%;
  }
}
// end of lunch hall construction
  .full-ht{
    height: 100vh;
    width: 100%;
    z-index:2;
    transform: scale(.6);
    transition: transform 3s ease;
    transform-origin: bottom center;
    
  }
  .rel{
    position: relative;
  }
  .f-ac-jc{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .f{
    display: flex;
  }
  .if{
    display: inline-flex;
  }
  .f-ac{
    align-items: center;
  }
  .f-jc{
    justify-content: center;
  }
  .c-gls{
    -webkit-clip-path: polygon(0 0, 100% 0, 99% 100%, 1% 100%);
  clip-path: polygon(0 0, 100% 0, 99% 100%, 1% 100%);
  }
  
  .zb-outer{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    max-width: 750px;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 20%;
    bottom: 0;
    
    
    .base-grd{
        position: relative;
        width: 100%;
        min-height: 40px;
        background: #4a4848;
        border-radius: 50%;
        top: -20px;
        left: 50%;
        z-index: -2;
        box-shadow: inset 0 0 10px 1px #fbfbfb;
        border: 5px solid #333;
        perspective: 400px;
        transform: rotateX(20deg) translateX(-50%);
      transform-origin: center;
        animation: base-grd .4s 1 cubic-bezier(0.37, -0.1, 0.81, 2.95);
      
      &:before{
        content: "";
        position: absolute;
        left: -5px;
        right: 0;
        top: -10px;
        width: 100%;
        height: 40px;
        border: 5px solid #ccc;
        border-radius: 50%;
        }
       &:after{
        content: "";
        position: absolute;
        left: -5px;
        right: 0;
        top: -7px;
        width: 100%;
        height: 40px;
        border: 5px solid #333;
        border-radius: 50%;
        }
      }
    @keyframes base-grd{
      from{
        width: 0;
      }
      to{
        width: 100%;
      }
    }
    
    .zb-base{
      position: relative;
      display: flex;
      align-self: center;
      justify-content: space-between;
      width: calc(100% - 340px);
      
      clip-path: polygon(0 0, 100% 0, 99% 100%, 1% 100%);
      
      >span{
        display: inline-block;
        width: 30px;
        height: 65px;
        background: #b3b3b3;
        box-shadow: inset 2px -1px 14px 4px #333;
        border: 2px solid #484848;
        border-radius: 2px;
        animation: pillar 0.4s 1 cubic-bezier(0.37, -0.1, 0.81, 2.95);
        animation-delay: .5s;
      }
      @keyframes pillar{
        from{
          height: 0px;
        }
        to{
          height: 65px;
        }
      }
      .zb-entrance{
        position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 220px;
    height: 100%;
    background: #8d8d8d;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    z-index: -1;
      }
      .left-base{
        perspective: 400px;
        transform: rotateZ(-3deg);
        height: 70px;
        margin-top: -5px;
        position: relative;
        z-index: -1;
      }
      .right-base{
        perspective: 400px;
        transform: rotateZ(3deg);
        height: 70px;
        margin-top: -5px;
        position: relative;
        z-index: -1;
      }
    }
    .zb-flrs{
      display: flex;
      align-items: center;
      flex-direction: column;
      animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
      animation-delay: 1s; 
    }
    .f1{
        width: calc(100% - 400px);
      }
      .f2{
        width: calc(100% - 380px);
      }
      .f3{
        width: calc(100% - 360px);
      }
      .f4{
        width: calc(100% - 340px);
      }
      .f5{
        width: calc(100% - 320px);
      }
      .f6{
        width: calc(100% - 300px);
      }
      .f7{
        width: calc(100% - 280px);
      }
      .f8{
        width: calc(100% - 260px);
      }
      .f9{
        width: calc(100% - 240px);
      }
      .f10{
        width: calc(100% - 220px);
      }
    
    .zb-flr{
      display: flex;
      justify-content: space-between;
      position: relative;
      background: #403f3f;
      padding: 2px 1px 1px;
      perspective: 400px ;
      transform: rotateX(-8deg);
      margin-bottom: -1px;
  
      &.last-flr{
        height: 80px;
        
        span{
          height: 100%;
          background: linear-gradient(45deg, #00a2ef, #63c7ef);
        }
  
      }
      
      
      
      .op5{
        opacity: .5;
      }
      .gls-a{
        position: relative;
        &:before{
              content: "";
              position: absolute;
              width: 100%;
              height: 25%;
              background: #0462b3;
              bottom: 0;
        }
      }
      .gls-b{
        position: relative;
        &:before{
              content: "";
              position: absolute;
              width: 100%;
              height: 50%;
              background: #0462b3;
              bottom: 0;
        }
      }
      .gls-c{
        position: relative;
        &:before{
              content: "";
              position: absolute;
              width: 100%;
              height: 75%;
              background: #0462b3;
              bottom: 0;
        }
      }
      .left-br{
        width: 1px;
        height: 100%;
        display: inline-block;
        background: #333;
        transform: rotate(-4deg);
        position: absolute;
        left: 1px;
        top: 0;
        z-index: 1;
      }
      .right-br{
        width: 1px;
        height: 100%;
        display: inline-block;
        background: #333;
        transform: rotate(4deg);
        position: absolute;
        right: 1px;
        top: 0;
        z-index: 1;
      }
      >span{
        display: inline-block;
        width: 20px;
        height: 50px;
        background: #00a2ef;
        position: relative;
        transition: all ease 1s;
       animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
        
        &:after{
            content: "";
            position: absolute;
            left: 50%;
            top: 0;
            width: 1px;
            height: 100%;
            background: rgba(68, 67, 67, 0.26);
        }
      }
      .gls-open-right{
        perspective: 400px;
      transform: rotateX(45deg) translate(12px, -13px);
      border: 1px solid #545454;
        z-index: 1;
      }
      .gls-open-left{
        perspective: 400px;
      transform: rotateX(45deg) translate(-10px, -13px);
      border: 1px solid #545454;
        z-index: 1;
      }
      
      .gls-balcony{
          perspective: 400px;
          transform: rotateX(-2deg) translate(0, 25px);
          z-index: 1;
        
        &:before{
          content: "";
          width: 100%;
          height: 25px;
          position: absolute;
          top: -50%;
          left: 0;
          background: #868990;
          box-shadow: 5px 0px 0px 0px #868990;
          transition: all ease 1s;
        }
        &:after{
          background: none;
        }
        i{
          
        }
      }
    }
    
    
  }
  
  //sparks
  
    .house-sparkle {
      position: absolute;
      height: 60px;
      width: 60px;
      border-radius: 50%;
      border: 5px solid #224889;
      top: 0;
      display: none;
      z-index: 1;
      transform: translate(-50%,-50%);
      
      &.spark-left{
        left:0;
        right: unset;
      }
      &.spark-right{
        right:0;
        left: unset;
      }
    }
    .house-sparkle:before {
      top: 0;
      left: 0;
      background-color: #65EBFF;
    }
    .house-sparkle:after {
      bottom: 0;
      right: 0;
      background-color: #224889;
    }
    
    .house-sparkle:before, .house-sparkle:after,
    .house-sparkle-dots:before,
    .house-sparkle-dots:after {
      position: absolute;
      height: 10px;
      width: 10px;
      border-radius: 50%;
    }
    
    .house-sparkle-dots {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .house-sparkle-dots:before {
      bottom: -15px;
      right: 40px;
      background-color: #A6CFFF;
    }
    
  
    
    @keyframes sparkle-6 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
      }
      to {
        -webkit-transform: scale(2);
                transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
  
    @keyframes sparkle-dots-6 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
      }
      to {
        -webkit-transform: scale(0);
                transform: scale(0);
      }
    }
    .house-sparkle {
      -webkit-animation: sparkle-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
    .house-sparkle:before, .house-sparkle:after,
    .house-sparkle-dots:before,
    .house-sparkle-dots:after {
      -webkit-animation: sparkle-dots-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-dots-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
    
  
    @keyframes sparkle-5 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
      }
      to {
        -webkit-transform: scale(2);
                transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
  
    @keyframes sparkle-dots-5 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
      }
      to {
        -webkit-transform: scale(0);
                transform: scale(0);
      }
    }
     .house-sparkle {
      -webkit-animation: sparkle-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
     .house-sparkle:before,  .house-sparkle:after,
     .house-sparkle-dots:before,
     .house-sparkle-dots:after {
      -webkit-animation: sparkle-dots-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-dots-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
    
    @-webkit-keyframes sparkle-4 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
      }
      to {
        -webkit-transform: scale(2);
                transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
    
    @keyframes sparkle-4 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
      }
      to {
        -webkit-transform: scale(2);
                transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
    @-webkit-keyframes sparkle-dots-4 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
      }
      to {
        -webkit-transform: scale(0);
                transform: scale(0);
      }
    }
    @keyframes sparkle-dots-4 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
      }
      to {
        -webkit-transform: scale(0);
                transform: scale(0);
      }
    }
   .house-sparkle {
      -webkit-animation: sparkle-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
     .house-sparkle:before, .house-sparkle:after,
     .house-sparkle-dots:before,
     .house-sparkle-dots:after {
      -webkit-animation: sparkle-dots-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-dots-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
  
    @keyframes sparkle-3 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
      }
      to {
        -webkit-transform: scale(2);
                transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
  
    @keyframes sparkle-dots-3 {
      from {
        -webkit-transform: scale(1);
                transform: scale(1);
      }
      to {
        -webkit-transform: scale(0);
                transform: scale(0);
      }
    }
     .house-sparkle {
      -webkit-animation: sparkle-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
     .house-sparkle:before,  .house-sparkle:after,
     .house-sparkle-dots:before,
     .house-sparkle-dots:after {
      -webkit-animation: sparkle-dots-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
              animation: sparkle-dots-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
    }
    
  
  
  
  // animations
   @keyframes wing-roof-6-move {
      0% {
       display: none!important; 
      }
     50%{
       display: none!important;
     }
    51%{
       display: flex;
       -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
     }
      65% {
        -webkit-transform: translateY(-30px) rotate(-5deg);
                transform: translateY(-30px) rotate(-5deg);
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
      76% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      85% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: translateY(-10px) rotate(2deg);
                transform: translateY(-10px) rotate(2deg);
      }
      100% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes wing-roof-5-move {
      from {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      25% {
        -webkit-transform: translateY(-20px) rotate(10deg);
                transform: translateY(-20px) rotate(10deg);
      }
      50% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: translateY(-10px) rotate(-2deg);
                transform: translateY(-10px) rotate(-2deg);
      }
      to {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes wing-roof-4-move {
      from {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      25% {
        -webkit-transform: translateY(-15px) rotate(-10deg);
                transform: translateY(-15px) rotate(-10deg);
      }
      50% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      75% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: translateY(-10px) rotate(2deg);
                transform: translateY(-10px) rotate(2deg);
      }
      to {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes wing-roof-3-move {
      from {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      25% {
        -webkit-transform: translateY(-20px) rotate(10deg);
                transform: translateY(-20px) rotate(10deg);
      }
      50% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: translateY(-10px) rotate(-2deg);
                transform: translateY(-10px) rotate(-2deg);
      }
      to {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes front-roof-6-move {
      from {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      25% {
        -webkit-transform: translateY(-5px) rotate(5deg);
                transform: translateY(-5px) rotate(5deg);
      }
      50% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: translateY(-2px) rotate(-1deg);
                transform: translateY(-2px) rotate(-1deg);
      }
      to {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes front-roof-5-move {
      from {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      25% {
        -webkit-transform: translateY(-10px) rotate(-5deg);
                transform: translateY(-10px) rotate(-5deg);
      }
      50% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      75% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: translateY(-5px) rotate(1deg);
                transform: translateY(-5px) rotate(1deg);
      }
      to {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes front-roof-4-move {
      from {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      25% {
        -webkit-transform: translateY(-5px) rotate(10deg);
                transform: translateY(-5px) rotate(10deg);
      }
      50% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: translateY(-2px) rotate(-2deg);
                transform: translateY(-2px) rotate(-2deg);
      }
      to {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes front-roof-3-move {
      from {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
      }
      25% {
        -webkit-transform: translateY(-10px) rotate(-5deg);
                transform: translateY(-10px) rotate(-5deg);
      }
      50% {
        -webkit-transform-origin: bottom right;
                transform-origin: bottom right;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
      }
      75% {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: translateY(-5px) rotate(2deg);
                transform: translateY(-5px) rotate(2deg);
      }
      to {
        -webkit-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes house-6-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.95, 1.05);
                transform: scale(0.95, 1.05);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.98, 1.02);
                transform: scale(0.98, 1.02);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes house-5-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.2);
                transform: scale(0.9, 1.2);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.05);
                transform: scale(0.95, 1.05);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes house-4-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.2);
                transform: scale(0.9, 1.2);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.05);
                transform: scale(0.95, 1.05);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes house-3-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.2);
                transform: scale(0.9, 1.2);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.05);
                transform: scale(0.95, 1.05);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes facade-6-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.95, 1.05);
                transform: scale(0.95, 1.05);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.98, 1.02);
                transform: scale(0.98, 1.02);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes facade-5-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.05);
                transform: scale(0.9, 1.05);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.02);
                transform: scale(0.95, 1.02);
      } 
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes facade-4-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.05);
                transform: scale(0.9, 1.05);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.02);
                transform: scale(0.95, 1.02);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes facade-3-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: scale(0.9, 1.05);
                transform: scale(0.9, 1.05);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: scale(0.95, 1.02);
                transform: scale(0.95, 1.02);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes chimney-6-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: rotate(10deg) translateY(-15px);
                transform: rotate(10deg) translateY(-15px);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: rotate(-5deg) translateY(-5px);
                transform: rotate(-5deg) translateY(-5px);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes chimney-5-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: rotate(-10deg) translateY(-15px);
                transform: rotate(-10deg) translateY(-15px);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: rotate(5deg) translateY(-5px);
                transform: rotate(5deg) translateY(-5px);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes chimney-4-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: rotate(10deg) translateY(-15px);
                transform: rotate(10deg) translateY(-15px);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: rotate(-5deg) translateY(-5px);
                transform: rotate(-5deg) translateY(-5px);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
    
    @keyframes chimney-3-move {
      from {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      25% {
        -webkit-transform: rotate(-10deg) translateY(-15px);
                transform: rotate(-10deg) translateY(-15px);
      }
      50% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
      51% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
      }
      75% {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: rotate(5deg) translateY(-5px);
                transform: rotate(5deg) translateY(-5px);
      }
      to {
        -webkit-transform-origin: bottom center;
                transform-origin: bottom center;
        -webkit-transform: none;
                transform: none;
      }
    }
  
  // lake view
  $color-primary: #4d5158;
  $color-roof: #58697d;
  $color-ledge: #808286;
  $color-window-left: #68a5d0;
  $color-window-right: #3ca2ea;
  $color-window: linear-gradient(to right, $color-window-left, $color-window-left 49.9%, $color-window-right 50%, $color-window-right);
  $color-shadow: #E1EAFF;
  $duration: 500ms;
  $delay: 70ms;
  $easing: cubic-bezier(.1, 0, .3, 1);
  
  $parts: (
    6: (
      wings: 425px,
      front: 150px,
    ),
    5: (
      wings: 355px,
      front: 150px,
    ),
    4: (
      wings: 300px,
      front: 125px,
    ),
    3: (
      wings: 240px,
      front: 150px,
    ),
  );
  
  @each $rooms, $dimensions in $parts {
    [data-rooms="#{$rooms}"] {
      @each $part, $width in $dimensions {
        .house-#{$part} {
          width: $width;
          left: calc(50% - #{$width / 2});
        }
        #{--#{$part}-width}: $width;
      }
    }
  }
  
  .house {
    height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    bottom: 90px;
    transform: scale(.5);
    transform-origin: bottom center;
    
    &.north-plaza{
      width: 40%;
      right: 3%;

      .house-wings{
        width: 100%;
        left: 0;
      }
    }
    &.south-plaza{
      left: -2%;
      right: unset;
      width: 70%;
      
      .house-roof:before {

    transform: skewX(
19deg);
}
      .house-door{
            width: 70%;
    height: 75px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10px;
      }
      .sp-left{
        width: 110px;
    height: 450px;
    position: absolute;
    left: -100px;
    overflow: hidden;
        
        &:before{
              position: absolute;
    top: 0;
    right: 27px;
    width: 55px;
    height: 70px;
    border: 5px solid #4d5158;
    transform: skewX(38deg);
    background: #ddd;
    z-index: 1;
        }
        &:after{
    width: 52px;
    height: 380px;
    border: 5px solid #4d5158;
    right: 3px;
    bottom: 2px;
          z-index:1;
    position: absolute;
    background: #ccc;
        }
        .spleft-wall {
    width: 55px;
    height: 450px;
     background-color: #7d888c;
opacity: 1;
background-image:  linear-gradient(#9e9e9e 2px, transparent 2px), linear-gradient(90deg, #9e9e9e 2px, transparent 2px), linear-gradient(#9e9e9e 1px, transparent 1px), linear-gradient(90deg, #9e9e9e 1px, #7d888c 1px);
background-size: 50px 50px, 50px 50px, 10px 10px, 10px 10px;
background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
    border-left: 5px solid #333;
}
      }
       .sp-right{
        width: 110px;
    height: 450px;
    position: absolute;
    right: -100px;
    overflow: hidden;
        
        &:before{
              position: absolute;
    top: 0;
    right: 27px;
    width: 55px;
    height: 70px;
    border: 5px solid #4d5158;
    transform: skewX(-38deg);
    background: #ddd;
    z-index: 1;
        }
        &:after{
    width: 52px;
    height: 380px;
    border: 5px solid #4d5158;
    left: 3px;
    bottom: 2px;
          z-index:1;
    position: absolute;
    background: #ccc;
        }
        .spright-wall {
    width: 55px;
    height: 450px;
     background-color: #7d888c;
opacity: 1;
background-image:  linear-gradient(#9e9e9e 2px, transparent 2px), linear-gradient(90deg, #9e9e9e 2px, transparent 2px), linear-gradient(#9e9e9e 1px, transparent 1px), linear-gradient(90deg, #9e9e9e 1px, #7d888c 1px);
background-size: 50px 50px, 50px 50px, 10px 10px, 10px 10px;
background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
    border-right: 5px solid #333;
              left: 55px;
}
      }
      .sp-head{
       position: absolute;
    height: 140px;
    width: 190px;
    left: calc(50% - 100px);
    top: -28px;
        .sp-bowl{
          position: absolute;
    width: 90%;
    height: 110px;
    top: -110px;
    left: 50%;
    transform: translateX(-50%);
    background: #607d8b;
          z-index: -1;
    background-image: radial-gradient( ellipse farthest-corner at 10px 10px , #5a5a5a, #5a5a5a 50%, #607d8b 50%);
    background-size: 10px 10px;
    border-top-left-radius: 100%;
    border-top-right-radius: 100%;
    border: 5px solid #37474f;
        }
        .sp-head-one{
          border-top: 10px solid #4D5158;
    border-radius: 10px;
          width: 100%;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(255,255,255,0);
    background-size: 20px 20px;
    background-image: repeating-linear-gradient(to right, #fafafa, #4d5158 10px, #607d8b 10px, #607d8b);

        }
        .sp-head-two{
          border-top: 10px solid #4D5158;
    border-radius: 10px;
              width: 90%;
    height: 40%;
    left: 50%;
    bottom: 195px;
    transform: translateX(-50%);
    background-color: rgba(255,255,255,0);
    background-size: 14px 14px;
    background-image: repeating-linear-gradient(to right, #9e9e9e, #4d5158 7px, #333 7px, #333);


        }
      }
      .ground-flr{
        .house-left-wing,.house-right-wing{
              background-color: #4c646f;
    background-image: linear-gradient(to right, #9e9e9e, #9e9e9e 6px, #4c5b62 10px, #4c646f );
    background-size: 20px 100%;
        border-top: 5px dotted #4d5158;
    border-bottom: 10px dotted #4d5158;

        }
      }
      
      .house-stairs{
        width: 285px;
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
      }
      .house-wings{
        width: 100%;
        // min-width: 700px;
        // max-width: 800px;
        left: 0;
        
        .house-left-wing{
          transform:rotateY(20deg) translateZ(-30px);
        }
        .house-right-wing{
          transform:rotateY(-20deg) translateZ(-30px);
        }
      }
      .house-front{
       height: 150px; 
        width: 200px;
    left: calc(50% - 100px);
      }
    
      .house-gable{
        position: absolute;
        top: -20px;
      }
      .house-facade:before {

          transform: skewY(
      -20deg
          );
      }
      .house-facade:after {

          transform: skewY(
      20deg
          );
      }
    }
  }
  
   .house-wings.first-flr{
     &:after{
       display: none;
     }
    }
   
  .house-label {
    text-transform: uppercase;
    font-weight: bold;
    padding-left: calc(20px + 1ch);
    font-size: 25px;
    color: $color-primary;
    margin: 30px 0 5px;
    font-family: Arial Rounded MT Bold, Helvetica Neue, Helvetica, sans serif;
    
    &:before, &:after {
      position: absolute;
      text-align: right;
      left: 0;
      top: 0;
      padding: 0 .5ch;
      will-change: transform;
    }
    
    &:before {
      content: attr(data-prev-rooms);
    }
    
    &:after {
      content: attr(data-rooms);
    }
    
   
    
    @for $i from 6 through 3 {
      &[data-rooms="#{$i}"][data-rooms-delta^="-"] {
        &:before {
          animation: prev-label-up-#{$i} $duration $easing both;
        }
        &:after {
          animation: label-up-#{$i} $duration * 2 $easing both;
        }
      }
  
      &[data-rooms="#{$i}"]:not([data-rooms-delta^="-"]) {
        &:before {
          animation: prev-label-down-#{$i} $duration $delay $easing both;
        }
        &:after {
          animation: label-down-#{$i} $duration * 2 $delay $easing both;
        }
      }
  
      @keyframes prev-label-up-#{$i} {
        from {
          transform: translateY(0);
          opacity: 1;
        }
        to {
          transform: translateY(-100%) scale(1.5);
          opacity: 0;
        }
      }
      @keyframes prev-label-down-#{$i} {
        from {
          transform: translateY(0);
          opacity: 1;
        }
        to {
          transform: translateY(100%) scale(1.5);
          opacity: 0;
        }
      }
  
      @keyframes label-up-#{$i} {
        from {
          transform: translateY(100%);
          opacity: 0;
        }
        50% {
          transform: translateY(0) scale(1.5);
          opacity: 1;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }
      @keyframes label-down-#{$i} {
        from {
          transform: translateY(-100%);
          opacity: 0;
        }
        50% {
          transform: translateY(0) scale(1.5);
          opacity: 1;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }
    }
  }
  
  
  
  .house-wings {
    height: 125px;

    
    &:before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #8e9eab; 
      border: 5px solid $color-primary;
      box-shadow: inset 0 15px $color-shadow;
    }
    
    &:after {
      position: absolute;
      bottom: 0;
      left: 0;
      height: 5px;
      width: 100%;
      background-color: $color-primary;
      transform: scaleX(1.2)
    }
    
    > .house-roof {
      height: 65px;
      width: calc(100% + 40px);
      left: -20px;
      border-bottom: 5px solid $color-primary;
      position: absolute;
      bottom: 100%;
      
      &.north-plaza{
         width: 100%;
      left: 0;
        &:after {
        transform: skewX(-30deg);
      }
      }
      
      &:before, &:after {
        position: absolute;
        height: 100%;
        width: 50%;
        background-color: $color-roof;
        border: 5px solid $color-primary;
        border-bottom: none;
      }
      
      &:before {
        left: 0;
        transform-origin: bottom left;
        transform: skewX(-30deg);
        border-right: none;
      }
      &:after {
        right: 0;
        transform-origin: bottom right;
        transform: skewX(30deg);
        border-left: none;
      }
      &.north-plaza{
        &:after {
        width: 100%;
          border-top: 5px solid #4d5158;
      }
      }
      
      .window-circle {
        position: absolute;
        bottom: -50px;
        width: 60px;
        height: 60px;
        background: #8e9eab;
        border: 7px solid #e1eaff;
        border-bottom: none;
        border-right: 0;
        z-index: 1;
        transform: rotate(45deg);
        
        &.one{
          left: 2%;
        }
        &.two{
          left: 12%;
        }
        &.three{
          left: 23%;
        }
        &.four{
          left: 34%;
        }
        &.five{
            right: 2%;
        }
        &.six{
            right: 12%;
        }
        &.seven{
            right: 23%;
        }
        &.eight{
            right: 34%;
        }

        &:before{
             position: absolute;
             display: inline-block;
             left: 20%;
             bottom: 20%;
             width: 30px;
             height: 30px;
             background: linear-gradient(to right, #56ccf2, #2f80ed); 
             border-radius: 50%;
             border: 3px solid #333;
        }
      }
    }
    
    .house-ledge {
      position: absolute;
      bottom: -15px;
      width: 100%;
      height: 15px;
      border: 5px solid $color-primary;
      background-color: $color-ledge;
    }
  }
  
  .house-facade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 15px 0 rgba(darken($color-shadow, 20%), 0.2);
    
    &:before, &:after {
      position: absolute;
      height: 100%;
      width: 50%;
      background-color: #fff;
      top: 0;
      border-top: 5px solid $color-primary;
      box-shadow: inset 0 calc(var(--front-width) / 6) $color-shadow;
    }
    
    &:before {
      left: 0;
      transform-origin: top left;
      transform: skewY(-40deg);
      border-left: 5px solid $color-primary;
    }
    
    &:after {
      right: 0;
      transform-origin: top right;
      transform: skewY(40deg);
      border-right: 5px solid $color-primary;
    }
  }
  
  $wing-roof-moves: (
    6: (
      (origin: bottom left, transform: translateY(-10px) rotate(-5deg)),
      (origin: bottom right, transform: translateY(-5px) rotate(2deg)),
    ),
    5: (
      (origin: bottom right, transform: translateY(-20px) rotate(10deg)),
      (origin: bottom left, transform: translateY(-10px) rotate(-2deg)),
    ),
    4: (
      (origin: bottom left, transform: translateY(-15px) rotate(-10deg)),
      (origin: bottom right, transform: translateY(-10px) rotate(2deg)),
    ),
    3: (
      (origin: bottom right, transform: translateY(-20px) rotate(10deg)),
      (origin: bottom left, transform: translateY(-10px) rotate(-2deg)),
    ),
  );
  
  $front-roof-moves: (
    6: (
      (origin: bottom right, transform: translateY(-5px) rotate(5deg)),
      (origin: bottom left, transform: translateY(-2px) rotate(-1deg)),
    ),
    5: (
      (origin: bottom left, transform: translateY(-10px) rotate(-5deg)),
      (origin: bottom right, transform: translateY(-5px) rotate(1deg)),
    ),
    4: (
      (origin: bottom right, transform: translateY(-5px) rotate(10deg)),
      (origin: bottom left, transform: translateY(-2px) rotate(-2deg)),
    ),
    3: (
      (origin: bottom right, transform: translateY(-10px) rotate(-5deg)),
      (origin: bottom left, transform: translateY(-5px) rotate(2deg)),
    ),
  );
  
  $house-moves: (
    6: (
      (transform: scale(.95, 1.05)),
      (transform: scale(.98, 1.02)),
    ),
    5: (
      (transform: scale(.9, 1.2)),
      (transform: scale(.95, 1.05)),
    ),
    4: (
      (transform: scale(.9, 1.2)),
      (transform: scale(.95, 1.05)),
    ),
    3: (
      (transform: scale(.9, 1.2)),
      (transform: scale(.95, 1.05)),
    ),
  );
  
  $facade-moves: (
    6: (
      (transform: scale(.95, 1.05)),
      (transform: scale(.98, 1.02)),
    ),
    5: (
      (transform: scale(.9, 1.05)),
      (transform: scale(.95, 1.02)),
    ),
    4: (
      (transform: scale(.9, 1.05)),
      (transform: scale(.95, 1.02)),
    ),
    3: (
      (transform: scale(.9, 1.05)),
      (transform: scale(.95, 1.02)),
    ),
  );
  
  $chimney-moves: (
    6: (
      (transform: rotate(10deg) translateY(-15px)),
      (transform: rotate(-5deg) translateY(-5px)),
    ),
    5: (
      (transform: rotate(-10deg) translateY(-15px)),
      (transform: rotate(5deg) translateY(-5px)),
    ),
    4: (
      (transform: rotate(10deg) translateY(-15px)),
      (transform: rotate(-5deg) translateY(-5px)),
    ),
    3: (
      (transform: rotate(-10deg) translateY(-15px)),
      (transform: rotate(5deg) translateY(-5px)),
    ),
  );
      
  $move-parts: (
    wing-roof: $wing-roof-moves,
    front-roof: $front-roof-moves,
    house: $house-moves,
    facade: $facade-moves,
    chimney: $chimney-moves,
  );
  
  @function either($a, $b) {
    @return if($a, $a, $b);
  }
  
  @each $part, $move-config in $move-parts {
    @each $rooms, $moves in $move-config {
      $move-1: nth($moves, 1);
      $move-2: nth($moves, 2);
    @keyframes #{$part}-#{$rooms}-move {
        from {
          transform-origin: either(map-get($move-1, origin), bottom center);
        }
        25% {
          transform: map-get($move-1, transform);
        }
        50% {
          transform-origin: either(map-get($move-1, origin), bottom center);
          transform: none;
        }
        51% {
          transform-origin: either(map-get($move-2, origin), bottom center);
        }
        75% {
          transform-origin: either(map-get($move-2, origin), bottom center);
          transform: map-get($move-2, transform);
        }
        to {
          transform-origin: either(map-get($move-2, origin), bottom center);
          transform: none;
        }
      }
    }
  }
  
  @for $i from 6 through 3 {
    [data-rooms="#{$i}"] {
      .house-wings > .house-roof {
        animation: wing-roof-#{$i}-move $duration $delay $easing;
      }
      .house-front > .house-gable {
        animation: front-roof-#{$i}-move $duration $delay $easing;
      }
      .house-wings:before,
      .house-left-wing,
      .house-right-wing {
        animation: house-#{$i}-move $duration $delay $easing;
      }
      .house-facade,
      .house-front .house-window,
      .house-doorway {
        animation: facade-#{$i}-move $duration $delay $easing;
      }
      .house-chimney {
        animation: chimney-#{$i}-move $duration $delay $easing;
      }
    }
  }
  
  
  .house-front {
    position: absolute;
    bottom: 0;
    height: 260px;
    
    > .house-window {
      width: 60px;
      height: 75px;
      position: absolute;
      left: calc(50% - 30px);
      top: -10px;
      
      [data-rooms="4"] &,
      [data-rooms="3"] & {
        border-bottom-left-radius: 50% 40%;
        border-bottom-right-radius: 50% 40%;
        
        &:after {
          display: none;
        }
      }
      
      [data-rooms="4"]:not([data-prev-rooms="3"]) &,
      [data-rooms="3"]:not([data-prev-rooms="4"]) &,
      [data-rooms="5"]:not([data-prev-rooms="6"]) &,
      [data-rooms="6"]:not([data-prev-rooms="5"]) &,
      {
        > .house-sparkle {
          display: block;
        }
      }
      
      > .house-sparkle {
        display: none;
      }
    }
    
    .house-ledge {
      height: 20px;
      width: 20px;
      position: absolute;
      background: #000;
      left: calc(50% - 10px);
      background-color: $color-ledge;
      border: 5px solid $color-primary;
      transform: rotate(-45deg) translate(5px, -5px);
      
      &:before, &:after {
        position: absolute;
        width: calc(var(--front-width) / 1.25);
        height: calc(100% + 10px);
        top: -5px;
        background-color: $color-ledge;
        border: 5px solid $color-primary;
      }
      
      &:before {
        right: 100%;
        border-right: none;
      }
      &:after {
        left: 0;
        transform-origin: left bottom;
        transform: rotate(90deg) translate(-5px, 5px);
        border-left: none;
      }
      
    }
  }
  
  .house-gable {
    position: absolute;
    bottom: calc(100% - 5px);
    left: 0;
    width: 100%;
    height: 70px;
    
    > .house-roof {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: scaleY(0.9);
      z-index: 1;
    }
    .southplaza-ledge{
         background-color: #b2b2bd;
    background-size: 10px 100%;
    width: calc(100% + 30px);
    height: 65px;
    border-radius: 10%/100px 100px 0 0;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    border: 5px solid #4d5158;
    }
  }
  
  .house-chimney {
    width: 100px;
    height: 80px;
    position: absolute;
    background-color: $color-primary;
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
    z-index: 0;
  }
  
  .house-left-wing,
  .house-right-wing {
    position: absolute;
    height: 100%;
    width: calc(50% - var(--front-width) / 2);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  
  .house-wings {
    .house:not([data-rooms="6"]) & {
      .house-window:first-child {
        display: none;
      }
    }
    
    .house[data-rooms="3"] & {
      .house-window {
        display: none;
      }
    }
    
    .house[data-rooms="6"] &,
    .house[data-rooms="5"]:not([data-prev-rooms="4"]) &,
    .house[data-rooms="4"][data-prev-rooms="3"] &,
    .house[data-rooms="3"] & {
      .house-sparkle {
        display: block;
      }
    }
  }
  
  .house-left-wing {
    left: 0;
  }
  
  .house-right-wing {
    right: 0;
    flex-flow: row-reverse;
  }
  
  .house-sparkle {
    position: absolute;
    height: 90px;
    width: 90px;
    border-radius: 50%;
    border: 5px solid $color-primary;
    top: calc(50% - 45px);
    left: calc(50% - 45px);
    display: none;
    // animation-iteration-count: infinite !important;
    
    &:before {
      top: 0;
      left: 0;
      background-color: $color-window-left;
    }
    
    &:after {
      bottom: 0;
      right: 0;
      background-color: $color-primary;
    }
  }
  
  .house-sparkle,
  .house-sparkle-dots {
    &:before, &:after {
      position: absolute;
      height: 10px;
      width: 10px;
      border-radius: 50%;
    }
  }
  
  .house-sparkle-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    &:before {
      bottom: -15px;
      right: 40px;
      background-color: $color-roof;
    }
  }
    
  .house[data-rooms="6"] {
    .house-left-wing .house-sparkle {
      left: calc(25% - 45px);
    }
    .house-right-wing .house-sparkle {
      left: initial;
      right: calc(25% - 45px);
    }
  }
  
  @each $rooms in 6 5 4 3 {
    @keyframes sparkle-#{$rooms} {
      from {
        transform: scale(1);
        opacity: 1;
      }
      to {
        transform: scale(2);
        opacity: 0;
        border-width: 0;
      }
    }
    
    @keyframes sparkle-dots-#{$rooms} {
      from {
        transform: scale(1);
      }
      to {
        transform: scale(0);
      }
    }
    
    .house[data-rooms="#{$rooms}"] {
      .house-sparkle {
        animation: sparkle-#{$rooms} $duration $easing both;
      }
      
      .house-sparkle,
      .house-sparkle-dots {
        &:before, &:after {
          animation: sparkle-dots-#{$rooms} $duration $easing both;
        }
      }
    }
  }
  
  @keyframes windows-leave {
    to {
      width: 0;
    }
  }
  
  .house-window {
    height: 60px;
    width: 30px;
    border: 4px solid $color-primary;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    background-image: $color-window;
    
    &:before {
      height: 100%;
      width: 5px;
      left: calc(50% - 2.5px);
      top: 0;
      background-color: $color-primary;
    }
    
    &:after {
        height: 10px;
        width: calc(100% + 20px);
        left: -10px;
        bottom: 5px;
        border-radius: 3px;
      background-color: $color-ledge;
      border: 3px solid $color-primary;
      box-shadow: 0 5px $color-shadow;
    }
  }
  
  .house-doorway {
    width: 95px;
    height: 90px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
  }
  
  .house-stairs {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 15px;
    border: 5px solid $color-primary;
    z-index: 0;
    box-shadow: 5px -5px $color-shadow;
    
    &, &:before, &:after {
      background-color: white;
    }
    
    &:before, &:after {
      box-shadow: 5px -5px $color-shadow;
      position: absolute;
      height: 15px;
      width: 100%;
      border: 5px solid $color-primary;
    }
    
    &:before {
      bottom: 100%;
      transform: scaleX(.9);
      z-index: 0;
    }
    
    &:after {
      bottom: calc(200% + 5px);
      transform: scaleX(.75);
      z-index: 0;
    }
  }
  
  .house-door {
    position: absolute;
    background-color: $color-primary;
    width: 50%;
    height: 55px;
    left: 25%;
    bottom: 35px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
  }
  
  
  body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #EFEFEF;
  }
  
  body, html {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  
  *, *:before, *:after {
    box-sizing: border-box;
    position: relative; // don't @ me
  }
  
  *:before, *:after {
    content: '';
    display: block;
  }
  
  
  
  
  // Styling input ranges is painful
  
  // Styling Cross-Browser Compatible Range Inputs with Sass
  // Github: https://github.com/darlanrod/input-range-sass
  // Author: Darlan Rod https://github.com/darlanrod
  // Version 1.4.1
  // MIT License
  
  $track-color: linear-gradient(to bottom, $color-ledge, $color-ledge 49.9%, darken($color-ledge, 5%) 50%, darken($color-ledge, 5%) 100%) !default;
  $thumb-color: $color-primary !default;
  
  $thumb-radius: 20px !default;
  $thumb-height: 40px !default;
  $thumb-width: 40px !default;
  
  $track-width: 330px !default;
  $track-height: 25px !default;
  $track-shadow-color: rgba(0, 0, 0, .2) !default;
  $track-border-width: 5px !default;
  $track-border-color: $color-primary !default;
  
  $track-radius: 25px !default;
  
  @mixin track {
    cursor: pointer;
    height: $track-height;
    transition: all .2s ease;
    width: $track-width;
  }
  
  @mixin thumb {
    background: $thumb-color;
    border-radius: $thumb-radius;
    cursor: pointer;
    height: $thumb-height;
    width: $thumb-width;
  }
  
  [type='range'] {
    -webkit-appearance: none;
    margin: $thumb-height / 2 0;
    width: $track-width;
  
    &:focus {
      outline: 0;
  
      &::-webkit-slider-runnable-track {
        background: $track-color;
      }
  
      &::-ms-fill-lower {
        background: $track-color;
      }
  
      &::-ms-fill-upper {
        background: $track-color;
      }
    }
  
    &::-webkit-slider-runnable-track {
      @include track;
      background: $track-color;
      border: $track-border-width solid $track-border-color;
      border-radius: $track-radius;
    }
  
    &::-webkit-slider-thumb {
      @include thumb;
      -webkit-appearance: none;
      margin-top: ((-$track-border-width * 2 + $track-height) / 2) - ($thumb-height / 2);
    }
  
    &::-moz-range-track {
      @include track;
      background: $track-color;
      border: $track-border-width solid $track-border-color;
      border-radius: $track-radius;
    }
  
    &::-moz-range-thumb {
      @include thumb;
    }
  
    &::-ms-track {
      @include track;
      background: transparent;
      border-color: transparent;
      border-width: ($thumb-height / 2) 0;
      color: transparent;
    }
  
    &::-ms-fill-lower {
      background: $track-color;
      border: $track-border-width solid $track-border-color;
      border-radius: $track-radius * 2;
    }
  
    &::-ms-fill-upper {
      background: $track-color;
      border: $track-border-width solid $track-border-color;
      border-radius: $track-radius * 2;
    }
  
    &::-ms-thumb {
      @include thumb;
      margin-top: 0;
    }
  }
}
  
  
View Compiled
 var checkbox = document.querySelector('input[name=mode]');

        checkbox.addEventListener('change', function() {
            if(this.checked) {
                trans()
                document.documentElement.setAttribute('data-theme', 'dark')
  
            } else {
                trans()
                document.documentElement.setAttribute('data-theme', 'light')
            }
        })

        let trans = () => {
            document.documentElement.classList.add('transition');
            window.setTimeout(() => {
                document.documentElement.classList.remove('transition');
            }, 1000)
        }

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://unpkg.com/flipping@0.5.3/dist/flipping.animationFrame.js
  2. https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.5.3/rxjs.umd.min.js