{{ page.title }}
27 |-
29 |
- 30 | 33 | 34 | 37 | 40 |
54 |
55 |
56 |
├── .gitignore ├── .sass-cache ├── 88f7edb981d19799504f81b6bbb078c765b5fc15 │ ├── _animations.scssc │ ├── _colors.scssc │ ├── _content.scssc │ ├── _form.scssc │ ├── _global.scssc │ ├── _grid.scssc │ ├── _hero.scssc │ ├── _images.scssc │ ├── _mixins.scssc │ ├── _modal.scssc │ ├── _nav.scssc │ ├── _normalize.scssc │ ├── _responsive-utilities.scssc │ ├── _scaffolding.scssc │ ├── _typography.scssc │ ├── _utilities.scssc │ ├── _variables.scssc │ ├── _z-index.scssc │ └── main.scssc └── ad634c0802241c5e4565f39fb893017029e5f11d │ ├── _clearfix.scssc │ ├── _grid-framework.scssc │ ├── _grid.scssc │ ├── _responsive-visibility.scssc │ └── _vendor-prefixes.scssc ├── 404.html ├── LICENSE.md ├── README.md ├── _config.yml ├── _includes ├── comments.html ├── footer-scripts.html ├── footer.html ├── head.html ├── menu.html ├── metabar.html ├── modal.html ├── sidebar-nav.html ├── sidebar-toggle.html └── subscribe.html ├── _layouts ├── default.html └── post.html ├── _plugins └── url_encode.rb ├── _posts ├── 1928-11-18-debut.markdown ├── 1929-03-28-black-and-white-films.markdown ├── 1930-01-13-comics.markdown ├── 1932-11-18-color-films.markdown ├── 1983-12-16-television.markdown ├── 2014-11-28-mickey-mouse.markdown └── 2014-12-15-a-life-of-walt-disney.markdown ├── _scss ├── _animations.scss ├── _colors.scss ├── _content.scss ├── _form.scss ├── _global.scss ├── _grid.scss ├── _hero.scss ├── _images.scss ├── _mixins.scss ├── _modal.scss ├── _nav.scss ├── _normalize.scss ├── _responsive-utilities.scss ├── _scaffolding.scss ├── _typography.scss ├── _utilities.scss ├── _variables.scss ├── _z-index.scss ├── main.scss └── mixins │ ├── _clearfix.scss │ ├── _grid-framework.scss │ ├── _grid.scss │ ├── _responsive-visibility.scss │ └── _vendor-prefixes.scss ├── about └── index.html ├── assets ├── css │ ├── _14139e58-9ebe-4c0f-beca-73a65bb01ce9 │ │ ├── main.css │ │ └── main.min.css │ ├── main.css │ ├── main.min.css │ ├── prism-line-numbers.css │ └── prism-okaidia.css ├── images │ ├── buffer.svg │ ├── demo.png │ ├── dribbble--black.svg │ ├── facebook--black.svg │ ├── facebook.svg │ ├── favicon.ico │ ├── google+.svg │ ├── heart.svg │ ├── hero │ │ ├── mickey-1929.jpg │ │ ├── mickey-1940.jpg │ │ ├── mickey-comics.jpg │ │ ├── mickey-mouse.jpg │ │ ├── mickey-tv.jpg │ │ ├── steamboat.jpg │ │ └── walt-disney.jpg │ ├── kiva--black.svg │ ├── linkedin--black.svg │ ├── linkedin.svg │ ├── logo-black.svg │ ├── logo-text-black.svg │ ├── logo-text-white.svg │ ├── logo-white.svg │ ├── pinterest--black.svg │ ├── pocket.svg │ ├── posts │ │ └── walt-childhood.jpg │ ├── rss--black.svg │ ├── thumbnail │ │ ├── mickey-1929.jpg │ │ ├── mickey-1940.jpg │ │ ├── mickey-comics.jpg │ │ ├── mickey-mouse.jpg │ │ ├── mickey-tv.jpg │ │ ├── steamboat.jpg │ │ └── walt-disney.jpg │ ├── twitter--black.svg │ ├── twitter.svg │ └── ycombinator.svg └── javascripts │ ├── imagesloaded.pkgd.min.js │ ├── plugins │ └── prism-line-numbers.min.js │ └── prism.js ├── feed.xml ├── gulpfile.js ├── humans.txt ├── index.html └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | 4 | # node 5 | node_modules 6 | -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_animations.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_animations.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_colors.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_colors.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_content.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_content.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_form.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_form.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_global.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_global.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_grid.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_hero.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_hero.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_images.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_images.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_mixins.scssc: -------------------------------------------------------------------------------- 1 | 3.4.16 (Selective Steve) 2 | 660a378850538f25f62914f9b55b1232848dbab3 3 | o:Sass::Tree::RootNode:@children[ o:Sass::Tree::CommentNode 4 | :@value[I"d/* 5 | * Mixins 6 | * -------------------------------------------------- 7 | * 8 | * Credit: Bootstrap 3 */:ET: 9 | @type:silent;[ : 10 | @linei: @options{ o; 11 | ;[I"/* Utilities */; T; 12 | ;;[ ;i; @o:Sass::Tree::ImportNode:@imported_filenameI"!mixins/responsive-visibility; T;[ :@template0;i :@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position;i :@offseti: @end_poso;;i ;i,: 13 | @fileI"_scss/_mixins.scss; T:@importero: Sass::Importers::Filesystem: 14 | @rootI"'/Users/Vincent/Dropbox/Code/mickey; T:@real_rootI"'/Users/Vincent/Dropbox/Code/mickey; T:@same_name_warningso:Set: 15 | @hash{ ; @:@imported_file0o;;I"mixins/vendor-prefixes; T;[ ;0;i;o; ;o;;i;i;o;;i;i&;@;@; @;0o; 16 | ;[I"/* Layout */; T; 17 | ;;[ ;i; @o;;I"mixins/clearfix; T;[ ;0;i;o; ;o;;i;i;o;;i;i;@;@; @;0o;;I"mixins/grid-framework; T;[ ;0;i;o; ;o;;i;i;o;;i;i%;@;@; @;0o;;I"mixins/grid; T;[ ;0;i;o; ;o;;i;i;o;;i;i;@;@; @;0;I"// 18 | // Mixins 19 | // -------------------------------------------------- 20 | // 21 | // Credit: Bootstrap 3 22 | 23 | // Utilities 24 | @import "mixins/responsive-visibility"; 25 | @import "mixins/vendor-prefixes"; 26 | 27 | // Layout 28 | @import "mixins/clearfix"; 29 | @import "mixins/grid-framework"; 30 | @import "mixins/grid";; T;i;o; ;o;;i;i;o;;i;i;@;@:@has_childrenT; @ -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_modal.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_modal.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_nav.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_nav.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_normalize.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_normalize.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_responsive-utilities.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_responsive-utilities.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_scaffolding.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_scaffolding.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_typography.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_typography.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_utilities.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_utilities.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_variables.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_variables.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_z-index.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/_z-index.scssc -------------------------------------------------------------------------------- /.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/main.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/88f7edb981d19799504f81b6bbb078c765b5fc15/main.scssc -------------------------------------------------------------------------------- /.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_clearfix.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_clearfix.scssc -------------------------------------------------------------------------------- /.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_grid-framework.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_grid-framework.scssc -------------------------------------------------------------------------------- /.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_grid.scssc -------------------------------------------------------------------------------- /.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_responsive-visibility.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_responsive-visibility.scssc -------------------------------------------------------------------------------- /.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_vendor-prefixes.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vincentchan/mickey/7cb10416d3081b117b779d3e2f0260b57875f0c3/.sass-cache/ad634c0802241c5e4565f39fb893017029e5f11d/_vendor-prefixes.scssc -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Oops... 4 | --- 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # Released under MIT License 2 | 3 | Copyright (c) 2015 Vincent Chan. 4 | 5 | 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: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | 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 NONINFRINGEMENT. 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. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mickey 2 | 3 | Mickey is a minimal one-column, responsive theme for [Jekyll](http://jekyllrb.com). 4 | 5 | It's inspired by [Hyde](http://hyde.getpoole.com), [Medium](http://medium.com), and [Squarespace](http://squarespace.com). 6 | 7 |  8 | 9 | See Mickey in action with [the demo site](http://vincentchan.github.io/mickey) or [my personal blog](http://aneverendingdream.com). 10 | 11 | ## Contents 12 | 13 | - [Installation](#installation) 14 | - [Options](#options) 15 | - [Post front matter](#post-front-matter) 16 | - [Identity](#identity) 17 | - [Typography](#typography) 18 | - [Images](#images) 19 | - [Development](#development) 20 | - [Author](#author) 21 | - [License](#license) 22 | 23 | ## Installation 24 | 25 | Mickey requires [Jekyll](http://jekyllrb.com/) 2.x. and [Gulp](http://gulpjs.com/) for workflow automation. 26 | 27 | Make sure to run `gem update jekyll` if you aren’t on the latest version or `gem install jekyll` if this is your first time installing it. 28 | 29 | If you want to use Mickey, please follow these steps: 30 | 31 | 1. Fork the [Mickey](https://github.com/vincentchan/mickey) repo. 32 | 2. Clone the repo you just forked and rename it. 33 | 3. Run `npm install` to install the dependencies for the theme contained in `package.json` 34 | 4. Update `_config.yml` with your own info and replace demo posts and pages with your own. Full details below. 35 | 36 | ## Options 37 | 38 | Mickey includes some customizable options: 39 | 40 | ### Post front matter 41 | 42 | By default, we use the following: 43 | 44 | ``` 45 | --- 46 | layout: post 47 | title: "your post title" 48 | date: 2015-02-11T13:04:19+05:45 # XML Schema Date/Time 49 | last_modified_at: 2015-03-15T05:20:00+05:45 # last page modified date/time 50 | excerpt: "for meta description" # Optional for overwriting content excerpt 51 | categories: your post categories # ["category1"] - best is to have one category in a post 52 | tags: your post tags # ["tag1", "tag2", "tag3"] - you can have several post tags 53 | image: 54 | feature: your post featured image file name # image.jpg, suggested size: 2000x700px 55 | topPosition: 0px # top position for featured image if needed 56 | bgContrast: dark # Featured image contrast 57 | bgGradientOpacity: darker # darker or lighter - control featured image opacity 58 | --- 59 | ``` 60 | 61 | ### Identity 62 | 63 | To replace logos with your own, simply update the following files in `assets/images/`: 64 | 65 | - `logo-white.svg` 66 | - `logo-black.svg` 67 | - `logo-text-white.svg` 68 | - `logo-text-black.svg` 69 | 70 | ### Typography 71 | 72 | Vertical rhythm and spacing are mostly handled by [typebase.css](http://devinhunt.github.io/typebase.css/). If you want to change any settings related to typography (e.g. fonts, type scale...etc), please do it in `_scss/_typography.scss` 73 | 74 | #### Blockquote 75 | 76 | We have two types of blockquote design: 77 | 78 | ```html 79 | // For large featured quote 80 |
...81 | 82 | // For normal quote 83 | // Use 'u--startsWithDoubleQuote' class only when the quote starts with a double quote 84 | 85 | ``` 86 | 87 | #### Hanging quotes 88 | 89 | If a paragraph starts with a quotation market, please add the following to support [hanging quotes](https://en.wikipedia.org/wiki/Hanging_punctuation): 90 | 91 | ```html 92 |
93 | ... 94 |
95 | ``` 96 | 97 | ### Images 98 | 99 | To maintain vertical rhythm and spacing, I suggest using the following CSS class (e.g. `img--5xLeading`...`img--16xLeading`) to control the image height: 100 | 101 | ```html 102 | 103 | ``` 104 | 105 | You can reference `_scss/_images.scss` for details. 106 | 107 | ## Development 108 | 109 | Mickey has two branches, but only one is used for active development. 110 | 111 | - `master` for development. **All pull requests should be submitted against `master`.** 112 | - `gh-pages` for our hosted landing page. **Please avoid using this branch.** 113 | 114 | During development, simply run `gulp` in terminal and it will compile the jekyll site, compile Sass, create post thumbnails, launch BrowserSync & watch files for changes and recompile. 115 | 116 | Source Sass files are located in `_scss/`, included into `main.scss`, and compile to `assets/css/main.css`. 117 | 118 | Post thumbnails are automatically resized via Gulp's image resize package, and moved to `assets/images/thumbnails`. Any featured images you put in `assets/images/hero` will be automatically created 119 | 120 | ## Author 121 | 122 | **Vincent Chan** 123 | -5 | Hi, I'm Your Name. A short description of your blog. Mickey is a minimal one-column theme for Jekyll. It's designed and developed by @VincentChan. 6 |
7 | 26 |“Don't Stress Over Anything You Can't Change.”23 | 24 | Beginning in 1930, Mickey has also been featured extensively as a comic strip character. His self-titled newspaper strip, drawn primarily by Floyd Gottfredson, ran for 45 years. Mickey has also appeared in comic books and in television series such as The Mickey Mouse Club (1955–1996) and others. He also appears in other media such as video games as well as merchandising, and is a meetable character at the Disney parks. 25 | 26 | Mickey generally appears alongside his girlfriend Minnie Mouse, his pet dog Pluto, his friends Donald Duck, and Goofy, and his nemesis Pete, among others (see Mickey Mouse universe). Originally characterized as a mischievous antihero, Mickey's increasing popularity led to his being rebranded as an everyman, usually seen as a flawed, but adventurous hero. In 2009, Disney began to rebrand the character again by putting less emphasis on his pleasant, cheerful side and reintroducing the more mischievous and adventurous sides of his personality, beginning with the video game Epic Mickey. 27 | -------------------------------------------------------------------------------- /_posts/2014-12-15-a-life-of-walt-disney.markdown: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "A Life of Walt Disney" 4 | date: 2014-12-15 01:00:00 5 | last_modified_at: 2014-12-15 01:00:00 6 | excerpt: "Walter Elias Disney was an American entrepreneur, cartoonist, animator, voice actor, and film producer. As a prominent..." 7 | categories: history 8 | tags: disney 9 | image: 10 | feature: walt-disney.jpg 11 | topPosition: 0px 12 | bgContrast: dark 13 | bgGradientOpacity: darker 14 | syntaxHighlighter: no 15 | --- 16 | Source: [Wikipedia](https://en.wikipedia.org/wiki/Walt_Disney) 17 | 18 | Walter Elias "Walt" Disney (/ˈdɪzni/; December 5, 1901 – December 15, 1966) was an American entrepreneur, cartoonist, animator, voice actor, and film producer. As a prominent figure within the American animation industry and throughout the world, he is regarded as a cultural icon, known for his influence and contributions to entertainment during the 20th century. As a Hollywood business mogul, he and his brother Roy O. Disney co-founded The Walt Disney Company. 19 | 20 |
- Mickey Mouse
“All our dreams can come true, if we have the courage to pursue them.” - Walt Disney21 | 22 | As an animator and entrepreneur, Disney was particularly noted as a filmmaker and a popular showman, as well as an innovator in animation and theme park design. He and his staff created numerous famous fictional characters including Mickey Mouse, Donald Duck, and Goofy. Disney himself was the original voice for Mickey. During his lifetime, he won 22 Academy Awards and received four honorary Academy Awards from a total of 59 nominations, including a record of four in one year, giving him more Oscar awards and nominations than any other individual in history. 23 | 24 | Disney died from lung cancer on December 15, 1966, in Burbank, California. He left behind a vast legacy, including numerous animated shorts and feature films produced during his lifetime; the company, parks, and animation studio that bear his name; and the California Institute of the Arts (CalArts). 25 | 26 | #### Childhood 27 | 28 | 29 | 30 | Disney was born on December 5, 1901, at 2156 North Tripp Avenue in Chicago's Hermosa community area, to Elias Charles Disney, who was Irish-Canadian, and Flora Call Disney, who was of German and English descent. His great-grandfather, Arundel Elias Disney, had emigrated from Gowran, County Kilkenny, Ireland where he was born in 1801. Arundel Disney was a descendant of Robert d'Isigny, a Frenchman who had travelled to England with William the Conqueror in 1066. With the d'Isigny name anglicized as "Disney", the family settled in the English village now known as Norton Disney, south of the city of Lincoln, in the county of Lincolnshire. 31 | 32 | In 1878 Disney's father, Elias Charles Disney, had moved from Huron County, Ontario, Canada to the United States, at first seeking gold in California before finally settling down to farm with his parents near Ellis, Kansas, until 1884. Elias married Flora Call on January 1, 1888, in Acron, Florida, just 40 miles north of where Walt Disney World would ultimately be developed. The family moved to Chicago, Illinois in 1890, hometown of Elias' brother Robert, who helped Elias financially for most of Walt's early life. In 1906, when Walt was four, Elias and his family moved to a farm in Marceline, Missouri, where his elder brother Roy had recently purchased farmland. 33 | 34 |
“Mickey Mouse popped out of my mind onto a drawing pad 20 years ago on a train ride from Manhattan to Hollywood at a time when business fortunes of my brother Roy and myself were at lowest ebb and disaster seemed right around the corner.”35 | 36 | #### Teenage years 37 | 38 | In 1917 Elias acquired shares in the O-Zell jelly factory in Chicago and moved his family back to the city.[24] In the fall Disney began his freshman year at McKinley High School and took night courses at the Chicago Academy of Fine Arts under the tutelage of artist and educator Louis Grell (1887–1960). He became the cartoonist for the school newspaper, drawing patriotic topics on World War I. With a hope to join the army, Disney dropped out of high school at the age of sixteen, but was rejected for being under-age.[26] Afterwards, Disney and a friend joined the Red Cross.[27] He was soon sent to France for a year, where he drove an ambulance, but only after the armistice was signed on November 11, 1918. 39 | 40 |
- Walt Disney
“Hoping to find work outside the Chicago O-Zell factory, Walt moved back to Kansas City in 1919 to begin his artistic career.” He considered becoming an actor, but decided to draw political caricatures or comic strips for a newspaper. When nobody wanted to hire him as either an artist or as an ambulance driver, his brother Roy, then working in a local bank, got Walt a temporary job through a bank colleague at the Pesmen-Rubin Art Studio, where he created advertisements for newspapers, magazines, and movie theaters. At Pesmen-Rubin he met cartoonist Ubbe Iwerks and, when their time at the studio expired, they decided to start their own commercial company together.
41 | -------------------------------------------------------------------------------- /_scss/_animations.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Animations 3 | // -------------------------------------------------- 4 | 5 | @mixin transition($speed, $prop:all, $ease:ease-in) { 6 | -webkit-transition: $prop $speed $ease; 7 | -moz-transition: $prop $speed $ease; 8 | -ms-transition: $prop $speed $ease; 9 | -o-transition: $prop $speed $ease; 10 | transition: $prop $speed $ease; 11 | } 12 | 13 | .animate { 14 | transition: all .5s cubic-bezier(0.23, 1, 0.32, 1); 15 | } 16 | 17 | .scaleIn { 18 | transform: scale(0); 19 | } 20 | -------------------------------------------------------------------------------- /_scss/_colors.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Colors 3 | // -------------------------------------------------- 4 | 5 | $gray-darker: lighten(#000, 13.5%) !default; // #222 6 | $gray-dark: lighten(#000, 20%) !default; // #333 7 | $gray: lighten(#000, 33.5%) !default; // #555 8 | $gray-light: lighten(#000, 46.7%) !default; // #777 9 | $gray-lighter: lighten(#000, 93.5%) !default; // #eee 10 | 11 | $white: #fff; 12 | $black: #222; 13 | 14 | $brand-primary: #428bca !default; 15 | $brand-success: #5cb85c !default; 16 | $brand-info: #5bc0de !default; 17 | $brand-warning: #f0ad4e !default; 18 | $brand-danger: #d9534f !default; 19 | 20 | $body-bg: #fff !default; 21 | $frontpage-body-bg: #f2f2f2 !default; 22 | $text-color: rgba(0,0,0,0.8) !default; 23 | 24 | $link-color: $text-color !default; 25 | $link-hover-color: darken($link-color, 15%) !default; 26 | 27 | $metabar-top-bg: #eee !default; 28 | 29 | $hero-gradient: $gray-dark; 30 | -------------------------------------------------------------------------------- /_scss/_content.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Content 3 | // -------------------------------------------------- 4 | 5 | // Post 6 | .postWrapper { 7 | position: relative; 8 | width: 100%; 9 | z-index: $zIndex-4--post-wrapper; 10 | -webkit-transition: padding 100ms cubic-bezier(0.565, 1, 0.765, 0.88); 11 | -webkit-transition: padding 100ms cubic-bezier(0.565, 1.65, 0.765, 0.88); 12 | -moz-transition: padding 100ms cubic-bezier(0.565, 1.65, 0.765, 0.88); 13 | -o-transition: padding 100ms cubic-bezier(0.565, 1.65, 0.765, 0.88); 14 | transition: padding 100ms cubic-bezier(0.565, 1.65, 0.765, 0.88); 15 | 16 | @media (max-width: $screen-xs-max) { 17 | overflow-y: hidden; 18 | } 19 | } 20 | 21 | .meta { 22 | margin-bottom: 2 * $leading; 23 | } 24 | 25 | // Blocks 26 | .section--postsWrapper { 27 | width: 100%; 28 | background: $frontpage-body-bg; 29 | padding-top: 0; 30 | position: relative; 31 | clear: both; 32 | z-index: $zIndex-4--posts-wrapper; 33 | } 34 | 35 | .blockGroup { 36 | margin: 0; 37 | padding: 0; 38 | } 39 | 40 | // Inspired by Squareup.com 41 | 42 | .blockGroup-list { 43 | list-style: none; 44 | padding: 0; 45 | margin-top: -3*$leading; 46 | margin-left: -10px; 47 | margin-right: -10px; 48 | display: -webkit-box; 49 | display: -webkit-flex; 50 | display: -ms-flexbox; 51 | display: flex; 52 | -webkit-flex-wrap: wrap; 53 | -ms-flex-wrap: wrap; 54 | flex-wrap: wrap; 55 | -webkit-box-align: stretch; 56 | -webkit-align-items: stretch; 57 | -ms-flex-align: stretch; 58 | align-items: stretch; 59 | clear: both; 60 | 61 | li { 62 | padding: 0 10px; 63 | } 64 | 65 | .block { 66 | display: block; 67 | width: 25%; 68 | margin-bottom: $leading; 69 | font-family: $title-secondary-font; 70 | display: -webkit-flex; 71 | display: -ms-flexbox; 72 | display: flex; 73 | 74 | @media (max-width: $screen-xs-max) { 75 | width: 100%; 76 | } 77 | } 78 | 79 | li:nth-child(1).block { 80 | width: 100%; 81 | 82 | .postArticle-image { 83 | padding-top: 30%; 84 | 85 | @media (max-width: $screen-xs-max) { 86 | padding-top: 50%; 87 | } 88 | } 89 | 90 | .postArticle-title { 91 | font-size: $font-S; 92 | } 93 | } 94 | 95 | li:nth-child(2).block, 96 | li:nth-child(3).block { 97 | width: 50%; 98 | 99 | .postArticle-image { 100 | padding-top: 50%; 101 | } 102 | 103 | .postArticle-title { 104 | font-size: $font-S; 105 | } 106 | 107 | @media (max-width: $screen-xs-max) { 108 | width: 100%; 109 | } 110 | } 111 | 112 | li { 113 | 114 | .postArticle-title { 115 | font-size: $font-XS; 116 | line-height: 1.5; 117 | } 118 | } 119 | 120 | .postArticle-wrapper { 121 | position: relative; 122 | background: $white; 123 | width: 100%; 124 | padding-bottom: 2*$leading; 125 | box-shadow: 0 1px 4px rgba(0,0,0,.2); 126 | 127 | &:hover { 128 | transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1); 129 | box-shadow: 0 4px 10px 1px rgba(0,0,0,.2); 130 | } 131 | } 132 | 133 | .postArticle a { 134 | color: $black; 135 | background: transparent; 136 | } 137 | 138 | .postArticle-title { 139 | display: block; 140 | margin-top: 0.5*$leading; 141 | font-weight: 300; 142 | } 143 | 144 | .postArticle-image { 145 | background-size: cover; 146 | background-position: center; 147 | padding-top: 100%; 148 | -webkit-transition-property: all, left, top, width; 149 | -webkit-transition-duration: .5s, .1s, .1s, .1s; 150 | -webkit-transition-timing-function: cubic-bezier(.33,0,.2,1); 151 | -webkit-transition-delay: 0; 152 | -moz-transition-property: all, left, top, width; 153 | -moz-transition-duration: .5s, .1s, .1s, .1s; 154 | -moz-transition-timing-function: cubic-bezier(.33,0,.2,1); 155 | -moz-transition-delay: 0; 156 | -ms-transition-property: all, left, top, width; 157 | -ms-transition-duration: .5s, .1s, .1s, .1s; 158 | -ms-transition-timing-function: cubic-bezier(.33,0,.2,1); 159 | -ms-transition-delay: 0; 160 | -o-transition-property: all, left, top, width; 161 | -o-transition-duration: .5s, .1s, .1s, .1s; 162 | -o-transition-timing-function: cubic-bezier(.33,0,.2,1); 163 | -o-transition-delay: 0; 164 | transition-property: all, left, top, width; 165 | transition-duration: .5s, .1s, .1s, .1s; 166 | transition-timing-function: cubic-bezier(.33,0,.2,1); 167 | 168 | @media (max-width: $screen-xs-max) { 169 | padding-top: 50%; 170 | } 171 | } 172 | 173 | .block-postMeta { 174 | position: absolute; 175 | bottom: 0; 176 | padding-bottom: 10px; 177 | color: #ccc; 178 | font-size: 16px; 179 | text-transform: uppercase; 180 | } 181 | 182 | .postArticle-title, 183 | .block-postMeta { 184 | padding-left: 15px; 185 | padding-right: 15px; 186 | } 187 | } 188 | 189 | .desaturate { 190 | opacity: 0.8; 191 | -moz-filter: contrast(1.5) url("data:image/svg+xml;utf8,#grayscale"); 192 | -o-filter: contrast(1.5) url("data:image/svg+xml;utf8,#grayscale"); 193 | -webkit-filter: contrast(1.5) grayscale(100%); 194 | filter: gray; 195 | filter: contrast(1.5) url("data:image/svg+xml;utf8,#grayscale"); 196 | } 197 | 198 | .block:hover .desaturate { 199 | filter: none; 200 | } 201 | 202 | // Newsletter subscription area 203 | .section--subscribe { 204 | width: 100%; 205 | background: $white; 206 | padding: $leading 0 0; 207 | position: relative; 208 | z-index: $zIndex-4--posts-wrapper; 209 | 210 | h3 { 211 | margin-top: $leading; 212 | } 213 | } 214 | 215 | .newsletterForm-wrapper { 216 | padding: $leading 0; 217 | } 218 | 219 | // Footer 220 | .section--footer { 221 | width: 100%; 222 | background: $white; 223 | padding: $leading 0 2*$leading; 224 | position: relative; 225 | z-index: $zIndex-4--posts-wrapper; 226 | font-family: $title-secondary-font; 227 | font-size: $font-XS; 228 | text-align: center; 229 | 230 | a:not(.socialAccount) { 231 | background-position: 0 16px; 232 | } 233 | } 234 | 235 | .socialAccountList { 236 | @include clearfix(); 237 | list-style: none; 238 | margin: $leading auto; 239 | padding-left: 0; 240 | width: 50%; 241 | } 242 | 243 | .socialAccount { 244 | display: block; 245 | float: left; 246 | margin: 0; 247 | padding: 0 15px; 248 | width: 14.2%; 249 | height: 25px; 250 | text-decoration: none; 251 | background-repeat: no-repeat; 252 | background-position: center center; 253 | background-size: contain; 254 | opacity: 0.8; 255 | 256 | &:hover { 257 | opacity: 1; 258 | } 259 | } 260 | 261 | .socialAccount--twitter { 262 | background-image: url(../images/twitter--black.svg); 263 | } 264 | 265 | .socialAccount--facebook { 266 | background-image: url(../images/facebook--black.svg); 267 | } 268 | 269 | .socialAccount--linkedin { 270 | background-image: url(../images/linkedin--black.svg); 271 | } 272 | 273 | .socialAccount--dribbble { 274 | background-image: url(../images/dribbble--black.svg); 275 | } 276 | 277 | .socialAccount--pinterest { 278 | background-image: url(../images/pinterest--black.svg); 279 | } 280 | 281 | .socialAccount--kiva { 282 | background-image: url(../images/kiva--black.svg); 283 | } 284 | 285 | .socialAccount--rss { 286 | background-image: url(../images/rss--black.svg); 287 | } 288 | 289 | // Sections 290 | 291 | //// Post content area 292 | .section--last { 293 | position: relative; 294 | clear: both; 295 | padding: 1*$leading 0 4*$leading; 296 | background: $white; 297 | } 298 | 299 | .content-author { 300 | border-top: 1px solid $gray-lighter; 301 | margin-top: 2*$leading; 302 | padding-top: 1*$leading; 303 | } 304 | 305 | .content-comments { 306 | margin-top: 2*$leading; 307 | } 308 | 309 | //// Post footer area 310 | .postFooter { 311 | text-align: center; 312 | } 313 | 314 | .section--prePost { 315 | width: 100%; 316 | top: 0; 317 | position: relative; 318 | } 319 | 320 | .section--prePost .section-title a { 321 | background: transparent; 322 | color: rgba($white, 0.9); 323 | 324 | &:hover { 325 | color: rgba($white, 1); 326 | } 327 | } 328 | 329 | .section--prePost .section-title h2 { 330 | margin: $leading auto 0; 331 | display: inline-block; 332 | } 333 | 334 | .section--prePost, 335 | .section--prePost .section-backgroundImage { 336 | height: 11 * $leading; 337 | } 338 | 339 | .section--prePost .section-backgroundImage img { 340 | min-height: 11 * $leading; 341 | position: relative !important; 342 | top: 0; 343 | } 344 | -------------------------------------------------------------------------------- /_scss/_form.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form 3 | // -------------------------------------------------- 4 | 5 | .textInput { 6 | border: 1px solid rgba(0,0,0,0.15); 7 | padding: 0 15px; 8 | height: 35px; 9 | width: 100%; 10 | font-size: 14px; 11 | outline: none; 12 | background: $white; 13 | appearance: none; 14 | -webkit-tap-highlight-color: rgba(0,0,0,0); 15 | border-radius: 4px; 16 | font-family: $title-secondary-font; 17 | font-weight: 300; 18 | } 19 | 20 | .textInput--large { 21 | height: 45px; 22 | font-size: 16px; 23 | } 24 | 25 | .button { 26 | display: inline-block; 27 | text-align: center; 28 | white-space: nowrap; 29 | vertical-align: middle; 30 | cursor: pointer; 31 | -webkit-user-select: none; 32 | -moz-user-select: none; 33 | -ms-user-select: none; 34 | user-select: none; 35 | outline: none; 36 | background: transparent; 37 | border-radius: 99px; 38 | font-family: $title-secondary-font; 39 | letter-spacing: .02em; 40 | padding: 10px 40px 9px 40px; 41 | margin-top: $leading; 42 | border: 2px solid rgba($gray-light, .8); 43 | color: $gray-light; 44 | text-decoration: none; 45 | text-transform: uppercase; 46 | 47 | &:hover { 48 | border-color: $gray-light; 49 | } 50 | 51 | @media (max-width: $screen-xs-max) { 52 | font-size: 14px; 53 | } 54 | } 55 | 56 | .button--primary { 57 | border: 2px solid rgba($black, .8); 58 | color: $black; 59 | 60 | &:hover { 61 | border-color: $black; 62 | } 63 | } 64 | 65 | .button--large { 66 | 67 | } 68 | -------------------------------------------------------------------------------- /_scss/_global.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Global 3 | // -------------------------------------------------- 4 | 5 | html, 6 | body { 7 | overflow-x: hidden; 8 | 9 | @media (max-width: $screen-xs-max) { 10 | padding-right: 0; 11 | } 12 | } 13 | 14 | .brandLogo { 15 | background-image: url(../images/logo-white.svg); 16 | background-size: contain; 17 | background-repeat: no-repeat; 18 | background-position: 0 0; 19 | padding: 0; 20 | text-indent: -100em; 21 | overflow: hidden; 22 | } 23 | 24 | .brandLogo--small { 25 | width: 44px; 26 | height: 44px; 27 | } 28 | 29 | .brandLogo--black { 30 | background-image: url(../images/logo-black.svg); 31 | } 32 | 33 | .textLogo { 34 | display: block; 35 | background-image: url(../images/logo-text-black.svg); 36 | background-size: contain; 37 | background-repeat: no-repeat; 38 | background-position: 0 0; 39 | padding: 0; 40 | text-indent: -100em; 41 | overflow: hidden; 42 | } 43 | 44 | .textLogo--white { 45 | background-image: url(../images/logo-text-white.svg); 46 | } 47 | 48 | .textLogo--sidebar { 49 | width: 100%; 50 | height: auto; 51 | background-size: contain; 52 | background-position: center; 53 | opacity: 0.8; 54 | 55 | &:hover { 56 | opacity: 1; 57 | } 58 | } 59 | 60 | .textLogo--frontpage { 61 | position: absolute; 62 | top: 132px; 63 | left: 50%; 64 | transform: translateX(-50%); 65 | z-index: $zIndex-5--textlogo-frontpage; 66 | margin: 0; 67 | width: 276px; 68 | height: 50px; 69 | background-size: 100%; 70 | background-position: 0; 71 | opacity: 0.9; 72 | 73 | @media (max-width: $screen-xs-max) { 74 | width: 182px; 75 | height: 33px; 76 | top: 99px; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /_scss/_grid.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Bootstrap 3 6 | 7 | // Container widths 8 | // 9 | // Set the container width, and override it for fixed navbars in media queries. 10 | 11 | .container { 12 | @include container-fixed(); 13 | 14 | @media (min-width: $screen-sm-min) { 15 | width: $container-sm; 16 | } 17 | @media (min-width: $screen-md-min) { 18 | width: $container-md; 19 | } 20 | @media (min-width: $screen-lg-min) { 21 | width: $container-lg; 22 | } 23 | } 24 | 25 | 26 | // Fluid container 27 | // 28 | // Utilizes the mixin meant for fixed width containers, but without any defined 29 | // width for fluid, full width layouts. 30 | 31 | .container-fluid { 32 | @include container-fixed(); 33 | } 34 | 35 | 36 | // Row 37 | // 38 | // Rows contain and clear the floats of your columns. 39 | 40 | .row { 41 | @include make-row(); 42 | } 43 | 44 | 45 | // Columns 46 | // 47 | // Common styles for small and large grid columns 48 | 49 | @include make-grid-columns(); 50 | 51 | 52 | // Extra small grid 53 | // 54 | // Columns, offsets, pushes, and pulls for extra small devices like 55 | // smartphones. 56 | 57 | @include make-grid(xs); 58 | 59 | 60 | // Small grid 61 | // 62 | // Columns, offsets, pushes, and pulls for the small device range, from phones 63 | // to tablets. 64 | 65 | @media (min-width: $screen-sm-min) { 66 | @include make-grid(sm); 67 | } 68 | 69 | 70 | // Medium grid 71 | // 72 | // Columns, offsets, pushes, and pulls for the desktop device range. 73 | 74 | @media (min-width: $screen-md-min) { 75 | @include make-grid(md); 76 | } 77 | 78 | 79 | // Large grid 80 | // 81 | // Columns, offsets, pushes, and pulls for the large desktop device range. 82 | 83 | @media (min-width: $screen-lg-min) { 84 | @include make-grid(lg); 85 | } -------------------------------------------------------------------------------- /_scss/_hero.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Hero area 3 | // -------------------------------------------------- 4 | 5 | .section--first { 6 | width: 100%; 7 | top: 0; 8 | position: relative; 9 | color: $black; 10 | } 11 | 12 | .section--first, 13 | .section-backgroundImage { 14 | height: 19 * $leading; 15 | 16 | @media (max-width: $screen-xs-max) { 17 | height: 14 * $leading; 18 | } 19 | } 20 | 21 | .section--frontpage, 22 | .section--frontpage ~ .post-featuredImage { 23 | height: 12 * $leading; 24 | 25 | @media (max-width: $screen-xs-max) { 26 | height: 10 * $leading; 27 | } 28 | } 29 | 30 | .section--about, 31 | .section-backgroundImage, 32 | .section--about ~ .post-featuredImage { 33 | height: 24 * $leading; 34 | 35 | @media (max-width: $screen-xs-max) { 36 | height: 20 * $leading; 37 | } 38 | } 39 | 40 | // Inspired by SQUARESPACE 41 | 42 | .section-backgroundImage { 43 | position: absolute; 44 | display: block; 45 | width: 100%; 46 | background: #333; 47 | top: 0; 48 | z-index: $zIndex-neg2--carousel-backgroundImg; 49 | overflow: hidden; 50 | 51 | .post-featuredImage { 52 | min-width: 100%; 53 | min-height: 19 * $leading; 54 | width: 2000px; 55 | height: auto; 56 | position: fixed; 57 | left: 50%; 58 | transform: translateX(-50%); 59 | opacity: 0; 60 | -webkit-transition-property: opacity, left, top, width; 61 | -webkit-transition-duration: 1s, .1s, .1s, .1s; 62 | -webkit-transition-timing-function: cubic-bezier(.33,0,.2,1); 63 | -webkit-transition-delay: 0; 64 | -moz-transition-property: opacity, left, top, width; 65 | -moz-transition-duration: 1s, .1s, .1s, .1s; 66 | -moz-transition-timing-function: cubic-bezier(.33,0,.2,1); 67 | -moz-transition-delay: 0; 68 | -ms-transition-property: opacity, left, top, width; 69 | -ms-transition-duration: 1s, .1s, .1s, .1s; 70 | -ms-transition-timing-function: cubic-bezier(.33,0,.2,1); 71 | -ms-transition-delay: 0; 72 | -o-transition-property: opacity, left, top, width; 73 | -o-transition-duration: 1s, .1s, .1s, .1s; 74 | -o-transition-timing-function: cubic-bezier(.33,0,.2,1); 75 | -o-transition-delay: 0; 76 | transition-property: opacity, left, top, width; 77 | transition-duration: 1s, .1s, .1s, .1s; 78 | transition-timing-function: cubic-bezier(.33,0,.2,1); 79 | -transition-delay: 0; 80 | 81 | &.is-loaded { 82 | opacity: 1; 83 | } 84 | } 85 | } 86 | 87 | .section-backgroundImage--previousPage img { 88 | position: relative; 89 | } 90 | 91 | .section-gradient { 92 | 93 | &:before, 94 | &:after { 95 | content: ''; 96 | height: 100%; 97 | width: 100%; 98 | top: 0; 99 | left: 0; 100 | position: absolute; 101 | z-index: $zIndex-neg1--section-gradient; 102 | opacity: 0.6; 103 | } 104 | 105 | &:before { 106 | background: -webkit-gradient(linear,left top,left bottom,from(rgba($hero-gradient,.8)),color-stop(100%,rgba($hero-gradient,0))); 107 | background: -webkit-linear-gradient(top,rgba($hero-gradient,.8),rgba($hero-gradient,0) 100%); 108 | background: linear-gradient(to bottom,rgba($hero-gradient,.8),rgba($hero-gradient,0) 100%); 109 | } 110 | 111 | &:after { 112 | background: rgba($hero-gradient,.6); 113 | } 114 | } 115 | 116 | .section-gradient--darker { 117 | 118 | &:before, 119 | &:after { 120 | opacity: 1; 121 | } 122 | } 123 | 124 | .section-gradient--lighter { 125 | 126 | &:before, 127 | &:after { 128 | opacity: 0.4; 129 | } 130 | } 131 | 132 | .section-title { 133 | z-index: $zIndex-1--section-title; 134 | text-align: center; 135 | } 136 | 137 | .section-title h2, 138 | .section-title h4 { 139 | margin-top: 0; 140 | } 141 | 142 | .section-title h2 { 143 | @media (max-width: $screen-xs-max) { 144 | font-size: $font-L; 145 | line-height: 1.5; 146 | } 147 | } 148 | 149 | .postMeta-wrapper { 150 | margin-top: $leading; 151 | display: inline-block; 152 | } 153 | 154 | .postMeta-wrapper--frontpage { 155 | position: absolute; 156 | display: inherit; 157 | top: 165px; 158 | left: 50%; 159 | transform: translateX(-50%); 160 | z-index: $zIndex-5--tagline-frontpage; 161 | 162 | .postMeta-tagline { 163 | font-weight: 300; 164 | letter-spacing: 0.04rem; 165 | color: $gray-light; 166 | text-transform: none; 167 | 168 | @media (max-width: $screen-xs-max) { 169 | width: 100%; 170 | } 171 | } 172 | 173 | @media (max-width: $screen-xs-max) { 174 | width: 300px; 175 | top: 100px; 176 | } 177 | } 178 | 179 | .postMeta { 180 | list-style: none; 181 | margin: 0; 182 | padding: 0; 183 | } 184 | 185 | .postMeta li { 186 | float: left; 187 | margin: 0; 188 | padding: 0 0 0 10px; 189 | font-family: $title-secondary-font; 190 | font-weight: 700; 191 | font-size: $font-XS; 192 | text-transform: uppercase; 193 | letter-spacing: 2px; 194 | 195 | &:after { 196 | content: ''; 197 | display: inline-block; 198 | width: 4px; 199 | height: 4px; 200 | overflow: hidden; 201 | margin-left: 4px; 202 | border-radius: 100%; 203 | margin-bottom: 2px; 204 | background-color: rgba(255,255,255,.6); 205 | } 206 | 207 | &:last-child:after { 208 | display: none; 209 | } 210 | 211 | &:first-child { 212 | padding-left: 0; 213 | } 214 | 215 | @media (max-width: $screen-xs-max) { 216 | font-size: $font-XXS; 217 | } 218 | } 219 | -------------------------------------------------------------------------------- /_scss/_images.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Images 3 | // -------------------------------------------------- 4 | 5 | .img { 6 | margin-top: $leading; 7 | background-repeat: no-repeat; 8 | background-position: center center; 9 | background-size: cover; 10 | } 11 | 12 | .img--fullContainer img { 13 | width: 100%; 14 | } 15 | 16 | .img--5xLeading { 17 | height: 5*$leading; 18 | } 19 | 20 | .img--6xLeading { 21 | height: 6*$leading; 22 | } 23 | 24 | .img--7xLeading { 25 | height: 7*$leading; 26 | } 27 | 28 | .img--8xLeading { 29 | height: 8*$leading; 30 | } 31 | 32 | .img--9xLeading { 33 | height: 9*$leading; 34 | } 35 | 36 | .img--10xLeading { 37 | height: 10*$leading; 38 | } 39 | 40 | .img--11xLeading { 41 | height: 11*$leading; 42 | } 43 | 44 | .img--12xLeading { 45 | height: 12*$leading; 46 | } 47 | 48 | .img--13xLeading { 49 | height: 13*$leading; 50 | } 51 | 52 | .img--14xLeading { 53 | height: 14*$leading; 54 | } 55 | 56 | .img--15xLeading { 57 | height: 15*$leading; 58 | } 59 | 60 | .img--16xLeading { 61 | height: 16*$leading; 62 | } 63 | -------------------------------------------------------------------------------- /_scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Mixins 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Bootstrap 3 6 | 7 | // Utilities 8 | @import "mixins/responsive-visibility"; 9 | @import "mixins/vendor-prefixes"; 10 | 11 | // Layout 12 | @import "mixins/clearfix"; 13 | @import "mixins/grid-framework"; 14 | @import "mixins/grid"; -------------------------------------------------------------------------------- /_scss/_modal.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Modal 3 | // -------------------------------------------------- 4 | 5 | .fullscreenModal { 6 | position: fixed; 7 | top: 0; 8 | left: 50%; 9 | transform: translateX(-50%); 10 | width: 80%; // temp solution 11 | height: 100%; 12 | color: $white; 13 | text-align: center; 14 | opacity: 0; 15 | visibility: hidden; 16 | background: transparent; 17 | -webkit-transition-delay: 0.5s; 18 | transition-delay: 0.5s; 19 | -webkit-transition: opacity 0.3s ease-in; 20 | -moz-transition: opacity 0.3s ease-in; 21 | transition: opacity 0.3s ease-in; 22 | z-index: $zIndex-8--fullscreen-modal; 23 | } 24 | 25 | .fullscreenModal.active { 26 | opacity: 1; 27 | visibility: visible; 28 | -webkit-transition-delay: 0.5s; 29 | transition-delay: 0.5s; 30 | } 31 | 32 | .fullscreenModal h2 { 33 | font-size: $font-M; 34 | } 35 | 36 | .modal-toggle-group { 37 | position: fixed; 38 | display: block; 39 | bottom: 30px; 40 | right: 3%; 41 | opacity: 0; 42 | visibility: hidden; 43 | transition: all .5s cubic-bezier(0.23, 1, 0.32, 1); 44 | z-index: $zIndex-7--modal-toggle-group; 45 | } 46 | 47 | .modal-toggle-group.active { 48 | opacity: 1; 49 | visibility: visible; 50 | 51 | &.scaleIn { 52 | transform: scale(1); 53 | } 54 | } 55 | 56 | .modal-toggle-group, 57 | .modal-toggle-wrapper, 58 | .modal-toggle-close-wrapper, 59 | .modal-toggle-bubble, 60 | .modal-toggle-bubbleShadow { 61 | height: 44px; 62 | width: 44px; 63 | border-radius: 50%; 64 | } 65 | 66 | .modal-toggle-wrapper { 67 | position: absolute; 68 | top: 0; 69 | display: block; 70 | background-image: url(../images/heart.svg); 71 | background-repeat: no-repeat; 72 | background-position: center center; 73 | background-size: 60%; 74 | background-color: transparent; 75 | cursor: pointer; 76 | -webkit-transform: scale(1); 77 | -webkit-transition: all 0.3s ease-out; 78 | z-index: $zIndex-7--modal-toggle-wrapper; 79 | } 80 | 81 | .modal-toggle-wrapper.active { 82 | opacity: 0; 83 | -webkit-transform: rotate(360deg); 84 | -moz-transform: rotate(360deg); 85 | -ms-transform: rotate(360deg); 86 | -o-transform: rotate(360deg); 87 | transform: rotate(360deg); 88 | } 89 | 90 | .modal-toggle-close-wrapper { 91 | position: absolute; 92 | top: 0; 93 | z-index: $zIndex-6--modal-toggle-close; 94 | opacity: 0; 95 | -webkit-transition: opacity 0.3s; 96 | -moz-transition: opacity 0.3s; 97 | transition: opacity 0.3s; 98 | 99 | .modal-toggle-close { 100 | position: absolute; 101 | top: 48%; 102 | left: 15%; 103 | display: block; 104 | width: 30px; 105 | height: 2px; 106 | background: transparent; 107 | -webkit-transition: background 0.3s; 108 | -moz-transition: background 0.3s; 109 | transition: background 0.3s; 110 | z-index: inherit; 111 | 112 | &:before, 113 | &:after { 114 | content: ''; 115 | position: absolute; 116 | left: 0; 117 | background: inherit; 118 | width: 100%; 119 | height: 100%; 120 | -webkit-transform: translateZ(0); 121 | -moz-transform: translateZ(0); 122 | -ms-transform: translateZ(0); 123 | -o-transform: translateZ(0); 124 | transform: translateZ(0); 125 | -webkit-backface-visibility: hidden; 126 | backface-visibility: hidden; 127 | -webkit-transition: -webkit-transform 0.5s, background 0s; 128 | -moz-transition: -moz-transform 0.5s, background 0s; 129 | transition: transform 0.5s, background 0s; 130 | } 131 | 132 | &:before { 133 | top: -6px; 134 | -webkit-transform: rotate(0); 135 | -moz-transform: rotate(0); 136 | -ms-transform: rotate(0); 137 | -o-transform: rotate(0); 138 | transform: rotate(0); 139 | } 140 | 141 | &:after { 142 | bottom: -6px; 143 | -webkit-transform: rotate(0); 144 | -moz-transform: rotate(0); 145 | -ms-transform: rotate(0); 146 | -o-transform: rotate(0); 147 | transform: rotate(0); 148 | } 149 | } 150 | } 151 | 152 | .modal-toggle-close-wrapper.active { 153 | opacity: 1; 154 | z-index: $zIndex-6--modal-toggle-close; 155 | 156 | .modal-toggle-close { 157 | background: transparent; 158 | 159 | &:before, 160 | &:after { 161 | background: $white; 162 | } 163 | 164 | &:before { 165 | top: 0; 166 | -webkit-transform: rotate(135deg); 167 | -moz-transform: rotate(135deg); 168 | -ms-transform: rotate(135deg); 169 | -o-transform: rotate(135deg); 170 | transform: rotate(135deg); 171 | } 172 | 173 | &:after { 174 | bottom: 0; 175 | -webkit-transform: rotate(225deg); 176 | -moz-transform: rotate(225deg); 177 | -ms-transform: rotate(225deg); 178 | -o-transform: rotate(225deg); 179 | transform: rotate(225deg); 180 | } 181 | } 182 | } 183 | 184 | .modal-toggle-bubble { 185 | position: absolute; 186 | top: 0; 187 | background-color: rgba($black,.9); 188 | -webkit-transform: scale(1); 189 | -webkit-transition: all 0.3s ease-out; 190 | z-index: $zIndex-6--modal-toggle-bubble; 191 | } 192 | 193 | .modal-toggle-bubble.active { 194 | -webkit-transform: scale(100); 195 | -webkit-transition: all 0.6s ease-out; 196 | -webkit-transition-delay: .4s; 197 | } 198 | 199 | .modal-toggle-bubbleShadow { 200 | position: absolute; 201 | top: 0; 202 | background-color: $black; 203 | -webkit-transform: scale(1); 204 | opacity: 1; 205 | z-index: $zIndex-5--modal-toggle-bubbleshadow; 206 | } 207 | 208 | .modal-toggle-bubbleShadow.active { 209 | -webkit-transform: scale(1.5); 210 | opacity: 0; 211 | -webkit-transition: all 0.3s ease-out; 212 | } 213 | 214 | // share buttons 215 | 216 | .h2--shareTitle { 217 | margin-top: -100px; 218 | } 219 | 220 | .shareWrapper { 221 | @include clearfix(); 222 | list-style: none; 223 | margin: $leading auto 0; 224 | padding: 0; 225 | width: 60%; 226 | 227 | li .shareButton { 228 | display: block; 229 | float: left; 230 | margin: 0; 231 | padding: 0 15px; 232 | width: 16.66%; 233 | height: 80px; 234 | background-repeat: no-repeat; 235 | background-position: center center; 236 | background-size: contain; 237 | opacity: 0.8; 238 | 239 | &:hover { 240 | opacity: 1; 241 | } 242 | 243 | @media (min-width: $screen-sm-max) and (max-width: $screen-lg-min) { 244 | width: 16.66%; 245 | height: 60px; 246 | } 247 | 248 | @media (max-width: $screen-xs-max) { 249 | float: none; 250 | width: 100%; 251 | height: 40px; 252 | margin-bottom: 20px; 253 | } 254 | } 255 | } 256 | 257 | .shareButton--twitter { 258 | background-image: url(../images/twitter.svg); 259 | } 260 | 261 | .shareButton--facebook { 262 | background-image: url(../images/facebook.svg); 263 | } 264 | 265 | .shareButton--linkedin { 266 | background-image: url(../images/linkedin.svg); 267 | } 268 | 269 | .shareButton--buffer { 270 | background-image: url(../images/buffer.svg); 271 | } 272 | 273 | .shareButton--hackernews { 274 | background-image: url(../images/ycombinator.svg); 275 | } 276 | 277 | .shareButton--pocket { 278 | background-image: url(../images/pocket.svg); 279 | } 280 | -------------------------------------------------------------------------------- /_scss/_nav.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Navigation 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Sidebar Toggle inspired by Lanyon theme by @mdo 6 | 7 | // Sidebar nav 8 | 9 | .sidebar { 10 | width: 14rem; 11 | visibility: hidden; 12 | padding: 30px 20px; 13 | font-family: $title-secondary-font; 14 | font-size: $font-S; 15 | background-color: $gray-darker; 16 | z-index: $zIndex-9--sidebar; 17 | overflow-x: hidden; 18 | overflow-y: scroll; 19 | -webkit-transition: all .3s ease-in-out; 20 | transition: all .3s ease-in-out; 21 | -moz-user-select: -moz-none; 22 | -webkit-user-select: none; 23 | -ms-user-select: none; 24 | -o-user-select: none; 25 | user-select: none; 26 | -webkit-overflow-scrolling: touch !important; 27 | 28 | &::-webkit-scrollbar { 29 | width: 12px; 30 | } 31 | 32 | &::-webkit-scrollbar-track { 33 | -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 34 | border-radius: 10px; 35 | } 36 | 37 | &::-webkit-scrollbar-thumb { 38 | border-radius: 10px; 39 | -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 40 | } 41 | } 42 | 43 | .sidebar--left { 44 | position: fixed; 45 | top: 0; 46 | bottom: 0; 47 | left: -14rem; 48 | } 49 | 50 | .sidebar--right { 51 | position: fixed; 52 | top: 0; 53 | bottom: 0; 54 | right: -14rem; 55 | } 56 | 57 | .postWrapper, 58 | .sidebar, 59 | .sidebar-toggle { 60 | -webkit-backface-visibility: hidden; 61 | -ms-backface-visibility: hidden; 62 | backface-visibility: hidden; 63 | } 64 | 65 | .sidebar-checkbox { 66 | display: none; 67 | } 68 | 69 | .sidebar-toggle-wrapper { 70 | position: fixed; 71 | z-index: $zIndex-5--sidebar-toggle-wrapper; 72 | top: 30px; 73 | right: 3%; 74 | width: 44px; 75 | height: 44px; 76 | overflow: hidden; 77 | text-indent: 100%; 78 | white-space: nowrap; 79 | cursor: pointer; 80 | border-radius: 99px; 81 | background-color: $white; 82 | } 83 | 84 | .sidebar-toggle-wrapper:hover .sidebar-toggle { 85 | background-color: #666; 86 | } 87 | 88 | // Sidebar toggle 89 | 90 | .sidebar-toggle { 91 | position: absolute; 92 | z-index: $zIndex-6--sidebar-toggle; 93 | top: 48%; 94 | left: 50%; 95 | margin-left: -10px; 96 | display: block; 97 | width: 20px; 98 | height: 2px; 99 | background: $black; 100 | /* background-color: transparent; 101 | border-radius: 4px; */ 102 | -webkit-transition: background 0.3s; 103 | -moz-transition: background 0.3s; 104 | transition: background 0.3s; 105 | 106 | &:before, 107 | &:after { 108 | content: ''; 109 | position: absolute; 110 | left: 0; 111 | background: inherit; 112 | width: 100%; 113 | height: 100%; 114 | -webkit-transform: translateZ(0); 115 | -moz-transform: translateZ(0); 116 | -ms-transform: translateZ(0); 117 | -o-transform: translateZ(0); 118 | transform: translateZ(0); 119 | -webkit-backface-visibility: hidden; 120 | backface-visibility: hidden; 121 | -webkit-transition: -webkit-transform 0.5s, background 0s; 122 | -moz-transition: -moz-transform 0.5s, background 0s; 123 | transition: transform 0.5s, background 0s; 124 | } 125 | 126 | &:before { 127 | top: -6px; 128 | -webkit-transform: rotate(0); 129 | -moz-transform: rotate(0); 130 | -ms-transform: rotate(0); 131 | -o-transform: rotate(0); 132 | transform: rotate(0); 133 | } 134 | 135 | &:after { 136 | bottom: -6px; 137 | -webkit-transform: rotate(0); 138 | -moz-transform: rotate(0); 139 | -ms-transform: rotate(0); 140 | -o-transform: rotate(0); 141 | transform: rotate(0); 142 | } 143 | } 144 | 145 | /* .sidebar-toggle--black { 146 | background: $black; 147 | } */ 148 | 149 | // sidebar toggle behavior 150 | 151 | /* #sidebar-checkbox:checked ~ .postWrapper, */ 152 | #sidebar-checkbox:checked ~ .sidebar, 153 | #sidebar-checkbox:checked ~ .sidebar-toggle-wrapper { 154 | -webkit-transform: translateX(-14rem); 155 | -ms-transform: translateX(-14rem); 156 | transform: translateX(-14rem); 157 | } 158 | 159 | .sidebar-toggle:active, 160 | #sidebar-checkbox:checked ~ .sidebar-toggle-wrapper { 161 | position: fixed; 162 | background-color: rgba($black,0.8); 163 | } 164 | 165 | #sidebar-checkbox:checked ~ .sidebar-toggle-wrapper .sidebar-toggle { 166 | background: transparent; 167 | 168 | &:before, 169 | &:after { 170 | background: $white; 171 | } 172 | 173 | &:before { 174 | top: 0; 175 | -webkit-transform: rotate(135deg); 176 | -moz-transform: rotate(135deg); 177 | -ms-transform: rotate(135deg); 178 | -o-transform: rotate(135deg); 179 | transform: rotate(135deg); 180 | } 181 | 182 | &:after { 183 | bottom: 0; 184 | -webkit-transform: rotate(225deg); 185 | -moz-transform: rotate(225deg); 186 | -ms-transform: rotate(225deg); 187 | -o-transform: rotate(225deg); 188 | transform: rotate(225deg); 189 | } 190 | } 191 | 192 | #sidebar-checkbox:checked ~ .sidebar { 193 | visibility: visible; 194 | } 195 | 196 | .postWrapper, 197 | .sidebar-toggle-wrapper { 198 | -webkit-transition: -webkit-transform .3s ease-in-out; 199 | transition: transform .3s ease-in-out; 200 | } 201 | 202 | // Sidebar content 203 | 204 | .sidebar-recentPosts { 205 | list-style: none; 206 | margin: $leading 0 0; 207 | padding: 0; 208 | font-size: $font-XS; 209 | 210 | a, 211 | a:hover { 212 | text-decoration: none; 213 | background-image: none; 214 | } 215 | 216 | a { 217 | display: block; 218 | letter-spacing: 0.05rem; 219 | font-weight: 700; 220 | line-height: 1.5; 221 | color: rgba($white,.8); 222 | } 223 | 224 | a:hover { 225 | color: rgba($white,1); 226 | } 227 | 228 | li { 229 | list-style: none; 230 | margin-bottom: $leading; 231 | } 232 | 233 | .postMeta { 234 | font-size: $font-XS; 235 | color: rgba($white,.4); 236 | } 237 | } 238 | 239 | .sidebar-recentPosts-image-wrapper { 240 | display: block; 241 | width: 100%; 242 | height: 3 * $leading; 243 | background: #333; 244 | overflow: hidden; 245 | margin-bottom: 15px; 246 | 247 | img { 248 | min-height: 3 * $leading; 249 | width: 150%; 250 | height: auto; 251 | position: relative; 252 | left: 50%; 253 | transform: translateX(-50%); 254 | } 255 | } 256 | 257 | // Left side menu 258 | 259 | .menuWrapper { 260 | position: absolute; 261 | z-index: $zIndex-5--sidebar-toggle-wrapper; 262 | top: 30px; 263 | left: 3%; 264 | } 265 | 266 | .menuWrapper ul { 267 | list-style: none; 268 | position: relative; 269 | float: left; 270 | margin: 0; 271 | padding: 0; 272 | 273 | li { 274 | position: relative; 275 | float: left; 276 | list-style: none; 277 | margin: 0; 278 | padding: 0; 279 | } 280 | 281 | a { 282 | display: block; 283 | color: #333; 284 | text-decoration: none; 285 | padding: 0 15px; 286 | } 287 | 288 | ul { 289 | display: none; 290 | position: absolute; 291 | top: 100%; 292 | left: 0; 293 | background: #fff; 294 | padding: 0; 295 | } 296 | } 297 | 298 | .menuWrapper ul li:hover { 299 | // display: block; 300 | opacity: 0.8; 301 | 302 | > ul { 303 | display: block; 304 | } 305 | } 306 | 307 | .list--avatarMenu { 308 | 309 | .list-item { 310 | float: none; 311 | width: 200px; 312 | } 313 | 314 | a { 315 | padding: 10px 15px; 316 | } 317 | } 318 | -------------------------------------------------------------------------------- /_scss/_normalize.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v3.0.1 | MIT License | git.io/normalize */ 2 | 3 | // 4 | // 1. Set default font family to sans-serif. 5 | // 2. Prevent iOS text size adjust after orientation change, without disabling 6 | // user zoom. 7 | // 8 | 9 | html { 10 | font-family: sans-serif; // 1 11 | -ms-text-size-adjust: 100%; // 2 12 | -webkit-text-size-adjust: 100%; // 2 13 | } 14 | 15 | // 16 | // Remove default margin. 17 | // 18 | 19 | body { 20 | margin: 0; 21 | } 22 | 23 | // HTML5 display definitions 24 | // ========================================================================== 25 | 26 | // 27 | // Correct `block` display not defined for any HTML5 element in IE 8/9. 28 | // Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. 29 | // Correct `block` display not defined for `main` in IE 11. 30 | // 31 | 32 | article, 33 | aside, 34 | details, 35 | figcaption, 36 | figure, 37 | footer, 38 | header, 39 | hgroup, 40 | main, 41 | nav, 42 | section, 43 | summary { 44 | display: block; 45 | } 46 | 47 | // 48 | // 1. Correct `inline-block` display not defined in IE 8/9. 49 | // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. 50 | // 51 | 52 | audio, 53 | canvas, 54 | progress, 55 | video { 56 | display: inline-block; // 1 57 | vertical-align: baseline; // 2 58 | } 59 | 60 | // 61 | // Prevent modern browsers from displaying `audio` without controls. 62 | // Remove excess height in iOS 5 devices. 63 | // 64 | 65 | audio:not([controls]) { 66 | display: none; 67 | height: 0; 68 | } 69 | 70 | // 71 | // Address `[hidden]` styling not present in IE 8/9/10. 72 | // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. 73 | // 74 | 75 | [hidden], 76 | template { 77 | display: none; 78 | } 79 | 80 | // Links 81 | // ========================================================================== 82 | 83 | // 84 | // Remove the gray background color from active links in IE 10. 85 | // 86 | 87 | a { 88 | background: transparent; 89 | } 90 | 91 | // 92 | // Improve readability when focused and also mouse hovered in all browsers. 93 | // 94 | 95 | a:active, 96 | a:hover { 97 | outline: 0; 98 | } 99 | 100 | // Text-level semantics 101 | // ========================================================================== 102 | 103 | // 104 | // Address styling not present in IE 8/9/10/11, Safari, and Chrome. 105 | // 106 | 107 | abbr[title] { 108 | border-bottom: 1px dotted; 109 | } 110 | 111 | // 112 | // Address style set to `bolder` in Firefox 4+, Safari, and Chrome. 113 | // 114 | 115 | b, 116 | strong { 117 | font-weight: bold; 118 | } 119 | 120 | // 121 | // Address styling not present in Safari and Chrome. 122 | // 123 | 124 | dfn { 125 | font-style: italic; 126 | } 127 | 128 | // 129 | // Address variable `h1` font-size and margin within `section` and `article` 130 | // contexts in Firefox 4+, Safari, and Chrome. 131 | // 132 | 133 | h1 { 134 | font-size: 2em; 135 | margin: 0.67em 0; 136 | } 137 | 138 | // 139 | // Address styling not present in IE 8/9. 140 | // 141 | 142 | mark { 143 | background: #ff0; 144 | color: #000; 145 | } 146 | 147 | // 148 | // Address inconsistent and variable font size in all browsers. 149 | // 150 | 151 | small { 152 | font-size: 80%; 153 | } 154 | 155 | // 156 | // Prevent `sub` and `sup` affecting `line-height` in all browsers. 157 | // 158 | 159 | sub, 160 | sup { 161 | font-size: 75%; 162 | line-height: 0; 163 | position: relative; 164 | vertical-align: baseline; 165 | } 166 | 167 | sup { 168 | top: -0.5em; 169 | } 170 | 171 | sub { 172 | bottom: -0.25em; 173 | } 174 | 175 | // Embedded content 176 | // ========================================================================== 177 | 178 | // 179 | // Remove border when inside `a` element in IE 8/9/10. 180 | // 181 | 182 | img { 183 | border: 0; 184 | } 185 | 186 | // 187 | // Correct overflow not hidden in IE 9/10/11. 188 | // 189 | 190 | svg:not(:root) { 191 | overflow: hidden; 192 | } 193 | 194 | // Grouping content 195 | // ========================================================================== 196 | 197 | // 198 | // Address margin not present in IE 8/9 and Safari. 199 | // 200 | 201 | figure { 202 | margin: 1em 40px; 203 | } 204 | 205 | // 206 | // Address differences between Firefox and other browsers. 207 | // 208 | 209 | hr { 210 | -moz-box-sizing: content-box; 211 | box-sizing: content-box; 212 | height: 0; 213 | } 214 | 215 | // 216 | // Contain overflow in all browsers. 217 | // 218 | 219 | pre { 220 | overflow: auto; 221 | } 222 | 223 | // 224 | // Address odd `em`-unit font size rendering in all browsers. 225 | // 226 | 227 | code, 228 | kbd, 229 | pre, 230 | samp { 231 | font-family: monospace, monospace; 232 | font-size: 1em; 233 | } 234 | 235 | // Forms 236 | // ========================================================================== 237 | 238 | // 239 | // Known limitation: by default, Chrome and Safari on OS X allow very limited 240 | // styling of `select`, unless a `border` property is set. 241 | // 242 | 243 | // 244 | // 1. Correct color not being inherited. 245 | // Known issue: affects color of disabled elements. 246 | // 2. Correct font properties not being inherited. 247 | // 3. Address margins set differently in Firefox 4+, Safari, and Chrome. 248 | // 249 | 250 | button, 251 | input, 252 | optgroup, 253 | select, 254 | textarea { 255 | color: inherit; // 1 256 | font: inherit; // 2 257 | margin: 0; // 3 258 | } 259 | 260 | // 261 | // Address `overflow` set to `hidden` in IE 8/9/10/11. 262 | // 263 | 264 | button { 265 | overflow: visible; 266 | } 267 | 268 | // 269 | // Address inconsistent `text-transform` inheritance for `button` and `select`. 270 | // All other form control elements do not inherit `text-transform` values. 271 | // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. 272 | // Correct `select` style inheritance in Firefox. 273 | // 274 | 275 | button, 276 | select { 277 | text-transform: none; 278 | } 279 | 280 | // 281 | // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 282 | // and `video` controls. 283 | // 2. Correct inability to style clickable `input` types in iOS. 284 | // 3. Improve usability and consistency of cursor style between image-type 285 | // `input` and others. 286 | // 287 | 288 | button, 289 | html input[type="button"], // 1 290 | input[type="reset"], 291 | input[type="submit"] { 292 | -webkit-appearance: button; // 2 293 | cursor: pointer; // 3 294 | } 295 | 296 | // 297 | // Re-set default cursor for disabled elements. 298 | // 299 | 300 | button[disabled], 301 | html input[disabled] { 302 | cursor: default; 303 | } 304 | 305 | // 306 | // Remove inner padding and border in Firefox 4+. 307 | // 308 | 309 | button::-moz-focus-inner, 310 | input::-moz-focus-inner { 311 | border: 0; 312 | padding: 0; 313 | } 314 | 315 | // 316 | // Address Firefox 4+ setting `line-height` on `input` using `!important` in 317 | // the UA stylesheet. 318 | // 319 | 320 | input { 321 | line-height: normal; 322 | } 323 | 324 | // 325 | // It's recommended that you don't attempt to style these elements. 326 | // Firefox's implementation doesn't respect box-sizing, padding, or width. 327 | // 328 | // 1. Address box sizing set to `content-box` in IE 8/9/10. 329 | // 2. Remove excess padding in IE 8/9/10. 330 | // 331 | 332 | input[type="checkbox"], 333 | input[type="radio"] { 334 | box-sizing: border-box; // 1 335 | padding: 0; // 2 336 | } 337 | 338 | // 339 | // Fix the cursor style for Chrome's increment/decrement buttons. For certain 340 | // `font-size` values of the `input`, it causes the cursor style of the 341 | // decrement button to change from `default` to `text`. 342 | // 343 | 344 | input[type="number"]::-webkit-inner-spin-button, 345 | input[type="number"]::-webkit-outer-spin-button { 346 | height: auto; 347 | } 348 | 349 | // 350 | // 1. Address `appearance` set to `searchfield` in Safari and Chrome. 351 | // 2. Address `box-sizing` set to `border-box` in Safari and Chrome 352 | // (include `-moz` to future-proof). 353 | // 354 | 355 | input[type="search"] { 356 | -webkit-appearance: textfield; // 1 357 | -moz-box-sizing: content-box; 358 | -webkit-box-sizing: content-box; // 2 359 | box-sizing: content-box; 360 | } 361 | 362 | // 363 | // Remove inner padding and search cancel button in Safari and Chrome on OS X. 364 | // Safari (but not Chrome) clips the cancel button when the search input has 365 | // padding (and `textfield` appearance). 366 | // 367 | 368 | input[type="search"]::-webkit-search-cancel-button, 369 | input[type="search"]::-webkit-search-decoration { 370 | -webkit-appearance: none; 371 | } 372 | 373 | // 374 | // Define consistent border, margin, and padding. 375 | // 376 | 377 | fieldset { 378 | border: 1px solid #c0c0c0; 379 | margin: 0 2px; 380 | padding: 0.35em 0.625em 0.75em; 381 | } 382 | 383 | // 384 | // 1. Correct `color` not being inherited in IE 8/9/10/11. 385 | // 2. Remove padding so people aren't caught out if they zero out fieldsets. 386 | // 387 | 388 | legend { 389 | border: 0; // 1 390 | padding: 0; // 2 391 | } 392 | 393 | // 394 | // Remove default vertical scrollbar in IE 8/9/10/11. 395 | // 396 | 397 | textarea { 398 | overflow: auto; 399 | } 400 | 401 | // 402 | // Don't inherit the `font-weight` (applied by a rule above). 403 | // NOTE: the default cannot safely be changed in Chrome and Safari on OS X. 404 | // 405 | 406 | optgroup { 407 | font-weight: bold; 408 | } 409 | 410 | // Tables 411 | // ========================================================================== 412 | 413 | // 414 | // Remove most spacing between table cells. 415 | // 416 | 417 | table { 418 | border-collapse: collapse; 419 | border-spacing: 0; 420 | } 421 | 422 | td, 423 | th { 424 | padding: 0; 425 | } 426 | -------------------------------------------------------------------------------- /_scss/_responsive-utilities.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Utility classes 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Bootstrap 3 6 | 7 | 8 | // IE10 in Windows (Phone) 8 9 | // 10 | // Support for responsive views via media queries is kind of borked in IE10, for 11 | // Surface/desktop in split view and for Windows Phone 8. This particular fix 12 | // must be accompanied by a snippet of JavaScript to sniff the user agent and 13 | // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at 14 | // our Getting Started page for more information on this bug. 15 | // 16 | // For more information, see the following: 17 | // 18 | // Issue: https://github.com/twbs/bootstrap/issues/10497 19 | // Docs: http://getbootstrap.com/getting-started/#support-ie10-width 20 | // Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ 21 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ 22 | 23 | @-ms-viewport { 24 | width: device-width; 25 | } 26 | 27 | 28 | // Visibility utilities 29 | // Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 30 | 31 | @include responsive-invisibility('.visible-xs, .visible-sm, .visible-md, .visible-lg'); 32 | 33 | .visible-xs-block, 34 | .visible-xs-inline, 35 | .visible-xs-inline-block, 36 | .visible-sm-block, 37 | .visible-sm-inline, 38 | .visible-sm-inline-block, 39 | .visible-md-block, 40 | .visible-md-inline, 41 | .visible-md-inline-block, 42 | .visible-lg-block, 43 | .visible-lg-inline, 44 | .visible-lg-inline-block { 45 | display: none !important; 46 | } 47 | 48 | @media (max-width: $screen-xs-max) { 49 | @include responsive-visibility('.visible-xs'); 50 | } 51 | .visible-xs-block { 52 | @media (max-width: $screen-xs-max) { 53 | display: block !important; 54 | } 55 | } 56 | .visible-xs-inline { 57 | @media (max-width: $screen-xs-max) { 58 | display: inline !important; 59 | } 60 | } 61 | .visible-xs-inline-block { 62 | @media (max-width: $screen-xs-max) { 63 | display: inline-block !important; 64 | } 65 | } 66 | 67 | @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { 68 | @include responsive-visibility('.visible-sm'); 69 | } 70 | .visible-sm-block { 71 | @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { 72 | display: block !important; 73 | } 74 | } 75 | .visible-sm-inline { 76 | @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { 77 | display: inline !important; 78 | } 79 | } 80 | .visible-sm-inline-block { 81 | @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { 82 | display: inline-block !important; 83 | } 84 | } 85 | 86 | @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { 87 | @include responsive-visibility('.visible-md'); 88 | } 89 | .visible-md-block { 90 | @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { 91 | display: block !important; 92 | } 93 | } 94 | .visible-md-inline { 95 | @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { 96 | display: inline !important; 97 | } 98 | } 99 | .visible-md-inline-block { 100 | @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { 101 | display: inline-block !important; 102 | } 103 | } 104 | 105 | @media (min-width: $screen-lg-min) { 106 | @include responsive-visibility('.visible-lg'); 107 | } 108 | .visible-lg-block { 109 | @media (min-width: $screen-lg-min) { 110 | display: block !important; 111 | } 112 | } 113 | .visible-lg-inline { 114 | @media (min-width: $screen-lg-min) { 115 | display: inline !important; 116 | } 117 | } 118 | .visible-lg-inline-block { 119 | @media (min-width: $screen-lg-min) { 120 | display: inline-block !important; 121 | } 122 | } 123 | 124 | @media (max-width: $screen-xs-max) { 125 | @include responsive-invisibility('.hidden-xs'); 126 | } 127 | 128 | @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { 129 | @include responsive-invisibility('.hidden-sm'); 130 | } 131 | 132 | @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { 133 | @include responsive-invisibility('.hidden-md'); 134 | } 135 | 136 | @media (min-width: $screen-lg-min) { 137 | @include responsive-invisibility('.hidden-lg'); 138 | } 139 | 140 | 141 | // Print utilities 142 | // 143 | // Media queries are placed on the inside to be mixin-friendly. 144 | 145 | // Note: Deprecated .visible-print as of v3.2.0 146 | 147 | @include responsive-invisibility('.visible-print'); 148 | 149 | @media print { 150 | @include responsive-visibility('.visible-print'); 151 | } 152 | .visible-print-block { 153 | display: none !important; 154 | 155 | @media print { 156 | display: block !important; 157 | } 158 | } 159 | .visible-print-inline { 160 | display: none !important; 161 | 162 | @media print { 163 | display: inline !important; 164 | } 165 | } 166 | .visible-print-inline-block { 167 | display: none !important; 168 | 169 | @media print { 170 | display: inline-block !important; 171 | } 172 | } 173 | 174 | @media print { 175 | @include responsive-invisibility('.hidden-print'); 176 | } 177 | -------------------------------------------------------------------------------- /_scss/_scaffolding.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // -------------------------------------------------- 4 | 5 | 6 | // Reset the box-sizing 7 | // 8 | // Heads up! This reset may cause conflicts with some third-party widgets. 9 | // For recommendations on resolving such conflicts, see 10 | // http://getbootstrap.com/getting-started/#third-box-sizing 11 | * { 12 | @include box-sizing(border-box); 13 | } 14 | *:before, 15 | *:after { 16 | @include box-sizing(border-box); 17 | } 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /_scss/_typography.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Typography 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Modified based on Typebase.less v0.1.0 | MIT License 6 | 7 | // Typesetting variables. 8 | $baseFontSize: 22; // in pixels. This would result in 22px on desktop 9 | $baseLineHeight: 1.5; // how large the line height is as a multiple of font size - 33px 10 | $leading: $baseLineHeight * 1rem; 11 | // Rate of growth for headings 12 | $scale: 1.333; 13 | 14 | // Common font size based on 1.333 ratio - modularscale.com 15 | $font-XXS: 0.563rem; 16 | $font-XS: 0.75rem; 17 | $font-S: 1rem; 18 | $font-M: 1.333rem; 19 | $font-L: 1.777rem; 20 | $font-XL: 2.369rem; 21 | $font-XXL: 3.157rem; 22 | $font-XXXL: 4.209rem; 23 | $font-XXXXL: 5.61rem; 24 | 25 | // Font type 26 | $body-primary-font: 'Source Serif Pro', serif; 27 | $title-primary-font: 'PT Sans', sans-serif; 28 | $title-secondary-font: 'Roboto', sans-serif; 29 | 30 | /* Setup */ 31 | 32 | html { 33 | /* Change default typefaces here */ 34 | font-family: $body-primary-font; 35 | font-size: $baseFontSize / 16 * 100%; // 14px 36 | font-weight: 400; 37 | color: $text-color; 38 | -webkit-font-smoothing: antialiased; 39 | text-rendering: optimizeLegibility; 40 | font-feature-settings: "kern" 1; 41 | -webkit-font-feature-settings: "kern"; 42 | -moz-font-feature-settings: "kern"; 43 | -moz-font-feature-settings: "kern=1"; 44 | // -webkit-text-size-adjust: auto 45 | // -moz-text-size-adjust: auto 46 | // -ms-text-size-adjust: auto 47 | // -o-text-size-adjust: auto 48 | // text-size-adjust: auto 49 | } 50 | /* Copy & Lists */ 51 | 52 | p { 53 | line-height: $leading; 54 | letter-spacing: .01rem; 55 | margin-top: $leading; 56 | margin-bottom: 0; 57 | } 58 | 59 | p.u--startsWithDoubleQuote { 60 | text-indent: -0.43em; 61 | } 62 | 63 | ul, 64 | ol { 65 | margin-top: $leading; 66 | margin-bottom: $leading; 67 | padding-left: 22px; 68 | 69 | li { 70 | line-height: $leading; 71 | } 72 | ul, 73 | ol { 74 | margin-top: 0; 75 | margin-bottom: 0; 76 | } 77 | } 78 | 79 | blockquote { 80 | line-height: $leading; 81 | font-style: italic; 82 | padding-left: 25px; 83 | margin-left: -29px; 84 | border-left: 4px solid $black; 85 | 86 | @media (max-width: $screen-xs-max) { 87 | padding-left: 15px; 88 | margin-left: -19px; 89 | } 90 | 91 | &.u--startsWithDoubleQuote { 92 | text-indent: -0.40em; 93 | } 94 | 95 | &.largeQuote { 96 | line-height: 1.4; 97 | text-align: center; 98 | font-size: $font-L; 99 | margin: $leading -160px 0; 100 | padding-left: 0; 101 | border-left: 0; 102 | 103 | @media (max-width: $screen-xs-max) { 104 | margin: $leading 0 0; 105 | font-size: $font-M; 106 | padding-left: 0; 107 | } 108 | 109 | a { 110 | background-position: 0 42px; 111 | } 112 | } 113 | } 114 | /* Headings */ 115 | 116 | h1, 117 | h2, 118 | h3, 119 | h4, 120 | h5, 121 | h6 { 122 | /* Change heading typefaces here */ 123 | font-family: $title-primary-font; 124 | margin-top: $leading; 125 | margin-bottom: 0; 126 | line-height: $leading; 127 | letter-spacing: -0.02em; 128 | } 129 | h1 { 130 | font-size: 3 * $scale * 1rem; 131 | line-height: 3 * $leading; 132 | margin-top: 2 * $leading; 133 | } 134 | h2 { 135 | font-family: $title-secondary-font; 136 | font-size: 2 * $scale * 1rem; 137 | line-height: 2 * $leading; 138 | margin-top: 2 * $leading; 139 | font-weight: 300; 140 | } 141 | h3 { 142 | /* font-size: 1.33 * $scale * 1rem; 143 | line-height: 1.34 * $leading; 144 | margin-top: 1.33 * $leading; */ 145 | font-size: $font-L; 146 | line-height: 2.18rem; 147 | margin-top: 1.7rem; 148 | } 149 | h4 { 150 | font-size: 1 * $scale * 1rem; 151 | } 152 | h5 { 153 | font-size: 0.8 * $scale * 1rem; 154 | } 155 | h6 { 156 | font-size: 0.7 * $scale * 1rem; 157 | } 158 | 159 | // Link style inspired by Medium.com 160 | 161 | a { 162 | color: $link-color; 163 | text-decoration: none; 164 | background-image: linear-gradient(to bottom, rgba($link-color,0) 75%, rgba($link-color,0.8) 75%); 165 | background-repeat: repeat-x; 166 | background-position: 0 22px; 167 | background-size: 2px 2px; 168 | 169 | &:hover { 170 | color: $link-hover-color; 171 | } 172 | } 173 | 174 | /* Tables */ 175 | 176 | table { 177 | margin-top: $leading; 178 | border-spacing: 0px; 179 | border-collapse: collapse; 180 | } 181 | td, 182 | th { 183 | padding: 0; 184 | line-height: $baseLineHeight * $baseFontSize - 0px; 185 | } 186 | /* Code blocks */ 187 | 188 | code { 189 | // Forces text to constrain to the line-height. Not ideal, but works. 190 | vertical-align: bottom; 191 | } 192 | 193 | hr { 194 | border-color: #d5d5d5; 195 | padding: 0; 196 | border-top: 0; 197 | border-left: 0; 198 | border-right: 0; 199 | margin: $leading 0; 200 | } 201 | 202 | /* Leading paragraph text */ 203 | 204 | .lead { 205 | font-size: $scale * 1rem; 206 | } 207 | /* Hug a the block above you */ 208 | 209 | .hug { 210 | margin-top: 0; 211 | } 212 | 213 | .container--content { 214 | max-width: 700px; // limit to 65-90 characters per line 215 | } 216 | 217 | .is-darkBackgrounded, 218 | .is-darkBackgrounded a, 219 | .is-darkBackgrounded a:hover, 220 | .is-darkBackgrounded a:visited { 221 | color: #fff; 222 | } 223 | -------------------------------------------------------------------------------- /_scss/_utilities.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Utilities 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Bootstrap 3 6 | 7 | // Floats 8 | // ------------------------- 9 | 10 | .u-clearfix { 11 | @include clearfix(); 12 | } 13 | .u-alignRight { 14 | float: right !important; 15 | } 16 | .u-alignLeft { 17 | float: left !important; 18 | } 19 | 20 | .u-alignCenter { 21 | text-align: center !important; 22 | } 23 | 24 | // Table display 25 | // ------------------------- 26 | 27 | .u-table { 28 | display: table !important; 29 | 30 | &:before { 31 | height: auto !important; 32 | display: inherit !important; 33 | } 34 | } 35 | 36 | .u-tableCell { 37 | display: table-cell !important; 38 | } 39 | 40 | .u-verticalAlignTop { 41 | vertical-align: top !important; 42 | } 43 | 44 | .u-verticalAlignMiddle { 45 | vertical-align: middle !important; 46 | } 47 | 48 | .u-verticalAlignBottom { 49 | vertical-align: bottom !important; 50 | } 51 | 52 | // Toggling content 53 | // ------------------------- 54 | 55 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 56 | .hide { 57 | display: none !important; 58 | } 59 | .show { 60 | display: block !important; 61 | } 62 | .invisible { 63 | visibility: hidden; 64 | } 65 | 66 | // Hide from screenreaders and browsers 67 | // 68 | // Credit: HTML5 Boilerplate 69 | 70 | .hidden { 71 | display: none !important; 72 | visibility: hidden !important; 73 | } 74 | 75 | .is-blurred { 76 | -webkit-filter: blur(10px); 77 | -moz-filter: blur(10px); 78 | -o-filter: blur(10px); 79 | filter: blur(10px); 80 | -webkit-transition: all 0.5s; 81 | -moz-transition: all 0.5s; 82 | -o-transition: all 0.5s; 83 | transition: all 0.5s; 84 | } 85 | 86 | .u-overflow-y-hidden { 87 | overflow-y: hidden; 88 | } 89 | 90 | .u-scrollbar-hidden { 91 | padding-right: 15px; 92 | } 93 | 94 | .u-clearHr { 95 | clear: both; 96 | visibility: hidden; 97 | } 98 | -------------------------------------------------------------------------------- /_scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Variables 3 | // -------------------------------------------------- 4 | // 5 | // Credit: Bootstrap 3 6 | 7 | //== Media queries breakpoints 8 | // 9 | //## Define the breakpoints at which your layout will change, adapting to different screen sizes. 10 | 11 | // Extra small screen / phone 12 | //** Deprecated `$screen-xs` as of v3.0.1 13 | $screen-xs: 480px !default; 14 | //** Deprecated `$screen-xs-min` as of v3.2.0 15 | $screen-xs-min: $screen-xs !default; 16 | //** Deprecated `$screen-phone` as of v3.0.1 17 | $screen-phone: $screen-xs-min !default; 18 | 19 | // Small screen / tablet 20 | //** Deprecated `$screen-sm` as of v3.0.1 21 | $screen-sm: 768px !default; 22 | $screen-sm-min: $screen-sm !default; 23 | //** Deprecated `$screen-tablet` as of v3.0.1 24 | $screen-tablet: $screen-sm-min !default; 25 | 26 | // Medium screen / desktop 27 | //** Deprecated `$screen-md` as of v3.0.1 28 | $screen-md: 992px !default; 29 | $screen-md-min: $screen-md !default; 30 | //** Deprecated `$screen-desktop` as of v3.0.1 31 | $screen-desktop: $screen-md-min !default; 32 | 33 | // Large screen / wide desktop 34 | //** Deprecated `$screen-lg` as of v3.0.1 35 | $screen-lg: 1200px !default; 36 | $screen-lg-min: $screen-lg !default; 37 | //** Deprecated `$screen-lg-desktop` as of v3.0.1 38 | $screen-lg-desktop: $screen-lg-min !default; 39 | 40 | // So media queries don't overlap when required, provide a maximum 41 | $screen-xs-max: ($screen-sm-min - 1) !default; 42 | $screen-sm-max: ($screen-md-min - 1) !default; 43 | $screen-md-max: ($screen-lg-min - 1) !default; 44 | 45 | //== Grid system 46 | // 47 | //## Define your custom responsive grid. 48 | 49 | //** Number of columns in the grid. 50 | $grid-columns: 12 !default; 51 | //** Padding between columns. Gets divided in half for the left and right. 52 | $grid-gutter-width: 30px !default; 53 | // Navbar collapse 54 | //** Point at which the navbar becomes uncollapsed. 55 | $grid-float-breakpoint: $screen-sm-min !default; 56 | //** Point at which the navbar begins collapsing. 57 | $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default; 58 | 59 | 60 | //== Container sizes 61 | // 62 | //## Define the maximum width of `.container` for different screen sizes. 63 | 64 | // Small screen / tablet 65 | $container-tablet: ((720px + $grid-gutter-width)) !default; 66 | //** For `$screen-sm-min` and up. 67 | $container-sm: $container-tablet !default; 68 | 69 | // Medium screen / desktop 70 | $container-desktop: ((940px + $grid-gutter-width)) !default; 71 | //** For `$screen-md-min` and up. 72 | $container-md: $container-desktop !default; 73 | 74 | // Large screen / wide desktop 75 | $container-large-desktop: ((1140px + $grid-gutter-width)) !default; 76 | //** For `$screen-lg-min` and up. 77 | $container-lg: $container-large-desktop !default; 78 | -------------------------------------------------------------------------------- /_scss/_z-index.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Z-index scale 3 | // -------------------------------------------------- 4 | // 5 | // Z-index values should always be defined in z-index.scss. This 6 | // allows us to at a glance determine relative layers of our application and prevents bugs 7 | // arrising from arbitrary z-index values. Do not edit the z-index scale! Only add application 8 | // scoped z-index values. 9 | // 10 | // Credit: Medium.com's z-index scale 11 | 12 | 13 | // Z-Index Scale (private vars) 14 | // -------------------------------------------------- 15 | $zIndex-neg2: -200; 16 | $zIndex-neg1: -100; 17 | $zIndex-1: 100; 18 | $zIndex-2: 200; 19 | $zIndex-3: 300; 20 | $zIndex-4: 400; 21 | $zIndex-5: 500; 22 | $zIndex-6: 600; 23 | $zIndex-7: 700; 24 | $zIndex-8: 800; 25 | $zIndex-9: 900; 26 | $zIndex-10: 1000; 27 | 28 | 29 | // Z-Index Applications 30 | // -------------------------------------------------- 31 | $zIndex-neg2--carousel-backgroundImg: $zIndex-neg2; 32 | 33 | $zIndex-neg1--section-gradient: $zIndex-neg1; 34 | 35 | $zIndex-1--section-title: $zIndex-1; 36 | 37 | $zIndex-4--post-wrapper: $zIndex-4; 38 | $zIndex-4--posts-wrapper: $zIndex-4; 39 | 40 | $zIndex-5--metabar: $zIndex-5; 41 | $zIndex-5--sidebar-toggle-wrapper: $zIndex-5; 42 | $zIndex-5--textlogo-frontpage: $zIndex-5; 43 | $zIndex-5--tagline-frontpage: $zIndex-5; 44 | $zIndex-5--modal-toggle-bubbleshadow: $zIndex-5; 45 | 46 | $zIndex-6--sidebar-toggle: $zIndex-6; 47 | $zIndex-6--modal-toggle-bubble: $zIndex-6; 48 | $zIndex-6--modal-toggle-close: $zIndex-6; 49 | 50 | $zIndex-7--modal-toggle-group: $zIndex-7; 51 | $zIndex-7--modal-toggle-wrapper: $zIndex-7; 52 | 53 | $zIndex-8--fullscreen-modal: $zIndex-8; 54 | 55 | $zIndex-9--sidebar: $zIndex-9; 56 | -------------------------------------------------------------------------------- /_scss/main.scss: -------------------------------------------------------------------------------- 1 | // Reset 2 | @import "normalize"; 3 | 4 | // Variables and mixins 5 | @import "variables"; 6 | @import "colors"; 7 | @import "z-index"; 8 | @import "animations"; 9 | @import "mixins"; 10 | 11 | // Typography & images 12 | @import "typography"; 13 | @import "images"; 14 | 15 | // Core 16 | @import "global"; 17 | @import "scaffolding"; 18 | @import "grid"; 19 | 20 | // Components 21 | @import "nav"; 22 | @import "hero"; 23 | @import "content"; 24 | @import "modal"; 25 | @import "form"; 26 | 27 | // Utility classes 28 | @import "utilities"; 29 | @import "responsive-utilities"; 30 | -------------------------------------------------------------------------------- /_scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | @mixin clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /_scss/mixins/_grid-framework.scss: -------------------------------------------------------------------------------- 1 | // Framework grid generation 2 | // 3 | // Used only by Bootstrap to generate the correct number of grid classes given 4 | // any value of `$grid-columns`. 5 | 6 | // [converter] This is defined recursively in LESS, but Sass supports real loops 7 | @mixin make-grid-columns($i: 1, $list: ".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}") { 8 | @for $i from (1 + 1) through $grid-columns { 9 | $list: "#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}"; 10 | } 11 | #{$list} { 12 | position: relative; 13 | // Prevent columns from collapsing when empty 14 | min-height: 1px; 15 | // Inner gutter via padding 16 | padding-left: ($grid-gutter-width / 2); 17 | padding-right: ($grid-gutter-width / 2); 18 | } 19 | } 20 | 21 | 22 | // [converter] This is defined recursively in LESS, but Sass supports real loops 23 | @mixin float-grid-columns($class, $i: 1, $list: ".col-#{$class}-#{$i}") { 24 | @for $i from (1 + 1) through $grid-columns { 25 | $list: "#{$list}, .col-#{$class}-#{$i}"; 26 | } 27 | #{$list} { 28 | float: left; 29 | } 30 | } 31 | 32 | 33 | @mixin calc-grid-column($index, $class, $type) { 34 | @if ($type == width) and ($index > 0) { 35 | .col-#{$class}-#{$index} { 36 | width: percentage(($index / $grid-columns)); 37 | } 38 | } 39 | @if ($type == push) and ($index > 0) { 40 | .col-#{$class}-push-#{$index} { 41 | left: percentage(($index / $grid-columns)); 42 | } 43 | } 44 | @if ($type == push) and ($index == 0) { 45 | .col-#{$class}-push-0 { 46 | left: auto; 47 | } 48 | } 49 | @if ($type == pull) and ($index > 0) { 50 | .col-#{$class}-pull-#{$index} { 51 | right: percentage(($index / $grid-columns)); 52 | } 53 | } 54 | @if ($type == pull) and ($index == 0) { 55 | .col-#{$class}-pull-0 { 56 | right: auto; 57 | } 58 | } 59 | @if ($type == offset) { 60 | .col-#{$class}-offset-#{$index} { 61 | margin-left: percentage(($index / $grid-columns)); 62 | } 63 | } 64 | } 65 | 66 | // [converter] This is defined recursively in LESS, but Sass supports real loops 67 | @mixin loop-grid-columns($columns, $class, $type) { 68 | @for $i from 0 through $columns { 69 | @include calc-grid-column($i, $class, $type); 70 | } 71 | } 72 | 73 | 74 | // Create grid for specific class 75 | @mixin make-grid($class) { 76 | @include float-grid-columns($class); 77 | @include loop-grid-columns($grid-columns, $class, width); 78 | @include loop-grid-columns($grid-columns, $class, pull); 79 | @include loop-grid-columns($grid-columns, $class, push); 80 | @include loop-grid-columns($grid-columns, $class, offset); 81 | } 82 | -------------------------------------------------------------------------------- /_scss/mixins/_grid.scss: -------------------------------------------------------------------------------- 1 | // Grid system 2 | // 3 | // Generate semantic grid columns with these mixins. 4 | 5 | // Centered container element 6 | @mixin container-fixed($gutter: $grid-gutter-width) { 7 | margin-right: auto; 8 | margin-left: auto; 9 | padding-left: ($gutter / 2); 10 | padding-right: ($gutter / 2); 11 | @include clearfix(); 12 | } 13 | 14 | // Creates a wrapper for a series of columns 15 | @mixin make-row($gutter: $grid-gutter-width) { 16 | margin-left: ($gutter / -2); 17 | margin-right: ($gutter / -2); 18 | @include clearfix(); 19 | } 20 | 21 | // Generate the extra small columns 22 | @mixin make-xs-column($columns, $gutter: $grid-gutter-width) { 23 | position: relative; 24 | float: left; 25 | width: percentage(($columns / $grid-columns)); 26 | min-height: 1px; 27 | padding-left: ($gutter / 2); 28 | padding-right: ($gutter / 2); 29 | } 30 | @mixin make-xs-column-offset($columns) { 31 | margin-left: percentage(($columns / $grid-columns)); 32 | } 33 | @mixin make-xs-column-push($columns) { 34 | left: percentage(($columns / $grid-columns)); 35 | } 36 | @mixin make-xs-column-pull($columns) { 37 | right: percentage(($columns / $grid-columns)); 38 | } 39 | 40 | // Generate the small columns 41 | @mixin make-sm-column($columns, $gutter: $grid-gutter-width) { 42 | position: relative; 43 | min-height: 1px; 44 | padding-left: ($gutter / 2); 45 | padding-right: ($gutter / 2); 46 | 47 | @media (min-width: $screen-sm-min) { 48 | float: left; 49 | width: percentage(($columns / $grid-columns)); 50 | } 51 | } 52 | @mixin make-sm-column-offset($columns) { 53 | @media (min-width: $screen-sm-min) { 54 | margin-left: percentage(($columns / $grid-columns)); 55 | } 56 | } 57 | @mixin make-sm-column-push($columns) { 58 | @media (min-width: $screen-sm-min) { 59 | left: percentage(($columns / $grid-columns)); 60 | } 61 | } 62 | @mixin make-sm-column-pull($columns) { 63 | @media (min-width: $screen-sm-min) { 64 | right: percentage(($columns / $grid-columns)); 65 | } 66 | } 67 | 68 | // Generate the medium columns 69 | @mixin make-md-column($columns, $gutter: $grid-gutter-width) { 70 | position: relative; 71 | min-height: 1px; 72 | padding-left: ($gutter / 2); 73 | padding-right: ($gutter / 2); 74 | 75 | @media (min-width: $screen-md-min) { 76 | float: left; 77 | width: percentage(($columns / $grid-columns)); 78 | } 79 | } 80 | @mixin make-md-column-offset($columns) { 81 | @media (min-width: $screen-md-min) { 82 | margin-left: percentage(($columns / $grid-columns)); 83 | } 84 | } 85 | @mixin make-md-column-push($columns) { 86 | @media (min-width: $screen-md-min) { 87 | left: percentage(($columns / $grid-columns)); 88 | } 89 | } 90 | @mixin make-md-column-pull($columns) { 91 | @media (min-width: $screen-md-min) { 92 | right: percentage(($columns / $grid-columns)); 93 | } 94 | } 95 | 96 | // Generate the large columns 97 | @mixin make-lg-column($columns, $gutter: $grid-gutter-width) { 98 | position: relative; 99 | min-height: 1px; 100 | padding-left: ($gutter / 2); 101 | padding-right: ($gutter / 2); 102 | 103 | @media (min-width: $screen-lg-min) { 104 | float: left; 105 | width: percentage(($columns / $grid-columns)); 106 | } 107 | } 108 | @mixin make-lg-column-offset($columns) { 109 | @media (min-width: $screen-lg-min) { 110 | margin-left: percentage(($columns / $grid-columns)); 111 | } 112 | } 113 | @mixin make-lg-column-push($columns) { 114 | @media (min-width: $screen-lg-min) { 115 | left: percentage(($columns / $grid-columns)); 116 | } 117 | } 118 | @mixin make-lg-column-pull($columns) { 119 | @media (min-width: $screen-lg-min) { 120 | right: percentage(($columns / $grid-columns)); 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /_scss/mixins/_responsive-visibility.scss: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | // [converter] $parent hack 6 | @mixin responsive-visibility($parent) { 7 | #{$parent} { 8 | display: block !important; 9 | } 10 | table#{$parent} { display: table; } 11 | tr#{$parent} { display: table-row !important; } 12 | th#{$parent}, 13 | td#{$parent} { display: table-cell !important; } 14 | } 15 | 16 | // [converter] $parent hack 17 | @mixin responsive-invisibility($parent) { 18 | #{$parent} { 19 | display: none !important; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /_scss/mixins/_vendor-prefixes.scss: -------------------------------------------------------------------------------- 1 | // Vendor Prefixes 2 | // 3 | // All vendor mixins are deprecated as of v3.2.0 due to the introduction of 4 | // Autoprefixer in our Gruntfile. They will be removed in v4. 5 | 6 | // - Animations 7 | // - Backface visibility 8 | // - Box shadow 9 | // - Box sizing 10 | // - Content columns 11 | // - Hyphens 12 | // - Placeholder text 13 | // - Transformations 14 | // - Transitions 15 | // - User Select 16 | 17 | 18 | // Animations 19 | @mixin animation($animation) { 20 | -webkit-animation: $animation; 21 | -o-animation: $animation; 22 | animation: $animation; 23 | } 24 | @mixin animation-name($name) { 25 | -webkit-animation-name: $name; 26 | animation-name: $name; 27 | } 28 | @mixin animation-duration($duration) { 29 | -webkit-animation-duration: $duration; 30 | animation-duration: $duration; 31 | } 32 | @mixin animation-timing-function($timing-function) { 33 | -webkit-animation-timing-function: $timing-function; 34 | animation-timing-function: $timing-function; 35 | } 36 | @mixin animation-delay($delay) { 37 | -webkit-animation-delay: $delay; 38 | animation-delay: $delay; 39 | } 40 | @mixin animation-iteration-count($iteration-count) { 41 | -webkit-animation-iteration-count: $iteration-count; 42 | animation-iteration-count: $iteration-count; 43 | } 44 | @mixin animation-direction($direction) { 45 | -webkit-animation-direction: $direction; 46 | animation-direction: $direction; 47 | } 48 | @mixin animation-fill-mode($fill-mode) { 49 | -webkit-animation-fill-mode: $fill-mode; 50 | animation-fill-mode: $fill-mode; 51 | } 52 | 53 | // Backface visibility 54 | // Prevent browsers from flickering when using CSS 3D transforms. 55 | // Default value is `visible`, but can be changed to `hidden` 56 | 57 | @mixin backface-visibility($visibility){ 58 | -webkit-backface-visibility: $visibility; 59 | -moz-backface-visibility: $visibility; 60 | backface-visibility: $visibility; 61 | } 62 | 63 | // Drop shadows 64 | // 65 | // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's 66 | // supported browsers that have box shadow capabilities now support it. 67 | 68 | @mixin box-shadow($shadow...) { 69 | -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1 70 | box-shadow: $shadow; 71 | } 72 | 73 | // Box sizing 74 | @mixin box-sizing($boxmodel) { 75 | -webkit-box-sizing: $boxmodel; 76 | -moz-box-sizing: $boxmodel; 77 | box-sizing: $boxmodel; 78 | } 79 | 80 | // CSS3 Content Columns 81 | @mixin content-columns($column-count, $column-gap: $grid-gutter-width) { 82 | -webkit-column-count: $column-count; 83 | -moz-column-count: $column-count; 84 | column-count: $column-count; 85 | -webkit-column-gap: $column-gap; 86 | -moz-column-gap: $column-gap; 87 | column-gap: $column-gap; 88 | } 89 | 90 | // Optional hyphenation 91 | @mixin hyphens($mode: auto) { 92 | word-wrap: break-word; 93 | -webkit-hyphens: $mode; 94 | -moz-hyphens: $mode; 95 | -ms-hyphens: $mode; // IE10+ 96 | -o-hyphens: $mode; 97 | hyphens: $mode; 98 | } 99 | 100 | // Placeholder text 101 | @mixin placeholder($color: $input-color-placeholder) { 102 | &::-moz-placeholder { color: $color; // Firefox 103 | opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 104 | &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+ 105 | &::-webkit-input-placeholder { color: $color; } // Safari and Chrome 106 | } 107 | 108 | // Transformations 109 | @mixin scale($ratio...) { 110 | -webkit-transform: scale($ratio); 111 | -ms-transform: scale($ratio); // IE9 only 112 | -o-transform: scale($ratio); 113 | transform: scale($ratio); 114 | } 115 | 116 | @mixin scaleX($ratio) { 117 | -webkit-transform: scaleX($ratio); 118 | -ms-transform: scaleX($ratio); // IE9 only 119 | -o-transform: scaleX($ratio); 120 | transform: scaleX($ratio); 121 | } 122 | @mixin scaleY($ratio) { 123 | -webkit-transform: scaleY($ratio); 124 | -ms-transform: scaleY($ratio); // IE9 only 125 | -o-transform: scaleY($ratio); 126 | transform: scaleY($ratio); 127 | } 128 | @mixin skew($x, $y) { 129 | -webkit-transform: skewX($x) skewY($y); 130 | -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ 131 | -o-transform: skewX($x) skewY($y); 132 | transform: skewX($x) skewY($y); 133 | } 134 | @mixin translate($x, $y) { 135 | -webkit-transform: translate($x, $y); 136 | -ms-transform: translate($x, $y); // IE9 only 137 | -o-transform: translate($x, $y); 138 | transform: translate($x, $y); 139 | } 140 | @mixin translate3d($x, $y, $z) { 141 | -webkit-transform: translate3d($x, $y, $z); 142 | transform: translate3d($x, $y, $z); 143 | } 144 | @mixin rotate($degrees) { 145 | -webkit-transform: rotate($degrees); 146 | -ms-transform: rotate($degrees); // IE9 only 147 | -o-transform: rotate($degrees); 148 | transform: rotate($degrees); 149 | } 150 | @mixin rotateX($degrees) { 151 | -webkit-transform: rotateX($degrees); 152 | -ms-transform: rotateX($degrees); // IE9 only 153 | -o-transform: rotateX($degrees); 154 | transform: rotateX($degrees); 155 | } 156 | @mixin rotateY($degrees) { 157 | -webkit-transform: rotateY($degrees); 158 | -ms-transform: rotateY($degrees); // IE9 only 159 | -o-transform: rotateY($degrees); 160 | transform: rotateY($degrees); 161 | } 162 | @mixin perspective($perspective) { 163 | -webkit-perspective: $perspective; 164 | -moz-perspective: $perspective; 165 | perspective: $perspective; 166 | } 167 | @mixin perspective-origin($perspective) { 168 | -webkit-perspective-origin: $perspective; 169 | -moz-perspective-origin: $perspective; 170 | perspective-origin: $perspective; 171 | } 172 | @mixin transform-origin($origin) { 173 | -webkit-transform-origin: $origin; 174 | -moz-transform-origin: $origin; 175 | -ms-transform-origin: $origin; // IE9 only 176 | transform-origin: $origin; 177 | } 178 | 179 | 180 | // Transitions 181 | 182 | @mixin transition($transition...) { 183 | -webkit-transition: $transition; 184 | -o-transition: $transition; 185 | transition: $transition; 186 | } 187 | @mixin transition-property($transition-property...) { 188 | -webkit-transition-property: $transition-property; 189 | transition-property: $transition-property; 190 | } 191 | @mixin transition-delay($transition-delay) { 192 | -webkit-transition-delay: $transition-delay; 193 | transition-delay: $transition-delay; 194 | } 195 | @mixin transition-duration($transition-duration...) { 196 | -webkit-transition-duration: $transition-duration; 197 | transition-duration: $transition-duration; 198 | } 199 | @mixin transition-timing-function($timing-function) { 200 | -webkit-transition-timing-function: $timing-function; 201 | transition-timing-function: $timing-function; 202 | } 203 | @mixin transition-transform($transition...) { 204 | -webkit-transition: -webkit-transform $transition; 205 | -moz-transition: -moz-transform $transition; 206 | -o-transition: -o-transform $transition; 207 | transition: transform $transition; 208 | } 209 | 210 | 211 | // User select 212 | // For selecting text on the page 213 | 214 | @mixin user-select($select) { 215 | -webkit-user-select: $select; 216 | -moz-user-select: $select; 217 | -ms-user-select: $select; // IE10+ 218 | user-select: $select; 219 | } 220 | -------------------------------------------------------------------------------- /about/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: About Vincent Chan 4 | --- 5 |An ex-banking analyst turned entrepreneur, who is hugely influenced by the book “Built to Last”. Vincent was the co-founder of Primitus. He left his job at Citi to pursue success on his own terms. He is passionate about changing the world through great technology products. His dream is to build a lasting company and a global brand that can represent his hometown, Hong Kong. Vincent graduated from UCLA in 2007 with a degree in Economics.
29 |“If you can dream it, you can do it. Always remember that this whole thing was started with a dream and a mouse.” - Walt Disney
31 |48 | Walt Disney, Steve Jobs, Al Gore, Bill Campbell, Bill Gates, Charlie Munger, Howard Schultz, Jim Collins, Sheryl Sandberg, Warren Buffett, Cher Wang, Masayoshi Son, Tadashi Yanai, Reid Hoffman, Peter Thiel, Paul Graham, Seth Godin, Steve Blank, Jeff Bezos. 49 |
50 |52 | Disney, Apple, Google, IKEA, Intuit, Procter & Gamble, Sony, Starbucks, Toyota, Pixar, Zappos, HubSpot, LinkedIn. 53 |
54 |56 | GitHub, Buffer, Airbnb, Dropbox, Square, Atlassian, Automattic, Evernote, Squarespace, InVision, Pinterest, Intercom, FiftyThree, Slack. 57 |
58 |60 | 37signals, Apple, Canon, Coca-Cola, Disney, innocent drinks, method, Nike, Muji, Patagonia. 61 |
62 |63 | Photo Credit: Pixar's La Luna 64 |
65 |