.diagramBlock { background: white; width: 200px; border: 4px solid black; &.input { background: green; color:white; } &.attribute { background: orange; } &.output { background: blue; color:white; .inputs { color:white; } } .header { margin: 10px; font-size: 16px; text-align: center; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .value { height: 34px; text-align: center; font-size: 20px; font-weight: bold; } .inputs { .input-port { display: grid; grid-template-columns: 4px calc(100% - 4px); grid-template-rows: 100%; .input-port-plug { grid-column: 1; grid-row: 1; display: grid; align-content: center; margin-left: -11px; .srd-port { background: grey; } } .input-port-label { margin-left: 10px; grid-column: 2; grid-row: 1; margin-bottom: 2px; } } } .outputs { .output-port { display: grid; grid-template-columns: calc(100% - 4px) 4px; grid-template-rows: 100%; .output-port-plug { grid-column: 2; grid-row: 1; display: grid; align-content: center; .srd-port { background: grey; } } .output-port-label { text-align: right; margin-right: 10px; grid-column: 1; grid-row: 1; margin-bottom: 2px; } } } }