.structure { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 50px; min-width: 1120px; padding: 20px 0; }
.structure .node { -webkit-box-align: center; -ms-flex-align: center; align-items: center; border-radius: 3px; -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 10px 16px; width: 160px; }
.structure .node_root { background-color: #009ac7; border-radius: 100%; -webkit-box-shadow: 0 0 0 8px rgba(0 154 199 / 20%); box-shadow: 0 0 0 8px rgba(0 154 199 / 20%); color: #fff; height: 100px; width: 100px; }
.structure .node_alpha { background-color: #747ab4; color: #fff; }
.structure .node_beta { background-color: #519cc2; color: #fff; }
.structure .node_gamma { background-color: #4fa196; color: #fff; }
.tree, .tree ul { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; }
.tree li { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; list-style-type: none; position: relative; padding: 80px 10px 0; text-align: center; }
.tree li::before, .tree li::after { border-top: 2px solid #ddd; -webkit-box-sizing: border-box; box-sizing: border-box; content: ''; height: 80px; position: absolute; right: 50%; top: 0; width: 50%; }
.tree li::after { border-left: 2px solid #ddd; left: 50%; right: auto; }
.tree li:only-child { padding-top: 0; }
.tree li:only-child::after, .tree li:only-child::before { display: none; }
.tree li:first-child::before, .tree li:last-child::after { border: 0 none; }
.tree li:last-child::before { border-right: 2px solid #ddd; border-radius: 0 3px 0 0; }
.tree li:first-child::after { border-radius: 3px 0 0 0; }
.tree ul { padding-top: 80px; }
.tree ul::before { border-left: 2px solid #ddd; -webkit-box-sizing: border-box; box-sizing: border-box; content: ''; height: 80px; left: 50%; position: absolute; top: 0; width: 0; }
.tree .branch { padding: 0; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.tree .branch::before, .tree .branch::after { display: none; }
.tree .branch_left { right: calc(50% + 150px); }
.tree .branch_right { left: calc(50% + 150px); }
.tree .stem::before, .tree .stem::after { width: 150px; }
.tree .stem ul { padding-top: 0; }
.tree .stem ul::before { display: none; }
.structure .orphan { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 60px; }
.structure .orphan_group { border: 2px dashed #ddd; border-radius: 8px; display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0 10px; padding: 20px 10px; }
.structure .orphan .node { margin: 0 10px; }
