├── .prettierrc
├── gatsby-browser.js
├── static.json
├── app.json
├── gatsby-ssr.js
├── src
├── _colors.scss
├── pages
│ ├── 404.js
│ └── index.js
├── components
│ ├── headingObserver.js
│ ├── docs
│ │ ├── index.js
│ │ └── _docs.scss
│ ├── header
│ │ ├── index.js
│ │ └── _header.scss
│ ├── layout
│ │ ├── index.js
│ │ └── _layout.scss
│ └── seo.js
├── util.js
├── images
│ └── gd-logo.svg
└── templates
│ ├── docPage.js
│ └── _docPage.scss
├── .eslintrc
├── gatsby-config.js
├── LICENSE
├── .gitignore
├── package.json
├── gatsby-node.js
└── README.md
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true,
4 | "trailingComma": "es5"
5 | }
6 |
--------------------------------------------------------------------------------
/gatsby-browser.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Implement Gatsby's Browser APIs in this file.
3 | *
4 | * See: https://www.gatsbyjs.org/docs/browser-apis/
5 | */
6 |
--------------------------------------------------------------------------------
/static.json:
--------------------------------------------------------------------------------
1 | {
2 | "root": "public/",
3 | "headers": {
4 | "/**.js": {
5 | "Cache-Control": "public, max-age=0, must-revalidate"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "buildpacks": [
3 | {
4 | "url": "heroku/nodejs"
5 | },
6 | {
7 | "url": "https://github.com/heroku/heroku-buildpack-static"
8 | }
9 | ]
10 | }
--------------------------------------------------------------------------------
/gatsby-ssr.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Implement Gatsby's SSR (Server Side Rendering) APIs in this file.
3 | *
4 | * See: https://www.gatsbyjs.org/docs/ssr-apis/
5 | */
6 |
7 | // You can delete this file if you're not using it
8 |
--------------------------------------------------------------------------------
/src/_colors.scss:
--------------------------------------------------------------------------------
1 | $system: #3482F7;
2 | $heading: #003366;
3 | $dark-background: #1F2A36;
4 | $toc: #f5f7fa;
5 | $light-background: #d3d3d3;
6 | $dark-text: #707070;
7 | $anchor: #5f6d7b;
8 | $paragraph: #707070;
9 | $important: #ff4c4c;
10 | $input: #0dff92;
11 | $off-black: #101010;
--------------------------------------------------------------------------------
/src/pages/404.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | import Layout from '../components/layout'
4 | import SEO from '../components/seo'
5 |
6 | const NotFoundPage = () => (
7 | You just hit a route that doesn't exist... the sadness.NOT FOUND
10 |
{`at ${date_created.hour}:${ 24 | date_created.minutes 25 | } ${date_created.dayTime}`}
26 |{description}
24 |{`Created on ${docDate.month} ${ 29 | docDate.date 30 | }, ${docDate.year} at ${docDate.hour}:${docDate.minutes} ${ 31 | docDate.dayTime 32 | }`}
33 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A minimalistic App for creating and viewing Documentation powered by Cosmic JS
14 | 15 | ### [View Demo](https://cosmicjs.com/apps/gatsby-docs) 16 | 17 | ## Quick Start 18 | 19 | 1. **Get this source Code** 20 | 21 | Install this software by cloning this repository: 22 | 23 | ```sh 24 | # create a directory on your machine with this source code inside 25 | git clone https://github.com/JacobKnaack/gatsby-docs.git 26 | ``` 27 | 28 | 2. **Install the necessary packages.** 29 | 30 | Navigate into your new site’s directory. 31 | 32 | ```sh 33 | cd gatsby-docs/ 34 | ``` 35 | 36 | then install with use npm. 37 | ```sh 38 | npm install 39 | ``` 40 | 41 | or use yarn 42 | ```sh 43 | yarn install 44 | ``` 45 | 46 | 3. **Configure your environment variables required for Cosmic JS** 47 | 48 | Create a `.env` file at the root of your project 49 | 50 | ```sh 51 | touch .env 52 | ``` 53 | 54 | Open your .`env` file and add three environment variables 55 | ```sh 56 | # Inside your .env file 57 | COSMIC_BUCKET=bucket_title_goes_here 58 | COSMIC_READ_KEY=read_key_goes_here 59 | COSMIC_WRITE_KEY=write_key_goes_here 60 | ``` 61 | 62 | 4. **Run your development script** 63 | 64 | start a development server using pre-built scripts 65 | ```sh 66 | yarn develop 67 | ``` 68 | or 69 | ```sh 70 | npm run develop 71 | ``` 72 | 73 | 5. **Open the source code and start editing!** 74 | 75 | Your site is now running at `http://localhost:8000`! 76 | 77 | _Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.org/tutorial/part-five/#introducing-graphiql)._ 78 | 79 | Open the `gatsby-docs` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time! 80 | 81 | ## Project Structure 82 | Here's what you should see when you first install the project. 83 | 84 | . 85 | ├── node_modules 86 | ├── src 87 | ├── .gitignore 88 | ├── .prettierrc 89 | ├── app.json 90 | ├── gatsby-browser.js 91 | ├── gatsby-config.js 92 | ├── gatsby-node.js 93 | ├── gatsby-ssr.js 94 | ├── LICENSE 95 | ├── package-lock.json 96 | ├── package.json 97 | ├── README.md 98 | ├── static.json 99 | └── yarn.lock 100 | 101 | 1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed. 102 | 103 | 2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”. 104 | 105 | 3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for. 106 | 107 | 4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent. 108 | 109 | 5. **`app.json`**: this is a configuration for deplying your code on either heroku or Cosmic JS. Acts as a manifest to describing the application for an app container. This one container urls for buildpacks needed for deployment. 110 | 111 | 6. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.org/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser. 112 | 113 | 7. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail). 114 | 115 | 8. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.org/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process. 116 | 117 | 9. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.org/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering. 118 | 119 | 10. **`LICENSE`**: Gatsby is licensed under the MIT license. 120 | 121 | 11. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).** 122 | 123 | 12. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project. 124 | 125 | 13. **`static.json`**: A file used with the horokus buildpacks furing deployment. The contents handle static build files. 126 | 127 | 14. **`yarn.lock`**: a configuration file for yarn to help install dependenies on your local machine. 128 | 129 | 15. **`package-lock.json`**: a configuration for npm also to help with installation of dependecies on your local machine. 130 | 131 | 16. **`README.md`**: A text file containing useful reference information about your project. 132 | 133 | ## Learning Gatsby 134 | 135 | Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.org/). Here are some places to start: 136 | 137 | - **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process. 138 | 139 | - **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.org/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar. 140 | 141 | ## Deploy 142 | 143 | [](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-default) 144 | -------------------------------------------------------------------------------- /src/components/docs/_docs.scss: -------------------------------------------------------------------------------- 1 | @import '../../_colors.scss'; 2 | 3 | .docs-container { 4 | // position: absolute; 5 | // width: 100vw; 6 | height: 100%; 7 | font-family: sans-serif; 8 | 9 | .docs-list { 10 | width: 100%; 11 | height: 100%; 12 | display: flex; 13 | flex-direction: row; 14 | justify-content: flex-start; 15 | overflow-x: auto; 16 | } 17 | 18 | .docs-item { 19 | width: 250px; 20 | min-width: 250px; 21 | height: 100%; 22 | margin: 0 5px; 23 | display: flex; 24 | flex-direction: column; 25 | justify-content: flex-start; 26 | text-decoration: none; 27 | background-color: $system; 28 | border-radius: 10px; 29 | box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); 30 | // transition: 0.3s ease-in-out; 31 | overflow-y: auto; 32 | 33 | .doc-title { 34 | width: 100%; 35 | margin:0 0 20px 0; 36 | padding: 0 15px; 37 | color: #ffffff; 38 | font-family: sans-serif; 39 | font-weight: 200; 40 | font-size: 200%; 41 | text-align: left; 42 | } 43 | 44 | .date-container { 45 | width: calc(100% - 10px); 46 | padding: 5px 10px 5px 10px; 47 | display: flex; 48 | flex-direction: column; 49 | justify-content: flex-start; 50 | align-items: flex-start; 51 | 52 | .date-yearMonthDate { 53 | height: 20px; 54 | margin: 0; 55 | color: #ffffff; 56 | text-align: right; 57 | font-size: 100%; 58 | font-weight: 400; 59 | } 60 | 61 | .date-timeDayTime { 62 | height: 20px; 63 | color: #ffffff; 64 | margin: 0 0 40px 0;; 65 | padding: 0; 66 | text-align: right; 67 | font-size: 100%; 68 | font-weight: 300; 69 | } 70 | } 71 | .doc-date { 72 | padding-left: 15px; 73 | margin-top: 20px; 74 | color: #ffffff; 75 | font-weight: 300; 76 | font-size: 75%; 77 | text-align: left; 78 | } 79 | 80 | .doc-preview { 81 | width: 230px; 82 | height: calc(100% - 230px); 83 | margin: 0 auto; 84 | overflow: hidden; 85 | h1, h2, h3, h4, h5, h6 { 86 | font-size: 130%; 87 | margin: 0; 88 | } 89 | p, h1, h2, h3, h4, h5, h6, li, a { 90 | color: #ffffff; 91 | } 92 | p { 93 | width: 200px; 94 | margin: 10px auto; 95 | line-height: 20px; 96 | padding: 0; 97 | } 98 | img { 99 | max-width: 175px; 100 | display: block; 101 | margin: 0 auto; 102 | border-radius: 5px; 103 | } 104 | } 105 | } 106 | } 107 | 108 | .create-doc-container { 109 | z-index: 8; 110 | width: 200px; 111 | margin: 0 auto; 112 | border-radius: 30px; 113 | background-color: $system; 114 | box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); 115 | 116 | .create-doc-successMessage { 117 | position: absolute; 118 | font-weight: 300; 119 | margin-top: 75px; 120 | } 121 | } 122 | 123 | .create-doc-container:hover { 124 | box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); 125 | } 126 | 127 | .create-doc-container.active { 128 | position: fixed; 129 | top: 25px; 130 | left: 2.5vw; 131 | width: 95vw; 132 | height: 90vh; 133 | background-color: #ffffff; 134 | } 135 | 136 | .doc-form { 137 | width: 100%; 138 | height: 100%; 139 | display: flex; 140 | flex-direction: column; 141 | justify-content: flex-start; 142 | 143 | .close-bttn { 144 | width: 100px; 145 | margin: 20px auto 0 auto; 146 | color: $important; 147 | padding: 3px; 148 | background: none; 149 | outline: none; 150 | border: thin solid $important; 151 | font-family: sans-serif; 152 | font-weight: 200; 153 | font-size: 100%; 154 | border-radius: 30px; 155 | // transition: 0.5s ease-in-out; 156 | } 157 | 158 | .close-bttn:hover { 159 | color: #ffffff; 160 | background-color: $important; 161 | } 162 | 163 | .helpertext { 164 | width: 70%; 165 | margin: 0 auto; 166 | display: flex; 167 | flex-direction: column; 168 | justify-content: center; 169 | align-items: flex-start; 170 | color: $off-black; 171 | 172 | span { 173 | margin: 0 0 15px 5px; 174 | font-size: 75%; 175 | color: $dark-text; 176 | } 177 | } 178 | 179 | .title-input { 180 | width: 100%; 181 | height: 40px; 182 | margin: 0 auto; 183 | padding-left: 5px; 184 | background: none; 185 | outline: none; 186 | border-radius: 5px; 187 | border: none; 188 | color: $off-black; 189 | box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); 190 | font-family: sans-serif; 191 | } 192 | 193 | .content-container { 194 | padding: 20px; 195 | width: 100%; 196 | height: 80%; 197 | background-color: $system; 198 | overflow-y: auto; 199 | } 200 | 201 | .content-info { 202 | height: 40px; 203 | width: 100%; 204 | max-width: 1200px; 205 | margin: 0 auto 10px auto; 206 | 207 | label { 208 | padding: 10px; 209 | margin-right: 40px; 210 | border-radius: 20px; 211 | box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); 212 | background-color: $system; 213 | color: #ffffff; 214 | input { 215 | margin: 5px; 216 | color: $input; 217 | } 218 | } 219 | 220 | label:active { 221 | background-color: $heading; 222 | } 223 | } 224 | 225 | .markdown-container { 226 | width: 100%; 227 | max-width: 1200px; 228 | height: calc(100% - 45px); 229 | margin: 0 auto; 230 | display: flex; 231 | flex-direction: row; 232 | justify-content: center; 233 | border-radius: 5px; 234 | box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); 235 | 236 | .markdown-input { 237 | width: 33.33333%; 238 | height: 100%; 239 | padding: 5px; 240 | resize: none; 241 | font-family: sans-serif; 242 | border: none; 243 | overflow: auto; 244 | border-radius: 5px 0 0 5px; 245 | } 246 | 247 | .markdown-preview { 248 | width: 66.66666%; 249 | height: 100%; 250 | padding: 5px; 251 | text-align: center; 252 | background-color: #ffffff; 253 | border-left: thin solid $light-background; 254 | border-radius: 0 5px 5px 0; 255 | 256 | h4 { 257 | color: $dark-text;; 258 | margin: 0 auto; 259 | } 260 | 261 | .preview-layout { 262 | width: 100%; 263 | height: calc(100% - 20px); 264 | display: flex; 265 | flex-direction: row; 266 | justify-content: center; 267 | } 268 | 269 | .preview-content { 270 | text-align: left; 271 | } 272 | .toc { 273 | width: 33%; 274 | height: calc(100% - 20px); 275 | overflow-y: auto; 276 | } 277 | 278 | .main { 279 | width: 66%; 280 | height: calc(100% - 20px); 281 | overflow: auto; 282 | } 283 | 284 | a { 285 | text-decoration: none; 286 | color: $anchor; 287 | } 288 | 289 | .toc.selected, .main.selected { 290 | background-color: $light-background; 291 | border: thin solid $dark-text; 292 | } 293 | } 294 | } 295 | 296 | .submit-bttn { 297 | outline: none; 298 | border: none; 299 | border-radius: 20px; 300 | background: $system; 301 | margin: 20px auto; 302 | width: 100px; 303 | color: #ffffff; 304 | font-family: sans-serif; 305 | font-weight: 300; 306 | box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); 307 | } 308 | } 309 | 310 | .create-doc-bttn { 311 | cursor: pointer; 312 | margin-bottom: 50px; 313 | padding: 10px; 314 | height: 100%; 315 | width: 100%; 316 | color: #ffffff; 317 | text-align: center; 318 | font-weight: 300; 319 | font-family: sans-serif; 320 | } -------------------------------------------------------------------------------- /src/components/layout/_layout.scss: -------------------------------------------------------------------------------- 1 | @import '../../_colors.scss'; 2 | 3 | html { 4 | height: 100vh; 5 | width: 100vw; 6 | font-family: sans-serif; 7 | -ms-text-size-adjust: 100%; 8 | -webkit-text-size-adjust: 100%; 9 | overflow: hidden; 10 | } 11 | body { 12 | height: 100%; 13 | width: 100%; 14 | margin: 0; 15 | background-color: $light-background; 16 | overflow: hidden; 17 | } 18 | #___gatsby { 19 | height: 100%; 20 | } 21 | article, 22 | aside, 23 | details, 24 | figcaption, 25 | figure, 26 | footer, 27 | header, 28 | main, 29 | menu, 30 | nav, 31 | section, 32 | summary { 33 | display: block; 34 | } 35 | audio, 36 | canvas, 37 | progress, 38 | video { 39 | display: inline-block; 40 | } 41 | audio:not([controls]) { 42 | display: none; 43 | height: 0; 44 | } 45 | progress { 46 | vertical-align: baseline; 47 | } 48 | [hidden], 49 | template { 50 | display: none; 51 | } 52 | a { 53 | background-color: transparent; 54 | -webkit-text-decoration-skip: objects; 55 | } 56 | a:active, 57 | a:hover { 58 | outline-width: 0; 59 | } 60 | abbr[title] { 61 | border-bottom: none; 62 | text-decoration: underline; 63 | text-decoration: underline dotted; 64 | } 65 | b, 66 | strong { 67 | font-weight: inherit; 68 | font-weight: bolder; 69 | } 70 | dfn { 71 | font-style: italic; 72 | } 73 | h1 { 74 | font-size: 2em; 75 | margin: 0.67em 0; 76 | } 77 | mark { 78 | background-color: #ff0; 79 | color: #000; 80 | } 81 | small { 82 | font-size: 80%; 83 | } 84 | sub, 85 | sup { 86 | font-size: 75%; 87 | line-height: 0; 88 | position: relative; 89 | vertical-align: baseline; 90 | } 91 | sub { 92 | bottom: -0.25em; 93 | } 94 | sup { 95 | top: -0.5em; 96 | } 97 | img { 98 | border-style: none; 99 | } 100 | svg:not(:root) { 101 | overflow: hidden; 102 | } 103 | code, 104 | kbd, 105 | pre, 106 | samp { 107 | border-radius: 10px; 108 | font-family: monospace, monospace; 109 | font-size: 1em; 110 | } 111 | figure { 112 | margin: 1em 40px; 113 | } 114 | hr { 115 | box-sizing: content-box; 116 | height: 0; 117 | overflow: visible; 118 | } 119 | button, 120 | input, 121 | optgroup, 122 | select, 123 | textarea { 124 | font: inherit; 125 | margin: 0; 126 | } 127 | optgroup { 128 | font-weight: 700; 129 | } 130 | button, 131 | input { 132 | overflow: visible; 133 | } 134 | button, 135 | select { 136 | text-transform: none; 137 | } 138 | [type='reset'], 139 | [type='submit'], 140 | button, 141 | html [type='button'] { 142 | -webkit-appearance: button; 143 | } 144 | [type='button']::-moz-focus-inner, 145 | [type='reset']::-moz-focus-inner, 146 | [type='submit']::-moz-focus-inner, 147 | button::-moz-focus-inner { 148 | border-style: none; 149 | padding: 0; 150 | } 151 | [type='button']:-moz-focusring, 152 | [type='reset']:-moz-focusring, 153 | [type='submit']:-moz-focusring, 154 | button:-moz-focusring { 155 | outline: 1px dotted ButtonText; 156 | } 157 | fieldset { 158 | border: 1px solid silver; 159 | margin: 0 2px; 160 | padding: 0.35em 0.625em 0.75em; 161 | } 162 | legend { 163 | box-sizing: border-box; 164 | color: inherit; 165 | display: table; 166 | max-width: 100%; 167 | padding: 0; 168 | white-space: normal; 169 | } 170 | textarea { 171 | overflow: auto; 172 | } 173 | [type='checkbox'], 174 | [type='radio'] { 175 | box-sizing: border-box; 176 | padding: 0; 177 | } 178 | [type='number']::-webkit-inner-spin-button, 179 | [type='number']::-webkit-outer-spin-button { 180 | height: auto; 181 | } 182 | [type='search'] { 183 | -webkit-appearance: textfield; 184 | outline-offset: -2px; 185 | } 186 | [type='search']::-webkit-search-cancel-button, 187 | [type='search']::-webkit-search-decoration { 188 | -webkit-appearance: none; 189 | } 190 | ::-webkit-input-placeholder { 191 | color: inherit; 192 | opacity: 0.54; 193 | } 194 | ::-webkit-file-upload-button { 195 | -webkit-appearance: button; 196 | font: inherit; 197 | } 198 | html { 199 | font: 112.5%/1.45em georgia, serif; 200 | box-sizing: border-box; 201 | overflow-y: scroll; 202 | } 203 | * { 204 | box-sizing: inherit; 205 | } 206 | *:before { 207 | box-sizing: inherit; 208 | } 209 | *:after { 210 | box-sizing: inherit; 211 | } 212 | body { 213 | color: hsla(0, 0%, 0%, 0.8); 214 | font-family: georgia, serif; 215 | font-weight: normal; 216 | word-wrap: break-word; 217 | font-kerning: normal; 218 | -moz-font-feature-settings: 'kern', 'liga', 'clig', 'calt'; 219 | -ms-font-feature-settings: 'kern', 'liga', 'clig', 'calt'; 220 | -webkit-font-feature-settings: 'kern', 'liga', 'clig', 'calt'; 221 | font-feature-settings: 'kern', 'liga', 'clig', 'calt'; 222 | } 223 | img { 224 | max-width: 100%; 225 | margin-left: 0; 226 | margin-right: 0; 227 | margin-top: 0; 228 | padding-bottom: 0; 229 | padding-left: 0; 230 | padding-right: 0; 231 | padding-top: 0; 232 | margin-bottom: 1.45rem; 233 | } 234 | h1 { 235 | margin-left: 0; 236 | margin-right: 0; 237 | margin-top: 0; 238 | padding-bottom: 0; 239 | padding-left: 0; 240 | padding-right: 0; 241 | padding-top: 0; 242 | margin-bottom: 1.45rem; 243 | color: inherit; 244 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 245 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 246 | font-weight: bold; 247 | text-rendering: optimizeLegibility; 248 | font-size: 2.25rem; 249 | line-height: 1.1; 250 | } 251 | h2 { 252 | margin-left: 0; 253 | margin-right: 0; 254 | margin-top: 0; 255 | padding-bottom: 0; 256 | padding-left: 0; 257 | padding-right: 0; 258 | padding-top: 0; 259 | margin-bottom: 1.45rem; 260 | color: inherit; 261 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 262 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 263 | font-weight: bold; 264 | text-rendering: optimizeLegibility; 265 | font-size: 1.62671rem; 266 | line-height: 1.1; 267 | } 268 | h3 { 269 | margin-left: 0; 270 | margin-right: 0; 271 | margin-top: 0; 272 | padding-bottom: 0; 273 | padding-left: 0; 274 | padding-right: 0; 275 | padding-top: 0; 276 | margin-bottom: 1.45rem; 277 | color: inherit; 278 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 279 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 280 | font-weight: bold; 281 | text-rendering: optimizeLegibility; 282 | font-size: 1.38316rem; 283 | line-height: 1.1; 284 | } 285 | h4 { 286 | margin-left: 0; 287 | margin-right: 0; 288 | margin-top: 0; 289 | padding-bottom: 0; 290 | padding-left: 0; 291 | padding-right: 0; 292 | padding-top: 0; 293 | margin-bottom: 1.45rem; 294 | color: inherit; 295 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 296 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 297 | font-weight: bold; 298 | text-rendering: optimizeLegibility; 299 | font-size: 1rem; 300 | line-height: 1.1; 301 | } 302 | h5 { 303 | margin-left: 0; 304 | margin-right: 0; 305 | margin-top: 0; 306 | padding-bottom: 0; 307 | padding-left: 0; 308 | padding-right: 0; 309 | padding-top: 0; 310 | margin-bottom: 1.45rem; 311 | color: inherit; 312 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 313 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 314 | font-weight: bold; 315 | text-rendering: optimizeLegibility; 316 | font-size: 0.85028rem; 317 | line-height: 1.1; 318 | } 319 | h6 { 320 | margin-left: 0; 321 | margin-right: 0; 322 | margin-top: 0; 323 | padding-bottom: 0; 324 | padding-left: 0; 325 | padding-right: 0; 326 | padding-top: 0; 327 | margin-bottom: 1.45rem; 328 | color: inherit; 329 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 330 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 331 | font-weight: bold; 332 | text-rendering: optimizeLegibility; 333 | font-size: 0.78405rem; 334 | line-height: 1.1; 335 | } 336 | hgroup { 337 | margin-left: 0; 338 | margin-right: 0; 339 | margin-top: 0; 340 | padding-bottom: 0; 341 | padding-left: 0; 342 | padding-right: 0; 343 | padding-top: 0; 344 | margin-bottom: 1.45rem; 345 | } 346 | ul { 347 | margin-left: 1.45rem; 348 | margin-right: 0; 349 | margin-top: 0; 350 | padding-bottom: 0; 351 | padding-left: 0; 352 | padding-right: 0; 353 | padding-top: 0; 354 | margin-bottom: 1.45rem; 355 | list-style-position: outside; 356 | list-style-image: none; 357 | } 358 | ol { 359 | margin-left: 1.45rem; 360 | margin-right: 0; 361 | margin-top: 0; 362 | padding-bottom: 0; 363 | padding-left: 0; 364 | padding-right: 0; 365 | padding-top: 0; 366 | margin-bottom: 1.45rem; 367 | list-style-position: outside; 368 | list-style-image: none; 369 | } 370 | dl { 371 | margin-left: 0; 372 | margin-right: 0; 373 | margin-top: 0; 374 | padding-bottom: 0; 375 | padding-left: 0; 376 | padding-right: 0; 377 | padding-top: 0; 378 | margin-bottom: 1.45rem; 379 | } 380 | dd { 381 | margin-left: 0; 382 | margin-right: 0; 383 | margin-top: 0; 384 | padding-bottom: 0; 385 | padding-left: 0; 386 | padding-right: 0; 387 | padding-top: 0; 388 | margin-bottom: 1.45rem; 389 | } 390 | p { 391 | margin-left: 0; 392 | margin-right: 0; 393 | margin-top: 0; 394 | padding-bottom: 0; 395 | padding-left: 0; 396 | padding-right: 0; 397 | padding-top: 0; 398 | margin-bottom: 1.45rem; 399 | } 400 | figure { 401 | margin-left: 0; 402 | margin-right: 0; 403 | margin-top: 0; 404 | padding-bottom: 0; 405 | padding-left: 0; 406 | padding-right: 0; 407 | padding-top: 0; 408 | margin-bottom: 1.45rem; 409 | } 410 | pre { 411 | margin-left: 0; 412 | margin-right: 0; 413 | margin-top: 0; 414 | padding-bottom: 0; 415 | padding-left: 0; 416 | padding-right: 0; 417 | padding-top: 0; 418 | margin-bottom: 1.45rem; 419 | font-size: 0.85rem; 420 | line-height: 1.42; 421 | background: hsla(0, 0%, 0%, 0.04); 422 | border-radius: 3px; 423 | overflow: auto; 424 | word-wrap: normal; 425 | padding: 1.45rem; 426 | } 427 | table { 428 | margin-left: 0; 429 | margin-right: 0; 430 | margin-top: 0; 431 | padding-bottom: 0; 432 | padding-left: 0; 433 | padding-right: 0; 434 | padding-top: 0; 435 | margin-bottom: 1.45rem; 436 | font-size: 1rem; 437 | line-height: 1.45rem; 438 | border-collapse: collapse; 439 | width: 100%; 440 | } 441 | fieldset { 442 | margin-left: 0; 443 | margin-right: 0; 444 | margin-top: 0; 445 | padding-bottom: 0; 446 | padding-left: 0; 447 | padding-right: 0; 448 | padding-top: 0; 449 | margin-bottom: 1.45rem; 450 | } 451 | blockquote { 452 | margin-left: 1.45rem; 453 | margin-right: 1.45rem; 454 | margin-top: 0; 455 | padding-bottom: 0; 456 | padding-left: 0; 457 | padding-right: 0; 458 | padding-top: 0; 459 | margin-bottom: 1.45rem; 460 | } 461 | form { 462 | margin-left: 0; 463 | margin-right: 0; 464 | margin-top: 0; 465 | padding-bottom: 0; 466 | padding-left: 0; 467 | padding-right: 0; 468 | padding-top: 0; 469 | margin-bottom: 1.45rem; 470 | } 471 | noscript { 472 | margin-left: 0; 473 | margin-right: 0; 474 | margin-top: 0; 475 | padding-bottom: 0; 476 | padding-left: 0; 477 | padding-right: 0; 478 | padding-top: 0; 479 | margin-bottom: 1.45rem; 480 | } 481 | iframe { 482 | margin-left: 0; 483 | margin-right: 0; 484 | margin-top: 0; 485 | padding-bottom: 0; 486 | padding-left: 0; 487 | padding-right: 0; 488 | padding-top: 0; 489 | margin-bottom: 1.45rem; 490 | } 491 | hr { 492 | margin-left: 0; 493 | margin-right: 0; 494 | margin-top: 0; 495 | padding-bottom: 0; 496 | padding-left: 0; 497 | padding-right: 0; 498 | padding-top: 0; 499 | margin-bottom: calc(1.45rem - 1px); 500 | background: hsla(0, 0%, 0%, 0.2); 501 | border: none; 502 | height: 1px; 503 | } 504 | address { 505 | margin-left: 0; 506 | margin-right: 0; 507 | margin-top: 0; 508 | padding-bottom: 0; 509 | padding-left: 0; 510 | padding-right: 0; 511 | padding-top: 0; 512 | margin-bottom: 1.45rem; 513 | } 514 | b { 515 | font-weight: bold; 516 | } 517 | strong { 518 | font-weight: bold; 519 | } 520 | dt { 521 | font-weight: bold; 522 | } 523 | th { 524 | font-weight: bold; 525 | } 526 | li { 527 | margin-bottom: calc(1.45rem / 2); 528 | } 529 | ol li { 530 | padding-left: 0; 531 | } 532 | ul li { 533 | padding-left: 0; 534 | } 535 | li > ol { 536 | margin-left: 1.45rem; 537 | margin-bottom: calc(1.45rem / 2); 538 | margin-top: calc(1.45rem / 2); 539 | } 540 | li > ul { 541 | margin-left: 1.45rem; 542 | margin-bottom: calc(1.45rem / 2); 543 | margin-top: calc(1.45rem / 2); 544 | } 545 | blockquote *:last-child { 546 | margin-bottom: 0; 547 | } 548 | li *:last-child { 549 | margin-bottom: 0; 550 | } 551 | p *:last-child { 552 | margin-bottom: 0; 553 | } 554 | li > p { 555 | margin-bottom: calc(1.45rem / 2); 556 | } 557 | code { 558 | font-size: 0.85rem; 559 | line-height: 1.45rem; 560 | } 561 | kbd { 562 | font-size: 0.85rem; 563 | line-height: 1.45rem; 564 | } 565 | samp { 566 | font-size: 0.85rem; 567 | line-height: 1.45rem; 568 | } 569 | abbr { 570 | border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); 571 | cursor: help; 572 | } 573 | acronym { 574 | border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); 575 | cursor: help; 576 | } 577 | abbr[title] { 578 | border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); 579 | cursor: help; 580 | text-decoration: none; 581 | } 582 | thead { 583 | text-align: left; 584 | } 585 | td, 586 | th { 587 | text-align: left; 588 | border-bottom: 1px solid hsla(0, 0%, 0%, 0.12); 589 | font-feature-settings: 'tnum'; 590 | -moz-font-feature-settings: 'tnum'; 591 | -ms-font-feature-settings: 'tnum'; 592 | -webkit-font-feature-settings: 'tnum'; 593 | padding-left: 0.96667rem; 594 | padding-right: 0.96667rem; 595 | padding-top: 0.725rem; 596 | padding-bottom: calc(0.725rem - 1px); 597 | } 598 | th:first-child, 599 | td:first-child { 600 | padding-left: 0; 601 | } 602 | th:last-child, 603 | td:last-child { 604 | padding-right: 0; 605 | } 606 | tt, 607 | code { 608 | background-color: hsla(0, 0%, 0%, 0.04); 609 | border-radius: 3px; 610 | font-family: 'SFMono-Regular', Consolas, 'Roboto Mono', 'Droid Sans Mono', 611 | 'Liberation Mono', Menlo, Courier, monospace; 612 | padding: 0; 613 | padding-top: 0.2em; 614 | padding-bottom: 0.2em; 615 | } 616 | pre code { 617 | background: none; 618 | line-height: 1.42; 619 | } 620 | code:before, 621 | code:after, 622 | tt:before, 623 | tt:after { 624 | letter-spacing: -0.2em; 625 | content: ' '; 626 | } 627 | pre code:before, 628 | pre code:after, 629 | pre tt:before, 630 | pre tt:after { 631 | content: ''; 632 | } 633 | 634 | #footer { 635 | position: fixed; 636 | width: 100%; 637 | height: 40px; 638 | text-align: center; 639 | font-family: sans-serif; 640 | background-color: #ffffff; 641 | color: $off-black; 642 | left: 0; 643 | bottom: 0; 644 | } 645 | #footer a { 646 | text-decoration: none; 647 | color: $system; 648 | } 649 | 650 | @media only screen and (max-width: 480px) { 651 | html { 652 | font-size: 100%; 653 | } 654 | } --------------------------------------------------------------------------------