main { padding-top: 1em; } #fields { display: grid; grid-template-columns: min-content auto; gap: 0.5em; label { color: var(--line-color); text-align: right; &::after { content: ":" } } } #names { display: flex; flex-direction: column; width: min-content; div { display: flex; flex-direction: row; } } #addresses { display: grid; grid-template-columns: min-content auto; row-gap: 0.5em; .label[data-is-empty="false"] { color: var(--line-color); text-align: right; margin-right: 0.5em; } .value { white-space: pre-wrap; } } #text_body { margin-top: 1em; p { margin-top: 0.5em; } p:first-child { margin-top: 0; } em { font-style: italic; } strong { font-weight: bold; } li { list-style: disc inside; } h1 { margin-block: 0.83em; font-size: 1.50em; } h2 { margin-block: 1.00em; font-size: 1.17em; } h3 { margin-block: 1.33em; font-size: 1.00em; } h4 { margin-block: 1.67em; font-size: 0.83em; } h5 { margin-block: 2.33em; font-size: 0.67em; } blockquote { padding: 0.1em 0 0.1em 0.5em; border-left: 2px solid var(--line-color); } } .grow-wrap { display: grid; &::after { content: attr(data-replicated-value) " "; white-space: pre-wrap; visibility: hidden; } &>textarea { resize: none; overflow: hidden; } &>textarea, &::after { /* Identical styling required!! */ width: 100%; max-width: 12em; font: inherit; border: 1px solid gray; box-sizing: border-box; margin: 2px 0; padding: 0.25em; /* Place on top of each other */ grid-area: 1 / 1 / 2 / 2; } } @media only screen and (max-width: 650px) { .address-input+.address-input { margin-top: 0.5em; } } #text_body { margin-top: 1em; .grow-wrap>textarea, .grow-wrap::after { /* Identical styling required!! */ max-width: 100%; } } .hint { font-size: small; } code { font-family: monospace; }