* { padding: 0; margin: 0; box-sizing: border-box; } :root { --color-text: #333; --color-background: #fff; --color-primary: #3f51b5; --color-primary-text: #fff; --drop-shadow: drop-shadow(0 10px 10px rgb(0, 0, 0, 0.2)); --dropdown-arrow: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23333%22%20fill-opacity%3D%221%22%20stroke%3D%22none%22%20d%3D%22M0%2C0%20L0%2C0%20L1%2C0%20L1%2C6%20L7%2C6%20L7%2C7%20L0%2C7%20z%22%20transform%3D%22rotate(-45%205%200)%22%20%2F%3E%3C%2Fsvg%3E"); --pin-width: 32px; } html, body { height: 100%; } body { font-family: "Noto Sans", sans-serif; font-size: 14px; color: var(--color-text); } a { color: var(--color-primary); } ul { list-style: inside; } input[type="checkbox"] { appearance: none; border: 0; // Remove the unchecked checkbox outline in Safari on iOS border-radius: 4px; // Round the focus box-shadow cursor: pointer; margin-right: 3px; position: relative; vertical-align: top; &:focus { outline: none; box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.2); } &::before { border: 2px solid var(--color-primary); border-radius: 4px; content: ""; display: block; height: 16px; width: 16px; } &:checked::before { background: var(--color-primary); } &:checked::after { border-bottom: 2px solid var(--color-primary-text); border-right: 2px solid var(--color-primary-text); content: ""; display: inline-block; height: 10px; left: 7px; position: absolute; top: 3px; transform: rotate(45deg); width: 4px; } & + label { cursor: pointer; } } pre { background: #000; border-radius: 3px; color: #ddd; display: block; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; overflow-x: auto; code { display: block; margin: 20px; } } #app { display: flex; min-height: 100%; flex-direction: column; // Only select immediate child as the datepicker contains a
as well > header { display: flex; padding: 20px; white-space: nowrap; color: var(--color-primary-text); background: var(--color-primary); nav { display: flex; flex: 1; align-items: center; &:not(:first-child) { margin-left: 20px; } &.nav-shrink { flex: 0 1 auto; } .nav-item:not(:first-child) { margin-left: 20px; } .feather { font-size: 20px; margin-right: 10px; } .button-icon .feather { margin: 0; } } } main { flex: 1; position: relative; } ul.info-list { list-style: none; li { // https://stackoverflow.com/a/17158366/5952681 margin-left: 25px; text-indent: -25px; .feather { font-size: 16px; margin-right: 8px; } a { font-weight: bold; text-decoration: none; } & + li { margin-top: 15px; } } } } .button { cursor: pointer; color: var(--color-text); background: var(--color-background); border: 0; border-radius: 18px; overflow: hidden; padding: 8px 16px; text-overflow: ellipsis; white-space: nowrap; transition: box-shadow 0.2s; &:focus { outline: none; box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2); } &:focus::-moz-focus-inner { border-color: transparent; } &.button-primary { color: var(--color-primary-text); background: var(--color-primary); } &.button-outline { border: 1px solid var(--color-background); color: var(--color-primary-text); background: transparent; &.button-primary { border-color: var(--color-primary); color: var(--color-text); } } &.button-flat { color: var(--color-primary-text); background: transparent; &.button-primary { color: var(--color-text); } } &.button-outline, &.button-flat { transition: background-color 0.2s, box-shadow 0.2s; &:hover, &:focus { background: rgba(0, 0, 0, 0.2); } } &.button-icon { padding: 8px; } } .dropdown { display: inline-block; position: relative; } // Not nested so it works as the button alone .dropdown-button { appearance: none; background-image: var(--dropdown-arrow); background-repeat: no-repeat; background-position-x: right; background-position-y: center; padding-right: 30px; } .dropdown-body { position: absolute; margin-top: 12px; padding: 8px 0; border-radius: 3px; color: var(--color-text); background: var(--color-background); filter: var(--drop-shadow); z-index: 1; &::before { content: ""; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid transparent; border-bottom: 10px solid var(--color-background); position: absolute; top: -20px; left: 20px; } label { cursor: pointer; display: block; padding: 8px 15px; &:hover { background: rgba(0, 0, 0, 0.2); } } } .feather { vertical-align: middle; }