
:root {
  --house--size: $house--size;
  --foundation--height: $house-foundation--height;
  --foundation--width: $house-foundation--width;
}

#animazione-casetta {
  background-color: #009fe3;/*ciano*/
  color: #e6e6e6;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr minmax(min-content, 40px);
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0;
  min-height: 100vh;
}

.impostazionibase {
  display: grid;
  grid-template-rows: minmax(300px, 1fr) 10vh;
  grid-gap: 3vh;
  height: 100%;
}
div #artboard {
  align-items: flex-end;
}
div #artboard .figure {
  position: relative;
  height: 100%;
  width: 100vw;
}
div #artboard .figure-container {
  transform: translate(calc(calc(100vw - 50%) - 145px), 30vh);
}
div #artboard .figure .ground__shadow {
  fill: #2c3e50;/*dark blue*/
  opacity: 50%;
}
div #artboard .figure .ground__shadow[shadow="1"] {
  transform: translate(calc(calc(175px - var(--foundation--width)) * -1), 0);
}
.ready div #artboard .figure .ground__shadow[shadow="1"] {
  transition: transform 250ms 50ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .tree[tree="1"] {
  transform: translate(calc(calc(175px - var(--foundation--width)) / 2), 18px);
}
.ready div #artboard .figure .tree[tree="1"] {
  transition: transform 250ms 50ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .tree[tree="2"] {
  transform: translate(calc(178px - calc(calc(175px - var(--foundation--width)) / 1.1)), 53px) scale(0.7);
}
.ready div #artboard .figure .tree[tree="2"] {
  transition: transform 250ms 50ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .tree__fooliage {
  fill: #e67e22;/*orange*/
}
div #artboard .figure .tree__branch, div #artboard .figure .tree__trunk {
  fill: #2c3e50;
}
div #artboard .figure .shrub[shrub="1"] {
  transform: translate(calc(49px + calc(calc(175px - var(--foundation--width)) / 2)), 68px) scale(0.55);
}
.ready div #artboard .figure .shrub[shrub="1"] {
  transition: transform 250ms 75ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .shrub[shrub="2"] {
  transform: translate(calc(130px - calc(calc(175px - var(--foundation--width)) / 2)), 102px) scale(0.3);
}
.ready div #artboard .figure .shrub[shrub="2"] {
  transition: transform 250ms 50ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .shrub[shrub="3"] {
  transform: translate(calc(180px - calc(calc(175px - var(--foundation--width)) / 2)), 83px) scale(0.4);
}
.ready div #artboard .figure .shrub[shrub="3"] {
  transition: transform 250ms 125ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .shrub[shrub="4"] {
  transform: translate(calc(185px - calc(calc(175px - var(--foundation--width)) / 2)), 57px) scale(0.6);
}
.ready div #artboard .figure .shrub[shrub="4"] {
  transition: transform 250ms 100ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .shrub[shrub="5"] {
  transform: translate(calc(235px - calc(calc(175px - var(--foundation--width)) / 2)), 99px) scale(0.3);
}
.ready div #artboard .figure .shrub[shrub="5"] {
  transition: transform 250ms 75ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .shrub__part {
  fill: #e67e22;
}
div #artboard .figure .foundation__pole--front {
  fill: #b3b3b3;
}
.ready div #artboard .figure .foundation__pole--front {
  transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole--back {
  fill: #e6e6e6;
}
.ready div #artboard .figure .foundation__pole--back {
  transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole[pole="1"] {
  transform: translate(calc(75px + calc(calc(175px - var(--foundation--width)) / 2)), 143px) rotate(180deg);
}
.ready div #artboard .figure .foundation__pole[pole="1"] {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole[pole="1"] .foundation__pole--front {
  width: 10px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="1"] .foundation__pole--back {
  width: 3px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="2"] {
  transform: translate(calc(120px + calc(calc(175px - var(--foundation--width)) / 2)), 143px) rotate(180deg);
}
.ready div #artboard .figure .foundation__pole[pole="2"] {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole[pole="2"] .foundation__pole--front {
  width: 10px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="2"] .foundation__pole--back {
  width: 3px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="3"] {
  transform: translate(calc(154px - calc(calc(175px - var(--foundation--width)) / 2)), 143px) rotate(180deg);
}
.ready div #artboard .figure .foundation__pole[pole="3"] {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole[pole="3"] .foundation__pole--front {
  width: 10px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="3"] .foundation__pole--back {
  width: 7px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="4"] {
  transform: translate(calc(206px - calc(calc(175px - var(--foundation--width)) / 2)), 143px) rotate(180deg);
}
.ready div #artboard .figure .foundation__pole[pole="4"] {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__pole[pole="4"] .foundation__pole--front {
  width: 10px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__pole[pole="4"] .foundation__pole--back {
  width: 7px;
  height: var(--foundation--height);
}
div #artboard .figure .foundation__floor {
  fill: #cccccc;
  transform: translate(calc(47px + calc(calc(175px - var(--foundation--width)) / 2)), calc(136px - var(--foundation--height)));
}
.ready div #artboard .figure .foundation__floor {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__floor rect {
  height: 7px;
}
div #artboard .figure .foundation__floor rect:nth-of-type(1) {
  width: var(--foundation--width);
}
.ready div #artboard .figure .foundation__floor rect:nth-of-type(1) {
  transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .foundation__floor rect:nth-of-type(2) {
  fill: #e6e6e6;
  width: 7px;
  transform: translate(calc(53px - calc(calc(175px - var(--foundation--width)) / 2.5)), 0);
}
.ready div #artboard .figure .foundation__floor rect:nth-of-type(2) {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house {
  fill: #b3b3b3;
  transform: translate(calc(71px + calc(calc(64px - var(--house--size)) / 2)), calc(37px - var(--foundation--height)));
}
.ready div #artboard .figure .house {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house__side__topwindow {
  fill: #34495e;
}
div #artboard .figure .house__side__window {
  fill: #34495e;
  height: 40px;
  width: 24px;
  transform: translate(20px, 30px);
}
div #artboard .figure .house__entrance {
  transform: translate(65px, 14px);
}
div #artboard .figure .house__entrance__wall {
  fill: #b3b3b3;
  height: 86px;
  width: var(--house--size);
}
.ready div #artboard .figure .house__entrance__wall {
  transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house__entrance__sliding-door {
  transform: translate(1px, 8px);
}
div #artboard .figure .house__entrance__sliding-door__frame {
  fill: #e6e6e6;
  height: 78px;
  width: 64px;
}
div #artboard .figure .house__entrance__sliding-door__glass {
  fill: #34495e;
  height: 70px;
  width: 16px;
}
div #artboard .figure .house__entrance__sliding-door__glass[glass="1"] {
  transform: translate(4px, 4px);
}
div #artboard .figure .house__entrance__sliding-door__glass[glass="2"] {
  transform: translate(24px, 4px);
}
div #artboard .figure .house__entrance__sliding-door__glass[glass="3"] {
  transform: translate(44px, 4px);
}
div #artboard .figure .house__protruding-part {
  transform: translate(calc(66px - calc(64px - var(--house--size))), 14px);
}
.ready div #artboard .figure .house__protruding-part {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house__protruding-part__side-wall {
  fill: #cccccc;
  height: 86px;
  width: 64px;
}
div #artboard .figure .house__protruding-part__wall {
  fill: #e6e6e6;
  height: 86px;
  width: 32px;
  transform: translate(32px, 0);
}
div #artboard .figure .house__protruding-part__window {
  fill: #34495e;
  height: 40px;
  width: 24px;
  transform: translate(calc(32px + 5px), 16px);
}
div #artboard .figure .house__roof {
  --roof--length: 64px;
  fill: #e6e6e6;
  transform: translate(33px, -12px);
}
div #artboard .figure .house__roof__tiles {
  height: 26px;
  width: calc(var(--roof--length) - calc(64px - var(--house--size)));
  transform: skew(52deg);
}
.ready div #artboard .figure .house__roof__tiles {
  transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house__roof__tower {
  transform: translate(calc(20px - calc(calc(64px - var(--house--size)) / 2.25)), 0);
}
.ready div #artboard .figure .house__roof__tower {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
div #artboard .figure .house__roof__tower__side-wall {
  fill: #b3b3b3;
}
div #artboard .figure .house__roof__tower__front-wall {
  fill: #cccccc;
}
div #artboard .figure .house__roof__tower__roof {
  height: 9px;
  width: 25px;
  transform: translate(12px, -12px) skew(55deg);
}
div #artboard .figure .house__roof__tower__topwindow {
  fill: #34495e;
}
div #artboard .figure .house__roof__tower__window {
  fill: #34495e;
  height: 7px;
  width: 17px;
  transform: translate(30px, 0);
}

div #controls {
  flex-wrap: wrap;
  padding-top: 0.5rem;
}
div #controls #house-size-slider {
  background-color: white;
}
div #controls #house-size-slider .noUi-handle {
  border-color: white;
}
div #controls #foundation-height-slider {
  background-color: white;
}
div #controls #foundation-height-slider .noUi-handle {
  border-color: white;
}
div #controls #foundation-width-slider {
  background-color: white;
}
div #controls #foundation-width-slider .noUi-handle {
  border-color: white;
}
div #controls .controller {
  flex: 1;
  margin: 0 3vw;
  min-width: 70px;
  max-width: 120px;
  border: unset;
  box-shadow: unset;
  height: 2px;
}
div #controls .controller .noUi-handle {
  background-color: white;
  border-radius: 0;
  border-width: 2px;
  box-shadow: unset;
  width: 10px;
  height: 10px;
  right: -8px;
  top: -4px;
}
div #controls .controller .noUi-handle::before, div #controls .controller .noUi-handle::after {
  content: unset;
}

div #artboard, div #controls {
  display: flex;
  justify-content: center;
}
