@keyframes action-enter { from { transform: rotate(-90deg); opacity: 0; animation-timing-function: ease-out; } } @keyframes action-leave { from { transform: rotate(0deg); opacity: 1; animation-timing-function: ease-out; } } .results { display: grid; grid-template-columns: [text] 1fr [copy-button] auto [download-button] auto; background: rgba(0, 0, 0, 0.9); font-size: 1rem; @media (min-width: 400px) { font-size: 1.2rem; } @media (min-width: 600px) { font-size: 1.4rem; } &:focus { outline: none; } } .result-data { grid-row: 1; grid-column: text; display: flex; align-items: center; padding: 0 10px; white-space: nowrap; overflow: hidden; } .download-right { grid-template-columns: [copy-button] auto [text] 1fr [download-button] auto; } .download-left { grid-template-columns: [download-button] auto [text] 1fr [copy-button] auto; } .stack-right { & .result-data { padding: 0 15px; } } .result-title { display: flex; align-items: center; margin-right: 0.4em; } .size-delta { font-size: 0.8em; font-style: italic; position: relative; top: -1px; margin-left: 0.3em; } .size-increase { color: #e35050; } .size-decrease { color: #50e3c2; } .download { grid-row: 1; grid-column: download-button; background: #34B9EB; --size: 38px; width: var(--size); height: var(--size); display: grid; align-items: center; justify-items: center; } .download-link { animation: action-enter 0.2s; grid-area: 1/1; } .download-link-disable { pointer-events: none; opacity: 0; transform: rotate(90deg); animation: action-leave 0.2s; } .download-icon, .copy-icon { color: #fff; display: block; --size: 24px; width: var(--size); height: var(--size); padding: 7px; filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.7)); } .spinner { --color: #fff; --delay: 0; --size: 22px; grid-area: 1/1; } .copy-to-other { grid-row: 1; grid-column: copy-button; composes: unbutton from '../../lib/util.scss'; composes: download; background: #656565; }