/* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Dependencies * ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- * Application * ------------------------------------------------------------------------- */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Resets * ------------------------------------------------------------------------- */ /* * Enfore correct box model - the prefixed versions are necessary for older * browsers, i.e. Chrome < 10, Firefox < 29, Safari < 6 and Android < 4 */ html { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; } /* * All elements shall inherit the document default */ *, *:before, *:after { box-sizing: inherit; -moz-box-sizing: inherit; -webkit-box-sizing: inherit; } /* * 16px --> 10px, browser default */ html { font-size: 62.5%; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; } /* * Reset spacing and borders for all tags */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; } /* * Reset list styles */ ul { list-style: none; } /* * Reset table styles */ table { border-collapse: collapse; border-spacing: 0; } /* * Reset table cell styles */ td { text-align: left; font-weight: normal; vertical-align: middle; } /* * Reset (native) button styles */ button { outline: 0; padding: 0; background: transparent; border: none; font-size: inherit; } /* * Reset (native) input styles */ input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; -o-appearance: none; appearance: none; outline: none; border: none; } /* * Reset link styles */ a { text-decoration: none; color: inherit; } /* * Reset tap outlines on iOS and Android */ a, button, label, input { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-tap-highlight-color: transparent; } /* * Reset headlines */ h1, h2, h3, h4, h5, h6 { font-weight: inherit; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Palette * ------------------------------------------------------------------------- */ /* * Primary and accent color */ /* * Black opacities */ /* * White opacities */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Code highlighter * ------------------------------------------------------------------------- */ /* * Inline code */ code { color: #3f51b5; } /* * Code block */ pre { background: rgba(0, 0, 0, 0.05); /* * Ensure correct color */ } pre, pre code { color: rgba(0, 0, 0, 0.87); } /* * Operators and comments */ .o, .c, .c1, .cm { color: rgba(0, 0, 0, 0.54); } /* * Keywords */ .k, .kn { color: #A71D5D; } /* * Types and functions */ .kt, .kd, .n.f { color: #0086B3; } /* * Strings */ .s { color: #183691; } /* * Constants and numbers */ .mi, .bp { color: #9575CD; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Font faces * ------------------------------------------------------------------------- */ /* * Icon font */ @font-face { font-family: 'Icon'; src: url("/assets/fonts/icon.eot?52m981"); src: url("/assets/fonts/icon.eot?#iefix52m981") format("embedded-opentype"), url("/assets/fonts/icon.woff?52m981") format("woff"), url("/assets/fonts/icon.ttf?52m981") format("truetype"), url("/assets/fonts/icon.svg?52m981#icon") format("svg"); font-weight: normal; font-style: normal; } /* ---------------------------------------------------------------------------- * Representational classes * ------------------------------------------------------------------------- */ /* * Base icon class */ .icon { font-family: 'Icon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* * Magnifying glass */ .icon-search:before { content: "\e600"; } /* * Back arrow */ .icon-back:before { content: "\e601"; } /* * Link indicator */ .icon-link:before { content: "\e602"; } /* * Close button */ .icon-close:before { content: "\e603"; } /* * Hamburger icon */ .icon-menu:before { content: "\e604"; } /* * Forward arrow */ .icon-forward:before { content: "\e605"; } /* * Twitter icon */ .icon-twitter:before { content: "\e606"; } /* * GitHub icon */ .icon-github:before { content: "\e607"; } /* * Download icon */ .icon-download:before { content: "\e608"; } /* * Star icon */ .icon-star:before { content: "\e609"; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Defaults * ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- * Helper functions * ------------------------------------------------------------------------- */ /* * Choose minimum and maximum device widths. */ /* * Select minimum and maximum widths for a device breakpoint. */ /* ---------------------------------------------------------------------------- * Mixins for numeric breakpoints * ------------------------------------------------------------------------- */ /* * A minimum-maximum media query breakpoint. */ /* * An orientation media query breakpoint. */ /* * A maximum-aspect-ratio media query breakpoint. */ /* ---------------------------------------------------------------------------- * Mixins for device breakpoints * ------------------------------------------------------------------------- */ /* * A minimum-maximum media query device breakpoint. */ /* * A minimum media query device breakpoint. */ /* * A maximum media query device breakpoint. */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Base animation * ------------------------------------------------------------------------- */ /* * Animate color on hover */ a { -webkit-transition: color .25s; transition: color .25s; } /* * Overlay */ .overlay { -webkit-transition: opacity .25s, width .0s .25s, height .0s .25s; transition: opacity .25s, width .0s .25s, height .0s .25s; /* * Expanded drawer */ } #toggle-drawer:checked ~ .overlay, .toggle-drawer .overlay { -webkit-transition: opacity .25s, width .0s, height .0s; transition: opacity .25s, width .0s, height .0s; } /* * Application header - check for javascript to omit flashing */ .js .header { -webkit-transition: background .6s, color .6s; transition: background .6s, color .6s; /* * Status bar */ } .js .header:before { -webkit-transition: background .6s; transition: background .6s; } /* * Extended visible touch area on icon */ .button .icon { -webkit-transition: background .25s; transition: background .25s; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Base appearance * ------------------------------------------------------------------------- */ /* * Device specific background hacks related to rubberband */ body { color: rgba(0, 0, 0, 0.87); /* Hack [Chrome, Opera]: Set background color in Chrome and Opera */ /* * Don't tint menu bar on iOS */ } @supports (-webkit-appearance: none) { body { background: #3f51b5; } } .ios body { background: white; } /* * Horizontal separators */ hr { border: 0; border-top: 1px solid rgba(0, 0, 0, 0.12); } /* * Toggle button */ .toggle-button { cursor: pointer; color: inherit; } /* * Backdrop */ .backdrop { background: white; /* [tablet landscape+]: Introduce paper with shadow */ } /* * Backdrop paper with shadow */ .backdrop-paper:after { background: white; /* [tablet landscape+]: Add drop shadow */ } /* * Overlay */ .overlay { background: rgba(0, 0, 0, 0.54); opacity: 0; /* * Expanded drawer */ } #toggle-drawer:checked ~ .overlay, .toggle-drawer .overlay { opacity: 1; } /* * Application header */ .header { box-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.24), 0 3px 8px rgba(0, 0, 0, 0.05); background: #3f51b5; color: white; /* * Add status bar overlay for iOS web application */ } .ios.standalone .header:before { background: rgba(0, 0, 0, 0.12); } /* * Navigation path within header bar */ .bar .path { color: rgba(255, 255, 255, 0.7); } /* * Draw round area around icon on touch */ .button .icon { border-radius: 100%; } /* * Pushed/clicked icon */ .button .icon:active { background: rgba(255, 255, 255, 0.12); } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Base layout * ------------------------------------------------------------------------- */ /* * Stretch container to viewport */ html { height: 100%; } /* * Stretch body to container and leave room for sticky footer. */ body { position: relative; min-height: 100%; } /* * Horizontal separators */ hr { display: block; height: 1px; padding: 0; margin: 0; } /* * Lock body (e.g. in search mode) */ .locked { height: 100%; overflow: hidden; } /* * Scrollable container */ .scrollable { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: auto; -webkit-overflow-scrolling: touch; /* * Content wrapper */ } .scrollable .wrapper { height: 100%; /* Hack [iOS]: Force overflow scrolling */ } .ios .scrollable .wrapper { margin-bottom: 2px; } /* * Toggle states and button */ .toggle { display: none; /* * Toggle button */ } .toggle-button { display: block; } /* * Backdrop */ .backdrop { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; } /* * Backdrop paper container */ .backdrop-paper { max-width: 1200px; height: 100%; margin-left: auto; margin-right: auto; /* * Actual paper */ } .backdrop-paper:after { content: " "; display: block; height: 100%; margin-left: 262px; } /* * Overlay */ .overlay { position: fixed; top: 0; width: 0; height: 0; z-index: 4; /* [tablet landscape-]: Trigger overlay */ } /* * Application header stays always on top */ .header { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: fixed; top: 0; left: 0; z-index: 3; height: 56px; padding: 4px; overflow: hidden; /* [tablet portait+]: Larger header bar */ /* [screen+]: Stretch to screen */ /* * Absolute positioning in iOS web application */ } .ios.standalone .header { position: absolute; /* [orientation: portrait]: Account for status bar in portrait mode */ } /* * Header bar */ .bar { display: table; max-width: 1184px; margin-left: auto; margin-right: auto; /* * Links should span icons entirely */ /* * Hide search button, in case javascript is not available. */ /* * Navigation path */ } .bar a { display: block; } .no-js .bar .button-search { display: none; } .bar .path { /* * Correct icon alignment */ /* [tablet portait-]: Hide path */ } .bar .path .icon:before { vertical-align: -1.5px; } /* * Buttons */ .button { display: table-cell; vertical-align: top; width: 1%; /* * Remove native spacing on button */ /* * Button icons */ } .button button { margin: 0; padding: 0; /* Hack [IE]: Remove button offset in active state */ } .button button:active:before { position: relative; top: 0; left: 0; } .button .icon { display: inline-block; font-size: 24px; padding: 8px; margin: 4px; } /* * Hide source and twitter button */ .button-github, .button-twitter { /* [mobile landscape-]: Hide button */ } /* * Hide menu button */ .button-menu { /* [tablet landscape+]: Hide button */ } /* * Stretch content to remaining space */ .stretch { display: table; table-layout: fixed; width: 100%; /* * Set vertical spacing for header */ /* * Title with ellipsis on overflow */ } .header .stretch { padding: 0 20px; /* [tablet portait]: Increase vertical spacing */ /* [tablet portait+]: Account for missing menu icon */ } .stretch .title { display: table-cell; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; /* * Increase header font size */ } .header .stretch .title { font-size: 18px; padding: 13px 0; /* [tablet portait+]: Slightly larger typography in header */ } /* * Main content */ .main { max-width: 1200px; margin-left: auto; margin-right: auto; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Base typography * ------------------------------------------------------------------------- */ /* * Default font styles */ body, input { font-family: 'Ubuntu', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; /* Enable font-smoothing in Webkit and FF */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* * Use system fonts, if browser doesn't support webfonts */ } .no-fontface body, .no-fontface input { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; } /* * Proportional fonts */ pre, code { font-family: 'Ubuntu Mono', 'Courier New', 'Courier', monospace; /* * Use system fonts, if browser doesn't support webfonts */ } .no-fontface pre, .no-fontface code { font-family: 'Courier New', 'Courier', monospace; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Drawer animation * ------------------------------------------------------------------------- */ /* * Drawer container */ .drawer { /* [tablet landscape-]: Hide menu */ /* * Expanded drawer */ } #toggle-drawer:checked ~ .main .drawer, .toggle-drawer .drawer { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); /* * Just show drawer, if browser doesn't support 3D transforms */ } .no-csstransforms3d #toggle-drawer:checked ~ .main .drawer, .no-csstransforms3d .toggle-drawer .drawer { display: block; } /* * No color transition for project link */ .project { -webkit-transition: none; transition: none; } /* * Project logo image */ .project .logo img { -webkit-transition: box-shadow .4s; transition: box-shadow .4s; } /* * Repository buttons */ .repo a { -webkit-transition: box-shadow .4s, opacity .4s; transition: box-shadow .4s, opacity .4s; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Drawer appearance * ------------------------------------------------------------------------- */ /* * Drawer container */ .drawer { /* [tablet landscape-]: Light gray background */ /* * Color links */ /* * Main sections */ /* * Content wrapper */ } .drawer .toc a { /* * Current active element */ /* * Hovered link */ } .drawer .toc a.current { color: #3f51b5; } .drawer .toc a:hover, .drawer .toc a:focus { color: #009688; } .drawer .section { color: rgba(0, 0, 0, 0.54); } .drawer .wrapper { /* [tablet landscape-]: Light gray background */ } /* * Project information */ .project { /* [tablet landscape-]: Add drop shadow */ /* * Add status bar overlay for iOS web application */ /* * Project logo */ /* * Scale logo on hover */ } .ios.standalone .project:before { background: rgba(0, 0, 0, 0.12); } .project .logo img { background: white; border-radius: 100%; } .project:hover .logo img, .project:focus .logo img { box-shadow: 0 7px 10px rgba(0, 0, 0, 0.3), 0 10px 50px rgba(0, 0, 0, 0.12); } /* * Repository buttons */ .repo a { box-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.24), 0 3px 8px rgba(0, 0, 0, 0.05); background: #009688; color: white; border-radius: 3px; /* * Hovered button */ /* * Stars */ } .repo a:hover, .repo a:focus { box-shadow: 0 7px 10px rgba(0, 0, 0, 0.3), 0 10px 50px rgba(0, 0, 0, 0.12); opacity: 0.8; } .repo a .count { background: rgba(0, 0, 0, 0.26); color: white; border-radius: 0px 3px 3px 0px; /* * Star bubble */ } .repo a .count:before { border-width: 15px 5px 15px 0; border-color: transparent rgba(0, 0, 0, 0.26); border-style: solid; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Drawer layout * ------------------------------------------------------------------------- */ /* * Drawer container */ .drawer { width: 262px; font-size: 13px; line-height: 1.0em; /* [tablet landscape-]: Fixed positioning */ /* [tablet landscape+]: Inline with content */ /* Hack [iOS]: Mitigate scrolling of parent container on boundaries */ /* * Links to articles */ /* * Links to chapters inside the current article */ /* * Main sections */ /* * Scrollable container */ } .ios .drawer { overflow: scroll; -webkit-overflow-scrolling: touch; } .drawer .toc li a { display: block; padding: 14.5px 24px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .drawer .toc li.anchor a { padding: 10px 24px 10px 48px; } .drawer .section { display: block; font-size: 11px; padding: 14.5px 24px; } .drawer .scrollable { top: 104px; z-index: -1; /* [tablet landscape+]: Revert fixed positioning */ /* * Leave room for status bar in iOS web application */ /* * Content wrapper */ } .ios.standalone .drawer .scrollable { /* [orientation: portrait]: Account for status bar in portrait mode */ } .drawer .scrollable .wrapper { height: auto; min-height: 100%; /* * Add spacing at top and bottom of separator */ /* * Add spacing at top and bottom of top level navigation */ } .drawer .scrollable .wrapper hr { margin: 12px 0; /* [screen+]: Shorten separator */ /* Hack [IE]: Left-align horizontal rule */ margin-right: auto; } .drawer .scrollable .wrapper .toc { margin: 12px 0; } /* * Project information */ .project { display: block; /* * Leave room for status bar in iOS web application */ /* * Project banner */ /* * Project logo */ /* * Project name */ /* * Shrink font, if a logo is given. */ } .ios.standalone .project { /* [orientation: portrait]: Account for status bar in portrait mode */ } .project .banner { display: table; width: 100%; height: 104px; padding: 20px; } .project .logo { display: table-cell; width: 64px; padding-right: 12px; /* * Project logo image */ } .project .logo img { display: block; width: 64px; height: 64px; } .project .name { display: table-cell; padding-left: 4px; font-size: 14px; line-height: 1.25em; vertical-align: middle; /* [tablet portait+]: Slightly larger project name */ } .project .logo + .name { font-size: 12px; } /* * Repository */ .repo { margin: 24px 0; text-align: center; /* * Inline buttons */ /* * Buttons */ } .repo li { display: inline-block; padding-right: 12px; white-space: nowrap; /* * No padding on last button */ } .repo li:last-child { padding-right: 0; } .repo a { display: inline-block; padding: 0px 10px 0px 6px; font-size: 12px; line-height: 30px; height: 30px; /* * Slightly larger icons */ /* * Stars */ } .repo a .icon { font-size: 18px; vertical-align: -3px; } .repo a .count { display: inline-block; position: relative; padding: 0px 8px 0 4px; margin: 0 -10px 0 8px; font-size: 12px; /* * Star bubble */ /* * Hide count, in case javascript is not available. */ } .repo a .count:before { content: " "; display: block; position: absolute; top: 0px; left: -5px; } .no-js .repo a .count { display: none; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Drawer typography * ------------------------------------------------------------------------- */ /* * Drawer container */ .drawer { /* * Links to articles */ /* * Links to chapters inside the current article */ /* * Main sections */ } .drawer .toc li a { font-weight: 700; } .drawer .toc li.anchor a { font-weight: 400; } .drawer .section { text-transform: uppercase; font-weight: 700; } /* * Repository buttons */ .repo a { text-transform: uppercase; font-weight: 700; /* * Stars */ } .repo a .count { text-transform: none; font-weight: 700; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Article animation * ------------------------------------------------------------------------- */ /* * Fade color after highlighting */ pre span { -webkit-transition: color .25s; transition: color .25s; } /* * Copyright and theme information */ .copyright { /* * Animate color on hover */ } .copyright a { -webkit-transition: color .25s; transition: color .25s; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Article appearance * ------------------------------------------------------------------------- */ /* * Article */ .article { /* * Differing top and bottom rubberband backgrounds in iOS web application */ /* * Headlines and chapters in primary color */ /* * Lower border for main headline */ /* * Color links */ /* * Data tables */ } .ios.standalone .article { background: -webkit-linear-gradient(top, white 50%, #3f51b5 50%); background: linear-gradient(to bottom, white 50%, #3f51b5 50%); /* Hack [iOS]: Mitigate black bounding box with linear gradient */ } .ios.standalone .article .wrapper { background: -webkit-linear-gradient(top, white 50%, white 50%); background: linear-gradient(to bottom, white 50%, white 50%); } .article h1, .article h2 { color: #3f51b5; } .article h1 { border-bottom: 1px solid rgba(0, 0, 0, 0.12); } .article a { color: #3f51b5; /* * Hovered link */ } .article a:hover, .article a:focus { color: #009688; } .article table { box-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.24), 0 3px 8px rgba(0, 0, 0, 0.05); border-radius: 3px; /* * Table heading */ /* * Table cell */ } .article table th { background: #6f7dc8; color: white; /* * Round upper left border */ /* * Round upper right border */ } .article table th:first-child { border-top-left-radius: 3px; } .article table th:last-child { border-top-right-radius: 3px; } .article table td { border-top: 1px solid rgba(0, 0, 0, 0.05); } /* * Article footer */ .footer { background: #3f51b5; color: white; } /* * Copyright and theme information */ .copyright { color: rgba(0, 0, 0, 0.54); } /* * Pagination */ .pagination { /* * Inherit color for links */ /* * Smaller font size for direction */ } .pagination a, .pagination a:hover, .pagination a:focus { color: inherit; } .pagination .direction { color: rgba(255, 255, 255, 0.7); } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Article layout * ------------------------------------------------------------------------- */ /* * Article */ .article { font-size: 14px; line-height: 1.7em; /* [tablet landscape+]: Indent to account for drawer */ /* * Clearfix */ /* * Article wrapper */ /* * Enable overflow scrolling in iOS web application */ /* * Article headline */ /* * Article chapters */ /* * Sub headlines */ /* * Paragraphs and section titles */ /* * List elements */ /* * Add icon for elements of an unordered list */ /* * Inline code snippets must not wrap */ /* * Add spacing at top of separator */ /* * Limit images to article container */ /* * Code listing container */ /* * Data tables */ /* * Data table wrapper, in case javascript is available */ /* [tablet portait+]: Increase spacing */ } .article:after { content: " "; display: block; clear: both; } .article .wrapper { padding: 116px 16px 92px; /* [tablet portait+]: Increase top spacing */ } .ios.standalone .article { position: absolute; top: 56px; right: 0; bottom: 0; left: 0; overflow: auto; -webkit-overflow-scrolling: touch; /* [orientation: portrait]: Account for status bar in portrait mode */ /* * Article wrapper */ } .ios.standalone .article .wrapper { position: relative; min-height: 100%; padding-top: 60px; margin-bottom: 2px; } .article h1 { font-size: 24px; line-height: 1.333334em; padding: 20px 0 42px; } .article h2 { font-size: 20px; line-height: 1.4em; padding-top: 92px; margin-top: -56px; /* * No offset correction in iOS web application */ } .ios.standalone .article h2 { padding-top: 36px; margin: 0; } .article h3, .article h4 { font-size: 1.0em; } .article p, .article h3, .article h4, .article ul, .article ol { margin-top: 1.5em; } .article li { margin-top: 0.75em; margin-left: 18px; /* * Inline paragraphs in list elements */ } .article li p { display: inline; } .article ul li:before { content: "\e602"; display: inline-block; font-family: 'Icon'; font-size: 16px; width: 1.2em; margin-left: -1.2em; vertical-align: -0.1em; } .article p > code { white-space: nowrap; } .article hr { margin-top: 1.5em; } .article img { max-width: 100%; } .article pre { padding: 16px; margin: 1.5em -16px 0; line-height: 1.5em; overflow: auto; -webkit-overflow-scrolling: touch; } .article table { margin: 3.0em 0 1.5em; font-size: 13px; /* * The semi-cool solution, in case javascript is not available */ /* * Table heading */ /* * Table cell */ } .no-js .article table { display: inline-block; max-width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; } .article table th { min-width: 100px; padding: 12px 16px; font-size: 12px; text-align: left; white-space: nowrap; } .article table td { padding: 12px 16px; white-space: nowrap; } .article .data { margin: 1.5em -16px; padding: 1.5em 0; overflow: auto; -webkit-overflow-scrolling: touch; text-align: center; /* * Data table */ /* [tablet portait+]: Increase spacing */ } .article .data table { display: inline-block; margin: 0 16px; text-align: left; } /* * Article footer */ .footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 0 4px; /* [tablet portait+]: Larger spacing */ /* [tablet landscape+]: Stretch footer to viewport */ } /* * Copyright and theme information */ .copyright { margin: 20px 0; /* [tablet landscape+]: Add bottom spacing */ } /* * Pagination */ .pagination { max-width: 1184px; height: 92px; padding: 4px 0; margin-left: auto; margin-right: auto; overflow: hidden; /* [tablet portait+]: Larger pagination and spacing */ /* * Links should span icons entirely */ /* * Previous and next page */ /* * Previous page */ /* * Next page */ /* * Link to page */ /* * Put direction over page title */ /* * Decrease indent for stretching content */ /* [mobile landscape+]: Proportional width for pagination */ /* [tablet portrait+]: Increase vertical spacing */ } .pagination a { display: block; height: 100%; } .pagination .previous, .pagination .next { position: relative; float: left; height: 100%; } .pagination .previous { width: 25%; /* * Hide direction */ /* * Hide title */ } .pagination .previous .direction { display: none; } .pagination .previous .stretch { display: none; } .pagination .next { width: 75%; text-align: right; } .pagination .page { display: table; position: absolute; bottom: 4px; } .pagination .direction { display: block; position: absolute; bottom: 40px; width: 100%; font-size: 15px; line-height: 20px; padding: 0 52px; } .pagination .stretch { padding: 0 4px; /* * Correct vertical spacing */ } .pagination .stretch .title { font-size: 18px; padding: 11px 0 13px; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Article typography * ------------------------------------------------------------------------- */ /* * Article */ .article { /* * Third-level headlines should be bold */ /* * Fourth-level headlines should be italic */ } .article h3 { font-weight: 700; } .article h4 { font-weight: 400; font-style: italic; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Search animation * ------------------------------------------------------------------------- */ /* * Animate header bar in offset and opacity */ .bar { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: opacity 0.2s cubic-bezier(0.75, 0, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.75, 0, 0.25, 1); transition: opacity 0.2s cubic-bezier(0.75, 0, 0.25, 1), transform 0.4s cubic-bezier(0.75, 0, 0.25, 1); /* * Active search mode */ /* * Search animations */ } #toggle-search:checked ~ .header .bar, .toggle-search .bar { -webkit-transform: translate3d(0, -56px, 0); transform: translate3d(0, -56px, 0); } .bar.search { /* * Hide reset button by default */ /* * Show reset button if search is not empty */ } .bar.search .button-reset { -webkit-transform: scale(0.5, 0.5); transform: scale(0.5, 0.5); -webkit-transition: opacity 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1); transition: opacity 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1); opacity: 0; } .bar.search.non-empty .button-reset { -webkit-transform: scale(1, 1); transform: scale(1, 1); opacity: 1; } /* * Search results */ .results { -webkit-transition: opacity .3s .1s, width .0s .4s, height .0s .4s; transition: opacity .3s .1s, width .0s .4s, height .0s .4s; /* * Active search mode */ /* * Search result item link */ } #toggle-search:checked ~ .main .results, .toggle-search .results { -webkit-transition: opacity .4s, width .0s, height .0s; transition: opacity .4s, width .0s, height .0s; } .results .list a { -webkit-transition: background .25s; transition: background .25s; } /* * Just hide and show bars, if browser doesn't support 3D transforms */ .no-csstransforms3d { /* * Show default bar */ /* * Hide search bar */ /* * Active search mode */ } .no-csstransforms3d .bar.default { display: table; } .no-csstransforms3d .bar.search { display: none; margin-top: 0; } .no-csstransforms3d #toggle-search:checked ~ .header, .no-csstransforms3d .toggle-search { /* * Hide default bar */ /* * Show search bar */ } .no-csstransforms3d #toggle-search:checked ~ .header .bar.default, .no-csstransforms3d .toggle-search .bar.default { display: none; } .no-csstransforms3d #toggle-search:checked ~ .header .bar.search, .no-csstransforms3d .toggle-search .bar.search { display: table; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Search appearance * ------------------------------------------------------------------------- */ /* * Search bar */ .bar.search { opacity: 0; /* * Search input */ /* * Pushed/clicked icon */ } .bar.search .query { background: transparent; color: rgba(0, 0, 0, 0.87); /* * Search input placeholder */ } .bar.search .query::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.26); } .bar.search .query::-moz-placeholder { color: rgba(0, 0, 0, 0.26); } .bar.search .query:-moz-placeholder { color: rgba(0, 0, 0, 0.26); } .bar.search .query:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } .bar.search .button .icon:active { background: rgba(0, 0, 0, 0.12); } /* * Search results */ .results { box-shadow: 0 4px 7px rgba(0, 0, 0, 0.23), 0 8px 25px rgba(0, 0, 0, 0.05); background: white; color: rgba(0, 0, 0, 0.87); opacity: 0; /* * Active search mode */ /* * Search meta data */ /* * Search result item link */ } #toggle-search:checked ~ .main .results, .toggle-search .results { opacity: 1; } .results .meta { background: #3f51b5; color: white; } .results .list a { border-bottom: 1px solid rgba(0, 0, 0, 0.12); /* * Remove border on last element */ /* * Active item link */ } .results .list a:last-child { border-bottom: none; } .results .list a:active { background: rgba(0, 0, 0, 0.12); } /* * Article link */ .result span { color: rgba(0, 0, 0, 0.54); } /* * Active search bar */ #toggle-search:checked ~ .header, .toggle-search .header { background: white; color: rgba(0, 0, 0, 0.54); /* * Add darker status bar overlay in search mode */ /* * Fade out default header bar */ /* * Fade in search header bar */ } #toggle-search:checked ~ .header:before, .toggle-search .header:before { background: rgba(0, 0, 0, 0.54); } #toggle-search:checked ~ .header .bar.default, .toggle-search .header .bar.default { opacity: 0; } #toggle-search:checked ~ .header .bar.search, .toggle-search .header .bar.search { opacity: 1; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Search layout * ------------------------------------------------------------------------- */ /* * Search bar */ .bar.search { margin-top: 8px; /* * Search input */ } .bar.search .query { font-size: 18px; padding: 13px 0; margin: 0; width: 100%; height: 48px; /* [tablet portait+]: Slightly larger typo */ /* Hack [IE]: Hide redundant clear button */ } .bar.search .query::-ms-clear { display: none; } /* * Search results */ .results { position: fixed; top: 0; left: 0; width: 0; height: 100%; z-index: 2; overflow-y: scroll; -webkit-overflow-scrolling: touch; /* [tablet landscape+]: Limit results to five entries */ /* * Scrollable container */ /* * Active search mode */ /* * Search meta data */ /* * Search result item link */ } .results .scrollable { top: 56px; /* [tablet portait+]: Increase vertical spacing */ /* [tablet landscape+]: Limit results to five entries */ /* * Leave room for status bar in iOS web application */ } .ios.standalone .results .scrollable { /* [orientation: portrait]: Account for status bar in portrait mode */ } #toggle-search:checked ~ .main .results, .toggle-search .results { width: 100%; /* Hack [Firefox]: div doesn't collapse, unless this is applied */ overflow-y: visible; /* [tablet portait+]: Stretch to viewport */ } .results .meta { font-weight: 700; /* * Number of results */ } .results .meta strong { display: block; font-size: 11px; max-width: 1200px; margin-left: auto; margin-right: auto; padding: 16px; /* [tablet portait+]: Increase vertical spacing */ } .results .list a { display: block; } /* * Search result item */ .result { max-width: 1200px; margin-left: auto; margin-right: auto; padding: 12px 16px 16px; /* [tablet portait+]: Increase vertical spacing */ /* * Article title */ /* * Article link */ } .result h1 { line-height: 24px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .result span { font-size: 12px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } /* * Switch visibility, if browser doesn't support 3D transforms */ .no-csstransforms3d { /* * Hide search results */ /* * Active search mode */ } .no-csstransforms3d .results { display: none; } .no-csstransforms3d #toggle-search:checked ~ .main, .no-csstransforms3d .toggle-search { /* * Show search results */ } .no-csstransforms3d #toggle-search:checked ~ .main .results, .no-csstransforms3d .toggle-search .results { display: block; overflow: auto; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* * Search meta data */ .meta { text-transform: uppercase; font-weight: 700; } /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Print overrides * ------------------------------------------------------------------------- */ /* * Print styles */ /* * Copyright (c) 2016 Martin Donath * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ /* ---------------------------------------------------------------------------- * Nothing to see here, move along * ------------------------------------------------------------------------- */ .admonition { background: red; } @media only screen and (min-width: 960px) { .backdrop { background: #f2f2f2; } .backdrop-paper:after { box-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.24), 0 3px 8px rgba(0, 0, 0, 0.05); } .button-menu { display: none; } .drawer { position: static; float: left; height: auto; margin-bottom: 96px; padding-top: 80px; } .drawer .scrollable { position: static; } .article { margin-left: 262px; } .footer { z-index: 5; } .copyright { margin-bottom: 64px; } .results { height: auto; top: 64px; } .results .scrollable { position: static; max-height: 413px; } } @media only screen and (max-width: 959px) { .overlay {/* * Expanded drawer */ } #toggle-drawer:checked ~ .overlay, .toggle-drawer .overlay { width: 100%; height: 100%; } .drawer { -webkit-transform: translate3d(-262px, 0, 0); transform: translate3d(-262px, 0, 0); -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);/* * Just hide drawer, if browser doesn't support 3D transforms */ } .no-csstransforms3d .drawer { display: none; } .drawer { background: #f2f2f2; } .drawer .wrapper { background: #f2f2f2; } .project { box-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.24), 0 3px 8px rgba(0, 0, 0, 0.05); background: #3f51b5; color: white; } .drawer { position: fixed; z-index: 5; height: 100%; } #toggle-search:checked ~ .main .results, .toggle-search .results { height: 100%; } } @media only screen and (min-width: 720px) { .header { height: 64px; padding: 8px; } .header .stretch { padding: 0 16px 0 16px; } .header .stretch .title { font-size: 20px; padding: 12px 0; } .project .name { margin: 26px 0 0 5px; } .article .wrapper { padding: 128px 24px 96px; } .article .data { margin: 1.5em -24px;/* * Data table */ } .article .data table { margin: 0 24px; } .article {/* * Account for larged header bar and anchors *//* * Increase spacing for code blocks */ } .article h2 { padding-top: 100px; margin-top: -64px;/* * No offset correction in iOS web application */ } .ios.standalone .article h2 { padding-top: 28px; margin-top: 8px; } .article pre { padding: 1.5em 24px; margin: 1.5em -24px 0; } .footer { padding: 0 8px; } .pagination { height: 96px; padding: 8px 0; } .pagination {/* * Increase vertical spacing *//* * Increase vertical spacing */ } .pagination .direction { padding: 0 56px; bottom: 40px; } .pagination .stretch { padding: 0 8px; } .bar.search .query { font-size: 20px; padding: 12px 0; } .results .scrollable { top: 64px; } .results .meta strong { padding: 16px 24px; } .result { padding: 16px 24px 20px; } } @media only screen and (min-width: 1200px) { .header { width: 100%; } .drawer .scrollable .wrapper hr { width: 48px; } } @media only screen and (orientation: portrait) { .ios.standalone .header { height: 76px; padding-top: 24px;/* [tablet portait+]: Larger header bar *//* * Add status bar overlay */ } .ios.standalone .header:before { content: " "; position: absolute; top: 0; left: 0; z-index: 4; width: 100%; height: 20px; } .ios.standalone .drawer .scrollable { top: 124px; } .ios.standalone .project { padding-top: 20px;/* * Add status bar overlay */ } .ios.standalone .project:before { content: " "; position: absolute; top: 0; left: 0; z-index: 4; width: 100%; height: 20px; } .ios.standalone .article { position: absolute; top: 76px; right: 0; bottom: 0; left: 0; } .ios.standalone .results .scrollable { top: 76px;/* [tablet portait+]: Increase vertical spacing */ } } @media only screen and (orientation: portrait) and (min-width: 720px) { .ios.standalone .header { height: 84px; padding-top: 28px; } .ios.standalone .results .scrollable { top: 84px; } } @media only screen and (max-width: 719px) { .bar .path { display: none; } } @media only screen and (max-width: 479px) { .button-github, .button-twitter { display: none; } } @media only screen and (min-width: 720px) and (max-width: 959px) { .header .stretch { padding: 0 24px; } } @media only screen and (min-width: 480px) { .pagination {/* * Previous and next page *//* * Previous page */ } .pagination .previous, .pagination .next { width: 50%; } .pagination .previous { width: 50%;/* * Show direction *//* * Show title */ } .pagination .previous .direction { display: block; } .pagination .previous .stretch { display: table; } } @media print {/* * Hide non-relevant elements */ .header, .project, .footer { display: none; }/* * Article */ .article {/* * Remove color in all code blocks *//* * Border-radius makes this table entirely black on paper, so scrap it */ } .article pre, .article pre * { color: rgba(0, 0, 0, 0.87) !important; } .article table { border-radius: none; box-shadow: none;/* * Color header */ } .article table th { color: #3f51b5; } }