.song { &:not(.select) { min-height: 28px; } display: grid; & > * { display: flex; align-items: center; } overflow: hidden; &.compact-layout { grid-template-columns: var(--song-key-column-width, 30px) auto 25px 25px; grid-template-areas: "keys title edit delete"; @media screen and (max-width: 860px) { grid-template-columns: var(--song-key-column-width, 30px) auto 30px 30px; } &.with-drag { grid-template-columns: 24px var(--song-key-column-width, 30px) auto 25px 25px; grid-template-areas: "drag keys title edit delete"; @media screen and (max-width: 860px) { grid-template-columns: 24px var(--song-key-column-width, 30px) auto 30px 30px; } } } &.show-text-layout { grid-template-columns: auto var(--song-key-column-width, 30px) 25px 25px; grid-template-areas: "title keys edit delete"; @media screen and (max-width: 860px) { grid-template-columns: auto var(--song-key-column-width, 30px) 30px 30px; } &.with-drag { grid-template-columns: 24px auto var(--song-key-column-width, 30px) 25px 25px; grid-template-areas: "drag title keys edit delete"; @media screen and (max-width: 860px) { grid-template-columns: 24px auto var(--song-key-column-width, 30px) 30px 30px; } } } } .drag-handle, .drag-handle-placeholder { grid-area: drag; } .drag-handle { width: 16px; height: 36px; padding: 4px 0; border: 0; background: transparent; cursor: grab; justify-self: start; position: relative; &::before { content: ""; width: 10px; height: 18px; display: block; border-radius: 999px; background-image: radial-gradient(circle, var(--text-soft) 1.2px, transparent 1.3px), radial-gradient(circle, var(--text-soft) 1.2px, transparent 1.3px); background-position: 0 0, 6px 0; background-size: 6px 6px; background-repeat: repeat-y; opacity: 0.65; transition: var(--transition); } &:hover::before { opacity: 1; background-image: radial-gradient(circle, var(--primary-color) 1.2px, transparent 1.3px), radial-gradient(circle, var(--primary-color) 1.2px, transparent 1.3px); } &:active { cursor: grabbing; } } .drag-handle-placeholder { width: 16px; } .keys-container { display: flex; flex-direction: column; } .keys-select { height: 0; overflow: hidden; line-height: 0; min-width: max(100px, var(--song-key-column-width, 30px)); } .keys { display: flex; align-items: center; position: relative; margin-right: 10px; cursor: pointer; flex-grow: 0; height: 100%; &:hover { color: var(--color-primary); } } .transpose { height: 0; position: absolute; } .btn-up { grid-area: up; } .btn-down { grid-area: down; } .title { grid-area: title; min-width: 0; &.published { margin: 10px 0; font-weight: bold; display: grid; grid-template-columns: 1em auto; .key { color: var(--primary-active); text-shadow: 0 0 1px var(--primary-hover); } } } .keys { grid-area: keys; justify-content: flex-end; } .btn-delete { grid-area: delete; justify-content: flex-end; } .btn-edit { grid-area: edit; justify-content: flex-end; } .menu { display: flex; } button { } textarea.edit { font-family: 'Ubuntu Mono', monospace; line-height: 15px; }