body { max-width: 800px; width: 100%; margin: auto; position: relative; padding: 2rem; } h1 { font-size: 3rem; text-align: right; } h2 { font-size: 2rem; margin: 0; } h3 { font-size: 1.5rem; line-height: 1.5rem; font-weight: 800; } hr { border: .1em solid black; width: 25%; margin: auto; margin-top: 2rem; margin-bottom: 1rem; } nav { text-align: right; } li.homepage::marker { content: '🏠'; } li.email::marker { content: '📧'; } summary { position: relative; display: grid; grid-template-columns: 2fr 1fr; cursor: pointer; } summary::before { content: '🡆'; position: absolute; top: 0; right: 100%; font-weight: 800; height: 1.5rem; line-height: 1.5rem; padding-right: .5rem; transition: 250ms; } details[open] summary::before { transform: rotate(45deg); } summary>:first-child { grid-column: 1; text-align: left; } summary>:last-child { grid-column: 2; text-align: right; } summary h3, summary p { margin: 0; } summary strong { font-variant: small-caps; font-weight: normal; } summary>* { align-self: center; } details { margin: 1em 0; } details .place, details .date { font-style: italic; font-size: .9rem; } details .place { color: #8bc34a; } dl.ha > dt { font-style: italic; } h3.skills { margin-bottom: 0; } dl.skills { margin: 0; } dl.skills { display: grid; grid-template-columns: 1fr 4fr; } dl.skills > dt { font-weight: 800; grid-column: 1; text-align: right; } dl.skills > dd { grid-column: 2; } dl.skills > * { align-self: center; }