diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e43b0f9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..ac009ac
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,34 @@
+## 3.0.1
+
+- Change the comment hierarchy
+
+## 3.0.0
+
+- Add new **Core - Helper** file
+- Add new **Core - Content** file (replaces **Containers** Module file)
+- Add new **Core - Layout** file
+- Move extends, mixins, animations to new **Core - Helper** file
+- Change **Core - Reset** to **Normalize v2.1.1**
+- Add better variable naming conventions
+- Add more base variables
+- Add `em()` function
+- Add `rem()` function
+- Use `rems` as the default typographic unit
+- Add better documentation for **Core - Helper** file elements
+- Add better documentation for **Application** file imports
+- Add better documentation for variables
+
+## 2.1.0
+**March 5, 2013**
+
+- Remove **States** as part of **Core**
+
+## 2.0.1
+**March 5, 2013**
+
+- Modify the ellipsis, group, and ir extends
+
+## 2.0.0
+**February 22, 2013**
+
+- Initial version applied
diff --git a/CNAME b/CNAME
deleted file mode 100644
index 21bcedb..0000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-mvcss.io
diff --git a/MIT-LICENSE b/MIT-LICENSE
new file mode 100644
index 0000000..751b80f
--- /dev/null
+++ b/MIT-LICENSE
@@ -0,0 +1,7 @@
+Copyright (C) 2012 Drew Barontini & Nick Walsh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 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.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..119989f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+# [MVCSS v3.0.1](http://mvcss.github.com)
+
+## License
+MVCSS is licensed under the MIT License.
+
diff --git a/about/index.html b/about/index.html
deleted file mode 100644
index b81488c..0000000
--- a/about/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
In the beginning, MVCSS was created by Nick Walsh and Drew Barontini as a means of formalizing their individual CSS methods. With version one of MVCSS, the ideas of contextual changes throughout a site were tied closely to the MVC, or Model View Controller, pattern, where higher-level body classes were applied for the Controller/View of the given page. This worked at first, but quickly grew unwiedly, and began to feel like an anti-pattern for how we should be writing our CSS. The change was made in version two, and, through the preceding versions, iteratively evolved MVCSS into a more mature framework.
The Team
Now, the front-end teams using and contributing to MVCSS are split across two companies, Envy and Code School. Their shared experiences working across a vast array of large-scale client and product-based applications have helped to shape MVCSS into what it is today.
Note: Compass provides utilities and niceties to make your life easier. We use it, and we recommend that you give it a try.
+
+
Inbox
+
+
The inbox allows developers, and those not actively working on the CSS, to quickly add styles that are easily seen by the maintainer of the file. This section of the Application has worked wonders for us.
+
+
+
+
+
+
diff --git a/assets/images/logo-envy.svg b/assets/images/logo-envy.svg
deleted file mode 100644
index 9372e69..0000000
--- a/assets/images/logo-envy.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/javascripts/application.js b/assets/javascripts/application.js
deleted file mode 100644
index eb41573..0000000
--- a/assets/javascripts/application.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(){this.Leo={},this.Leo.Pager={},Leo.headingLinks=function(e){return e.els.each(function(){var e,n;return e=$(this),n=Leo.slugify(e.text()),e.attr("id",n),e.prepend("#")})},Leo.readTime=function(e){var n;return n=Math.ceil(e.text.split(" ").length/e.wordsPerMinute),e.element.append(""+n+" minute read")},Leo.Pager=function(){var e,n,t,s,o,i,u,r;return o=0,i=[],r={next:39,prev:37},s=function(e){return o=e,n(),u(),console.log(o)},n=function(){return i.push("/"),i.push("/styleguide/"),i.push("/styleguide/basics/"),i.push("/styleguide/numbers-game/"),i.push("/styleguide/comments/"),i.push("/styleguide/naming/"),i.push("/manifest/"),i.push("/foundation/"),i.push("/foundation/reset/"),i.push("/foundation/helpers/"),i.push("/foundation/config/"),i.push("/foundation/base/"),i.push("/foundation/tools/"),i.push("/components/"),i.push("/structures/"),i.push("/vendor/"),i.push("/about/"),i.push("/resources/")},u=function(){return $(document).on("keydown",function(n){switch(e(n)){case r.next:return t("next");case r.prev:return t("prev")}})},e=function(e){var n;return e=e||window.event,n=e.keyCode||e.which},t=function(e){switch(e){case"next":if(o!==i.length-1)return window.location=i[o+1];break;case"prev":if(0!==o)return window.location=i[o-1]}},{init:s}}(),Leo.slugify=function(e){return e.toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},jQuery(function(e){return Leo.headingLinks({els:e("h2, h3, h4, h5, h6")}),Leo.Pager.init(e("body").data("id")),e(".toggle").on("click",function(n){return n.preventDefault(),e(this).toggleClass("is-active"),e("body").toggleClass("is-sidebar-open"),e(".sidebar").toggleClass("is-open")}),e(document).on("keyup",function(n){switch(n.which){case 83:return e(".toggle").toggleClass("is-active"),e("body").toggleClass("is-sidebar-open"),e(".sidebar").toggleClass("is-open")}})})}).call(this);
\ No newline at end of file
diff --git a/assets/stylesheets/application.css b/assets/stylesheets/application.css
index 86351ab..5851f94 100644
--- a/assets/stylesheets/application.css
+++ b/assets/stylesheets/application.css
@@ -1 +1 @@
-/*! normalize.css v3.0.0 | MIT License | git.io/normalize */@import url("http://fonts.googleapis.com/css?family=Roboto+Slab:400,300,700");@import url("http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,700");html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{background:#ecf0f1;color:#444;font-family:"Roboto Slab", serif;font-size:16px;line-height:1.6}body{font-size:100%}body.is-sidebar-open{overflow-y:hidden;position:fixed}@media screen and (min-width: 50em){body.is-sidebar-open{position:static}}.content{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.3s ease-in-out;transition:-webkit-transform 0.3s ease-in-out;transition:-moz-transform 0.3s ease-in-out;transition:-ms-transform 0.3s ease-in-out;transition:transform 0.3s ease-in-out;margin-bottom:5em;padding-top:0.3125em}.is-sidebar-open .content{-webkit-transform:translateX(17.1875em);-ms-transform:translateX(17.1875em);transform:translateX(17.1875em)}@media screen and (min-width: 50em){.is-sidebar-open .content{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media screen and (min-width: 50em){.content{margin-left:17.1875em}}ul,ol,p{margin-bottom:1.25em;margin-top:0}ul,ol{padding-left:2.5em}li{margin-bottom:0.625em;margin-top:0}li>ul,li>ol{margin-top:0.625em}blockquote{color:#b5b5c0;font-style:italic;margin-bottom:1.25em;margin-left:1.25em;margin-top:0}pre,code{font-family:Courier, monospace}pre{margin-bottom:1.25em}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Roboto Slab", serif;font-weight:bold;line-height:1.2;margin-bottom:0.625em;margin-top:1.25em}@media screen and (min-width: 50em){h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0}}@media screen and (min-width: 68.75em){h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:1.25em}}h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{position:relative}@media screen and (min-width: 68.75em){h2:hover>a,.h2:hover>a,h3:hover>a,.h3:hover>a,h4:hover>a,.h4:hover>a,h5:hover>a,.h5:hover>a,h6:hover>a,.h6:hover>a{display:block}}h1,.h1{font-size:200%}h1>b,.h1>b{color:#b5b5c0;display:block;font-size:50%;font-weight:normal;margin-top:0.3125em}h2,.h2{border-bottom:2px solid #ccd4d5;font-size:150%;margin-bottom:1.25em;margin-top:2.5em;padding-bottom:0.3125em}h3,.h3{font-size:125%}h4,.h4{font-size:110%}h5,.h5{font-size:115%}h6,.h6{font-size:105%}a{border-bottom:2px solid #ccd4d5;color:#4e4e5b;text-decoration:none;transition:all 0.3s ease-in-out}a:hover,a:focus{border-bottom-color:#4e4e5b;color:#4e4e5b}img{height:auto;max-width:100%}.bucket--flag{display:table}.bucket--flag .bucket-content{vertical-align:middle}.bucket-content{display:table-cell;width:10000px}.bucket-media{float:left;margin-right:1.25em}.bucket-media>img{display:block;max-width:none}.card,pre,code,img{background:#fff;border-radius:3px;box-shadow:0 2px 0 rgba(51,51,51,0.25);padding:1.25em;position:relative}.card--thin,code{box-shadow:none;padding:0.25em 0.5em}.cell{margin-left:auto;margin-right:auto;max-width:46.875em;position:relative;max-width:64.0625em}.row{overflow:hidden;padding:0 1.25em}.row--a{background:#fff}@media screen and (min-width: 50em){.well{margin-bottom:1.25em;margin-top:1.25em}}.well--l{margin-bottom:2.5em;margin-top:2.5em}.anchor{border:0;display:none;bottom:0;left:-1.25em;padding-left:1.25em;padding-right:1.25em;margin-left:-1.25em;position:absolute;top:0}.header{background:#363640;height:auto;padding:1.25em;position:relative;text-align:center}.header-logo{background:none;border-radius:0;box-shadow:none;display:block;padding:0;position:static}.header-title{margin:0;text-transform:uppercase}.header-title>a{border:0;color:#fff}.header-title>a:hover,.header-title>a:focus{color:#b5b5c0}.header-version{color:#b5b5c0;font-weight:300;margin-bottom:0}.pager{border-top:2px solid #ccd4d5;margin:0;padding:0;margin-top:5em;padding-top:1.25em;text-align:center}.pager-item{display:inline;list-style-type:none;margin-right:1.25em}.pager-item:last-child{margin-right:0}.sidebar{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform 0.3s ease-in-out;transition:-webkit-transform 0.3s ease-in-out;transition:-moz-transform 0.3s ease-in-out;transition:-ms-transform 0.3s ease-in-out;transition:transform 0.3s ease-in-out;background:#4e4e5b;bottom:0;left:0;overflow:scroll;position:fixed;top:0;width:17.1875em;z-index:10}@media screen and (min-width: 50em){.sidebar{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.sidebar.is-open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.sidebar-btn{background:#666676;border-color:#363640;border-radius:3px;color:#fff;display:block;line-height:2.5;margin:0.625em;padding:0 1.25em;text-align:center}.sidebar-btn:hover,.sidebar-btn:focus{background:#717184;border-color:#363640;color:#fff}.sidebar-label{border-bottom:2px solid #363640;color:#ecf0f1;font-size:85%;font-weight:normal;letter-spacing:0.1em;margin:0;padding:0 1.25em 0.625em;text-transform:uppercase}.sidebar-link{border:0;color:#b5b5c0;display:block;font-family:"Roboto Slab", serif;font-size:85%;padding:0.625em 1.25em}.sidebar-link:hover,.sidebar-link:focus{background:#363640;color:#fff}.sidebar-link--sub{padding-left:2.5em}.sidebar-link.is-active{background:#ecf0f1;color:#444}.sidebar-nav-sub{background:#42424d;display:none}.sidebar-nav-sub.is-active{display:block}.toggle{border:0;height:15px;left:1.25em;position:absolute;top:1.25em;-webkit-backface-visibility:hidden;width:24px;z-index:20}@media screen and (min-width: 50em){.toggle{display:none}}@media screen and (min-width: 50em){.toggle{position:fixed}}.toggle.is-active{left:18.4375em}.toggle.is-active .toggle-icn-stack{background:none}.toggle.is-active .toggle-icn-stack::before,.toggle.is-active .toggle-icn-stack::after{-webkit-transition:all 0.3s 0.2s ease-in-out;transition:all 0.3s 0.2s ease-in-out;top:0}.toggle.is-active .toggle-icn-stack::before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.toggle.is-active .toggle-icn-stack::after{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.toggle-icn{border:0;display:block;height:15px;position:absolute;right:0;-webkit-backface-visibility:hidden;width:24px}.toggle-icn-stack{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;background:#b5b5c0;display:block;height:3px;margin-top:3px;width:24px}.toggle-icn-stack::before,.toggle-icn-stack::after{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;background:#b5b5c0;content:"";display:block;height:3px;position:absolute;width:24px;z-index:0}.toggle-icn-stack::before{top:-3px}.toggle-icn-stack::after{top:9px}.hll{background-color:#ffffcc}.c{color:#999988;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000000;font-weight:bold}.o{color:#000000;font-weight:bold}.cm{color:#999988;font-style:italic}.cp{color:#999999;font-weight:bold;font-style:italic}.c1{color:#999988;font-style:italic}.cs{color:#999999;font-weight:bold;font-style:italic}.gd{color:#000000;background-color:#ffdddd}.ge{color:#000000;font-style:italic}.gr{color:#aa0000}.gh{color:#999999}.gi{color:#000000;background-color:#ddffdd}.go{color:#888888}.gp{color:#555555}.gs{font-weight:bold}.gu{color:#aaaaaa}.gt{color:#aa0000}.kc{color:#000000;font-weight:bold}.kd{color:#000000;font-weight:bold}.kn{color:#000000;font-weight:bold}.kp{color:#000000;font-weight:bold}.kr{color:#000000;font-weight:bold}.kt{color:#445588;font-weight:bold}.m{color:#009999}.s{color:#d01040}.na{color:#008080}.nb{color:#0086B3}.nc{color:#445588;font-weight:bold}.no{color:#008080}.nd{color:#3c5d5d;font-weight:bold}.ni{color:#800080}.ne{color:#990000;font-weight:bold}.nf{color:#990000;font-weight:bold}.nl{color:#990000;font-weight:bold}.nn{color:#555555}.nt{color:#000080}.nv{color:#008080}.ow{color:#000000;font-weight:bold}.w{color:#bbbbbb}.mf{color:#009999}.mh{color:#009999}.mi{color:#009999}.mo{color:#009999}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999999}.vc{color:#008080}.vg{color:#008080}.vi{color:#008080}.il{color:#009999}.boxSizing,.card,pre,code,img,.header,.sidebar{-moz-box-sizing:border-box;box-sizing:border-box}.group::after,.bucket::after{clear:both;content:"";display:table}.debug{background-color:pink !important}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ir{background-color:transparent;border:0;overflow:hidden}.ir::before{content:"";display:block;width:0;height:150%}.srt{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.bch{background:#4e4e5b}.bci{background:#fff}.bcs{background:#b5b5c0}.db{display:block}.di{display:inline}.dib{display:inline-block}.dn{display:none}.maxs{margin:0.3125em}.mas{margin:0.625em}.mam{margin:1.25em}.mal{margin:2.5em}.maxl{margin:5em}.mbf{margin-bottom:0}.mbxs{margin-bottom:0.3125em}.mbs{margin-bottom:0.625em}.mbm{margin-bottom:1.25em}.mbl{margin-bottom:2.5em}.mbxl{margin-bottom:5em}.mhc{margin-left:auto;margin-right:auto}.mlf{margin-left:0}.mlxs{margin-left:0.3125em}.mls{margin-left:0.625em}.mlm{margin-left:1.25em}.mll{margin-left:2.5em}.mrf{margin-right:0}.mrxs{margin-right:0.3125em}.mrs{margin-right:0.625em}.mrm{margin-right:1.25em}.mrl{margin-right:2.5em}.mtf{margin-top:0}.mtxs{margin-top:0.3125em}.mts{margin-top:0.625em}.mtm{margin-top:1.25em}.mtl{margin-top:2.5em}.mtxl{margin-top:5em}.paxs{padding:0.3125em}.pas{padding:0.625em}.pam{padding:1.25em}.pal{padding:2.5em}.paxl{padding:5em}.pbf{padding-bottom:0}.pbxs{padding-bottom:0.3125em}.pbs{padding-bottom:0.625em}.pbm{padding-bottom:1.25em}.pbl{padding-bottom:2.5em}.pbxl{padding-bottom:5em}.plf{padding-left:0}.plxs{padding-left:0.3125em}.pls{padding-left:0.625em}.plm{padding-left:1.25em}.pll{padding-left:2.5em}.prf{padding-right:0}.prxs{padding-right:0.3125em}.prs{padding-right:0.625em}.prm{padding-right:1.25em}.prl{padding-right:2.5em}.ptf{padding-top:0}.ptxs{padding-top:0.3125em}.pts{padding-top:0.625em}.ptm{padding-top:1.25em}.ptl{padding-top:2.5em}.ptxl{padding-top:5em}.fl{float:left}.fr{float:right}.poa{position:absolute}.pof{position:fixed}.por{position:relative}.pos{position:static}.ra{border-radius:50%}.ram{border-radius:3px}.ran{border-radius:0}.tac{text-align:center}.tch{color:#4e4e5b}.tci{color:#fff}.tcs{color:#b5b5c0}.tct{color:#444}.tfb{font-family:"Roboto Slab", serif}.tfh{font-family:"Roboto Slab", serif}.tsxs{font-size:60%}.tss{font-size:75%}.tsm{font-size:90%}.tsl{font-size:115%}.tsxl{font-size:150%}.tsi{font-style:italic}.ttu{text-transform:uppercase}.twn{font-weight:normal}.twb{font-weight:bold}
\ No newline at end of file
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.c-logo:after{clear:both;content:"";display:table}html{font-size:16px}body{background:#ecf0f1;color:#444444;font-family:"Roboto Slab",serif;font-size:100%;line-height:1.6}@media screen and (min-width:768px){body{padding-left:18.75rem}}p{font-size:1rem;margin:0 0 1.25rem}pre,code,blockquote{font-size:90%}pre{margin:0 0 1.25rem;padding:.625rem}pre code{border:0;box-shadow:none;font-size:1rem}blockquote{font-size:100%;font-style:italic;color:#848484;margin:0 0 1.25rem;padding:.625rem .9375rem}blockquote p{margin:0}ul,ol{margin:0 0 1.25rem}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}ul li,ol li{padding-bottom:.625rem}ul li:last-child,ol li:last-child{padding-bottom:0}ul li{list-style-type:square}a{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border-bottom:2px solid #9a9aa8;color:#4e4e5b;text-decoration:none}a:hover,a:focus{background:#dddddd;border-color:#4e4e5b}code{padding:.125rem .3125rem}img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:3px;height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;margin:2.5rem 0 .625rem}h1,.c-h1{font-size:2.5rem;margin:0 0 1.25rem}h2,.c-h2{font-size:1.875rem}h3,.c-h3{font-size:1.5625rem}h4,.c-h4{font-size:1.25rem}h5,.c-h5{font-size:1.125rem}.c-center{text-align:center}.c-condensed{font-size:85%}.c-lead{font-size:125%}.c-shout{text-transform:uppercase}.c-logo{font-size:1.875rem;padding:0 .625rem 1.25rem}@media screen and (min-height:875px){.c-logo{margin-bottom:1.25rem;padding-bottom:0}}.c-logo img{float:left}.c-logo b{float:left;font-size:2.5rem;line-height:1.875rem;margin-left:1.25rem;margin-top:2.5rem}.c-logo b span{color:#b5b5c0;display:block;font-size:40%;font-weight:300}.c-tagline{display:none;font-weight:300}@media screen and (min-height:875px){.c-tagline{display:block}}.l-cell{margin:1.25rem auto 2.5rem;max-width:46.875rem;padding:0 1.25rem}@media screen and (min-width:920px){.l-cell{margin:3.75rem auto;padding:0 3.75rem}}pre,code,blockquote,.l-card{background:white;box-shadow:0 2px 0 rgba(0,0,0,0.1);border-radius:3px}.l-block{display:block}.l-pullLeft{float:left}.l-pullRight{float:right}.l-controls{padding:1.25rem}.l-controls p{font-size:85%;margin:.9375rem 0 0;text-align:center}.l-controls p a{color:#666676}@media screen and (min-width:920px){.l-controls{position:absolute;right:0;top:0}}.l-sidebar{display:none;background:#4e4e5b}.is-sidebar-toggled .l-sidebar{display:block}@media screen and (min-width:768px){.l-sidebar{position:absolute;top:0;bottom:0;left:0;right:auto;box-shadow:0 0 0 4px #e0e7e8;display:block;position:fixed;width:18.75rem}}.l-sidebar-toggle{background:#cfd9db;border:0;display:block;margin-top:.625rem;padding:.625rem;text-align:center}@media screen and (min-width:768px){.l-sidebar-toggle{display:none}}.l-header{background:#363640;color:#ecf0f1;display:none;padding-top:1.25rem;text-align:center}.l-header p{background:#2f2f37;margin-bottom:0;padding:.625rem 0}@media screen and (min-width:768px){.l-header{display:block}}.l-nav ul,.l-nav li{list-style-type:none;padding:0}.l-nav a{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;border:0;color:white;display:block;font-size:90%;padding:.625rem 1.25rem}.l-nav a:hover,.l-nav a:focus{background:#363640}.l-nav a.is-active{background:#ecf0f1;box-shadow:-2px 2px 1px rgba(31,31,36,0.35);color:#444444;margin-right:-0.25rem}@media screen and (min-height:875px){.l-nav a{font-size:110%;padding:.625rem 1.25rem}}.l-nav ul li ul a{background:#42424d;font-size:90%;padding:.625rem;padding-left:2.5rem}.l-nav ul li ul{display:none}.l-nav ul li ul.is-section-active{display:block}.l-about{position:absolute;top:auto;bottom:0;left:0;right:0;background:#42424d;color:#b5b5c0;display:none;margin:0;padding:1.25rem 0;text-align:center}@media screen and (min-width:768px){.l-about{display:block}}@media screen and (min-height:875px){.l-about{padding:2.5rem 0}}.l-about b{font-weight:300;display:block}.l-about a{color:#d1d1d7}.l-about a:hover{background:none;color:white}.hll{background-color:#ffffcc}.c{color:#999988;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000000;font-weight:700}.o{color:#000000;font-weight:700}.cm{color:#999988;font-style:italic}.cp{color:#999999;font-weight:700;font-style:italic}.c1{color:#999988;font-style:italic}.cs{color:#999999;font-weight:700;font-style:italic}.gd{color:#000000;background-color:#ffdddd}.ge{color:#000000;font-style:italic}.gr{color:#aa0000}.gh{color:#999999}.gi{color:#000000;background-color:#ddffdd}.go{color:#888888}.gp{color:#555555}.gs{font-weight:700}.gu{color:#aaaaaa}.gt{color:#aa0000}.kc{color:#000000;font-weight:700}.kd{color:#000000;font-weight:700}.kn{color:#000000;font-weight:700}.kp{color:#000000;font-weight:700}.kr{color:#000000;font-weight:700}.kt{color:#445588;font-weight:700}.m{color:#009999}.s{color:#d01040}.na{color:teal}.nb{color:#0086b3}.nc{color:#445588;font-weight:700}.no{color:teal}.nd{color:#3c5d5d;font-weight:700}.ni{color:purple}.ne{color:#990000;font-weight:700}.nf{color:#990000;font-weight:700}.nl{color:#990000;font-weight:700}.nn{color:#555555}.nt{color:navy}.nv{color:teal}.ow{color:#000000;font-weight:700}.w{color:#bbbbbb}.mf{color:#009999}.mh{color:#009999}.mi{color:#009999}.mo{color:#009999}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#009999}.btn--a,.btn--b,.btn{-webkit-transition:background .2s ease-in-out,box-shadow .2s ease-in-out;-moz-transition:background .2s ease-in-out,box-shadow .2s ease-in-out;-o-transition:background .2s ease-in-out,box-shadow .2s ease-in-out;transition:background .2s ease-in-out,box-shadow .2s ease-in-out;border-radius:3px;border:0;color:white;display:block;padding:.3125rem .625rem;text-align:center}.btn--a:active,.btn--b:active,.btn:active{-webkit-transform:translateY(2px);-moz-transform:translateY(2px);-ms-transform:translateY(2px);-o-transform:translateY(2px);transform:translateY(2px)}@media screen and (min-width:920px){.btn--a,.btn--b,.btn{width:12.5rem}}.btn--a{background:#4e4e5b;box-shadow:0 6px 0 #363640}.btn--a:hover,.btn--a:focus{background:#42424d;box-shadow:0 6px 0 #2b2b32}.btn--b{background:#77939a;box-shadow:0 6px 0 #5e7980;margin-top:2.5rem}.btn--b:hover,.btn--b:focus{background:#69878e;box-shadow:0 6px 0 #536b71}
\ No newline at end of file
diff --git a/assets/stylesheets/vendor/github.css b/assets/stylesheets/vendor/github.css
new file mode 100644
index 0000000..dacb8dd
--- /dev/null
+++ b/assets/stylesheets/vendor/github.css
@@ -0,0 +1 @@
+.hll{background-color:#ffffcc}.c{color:#999988;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000000;font-weight:700}.o{color:#000000;font-weight:700}.cm{color:#999988;font-style:italic}.cp{color:#999999;font-weight:700;font-style:italic}.c1{color:#999988;font-style:italic}.cs{color:#999999;font-weight:700;font-style:italic}.gd{color:#000000;background-color:#ffdddd}.ge{color:#000000;font-style:italic}.gr{color:#aa0000}.gh{color:#999999}.gi{color:#000000;background-color:#ddffdd}.go{color:#888888}.gp{color:#555555}.gs{font-weight:700}.gu{color:#aaaaaa}.gt{color:#aa0000}.kc{color:#000000;font-weight:700}.kd{color:#000000;font-weight:700}.kn{color:#000000;font-weight:700}.kp{color:#000000;font-weight:700}.kr{color:#000000;font-weight:700}.kt{color:#445588;font-weight:700}.m{color:#009999}.s{color:#d01040}.na{color:teal}.nb{color:#0086b3}.nc{color:#445588;font-weight:700}.no{color:teal}.nd{color:#3c5d5d;font-weight:700}.ni{color:purple}.ne{color:#990000;font-weight:700}.nf{color:#990000;font-weight:700}.nl{color:#990000;font-weight:700}.nn{color:#555555}.nt{color:navy}.nv{color:teal}.ow{color:#000000;font-weight:700}.w{color:#bbbbbb}.mf{color:#009999}.mh{color:#009999}.mi{color:#009999}.mo{color:#009999}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#009999}
\ No newline at end of file
diff --git a/changelog/index.html b/changelog/index.html
new file mode 100644
index 0000000..5cf17fb
--- /dev/null
+++ b/changelog/index.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+ MVCSS
+
+
+
+
+
+
The beginnings of a recognizable user interface live in the Components directory. These are abstract, reasonably portable modules that can be swapped in and out of different projects with relative ease.
Some Components, like g (grid) and card, are used for layout and containers, and can encompass many other modules.
Note: We shorten grid classes to g and grid-box classes to g-b. Since we write these grid classes so frequently, we want them to be as concise as possible. However, feel free to use the full words, if that’s more comfortable for you.
Other Components, like thumb, affect only a single element, and can resemble Tools at first glance. In these situations, both the Component and Tool have a single responsibility. The Component, however, may be declared alongside its modifier classes, while the Tool applies more definitive styles.
Core - Base sets any base-level styles for tags, such as p or blockquote, beyond what's included in the reset or normalize. Text styles set here reflect the most common appearance of that tag in the design.
Core - Content and Core - Layout are the bridge between base-level tags and modules. They give you the ability to set up abstractions that make contextual tweaks easier.
+
+
The difference between Core - Content and Core - Layout is that Core - Content applies mainly to typography (fonts, colors), while Core - Layout applies to just that, layout (margin, padding, sizing, positioning).
+
+
Note: The c- prefix is an implicit module. There is no c base module; it's only used as a prefix for the content modules.
+
+
Headings
+
+
We set the headings in the Core - Content rather than Core - Base, because we want the ability to share heading styles.
+
h1,.c-h1,%c-h1font-size:40pxmargin-bottom:20px
+
Borrowed from OOCSS, sometimes we want an h2 on a page to look like an h3. This gives us the ability to do that:
By default, MVCSS sizes all elements (font-size, margin, padding) with rems. We do this through the rem() function, that simply divides the target pixel value by the $base-fontSize. Here's an example:
Just like Core - Content, the Core - Layout gives you a higher level of abstraction for your modules.
+
+
Note: The l- prefix is an implicit module. There is no l base module; it's only used as a prefix for the layout modules. This is borrowed from SMACSS, which uses the l- convention in its layout section.
+
+
A good example of a Core - Layout submodule is what we call the cell module (l-cell), which gives your site a max-width, centers it, and applies horizontal padding. Let's take a look:
Just like Core - Content, there are default utilities provided to you, and you can create your own custom submodules as well. Be sure to read through the MVCSS project files to get familiarized.
As long as the project size warrants it, we always get things started with a style reset. Normalize.css is what we use, but alternatives like the infamous Eric Meyer Reset CSS are easily interchangeable.
+
+
With Normalize.css, we recommend that you alter it on a per-project basis, and make the proper overrides in Core - Base.
Base contains all of the tag-level settings for default HTML elements. These are things like anchors, headings, paragraphs, lists, and everything else that doesn’t have a class name attached. Because there are so many possible HTML elements to cover, we typically only style the ones relevant to a project as we need them.
We define html and body styles at the top, and then divide the remaining content into Block and Inline sections.
Block content is made up of all the block-level elements needed in an MVCSS project. Typically, this section includes the aforementioned headings, paragraphs, lists, as well as figures, blockquotes, and more.
Collapsing margins, while an intentional feature of CSS, only add complexity when authoring style sheets, so we limit vertical margins on block-level elements to a single-direction.
Inline content is made up of—you guessed it—inline elements. These include tags like a, strong, em, code, and any others that don’t force a line break before and after themselves by default.
Config holds your @font-face font setup (if applicable), and all of your application-wide variables. We include a set by default, which is broken down into Base, Colors, and Fonts.
@Font-face
If serving font files from a known path (e.g. your server), we include Bourbon’s +font-facemixin to simplify the daunting syntax, and also list fallback files needed for browser compatibility.
// -------------------------------------
// @font-face
// -------------------------------------
// ----- Open Sans ----- //
+font-face('OpenSans','OpenSans')+font-face('OpenSans','OpenSansBold',bold)+font-face('OpenSans','OpenSansItalic',normal,italic)
Note: if you use a web font provider that offers fonts exclusively via a JavaScript snippet, you can expect to leave the @font-face section empty.
Variables
All variables in MVCSS are defined in Config and are prefixed by their role or respective Component/Structure.
$b-* for base variables
$c-* for colors
$g-* for breakpoints
$componentName-* for Components
$structureName-* for Structures
Colors are a somewhat complicated issue, but we’ve had the most success defining an initial palette (without color prefixes), and then referencing those colors within other varibles. In projects with a limited set of colors, you may not need a palette section, so we encourage you to choose the approach you prefer.
Helpers are the functions, mixins, extends, and animations used throughout an MVCSS application.
Functions
Because of the many useful functions Sass gives us for free, we rarely need to define any of our own. Still, there may be occasions where you need to define some others (e.g., em, rem, strip-units). For these cases, we’ve dedicated the Functions section within Helpers to housing any necessary additions.
Mixins
We use mixins to reduce the amount of repeated code when authoring style sheets. Usually, this involves simplifying lengthy syntaxes, as well as providing fallbacks and vendor prefixes for unsupported CSS properties.
Take media queries for example: the most commonly used arguments are screen and min-width, so we made a mixin that includes those values as defaults, unless stated otherwise.
// ----- Respond-to ----- //
// -> Generates a media query
//
// $val - the breakpoint size
// $query - the type of query ('min-width', 'max-width')
// $media - the media type ('screen', 'print', etc.)
// @content - the generated content within the mixin
//
=respond-to($val,$query:min-width,$media:screen)@media#{$media}and($query:$val)@content
By now using the respond-to mixin throughout a project, you can write less code to achieve the same result.
// Standard CSS
@mediascreenand(min-width:$g-m)// Sass mixin
+respond-to($g-m)
Entries in the Mixin section should always take arguments and have the ability to differ when utilized. If you’re looking to add an unchanging group of properties to reuse, they belong in Extends.
Extends
Extends are collections of rules to use either directly in the markup, or to extend within modules. These are generally more verbose than Tools, but still adhere to the single responsibility principle.
Even though we frequently extend these classes within modules, we avoid the percent sign syntax (%className) to create placeholder selectors in Sass. It’s a good reminder to ourselves that these classes shouldn’t be nested in the context of anything else, avoiding potential selector bloat associated with extends.
Inside Markup
The group class applies multiple rules to a single element, and in the following example, we’re using it directly in the markup.
Within Helpers, Animations are the general-use @keyframes definitions that can be called across various modules.
If you catch yourself defining a similar animation in two separate places, we try to abstract it into a single, less contextual animation that can be reused throughout a project.
For example, in the case of fadeIn, we’re likely to use this animation across many different modules, making it a perfect animation to define inside Helpers.
// ----- Fade In ----- //
@keyframesfadeIn0%opacity:0100%opacity:1
Note: animations unique to specific modules are defined at the bottom of their respective style sheets.
\ No newline at end of file
diff --git a/foundation/index.html b/foundation/index.html
deleted file mode 100644
index 57500f9..0000000
--- a/foundation/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
- Foundation / MVCSS
Foundation represents the tools and materials required at the ground level of an MVCSS project. In other words, it provides the initial setup for your application.
As long as the project size warrants it, kick things off with a reset style sheet. We use Normalize.css (and include it with MVCSS by default), but alternatives like Eric Meyer’s Reset CSS are easily interchangeable.
Tools are presentational utility classes for usage directly in the markup itself. They’re helpful when you need a specific style in a unique context, but can’t justify creating (and naming) a new module or modifier to achieve the desired effect.
For example, the paragraph element inside of the following card Component needs its margin-bottom made flush, so we can easily apply a Tool class of mbf.
<divclass="card"><pclass="mbf">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veniam non dolor eligendi placeat.</p></div>
Using a Tool in this situation helps us avoid declaring a card or card modifier that assumes too much about its use case, while also helping to keep CSS specificity flat and managable.
Single Responsibility
Tools are as limited in responsibility as possible, allowing you to mix and match various classes to quickly produce many different styles. Every Tool does one thing and one thing well, ensuring that the elements they affect stay both predictable and extensible.
Going Too Far
If you find yourself using multiple Tools to achieve a reusable group of styles, it may be a sign that you should define those properties in their own module or modifier.
<aclass="btn pbm pll prl ptm tsl"href="v3.zip">Download v3.0.0</a><aclass="btn pbm pll prl ptm tsl"href="v2.zip">Download v2.4.1</a>
In the example above, we’re trying to create a large button by using only Tools. While our approach achieves the intended effect, we’re much better off defining those common styles in a .btn--l class, and then applying it in the markup.
This second approach also gives us a styling hook for any future changes to btn--l. Tools provide a powerful set of classes for fine-tuning unique contextual styles, but they aren’t a replacement for modular CSS practices.
MVCSS [Modular View CSS] is a Sass-based CSS architecture for creating predictable and maintainable application style.
CSS, for all its simplicity, is a difficult language to manage in large-scale implementations. Naming, paths to abstraction, structure, and methodologies are all free-form; MVCSS seeks to provide order for these sorts of projects.
Keeping with an architecture motif, applications are split into three major categories: Foundation, Components, and Structures. If Foundation represents tools, materials, and the ground level, Components are akin to creating a window, while Structures mirror a number of windows and doors creating a wall.
For a very early taste, here’s what a simple Component might consist of:
There’s no shortage of wonderful frameworks, ideas, and methods for tackling CSS across the web, and MVCSS wouldn’t exist without ideas set forth in few of these. Take a look at the Resources section to find out more about our architectural roots.