.tree {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tree-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.tree-node:not(:first-child)::after { 
    content: "";
    width: 2px;
    height: 20px;
    background-color: black;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.tree-row {
    display: flex;
    /* justify-content: center; */
    flex-wrap: wrap;
    margin-top: 20px;
}

.tree-member {
    text-align: center;
    margin: 0 !important;
    width: calc(100%/2);/* number of columns */
}

.tree-node .tree-member {
    text-align: center;
    margin: 0 !important;
    width: 100%;/* number of columns */
}

.tree-member img {
    width: 120px;
    height: 120px;
    /* border-radius: 50%; */
    border: 2px solid black;
    object-fit: contain;
}

.tree-row::before {
    content: "";
    position: absolute;
    top: -10px;
    width: 80%;
    height: 2px;
    background-color: black;
}

.tree-member p:first-of-type {
    margin-bottom: 0 !important;
}