[data-rooms="6"] {
  --wings-width: 425px;
  --front-width: 150px;
}
[data-rooms="6"] .house-wings {
  width: 425px;
  left: calc(50% - 212.5px);
}
[data-rooms="6"] .house-front {
  width: 150px;
  left: calc(50% - 75px);
}

[data-rooms="5"] {
  --wings-width: 355px;
  --front-width: 150px;
}
[data-rooms="5"] .house-wings {
  width: 355px;
  left: calc(50% - 177.5px);
}
[data-rooms="5"] .house-front {
  width: 150px;
  left: calc(50% - 75px);
}

[data-rooms="4"] {
  --wings-width: 300px;
  --front-width: 125px;
}
[data-rooms="4"] .house-wings {
  width: 300px;
  left: calc(50% - 150px);
}
[data-rooms="4"] .house-front {
  width: 125px;
  left: calc(50% - 62.5px);
}

[data-rooms="3"] {
  --wings-width: 240px;
  --front-width: 150px;
}
[data-rooms="3"] .house-wings {
  width: 240px;
  left: calc(50% - 120px);
}
[data-rooms="3"] .house-front {
  width: 150px;
  left: calc(50% - 75px);
}

.house {
  height: 225px;
  width: 520px;
}

.house-label {
  text-transform: uppercase;
  font-weight: bold;
  padding-left: calc(20px + 1ch);
  font-size: 25px;
  color: #224889;
  margin: 30px 0 5px;
  font-family: Arial Rounded MT Bold, Helvetica Neue, Helvetica, sans serif;
}
.house-label:before, .house-label:after {
  position: absolute;
  text-align: right;
  left: 0;
  top: 0;
  padding: 0 0.5ch;
  will-change: transform;
}
.house-label:before {
  content: attr(data-prev-rooms);
}
.house-label:after {
  content: attr(data-rooms);
}
.house-label[data-rooms="6"][data-rooms-delta^="-"]:before {
  -webkit-animation: prev-label-up-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-up-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="6"][data-rooms-delta^="-"]:after {
  -webkit-animation: label-up-6 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-up-6 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="6"]:not([data-rooms-delta^="-"]):before {
  -webkit-animation: prev-label-down-6 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-down-6 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="6"]:not([data-rooms-delta^="-"]):after {
  -webkit-animation: label-down-6 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-down-6 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
@-webkit-keyframes prev-label-up-6 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-up-6 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes prev-label-down-6 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-down-6 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes label-up-6 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-up-6 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes label-down-6 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-down-6 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.house-label[data-rooms="5"][data-rooms-delta^="-"]:before {
  -webkit-animation: prev-label-up-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-up-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="5"][data-rooms-delta^="-"]:after {
  -webkit-animation: label-up-5 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-up-5 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="5"]:not([data-rooms-delta^="-"]):before {
  -webkit-animation: prev-label-down-5 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-down-5 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="5"]:not([data-rooms-delta^="-"]):after {
  -webkit-animation: label-down-5 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-down-5 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
@-webkit-keyframes prev-label-up-5 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-up-5 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes prev-label-down-5 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-down-5 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes label-up-5 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-up-5 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes label-down-5 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-down-5 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.house-label[data-rooms="4"][data-rooms-delta^="-"]:before {
  -webkit-animation: prev-label-up-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-up-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="4"][data-rooms-delta^="-"]:after {
  -webkit-animation: label-up-4 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-up-4 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="4"]:not([data-rooms-delta^="-"]):before {
  -webkit-animation: prev-label-down-4 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-down-4 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="4"]:not([data-rooms-delta^="-"]):after {
  -webkit-animation: label-down-4 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-down-4 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
@-webkit-keyframes prev-label-up-4 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-up-4 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes prev-label-down-4 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-down-4 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes label-up-4 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-up-4 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes label-down-4 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-down-4 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.house-label[data-rooms="3"][data-rooms-delta^="-"]:before {
  -webkit-animation: prev-label-up-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-up-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="3"][data-rooms-delta^="-"]:after {
  -webkit-animation: label-up-3 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-up-3 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="3"]:not([data-rooms-delta^="-"]):before {
  -webkit-animation: prev-label-down-3 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: prev-label-down-3 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
.house-label[data-rooms="3"]:not([data-rooms-delta^="-"]):after {
  -webkit-animation: label-down-3 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
          animation: label-down-3 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
}
@-webkit-keyframes prev-label-up-3 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-up-3 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes prev-label-down-3 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@keyframes prev-label-down-3 {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%) scale(1.5);
    opacity: 0;
  }
}
@-webkit-keyframes label-up-3 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-up-3 {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes label-down-3 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes label-down-3 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0) scale(1.5);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.house-wings {
  position: absolute;
  bottom: 0;
  height: 125px;
}
.house-wings:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  border: 5px solid #224889;
  box-shadow: inset 0 15px #E1EAFF;
}
.house-wings:after {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  width: 100%;
  background-color: #224889;
  transform: scaleX(1.2);
}
.house-wings > .house-roof {
  height: 65px;
  width: calc(100% + 40px);
  left: -20px;
  border-bottom: 5px solid #224889;
  position: absolute;
  bottom: 100%;
}
.house-wings > .house-roof:before, .house-wings > .house-roof:after {
  position: absolute;
  height: 100%;
  width: 50%;
  background-color: #A6CFFF;
  border: 5px solid #224889;
  border-bottom: none;
}
.house-wings > .house-roof:before {
  left: 0;
  transform-origin: bottom left;
  transform: skewX(-30deg);
  border-right: none;
}
.house-wings > .house-roof:after {
  right: 0;
  transform-origin: bottom right;
  transform: skewX(30deg);
  border-left: none;
}
.house-wings .house-ledge {
  position: absolute;
  bottom: -15px;
  width: 100%;
  height: 15px;
  border: 5px solid #224889;
  background-color: #79AAFF;
}

.house-facade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 15px 0 rgba(123, 163, 255, 0.2);
}
.house-facade:before, .house-facade:after {
  position: absolute;
  height: 100%;
  width: 50%;
  background-color: #fff;
  top: 0;
  border-top: 5px solid #224889;
  box-shadow: inset 0 calc(var(--front-width) / 6) #E1EAFF;
}
.house-facade:before {
  left: 0;
  transform-origin: top left;
  transform: skewY(-40deg);
  border-left: 5px solid #224889;
}
.house-facade:after {
  right: 0;
  transform-origin: top right;
  transform: skewY(40deg);
  border-right: 5px solid #224889;
}

@-webkit-keyframes wing-roof-6-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-5px) rotate(2deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}

@keyframes wing-roof-6-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-5px) rotate(2deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}
@-webkit-keyframes wing-roof-5-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-20px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-10px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@keyframes wing-roof-5-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-20px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-10px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@-webkit-keyframes wing-roof-4-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-15px) rotate(-10deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-10px) rotate(2deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}
@keyframes wing-roof-4-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-15px) rotate(-10deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-10px) rotate(2deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}
@-webkit-keyframes wing-roof-3-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-20px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-10px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@keyframes wing-roof-3-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-20px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-10px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@-webkit-keyframes front-roof-6-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-5px) rotate(5deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-2px) rotate(-1deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@keyframes front-roof-6-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-5px) rotate(5deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-2px) rotate(-1deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@-webkit-keyframes front-roof-5-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-5px) rotate(1deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}
@keyframes front-roof-5-move {
  from {
    transform-origin: bottom left;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom left;
    transform: none;
  }
  51% {
    transform-origin: bottom right;
  }
  75% {
    transform-origin: bottom right;
    transform: translateY(-5px) rotate(1deg);
  }
  to {
    transform-origin: bottom right;
    transform: none;
  }
}
@-webkit-keyframes front-roof-4-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-5px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-2px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@keyframes front-roof-4-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-5px) rotate(10deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-2px) rotate(-2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@-webkit-keyframes front-roof-3-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-5px) rotate(2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@keyframes front-roof-3-move {
  from {
    transform-origin: bottom right;
  }
  25% {
    transform: translateY(-10px) rotate(-5deg);
  }
  50% {
    transform-origin: bottom right;
    transform: none;
  }
  51% {
    transform-origin: bottom left;
  }
  75% {
    transform-origin: bottom left;
    transform: translateY(-5px) rotate(2deg);
  }
  to {
    transform-origin: bottom left;
    transform: none;
  }
}
@-webkit-keyframes house-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.95, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.98, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes house-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.95, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.98, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes house-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes house-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes house-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes house-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes house-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes house-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.2);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.05);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes facade-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.95, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.98, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes facade-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.95, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.98, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes facade-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes facade-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes facade-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes facade-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes facade-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes facade-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: scale(0.9, 1.05);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: scale(0.95, 1.02);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes chimney-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(-5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes chimney-6-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(-5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes chimney-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(-10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes chimney-5-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(-10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes chimney-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(-5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes chimney-4-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(-5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@-webkit-keyframes chimney-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(-10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
@keyframes chimney-3-move {
  from {
    transform-origin: bottom center;
  }
  25% {
    transform: rotate(-10deg) translateY(-15px);
  }
  50% {
    transform-origin: bottom center;
    transform: none;
  }
  51% {
    transform-origin: bottom center;
  }
  75% {
    transform-origin: bottom center;
    transform: rotate(5deg) translateY(-5px);
  }
  to {
    transform-origin: bottom center;
    transform: none;
  }
}
[data-rooms="6"] .house-wings > .house-roof {
  -webkit-animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="6"] .house-front > .house-gable {
  -webkit-animation: front-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: front-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="6"] .house-wings:before,
[data-rooms="6"] .house-left-wing,
[data-rooms="6"] .house-right-wing {
  -webkit-animation: house-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: house-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="6"] .house-facade,
[data-rooms="6"] .house-front .house-window,
[data-rooms="6"] .house-doorway {
  -webkit-animation: facade-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: facade-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="6"] .house-chimney {
  -webkit-animation: chimney-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: chimney-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}

[data-rooms="5"] .house-wings > .house-roof {
  -webkit-animation: wing-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: wing-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="5"] .house-front > .house-gable {
  -webkit-animation: front-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: front-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="5"] .house-wings:before,
[data-rooms="5"] .house-left-wing,
[data-rooms="5"] .house-right-wing {
  -webkit-animation: house-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: house-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="5"] .house-facade,
[data-rooms="5"] .house-front .house-window,
[data-rooms="5"] .house-doorway {
  -webkit-animation: facade-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: facade-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="5"] .house-chimney {
  -webkit-animation: chimney-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: chimney-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}

[data-rooms="4"] .house-wings > .house-roof {
  -webkit-animation: wing-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: wing-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="4"] .house-front > .house-gable {
  -webkit-animation: front-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: front-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="4"] .house-wings:before,
[data-rooms="4"] .house-left-wing,
[data-rooms="4"] .house-right-wing {
  -webkit-animation: house-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: house-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="4"] .house-facade,
[data-rooms="4"] .house-front .house-window,
[data-rooms="4"] .house-doorway {
  -webkit-animation: facade-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: facade-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="4"] .house-chimney {
  -webkit-animation: chimney-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: chimney-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}

[data-rooms="3"] .house-wings > .house-roof {
  -webkit-animation: wing-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: wing-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="3"] .house-front > .house-gable {
  -webkit-animation: front-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: front-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="3"] .house-wings:before,
[data-rooms="3"] .house-left-wing,
[data-rooms="3"] .house-right-wing {
  -webkit-animation: house-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: house-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="3"] .house-facade,
[data-rooms="3"] .house-front .house-window,
[data-rooms="3"] .house-doorway {
  -webkit-animation: facade-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: facade-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}
[data-rooms="3"] .house-chimney {
  -webkit-animation: chimney-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
          animation: chimney-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
}

.house-front {
  position: absolute;
  bottom: 0;
  height: 160px;
}
.house-front > .house-window {
  width: 60px;
  height: 55px;
  position: absolute;
  left: calc(50% - 30px);
  top: -10px;
}
[data-rooms="4"] .house-front > .house-window, [data-rooms="3"] .house-front > .house-window {
  border-bottom-left-radius: 50% 40%;
  border-bottom-right-radius: 50% 40%;
}
[data-rooms="4"] .house-front > .house-window:after, [data-rooms="3"] .house-front > .house-window:after {
  display: none;
}
[data-rooms="4"]:not([data-prev-rooms="3"]) .house-front > .house-window > .house-sparkle, [data-rooms="3"]:not([data-prev-rooms="4"]) .house-front > .house-window > .house-sparkle, [data-rooms="5"]:not([data-prev-rooms="6"]) .house-front > .house-window > .house-sparkle, [data-rooms="6"]:not([data-prev-rooms="5"]) .house-front > .house-window > .house-sparkle {
  display: block;
}
.house-front > .house-window > .house-sparkle {
  display: none;
}
.house-front .house-ledge {
  height: 20px;
  width: 20px;
  position: absolute;
  background: #000;
  left: calc(50% - 10px);
  background-color: #79AAFF;
  border: 5px solid #224889;
  transform: rotate(-45deg) translate(5px, -5px);
}
.house-front .house-ledge:before, .house-front .house-ledge:after {
  position: absolute;
  width: calc(var(--front-width) / 1.25);
  height: calc(100% + 10px);
  top: -5px;
  background-color: #79AAFF;
  border: 5px solid #224889;
}
.house-front .house-ledge:before {
  right: 100%;
  border-right: none;
}
.house-front .house-ledge: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-gable > .house-roof {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scaleY(0.8);
  z-index: 1;
}

.house-chimney {
  width: 35px;
  height: 70px;
  position: absolute;
  background-color: #224889;
  left: 15px;
  bottom: 100%;
  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:not([data-rooms="6"]) .house-wings .house-window:first-child {
  display: none;
}
.house[data-rooms="3"] .house-wings .house-window {
  display: none;
}
.house[data-rooms="6"] .house-wings .house-sparkle, .house[data-rooms="5"]:not([data-prev-rooms="4"]) .house-wings .house-sparkle, .house[data-rooms="4"][data-prev-rooms="3"] .house-wings .house-sparkle, .house[data-rooms="3"] .house-wings .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 #224889;
  top: calc(50% - 45px);
  left: calc(50% - 45px);
  display: none;
}
.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;
}

.house[data-rooms="6"] .house-left-wing .house-sparkle {
  left: calc(25% - 45px);
}
.house[data-rooms="6"] .house-right-wing .house-sparkle {
  left: initial;
  right: calc(25% - 45px);
}

@-webkit-keyframes sparkle-6 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}

@keyframes sparkle-6 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}
@-webkit-keyframes sparkle-dots-6 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
@keyframes sparkle-dots-6 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
.house[data-rooms="6"] .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[data-rooms="6"] .house-sparkle:before, .house[data-rooms="6"] .house-sparkle:after,
.house[data-rooms="6"] .house-sparkle-dots:before,
.house[data-rooms="6"] .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;
}

@-webkit-keyframes sparkle-5 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}

@keyframes sparkle-5 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}
@-webkit-keyframes sparkle-dots-5 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
@keyframes sparkle-dots-5 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
.house[data-rooms="5"] .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[data-rooms="5"] .house-sparkle:before, .house[data-rooms="5"] .house-sparkle:after,
.house[data-rooms="5"] .house-sparkle-dots:before,
.house[data-rooms="5"] .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 {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}

@keyframes sparkle-4 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}
@-webkit-keyframes sparkle-dots-4 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
@keyframes sparkle-dots-4 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
.house[data-rooms="4"] .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[data-rooms="4"] .house-sparkle:before, .house[data-rooms="4"] .house-sparkle:after,
.house[data-rooms="4"] .house-sparkle-dots:before,
.house[data-rooms="4"] .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;
}

@-webkit-keyframes sparkle-3 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}

@keyframes sparkle-3 {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
    border-width: 0;
  }
}
@-webkit-keyframes sparkle-dots-3 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
@keyframes sparkle-dots-3 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
.house[data-rooms="3"] .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[data-rooms="3"] .house-sparkle:before, .house[data-rooms="3"] .house-sparkle:after,
.house[data-rooms="3"] .house-sparkle-dots:before,
.house[data-rooms="3"] .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;
}

@-webkit-keyframes windows-leave {
  to {
    width: 0;
  }
}

@keyframes windows-leave {
  to {
    width: 0;
  }
}
.house-window {
  height: 60px;
  width: 30px;
  border: 5px solid #224889;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  background-image: linear-gradient(to right, #65EBFF, #65EBFF 49.9%, #71FBFF 50%, #71FBFF);
}
.house-window:before {
  height: 100%;
  width: 5px;
  left: calc(50% - 2.5px);
  top: 0;
  background-color: #224889;
}
.house-window:after {
  height: 15px;
  width: calc(100% + 20px);
  left: -10px;
  bottom: 5px;
  border-radius: 15px;
  background-color: #79AAFF;
  border: 5px solid #224889;
  box-shadow: 0 5px #E1EAFF;
}

.house-doorway {
  width: 65px;
  height: 90px;
  position: absolute;
  bottom: 0;
  left: calc(50% - 65px / 2);
}

.house-stairs {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 15px;
  border: 5px solid #224889;
  z-index: 0;
  box-shadow: 5px -5px #E1EAFF;
}
.house-stairs, .house-stairs:before, .house-stairs:after {
  background-color: white;
}
.house-stairs:before, .house-stairs:after {
  box-shadow: 5px -5px #E1EAFF;
  position: absolute;
  height: 15px;
  width: 100%;
  border: 5px solid #224889;
}
.house-stairs:before {
  bottom: 100%;
  transform: scaleX(0.9);
  z-index: 0;
}
.house-stairs:after {
  bottom: calc(200% + 5px);
  transform: scaleX(0.75);
  z-index: 0;
}

.house-door {
  position: absolute;
  background-color: #224889;
  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;
}

*:before, *:after {
  content: "";
  display: block;
}

[type=range] {
  -webkit-appearance: none;
  margin: 20px 0;
  width: 330px;
}
[type=range]:focus {
  outline: 0;
}
[type=range]:focus::-webkit-slider-runnable-track {
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
}
[type=range]:focus::-ms-fill-lower {
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
}
[type=range]:focus::-ms-fill-upper {
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
}
[type=range]::-webkit-slider-runnable-track {
  cursor: pointer;
  height: 25px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 330px;
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
  border: 5px solid #224889;
  border-radius: 25px;
}
[type=range]::-webkit-slider-thumb {
  background: #224889;
  border-radius: 20px;
  cursor: pointer;
  height: 40px;
  width: 40px;
  -webkit-appearance: none;
  margin-top: -12.5px;
}
[type=range]::-moz-range-track {
  cursor: pointer;
  height: 25px;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 330px;
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
  border: 5px solid #224889;
  border-radius: 25px;
}
[type=range]::-moz-range-thumb {
  background: #224889;
  border-radius: 20px;
  cursor: pointer;
  height: 40px;
  width: 40px;
}
[type=range]::-ms-track {
  cursor: pointer;
  height: 25px;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 330px;
  background: transparent;
  border-color: transparent;
  border-width: 20px 0;
  color: transparent;
}
[type=range]::-ms-fill-lower {
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
  border: 5px solid #224889;
  border-radius: 50px;
}
[type=range]::-ms-fill-upper {
  background: linear-gradient(to bottom, #79AAFF, #79AAFF 49.9%, #609aff 50%, #609aff 100%);
  border: 5px solid #224889;
  border-radius: 50px;
}
[type=range]::-ms-thumb {
  background: #224889;
  border-radius: 20px;
  cursor: pointer;
  height: 40px;
  width: 40px;
  margin-top: 0;
}