:root {
    --page-width: 927px;
    --page-height: 924px;
    --park-height: 34px;
    --street-height: 94px;
}

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

#app {
    position: relative;
    width: var(--page-width);
    height: var(--page-height);
}

#app > * {
    position: absolute;
}

.board-base {
    width: var(--page-width);
    height: var(--page-height);
}

.lot {
    display: inline-block;
    padding: 0;
    margin: 0;
    width: 55px;
    height: var(--street-height);
    position: relative;
}

.fence {
    display: inline-block;
    padding: 0;
    margin: 0;
    width: 7px;
    height: var(--street-height);
    background: transparent;
}

.fence.toggled {
    background: black;
}

.pool {
    width: 46px;
    height: 25px;
    margin: 4px auto auto;
    border-radius: 50%;
    background: transparent;
}

.pool.toggled {
    background: darkblue;
}

.house {
    width: 46px;
    height: 54px;
    position: absolute;
    top: 32px;
    left: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    line-height: 1;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
}

.house:first-child {
    top: 22px
}

.street-container {
    font-size: 0;
    width: fit-content;
    position: absolute;
    height: var(--street-height);
}

.highlight-box {
    position: absolute;
    border: 5px dashed orangered;
    border-radius: 8px;
    pointer-events: none;
    z-index: 9999;
}

.interact-menu {
    position: absolute;
    display: inline-flex;
}

.menu-icon {
    width: 40px;
    height: 40px;
    margin: 5px;
}


.score-box {
    font-size: 17px;
    font-weight: bolder;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.score-parks {
    width: 50px;
    height: 50px;
}

/* Absolute positioning */
#scores-parks {
    width: 50px;
    height: 139px;
    bottom: 114px;
    left: 121px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

#markers-estate-1 {
    bottom: 193px;
    left: 409px;
}

#markers-estate-2 {
    height: 49px;
    bottom: 180px;
    left: 452px;
}

#markers-estate-3 {
    height: 75px;
    bottom: 170px;
    left: 491px;
}

#markers-estate-4 {
    height: 100px;
    bottom: 159px;
    left: 532px;
}

#markers-estate-5 {
    height: 100px;
    bottom: 173px;
    left: 575px;
}

#markers-estate-6 {
    height: 102px;
    bottom: 186px;
    left: 615px;
}

.total-score {
    width: 38px;
    height: 37px;
    bottom: 51px;
}

.estate-counter {
    width: 36px;
    height: 37px;
    bottom: 106px;
}

/* Markers */
.marker-container {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px;
}

.marker-container.park {
    height: var(--park-height);
    padding: 3px 34px 3px 4px;
}

.marker-container.pools {
    width: 51px;
    height: 151px;
    bottom: 108px;
    left: 200px;
    flex-wrap: wrap;
}

.marker-container.construction {
    bottom: 133px;
    left: 285px;
    height: 144px;
    width: 76px;
}

.marker-container.construction > .marker {
    position: absolute;
}

.marker-container.estates {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.marker-container.bises {
    width: 55px;
    height: 189px;
    bottom: 103px;
    left: 690px;
    flex-wrap: wrap;
}

.marker-container.skips {
    flex-direction: column;
    bottom: 136px;
    right: 105px;
    height: 99px;
}

.marker-container.skips > .marker {
    width: 26px;
    height: 26px;
}

.marker {
    border-radius: 50%;
    width: 22px;
    height: 22px;
    background: transparent;
}

.marker.toggled {
    background: black;
}

.marker.toggled.pool {
    background-color: darkblue;
}

.incrementing-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bolder;
    font-size: 35px;
    border: 2px solid black;
    border-radius: 50%;
    background: aliceblue;
}