.vbox { align-content: space-between; grid-area: vbox; display: grid; grid-template-rows: 9.5em 2.5em 4.5em min-content; grid-template-columns: 8em 24em; grid-template-areas: "shop-hdr shop" "stash-hdr shop" "stash stash" "refund combiner"; border-top: 0.1em solid @gray-exists; margin-bottom: 1em; line-height: 0; .vbox-padding { margin-left: 0.5em; margin-bottom: 0.5em; margin-top: 0.5em; margin-right: 0.5em; } .shop { grid-area: shop; border-bottom: 0.1em solid @gray-exists; border-right: 0.1em solid @gray-exists; } .shop-hdr { grid-area: shop-hdr; border-bottom: 0.1em solid @gray-exists; border-left: 0.1em solid @gray-exists; text-align: center; button { margin-top: 0.5em; line-height: 1.6; height: 4em; letter-spacing: 0.1em; background-color: #421010; } } .combiner { grid-area: combiner; border-top: 0.1em solid @gray-exists; border-left: 0.1em solid @gray-exists; display: flex; flex-direction: column; .vbox-padding { margin-right: 0em; margin-bottom: 0em; } button { height: 3em; letter-spacing: 0.1em; background-color: #342100; &[disabled] { color: #342100; }; } } .stash { grid-area: stash; .vbox-padding { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 0.5em 1em; align-items: center; } border-right: 0.1em solid @gray-exists; border-left: 0.1em solid @gray-exists; } .stash-hdr { grid-area: stash-hdr; border-left: 0.1em solid @gray-exists; border-right: 0.1em solid @gray-exists; text-align: center; } .refund { button { line-height: 1.4; height: 3em; letter-spacing: 0.1em; background-color: #342100; } border-left: 0.1em solid @gray-exists; border-bottom: 0.1em solid @gray-exists; } .vbox-hdr { margin-bottom: 1em; height: 2em; } .vbox-colours { display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 0.5em 1em; align-items: center; margin-bottom: 0.5em; } .vbox-items { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.5em 1em; align-items: center; margin-bottom: 0.5em; } .vbox-btn { width: 100%; margin: 0; background-color: @gray-box; height: 3em; line-height: 1em; border-width: 0; :active, :hover, :focus { color: white; } &[disabled] { background: black; border-width: 1px; }; } .reclaiming { button:not([disabled]) { &, &:hover, &:active { background: @red; color: black; border: 2px solid black; } } svg { stroke-width: 0.75em; } .white { stroke: black; } } button { height: 3.25em; margin: 0; width: 100%; // text-transform: none; &.empty { border-style: dashed; } &.highlight { color: black; background: @white; // border: 1px solid @white; (this bangs around the vbox) // overwrite the classes on white svg elements svg { stroke-width: 0.75em; } .white { stroke: black; } } } // figures don't scale well figure { svg { height: 1.5em; stroke-width: 0.5em; } figcaption { line-height: initial; } } } .vbox-combiner { grid-area: combiner; display: flex; flex-flow: column; justify-content: flex-end; } .vbox-combiner button { flex: 0; } .vbox-hdr { display: flex; } .vbox-hdr h3 { flex: 1; } .vbox-hdr .bits { font-size: 2em; line-height: 1em; animation: bits 1s ease-out; }