/* This wraps the whole application, rather than just the "page" area */ #__next { background-color: darkslategray; } /* Generics */ .grow { flex: 1; } .scroll { overflow-y: auto; } /* Typography */ .text-navigation { color: black; font-size: 16px; font-weight: bold; } .text-title { color: darkslategray; font-size: 18px; font-weight: bold; } .text-meta { color: slategray; font-family: monospace; font-size: 11px; text-transform: uppercase; } .text-details { color: darkslategray; font-size: 15px; line-height: 1.3rem; } /* Page */ .page { background-color: lavender; display: grid; grid-template-columns: 1fr; grid-template-rows: 64px calc(100vh - 72px); /* Is there a keyword solution for this? */ grid-gap: 8px; height: 100vh; margin: auto; max-width: 800px; } .page > main { background-color: lavender; display: block; position: relative; height: 100%; } /* Navigation */ .navigation { display: flex; flex-direction: row; box-shadow: 0px 5px 5px -5px darkslategray; } .navigation-bottom { display: flex; flex-direction: row; box-shadow: 0px 5px 5px 5px darkslategray; } .navigation > .navigation-li { flex: 1; } .navigation-li { list-style: none; } .navigation-item { display: flex; flex-shrink: 0; flex-direction: column; align-items: center; justify-content: center; background-color: lavenderblush; border: 1px solid darkslategray; height: 64px; } .navigation-item.bottom { height: 80px; } .navigation-item:hover { background-color: antiquewhite; } .navigation-item.active { background-color: bisque; } .icon-button { display: flex; align-items: center; justify-content: middle; flex-shrink: 0; padding: 4px; border: 1px solid rgba(0, 0, 0, 0); border-radius: 8px; } .icon-button:hover { background-color: lavenderblush; border: 1px solid slategray; } /* Content organization */ .content-card { background-color: lavender; border: 1px solid darkslategray; box-shadow: 0px 5px 5px -5px darkslategray; padding: 16px; } .content-row { display: flex; flex-direction: row; align-items: center; } .content-list { display: flex; flex-direction: column; height: 100%; } .content-list > * + * { margin-top: 16px; } /* Margins and paddings */ .padding-small { padding: 8px 16px; } .margin-small { margin: 10px 0px; } .margin-paragraph { margin: 20px 0px 10px; } /* Expression set page */ .page-with-padding { padding: 8px 16px 16px; } .page-with-bottom-navigation { display: grid; grid-template-columns: 1fr; grid-template-rows: calc(100% - 88px) 80px; grid-gap: 8px; height: 100%; }