/*! Variables */ :root { --grey-border: #d1d1d1; --grey-text: #7d7d7d; --white: #ffffff; --white-darker: #f9f9f9; --white-darkest: #f3f3f3; --black: #000000; --primary-outline: rgba(0, 123, 255, .35); --primary-faded: #5c95f4; --primary: #4285f4; --primary-darker: #3c78dc; --primary-darkest: #2766cf; --error: #f43022; --padding: 5px; --margin: 5px; --padding-lg: 10px; --margin-lg: 10px; } /*! DROP-IN CSS */ /** 1. Global Resets */ *, ::before, ::after { box-sizing: border-box; } /** 2. Base HTML & Body */ html { height: 100%; line-height: 1.5; -webkit-text-size-adjust: 100%; font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; tab-size: 4; } body { height: 100%; color: var(--black); font-size: 16px; background: var(--white); margin: 0; display: flex; flex-direction: column; } /** 3. Structural Layout */ nav ul { padding: 0; margin: 0; } nav ul li { list-style-type: none; } nav button { margin-bottom: 5px; } main { display: block; } footer { border-top: 1px solid var(--grey-border); text-align: center; background: var(--white-darkest); overflow: auto; flex-shrink: 0; } /** 4. Typography */ h1 { font-size: 2em; margin: 0.67em 0; } b, strong { font-weight: bolder; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } blockquote { margin: 0 0 1rem; padding: 0 1rem; color: var(--grey-text); border-left: 4px solid var(--grey-border); } summary { display: list-item; } /** 5. Code and Preformatted Text */ code, pre, kbd, samp { font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; font-size: 1em; } pre, code { background-color: var(--white-darkest); border-radius: 3px; border: 1px solid var(--grey-border); } pre { overflow: auto; word-wrap: normal; width: fit-content; line-height: 1.45; padding: 12px 16px; } pre code { background: transparent; display: inline; padding: 0; line-height: inherit; word-wrap: normal; } pre code::before, pre code::after { content: normal; } pre > code { border: 0; font-size: 1em; white-space: pre; word-break: normal; } code { margin: 0; } code::before, code::after { letter-spacing: -0.2em; content: '\00a0'; } kbd { background-color: #e6e6e6; background-image: linear-gradient(#fafafa, #e6e6e6); background-repeat: repeat-x; border: 1px solid #d6d6d6; border-radius: 2px; box-shadow: 0 1px 0 #d6d6d6; color: #303030; display: inline-block; line-height: 0.95em; margin: 0 1px; padding: 5px; } /** 6. Anchor */ a { color:var(--primary); text-decoration:none; background-color:transparent; } a:focus, a:hover { color:var(--primary-darker); text-decoration:underline; } /** 7. Table */ table { text-align:left; border-collapse:collapse; border-spacing:0; margin:0; border:1px solid var(--grey-border); width: fit-content; background: var(--white-darker); } table td,table th { padding:1rem; border-bottom:1px solid var(--grey-border); border-right:1px solid var(--grey-border); } table tr:nth-child(2n) { background-color:var(--white-darkest); } /** 8. Media & Miscellaneous */ iframe { outline: none; border: none; } iframe, canvas, svg, img, video { vertical-align: top; max-width: 100%; } progress { vertical-align: baseline; } audio { vertical-align: top; } audio::-webkit-media-controls-panel { background: var(--white-darkest); } hr { border: none; outline: none; height: 1px; background-color: var(--grey-border); } /** 9. Form Elements */ /* Labels and Textareas */ label { display: inline-block; line-height: 2; } textarea { overflow: auto; resize: vertical; } /* General Form Control Styling */ input:not([type]), input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, optgroup, textarea { background: var(--white-darker); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, .12); border-radius: 4px; color: rgba(0, 0, 0, .8); display: block; width: 100%; padding: 8px 16px; font-family: inherit; font-size: 1rem; line-height: 1.5; -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; } input:not([type]):focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, optgroup:focus, textarea:focus { border-color: var(--primary-faded); outline: 0; -webkit-box-shadow: 0 0 0 .2rem var(--primary-outline); box-shadow: 0 0 0 .2rem var(--primary-outline); } input:not([type])[disabled], input[type=color][disabled], input[type=date][disabled], input[type=datetime-local][disabled], input[type=datetime][disabled], input[type=email][disabled], input[type=month][disabled], input[type=number][disabled], input[type=password][disabled], input[type=search][disabled], input[type=tel][disabled], input[type=text][disabled], input[type=time][disabled], input[type=url][disabled], input[type=week][disabled], select[disabled], optgroup[disabled], textarea[disabled] { background-color: rgba(0, 0, 0, .12); color: rgba(0, 0, 0, .54); cursor: not-allowed; opacity: 1; } input[readonly], select[readonly], optgroup[readonly], textarea[readonly] { border-color: rgba(0, 0, 0, .12); color: rgba(0, 0, 0, .54); } input:focus:invalid, select:focus:invalid, optgroup:focus:invalid, textarea:focus:invalid { border-color: var(--error); color: var(--error); } /* Checkboxes and Radios */ input[type=checkbox], input[type=radio] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; display: inline; } input[type=checkbox]:focus, input[type=file]:focus, input[type=radio]:focus { outline: 1px thin rgba(0, 0, 0, .12); } input[type=checkbox]:focus:invalid, input[type=file]:focus:invalid, input[type=radio]:focus:invalid { outline-color: var(--error); } /* Specific Input Types */ input[type=range] { display: block; } input[type=color] { border:1px solid rgba(0,0,0,.12); border-radius:4px; height: 42px; width: 42px; display: block; padding: 0 2px; } input[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } input[type="color"]::-webkit-color-swatch { border-radius: 50px; border: 1px solid var(--grey-border); } /* Browser Overrides */ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } ::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; } /* Buttons */ button, input[type=button], input[type=reset], input[type=submit] { -webkit-appearance: button; background-color: var(--primary); border-radius: 4px; cursor: pointer; color:var(--white); padding: 8px 16px; display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 1px solid transparent; font-family: inherit; font-size: 1rem; line-height: 1.5; -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out; } button::-moz-focus-inner, input[type=button]::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=submit]::-moz-focus-inner { padding: 0; } button:hover, input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover { background-color: var(--primary-darker); } button:not(:disabled):active, input[type=button]:not(:disabled):active, input[type=reset]:not(:disabled):active, input[type=submit]:not(:disabled):active { background-color: var(--primary-darkest); } button:focus, input[type=button]:focus, input[type=reset]:focus, input[type=submit]:focus { outline: 0; -webkit-box-shadow: 0 0 0 .2rem var(--primary-outline); box-shadow: 0 0 0 .2rem var(--primary-outline); } button:disabled, input[type=button]:disabled, input[type=reset]:disabled, input[type=submit]:disabled { opacity: .65; cursor: not-allowed; background-color: var(--primary-faded); } /* Fieldset and Legend */ legend { padding: 0 5px; box-sizing: border-box; color: inherit; display: table; max-width: 100%; white-space: normal; } fieldset { border-width: 1px; border-color: var(--grey-border); border-style: solid; border-radius: 4px; }