.grid-square {
    width: 50px;
    height: 50px;
    transition: 0.3s all cubic-bezier(0, 0, 1, 0);
    float: left;
    background-color: #eaeaea;
    margin: 0.1em;

    display: flex;
    justify-content: center;
    align-items: center;
    justify-items: center;
    transition: 0.3s ease-in-out all;
}

.grid-square:nth-child(10n+1) {
    clear: both;
}

#boardGrid {
    margin: 0 auto;
}

.grid-square.active {
    background-color: #888;
}


.skilltree-btn {
    width: 100%;
    height: 5em;
    text-align: center;
    text-decoration: none;
    transition-duration: 0.4s;
    cursor: pointer;
    background-color: white;
    color: black;
    border: 2px solid #e7e7e7;
}

.skilltree-btn:hover {
    border: 2px solid #333;
    background-color: #555;
    color: white;
}

.skilltree-cost {
    border: 2px solid #e7e7e7;
    border-top: none;
    padding: 0.3em;
    color: black;
    text-align: center;
}


.milestone {
    padding: 2em;
    text-align: center;
    position: relative;
}

.milestone.milestone-hidden {
    opacity: 0.2;
}

.milestone > .milestone-req {
    position: absolute;
    background-color: black;
    color: white;
    padding: 0.4em;
    font-size: 1em;
}

.milestone:nth-child(even) > .milestone-req {
    left: 0;
    bottom: 0;
}

.milestone:nth-child(odd) > .milestone-req {
    right: 0;
    bottom: 0;
}

.milestone:nth-child(even) {
    border-bottom: 2px solid black;
    border-left: 2px solid black;
}

.milestone:nth-child(odd) {
    border-bottom: 2px solid black;
    border-right: 2px solid black;
}
