diff --git a/Checklist.md b/Checklist.md index c315488..3a12114 100644 --- a/Checklist.md +++ b/Checklist.md @@ -1,4 +1,4 @@ #Design-Checklist -- Responsive Design – Mobile: 320, 360, 400px +- Responsive Design – Mobile: 320, 400, 640px - Create Favicons (ICO!) with multiple sizes (16, 32, 48, 64px) diff --git a/README.md b/README.md index a314b53..ab0beea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -Template -======== +# Jastrow.me -My template for a new website +Thats my Homepage. + +I'm using GulpJS and Atom.io. + +<3 diff --git a/crossdomain.xml b/crossdomain.xml index a05eb8b..818b822 100755 --- a/crossdomain.xml +++ b/crossdomain.xml @@ -1,22 +1,15 @@ + - - - - - - - - + + + + diff --git a/css/main.css b/css/main.css index 2921069..076d35a 100644 --- a/css/main.css +++ b/css/main.css @@ -1,22 +1,373 @@ -/*----------------------------------------*\ - Schwerkraftlabor.de | @Gehirnfussel +/*----------------------------------------* Schwerkraftlabor.de | @Gehirnfussel \*----------------------------------------*/ -/* Imports +/* Imports --------------------------*/ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ } + +/** + * Remove default margin. + */ +body { + margin: 0; } + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ } + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; } + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; } + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; } + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; } + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; } + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; } + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; } + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; } + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; } + +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; } + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; } + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; } + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; } + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; } + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; } + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ } + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; } + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +button, +select { + text-transform: none; } + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ } + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; } + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; } + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + /* 2 */ + box-sizing: content-box; } + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; } + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; } + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + /* Vars --------------------------*/ /* Reset --------------------------*/ *, *:before, *:after { - -webkit-box-sizing: inherit; - -moz-box-sizing: inherit; - box-sizing: inherit; } + box-sizing: inherit; + padding: 0; + margin: 0; } html { height: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; } @@ -27,7 +378,8 @@ html { /* Cleafix --------------------------*/ -.clearfix::before, .clearfix::after { +.clearfix::before, +.clearfix::after { content: " "; display: table; } @@ -37,12 +389,48 @@ html { .clearfix { *zoom: 1; } -/* FLUIDITY v0.1.0 - @mrmrs - http://mrmrs.cc – MIT ---------------------------*/ -img, canvas, iframe, video, svg { +/* + FLUIDITY v0.1.0 + @mrmrs - http://mrmrs.cc + MIT +*/ +/* + + Responsive Utilities + +*/ +img, +canvas, +iframe, +video, +svg, +select, +textarea { max-width: 100%; } +/* Wrap tables or pre elements in a div with this class */ +.overflow-container { + overflow-y: scroll; } + +/* + Aspect ratios for media objects i.e canvas, iframe, video, svg etc. + Defaults to 16x9 +*/ +.aspect-ratio { + height: 0; + padding-top: 56.25%; + position: relative; } + +.aspect-ratio--object { + height: 100%; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + z-index: 100; } + /* Video-Container --------------------------*/ .video { @@ -96,451 +484,35 @@ img, canvas, iframe, video, svg { .column.one-fourth { width: 21.25%; } -/* normalize.css v3.0.0 | MIT License | git.io/normalize */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ -html { - font-family: sans-serif; - /* 1 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ } - -/** - * Remove default margin. - */ -body { - margin: 0; } - -/* HTML5 display definitions - ========================================================================== */ -/** - * Correct `block` display not defined in IE 8/9. - */ -article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { - display: block; } - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ -audio, canvas, progress, video { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Address `[hidden]` styling not present in IE 8/9. - * Hide the `template` element in IE, Safari, and Firefox < 22. - */ -[hidden], template { - display: none; } - -/* Links - ========================================================================== */ -/** - * Remove the gray background color from active links in IE 10. - */ -a { - background: transparent; } - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ -a:active, a:hover { - outline: 0; } - -/* Text-level semantics - ========================================================================== */ -/** - * Address styling not present in IE 8/9, Safari 5, and Chrome. - */ -abbr[title] { - border-bottom: 1px dotted; } - -/** - * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. - */ -b, strong { - font-weight: bold; } - -/** - * Address styling not present in Safari 5 and Chrome. - */ -dfn { - font-style: italic; } - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -/** - * Address styling not present in IE 8/9. - */ -mark { - background: #ff0; - color: #000; } - -/** - * Address inconsistent and variable font size in all browsers. - */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ -sub, sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -/* Embedded content - ========================================================================== */ -/** - * Remove border when inside `a` element in IE 8/9. - */ -img { - border: 0; } - -/** - * Correct overflow displayed oddly in IE 9. - */ -svg:not(:root) { - overflow: hidden; } - -/* Grouping content - ========================================================================== */ -/** - * Address margin not present in IE 8/9 and Safari 5. - */ -figure { - margin: 1em 40px; } - -/** - * Address differences between Firefox and other browsers. - */ -hr { - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; } - -/** - * Contain overflow in all browsers. - */ -pre { - overflow: auto; } - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ -code, kbd, pre, samp { - font-family: monospace, monospace; - font-size: 1em; } - -/* Forms - ========================================================================== */ -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. - */ -button, input, optgroup, select, textarea { - color: inherit; - /* 1 */ - font: inherit; - /* 2 */ - margin: 0; - /* 3 */ } - -/** - * Address `overflow` set to `hidden` in IE 8/9/10. - */ -button { - overflow: visible; } - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8+, and Opera - * Correct `select` style inheritance in Firefox. - */ -button, select { - text-transform: none; } - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ -button, html input[type="button"], input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ } - -/** - * Re-set default cursor for disabled elements. - */ -button[disabled], html input[disabled] { - cursor: default; } - -/** - * Remove inner padding and border in Firefox 4+. - */ -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; } - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -input { - line-height: normal; } - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ -input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ -input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { - height: auto; } - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - /* 2 */ - box-sizing: content-box; } - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * Define consistent border, margin, and padding. - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct `color` not being inherited in IE 8/9. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Remove default vertical scrollbar in IE 8/9. - */ -textarea { - overflow: auto; } - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ -optgroup { - font-weight: bold; } - -/* Tables - ========================================================================== */ -/** - * Remove most spacing between table cells. - */ -table { - border-collapse: collapse; - border-spacing: 0; } - -td, th { - padding: 0; } - -@font-face { - font-family: 'icomoon'; - src: url('../fonts/icomoon.eot?-y74kwe'); - src: url('../fonts/icomoon.eot?#iefix-y74kwe') format('embedded-opentype'), url('../fonts/icomoon.woff?-y74kwe') format('woff'), url('../fonts/icomoon.ttf?-y74kwe') format('truetype'), url('../fonts/icomoon.svg?-y74kwe#icomoon') format('svg'); - font-weight: normal; - font-style: normal; } - -[class^="icon-"], [class*=" icon-"] { - font-family: 'icomoon'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -.icon-quill:before { - content: "\e603"; } - -.icon-play:before { - content: "\e600"; } - -.icon-lab:before { - content: "\e608"; } - -.icon-newtab:before { - content: "\e602"; } - -.icon-mail:before { - content: "\e610"; } - -.icon-facebook:before { - content: "\e605"; } - -.icon-instagram:before { - content: "\e606"; } - -.icon-twitter:before { - content: "\e607"; } - -.icon-vimeo2:before { - content: "\e60a"; } - -.icon-flickr:before { - content: "\e612"; } - -.icon-github:before { - content: "\e60c"; } - -.icon-tumblr:before { - content: "\e60f"; } - -.icon-flattr:before { - content: "\e60b"; } - -.icon-file-pdf:before { - content: "\e60d"; } - -.icon-file-zip:before { - content: "\e60e"; } - -.icon-mobile:before { - content: "\e611"; } - -.icon-mail3:before { - content: "\e601"; } - -.icon-paperplane:before { - content: "\e604"; } - -.icon-vcard:before { - content: "\e613"; } - -.icon-cc:before { - content: "\e609"; } - -/* Content +/* @import 'font-awesome'; */ +/* Content --------------------------*/ body { - color: #1e1e1e; - font-size: 13pt; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - margin: 0 auto; - font-family: Hind, sans-serif; } + color: #000; + font-family: Open Sans, Helvetica, Arial, sans-serif; + font-size: 12pt; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: auto; } h1, h2, h3 { - font-family: Merriweather Sans, sans-serif; - text-rendering: optimizeLegibility; + font-family: Open Sans, Helvetica, Arial, sans-serif; font-weight: 700; - line-height: 1.2; } + line-height: 1.2em; + margin: 0.4em 0em; } h1 { - font-size: 2em; + font-size: 2.0em; word-break: break-all; } h2 { font-size: 1.5em; } +h3 { + font-size: 1.25em; } + p { - line-height: 1.7; - word-break: break-word; - margin: 1em 0; } - -a { - text-decoration: none; } - -blockquote { - font-size: 13pt; - line-height: 1.7em; - margin: 0 0 0 1.3em; - width: 590px; - padding: 0.5em 0.7em 0.5em 0.7em; - border: 1px solid #cbb7d1; - border-left: 5px #cbb7d1 solid; - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), color-stop(10%, #fff)); - background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #fff 10%); - background-image: linear-gradient(to bottom, #f3f3f3 0%, #fff 10%); } + line-height: 1.45em; + padding: 0.5em 0; } ul li { margin: 0.3em 0em 0.3em 0.5em; @@ -550,161 +522,73 @@ ul li { ul li p { padding-left: 1em; } -/* Header ---------------------------*/ -header { - text-align: center; } +a { + color: #660000; + -webkit-transition: color 0.2s ease; + transition: color 0.2s ease; } + a:hover, a:active, a:focus { + color: #b30000; } + a:active { + position: relative; + top: 1px; } -header img { - margin: 0.5em; - height: 230px; } +a.notdown:active { + position: inherit; } -header p { - font-size: 14pt; - font-weight: 500; } - -.icon-lab { - color: #44840b; } - -.contact { - padding: 0; - font-size: 16pt; } - -.contact > li { - display: inline-block; - list-style: none; - margin: 0 0.4em; - padding: 0; } - -.contact > li a { - color: #aea2b4; - -webkit-transition: 0.35s ease; - transition: 0.35s ease; } - -.contact > li a:hover { - color: #5c1075; } - -hr { - max-width: 626px; - border: none; - border-bottom: 1px solid #e0e0e0; - margin: 2em auto; } - -/* Content ---------------------------*/ -article { - margin: 0 auto; - width: 626px; } - -article .meta { - color: #444; - font-size: 0.9em; } - -article .end { - font-size: 1em; - color: #43194f; } - -article h1 { - margin: 0; - font-size: 1.5em; - margin-bottom: 0.3em; } - -article img { - border-radius: 6px; } - -article p:first-of-type { - margin-top: 0.3em; } - -article p:first-of-type::first-letter { - font-size: 1.35em; - text-transform: uppercase; } - -article a { - color: #5c1075; - text-decoration: none; - font-weight: 500; - padding: 0; } - -article a:focus, article a:hover, article a:active { - text-decoration: none; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #666)); - background-image: -webkit-linear-gradient(top, #fff 50%, #666 50%); - background-image: linear-gradient(to bottom, #fff 50%, #666 50%); - background-repeat: repeat-x; - background-size: 2px 2px; - background-position: 0 1.1em; } - -article a:active { - position: relative; - top: 1px; } - -article a[href^="http"]:not([href*="level42.us"]):not([href*="youtube.com"])::after { - color: #444; - font-family: icomoon, sans-serif; - font-weight: 400; - content: '\e602'; - margin: 0 0.05em 0 0.25em; } - -article a[href$="pdf"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e60d'; - margin: 0 0.05em 0 0.25em; } - -article a[href$="zip"]::after, article a[href$="rar"]::after, article a[href$="gz"]::after, article a[href$="7z"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e60e'; - margin: 0 0.05em 0 0.25em; } - -article a[href^="mailto:"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e603'; - margin: 0 0.05em 0 0.25em; } - -.video { - padding-top: 25px; } - -.video + a[href*="youtube.com"] { - color: #a51515; - font-size: 12pt; - font-weight: 400; - line-height: 2; } - -.video + a[href*="youtube.com"]::before { - font-family: icomoon, sans-serif; - content: "\e600"; - margin-right: 0.25em; } - -/* Footer ---------------------------*/ -/* Responsive Stuff & Media Queries ---------------------------*/ -@media screen and (max-width: 650px) { - html { - margin: 0; } - hr { - margin: 1em auto; } - article, article blockquote, article img { - width: 100%; } - article img { - border-radius: 0; } - article p, article h1, article .meta, article a[href*="youtube.com"] { - margin-left: 8px; - margin-right: 8px; } - article blockquote { - width: 97%; - margin: 0.5em 0.5em 0.5em 0; - padding: 0.5em 0.7em 0.5em 0.7em; - border: 1px solid #cbb7d1; - border-left: 5px #cbb7d1 solid; - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), color-stop(10%, #fff)); - background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #fff 10%); - background-image: linear-gradient(to bottom, #f3f3f3 0%, #fff 10%); } } +@media screen { + a.external:after { + content: "\00A0" "[" "\2197" "]"; } } @media print { - a[href]::after { + a[href]:after { content: " (" attr(href) ")"; } } + +/* Header +--------------------------*/ +/* Content +--------------------------*/ +.fa { + margin-right: 0.3em; + speak: none; + /* Won't speak the symbol | badly supported by browsers */ } + +.button { + text-overflow: ellipsis; } + +/* Footer +--------------------------*/ +/* Responsive Stuff +--------------------------*/ +@media screen and (max-width: 768px) { + .column.full, + .column.three-fourth, + .column.two-thirds, + .column.half { + float: none; + margin: 0; + width: 100%; } + .column.one-third, + .column.one-fourth { + float: left; + margin: 0; + width: 50%; + padding: 0.4em; } } + +@media screen and (max-width: 568px) { + .column.one-third, + .column.two-third { + float: none; + margin: 0; + width: 100%; } } + +@media screen and (max-width: 480px) { + .column.one-third, + .column.one-fourth, + .column.full, + .column.three-fourth, + .column.two-thirds, + .column.half, + .column.full { + float: left; + margin: 0; + width: 100%; } } diff --git a/css/main.min.css b/css/main.min.css index 319d644..8cc8810 100644 --- a/css/main.min.css +++ b/css/main.min.css @@ -1 +1 @@ -*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}html{height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-size-adjust:100%}@-ms-viewport{width:device-width}.clearfix::after,.clearfix::before{content:" ";display:table}.clearfix::after{clear:both}canvas,iframe,img,svg,video{max-width:100%}.video{position:relative;height:0;padding-bottom:56.25%}.video>*{position:absolute;top:0;left:0;height:100%;width:100%}.container{margin:0 auto}.row{overflow:hidden;max-width:960px;margin:0 auto}.fullrow{max-width:100%}.column{float:left;margin-left:5%}.column:first-child{margin-left:0}.column.full{width:100%}.column.three-fourth{width:63.75%}.column.two-thirds{width:65%}.column.half{width:47.5%}.column.one-third{width:30%}.column.one-fourth{width:21.25%}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}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:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.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:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-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]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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 silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@font-face{font-family:icomoon;src:url(../fonts/icomoon.eot?-y74kwe);src:url(../fonts/icomoon.eot?#iefix-y74kwe) format('embedded-opentype'),url(../fonts/icomoon.woff?-y74kwe) format('woff'),url(../fonts/icomoon.ttf?-y74kwe) format('truetype'),url(../fonts/icomoon.svg?-y74kwe#icomoon) format('svg');font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-quill:before{content:"\e603"}.icon-play:before{content:"\e600"}.icon-lab:before{content:"\e608"}.icon-newtab:before{content:"\e602"}.icon-mail:before{content:"\e610"}.icon-facebook:before{content:"\e605"}.icon-instagram:before{content:"\e606"}.icon-twitter:before{content:"\e607"}.icon-vimeo2:before{content:"\e60a"}.icon-flickr:before{content:"\e612"}.icon-github:before{content:"\e60c"}.icon-tumblr:before{content:"\e60f"}.icon-flattr:before{content:"\e60b"}.icon-file-pdf:before{content:"\e60d"}.icon-file-zip:before{content:"\e60e"}.icon-mobile:before{content:"\e611"}.icon-mail3:before{content:"\e601"}.icon-paperplane:before{content:"\e604"}.icon-vcard:before{content:"\e613"}.icon-cc:before{content:"\e609"}body{color:#1e1e1e;font-size:13pt;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto;font-family:Hind,sans-serif}h1,h2,h3{font-family:Merriweather Sans,sans-serif;text-rendering:optimizeLegibility;font-weight:700;line-height:1.2}h1{font-size:2em;word-break:break-all}h2{font-size:1.5em}p{line-height:1.7;word-break:break-word;margin:1em 0}a{text-decoration:none}blockquote{font-size:13pt;line-height:1.7em;margin:0 0 0 1.3em;width:590px;padding:.5em .7em;border:1px solid #cbb7d1;border-left:5px #cbb7d1 solid;border-top-right-radius:6px;border-bottom-right-radius:6px;background-image:-webkit-gradient(linear,left top,left bottom,from(#f3f3f3),color-stop(10%,#fff));background-image:-webkit-linear-gradient(top,#f3f3f3 0,#fff 10%);background-image:linear-gradient(to bottom,#f3f3f3 0,#fff 10%)}ul li{margin:.3em 0 .3em .5em;list-style-position:inside;list-style-type:square;font-size:1em}ul li p{padding-left:1em}header{text-align:center}header img{margin:.5em;height:230px}header p{font-size:14pt;font-weight:500}.icon-lab{color:#44840b}.contact{padding:0;font-size:16pt}.contact>li{display:inline-block;list-style:none;margin:0 .4em;padding:0}.contact>li a{color:#aea2b4;-webkit-transition:.35s ease;transition:.35s ease}.contact>li a:hover{color:#5c1075}hr{max-width:626px;border:none;border-bottom:1px solid #e0e0e0;margin:2em auto}article{margin:0 auto;width:626px}article .meta{color:#444;font-size:.9em}article .end{font-size:1em;color:#43194f}article h1{margin:0 0 .3em;font-size:1.5em}article img{border-radius:6px}article p:first-of-type{margin-top:.3em}article p:first-of-type::first-letter{font-size:1.35em;text-transform:uppercase}article a{color:#5c1075;text-decoration:none;font-weight:500;padding:0}article a:active,article a:focus,article a:hover{text-decoration:none;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#666));background-image:-webkit-linear-gradient(top,#fff 50%,#666 50%);background-image:linear-gradient(to bottom,#fff 50%,#666 50%);background-repeat:repeat-x;background-size:2px 2px;background-position:0 1.1em}article a:active{position:relative;top:1px}article a[href^=http]:not([href*="level42.us"]):not([href*="youtube.com"])::after{color:#444;font-family:icomoon,sans-serif;font-weight:400;content:'\e602';margin:0 .05em 0 .25em}article a[href$=pdf]::after{font-weight:400;font-family:icomoon,sans-serif;content:'\e60d';margin:0 .05em 0 .25em}article a[href$="7z"]::after,article a[href$=gz]::after,article a[href$=rar]::after,article a[href$=zip]::after{font-weight:400;font-family:icomoon,sans-serif;content:'\e60e';margin:0 .05em 0 .25em}article a[href^="mailto:"]::after{font-weight:400;font-family:icomoon,sans-serif;content:'\e603';margin:0 .05em 0 .25em}.video{padding-top:25px}.video+a[href*="youtube.com"]{color:#a51515;font-size:12pt;font-weight:400;line-height:2}.video+a[href*="youtube.com"]::before{font-family:icomoon,sans-serif;content:"\e600";margin-right:.25em}@media screen and (max-width:650px){html{margin:0}hr{margin:1em auto}article,article blockquote,article img{width:100%}article img{border-radius:0}article .meta,article a[href*="youtube.com"],article h1,article p{margin-left:8px;margin-right:8px}article blockquote{width:97%;margin:.5em .5em .5em 0;padding:.5em .7em;border:1px solid #cbb7d1;border-left:5px #cbb7d1 solid;border-top-right-radius:6px;border-bottom-right-radius:6px;background-image:-webkit-gradient(linear,left top,left bottom,from(#f3f3f3),color-stop(10%,#fff));background-image:-webkit-linear-gradient(top,#f3f3f3 0,#fff 10%);background-image:linear-gradient(to bottom,#f3f3f3 0,#fff 10%)}}@media print{a[href]::after{content:" (" attr(href) ")"}} \ No newline at end of file +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */body,mark{color:#000}img,legend{border:0}.column.full,.video>*{width:100%}body,h1,h2,h3{font-family:Open Sans,Helvetica,Arial,sans-serif}b,h1,h2,h3,optgroup,strong{font-weight:700}html{font-family:sans-serif;height:100%;box-sizing:border-box;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-size:12pt;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,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-color:transparent;color:#600;-webkit-transition:color .2s ease;transition:color .2s ease}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}mark{background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{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;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{padding:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*,:after,:before{box-sizing:inherit;padding:0;margin:0}.container,.row{margin:0 auto}@-ms-viewport{width:device-width}.clearfix::after,.clearfix::before{content:" ";display:table}.clearfix::after{clear:both}canvas,iframe,img,select,svg,textarea,video{max-width:100%}.overflow-container{overflow-y:scroll}.aspect-ratio{height:0;padding-top:56.25%;position:relative}.aspect-ratio--object{height:100%;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}.video{position:relative;height:0;padding-bottom:56.25%}.video>*{position:absolute;top:0;left:0;height:100%}.row{overflow:hidden;max-width:10in}.fullrow{max-width:100%}.column{float:left;margin-left:5%}.column:first-child{margin-left:0}.column.three-fourth{width:63.75%}.column.two-thirds{width:65%}.column.half{width:47.5%}.column.one-third{width:30%}.column.one-fourth{width:21.25%}h1,h2,h3{line-height:1.2em;margin:.4em 0}h1{font-size:2em;word-break:break-all}h2{font-size:1.5em}h3{font-size:1.25em}p{line-height:1.45em;padding:.5em 0}ul li{margin:.3em 0 .3em .5em;list-style-position:inside;list-style-type:square;font-size:1em}ul li p{padding-left:1em}a:active,a:focus,a:hover{color:#b30000}a:active{position:relative;top:1px}a.notdown:active{position:inherit}@media screen{a.external:after{content:"\00A0" "[" "\2197" "]"}}@media print{a[href]:after{content:" (" attr(href) ")"}}.fa{margin-right:.3em;speak:none}.button{text-overflow:ellipsis}@media screen and (max-width:768px){.column.full,.column.half,.column.three-fourth,.column.two-thirds{float:none;margin:0;width:100%}.column.one-fourth,.column.one-third{float:left;margin:0;width:50%;padding:.4em}}@media screen and (max-width:568px){.column.one-third,.column.two-third{float:none;margin:0;width:100%}}@media screen and (max-width:480px){.column.full,.column.half,.column.one-fourth,.column.one-third,.column.three-fourth,.column.two-thirds{float:left;margin:0;width:100%}} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 26cf4a9..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf new file mode 100644 index 0000000..f7936cc Binary files /dev/null and b/fonts/FontAwesome.otf differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot new file mode 100755 index 0000000..33b2bb8 Binary files /dev/null and b/fonts/fontawesome-webfont.eot differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg new file mode 100755 index 0000000..1ee89d4 --- /dev/null +++ b/fonts/fontawesome-webfont.svg @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf new file mode 100755 index 0000000..ed9372f Binary files /dev/null and b/fonts/fontawesome-webfont.ttf differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff new file mode 100755 index 0000000..8b280b9 Binary files /dev/null and b/fonts/fontawesome-webfont.woff differ diff --git a/fonts/fontawesome-webfont.woff2 b/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..3311d58 Binary files /dev/null and b/fonts/fontawesome-webfont.woff2 differ diff --git a/fonts/icomoon.eot b/fonts/icomoon.eot deleted file mode 100755 index 61462b1..0000000 Binary files a/fonts/icomoon.eot and /dev/null differ diff --git a/fonts/icomoon.svg b/fonts/icomoon.svg deleted file mode 100755 index ac39cb0..0000000 --- a/fonts/icomoon.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/icomoon.ttf b/fonts/icomoon.ttf deleted file mode 100755 index a5caa96..0000000 Binary files a/fonts/icomoon.ttf and /dev/null differ diff --git a/fonts/icomoon.woff b/fonts/icomoon.woff deleted file mode 100755 index df75186..0000000 Binary files a/fonts/icomoon.woff and /dev/null differ diff --git a/gulpfile.js b/gulpfile.js index 4c7a287..a8dfa4e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,70 +1,86 @@ // Require all those npm-modules -var gulp = require('gulp'), - sass = require('gulp-sass'), - autoprefixer = require('gulp-autoprefixer'), - cssmin = require('gulp-cssmin'), - jshint = require('gulp-jshint'), - uglify = require('gulp-uglify'), - imagemin = require('gulp-imagemin'), - pngcrush = require('imagemin-pngcrush'), - rename = require('gulp-rename'), - clean = require('gulp-rimraf'), - concat = require('gulp-concat'), - notify = require('gulp-notify'), - cache = require('gulp-cache'), - livereload = require('gulp-livereload'); +var gulp = require('gulp'), + sass = require('gulp-sass'), + autoprefixer = require('gulp-autoprefixer'), + cssmin = require('gulp-cssmin'), + jshint = require('gulp-jshint'), + uglify = require('gulp-uglify'), + imagemin = require('gulp-imagemin'), + pngcrush = require('imagemin-pngcrush'), + rename = require('gulp-rename'), + del = require('del'), + concat = require('gulp-concat'), + notify = require('gulp-notify'), + cache = require('gulp-cache'), + livereload = require('gulp-livereload'), + plumber = require('gulp-plumber'); + // render scss -gulp.task('styles', function() { - gulp.src('./src/scss/main.scss') - .pipe(sass({ style: 'expanded' })) - .pipe(autoprefixer('last 2 version', 'IE 9', 'safari 5', 'Firefox ESR', 'opera 12.1', 'ios 6', 'android 4', 'BlackBerry 10')) - .pipe(gulp.dest('./css')) - .pipe(rename({suffix: '.min'})) - .pipe(cssmin()) - .pipe(gulp.dest('./css')) - .pipe(notify({ message: 'Styles task complete' })); +gulp.task('styles', function() {var onError = function(err) { + notify.onError({ + title: "Gulp", + subtitle: "Failure!", + message: "Error: <%= error.message %>", + sound: "Submarine" + })(err); + + this.emit('end'); + }; + gulp.src('./src/scss/main.scss') + .pipe(plumber({errorHandler: onError})) + .pipe(sass({ style: 'expanded' })) + .pipe(autoprefixer('last 2 version', 'IE 9', 'safari 5', 'Firefox ESR', 'opera 12.1', 'ios 6', 'android 4', 'BlackBerry 10')) + .pipe(gulp.dest('./css')) + .pipe(rename({suffix: '.min'})) + .pipe(cssmin()) + .pipe(gulp.dest('./css')) + .pipe(notify({ message: 'Styles task complete' })); }); + // compress images gulp.task('images', function() { - gulp.src('./src/img/*') - .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))) - .pipe(gulp.dest('./img/')) - .pipe(notify({ message: 'Images task complete' })); + gulp.src('./src/img/*') + .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))) + .pipe(gulp.dest('./img/')) + .pipe(notify({ message: 'Images task complete' })); }); -// clean the folders -gulp.task('clean', function() { - gulp.src(['./css/*', './js/*', './img/*'], {read: false}) - .pipe(clean()); -}); // do the javascript-dance gulp.task('scripts', function() { - gulp.src('./src/js/**/*.js') - .pipe(concat('main.js')) - .pipe(gulp.dest('./js')) - .pipe(rename({suffix: '.min'})) - .pipe(uglify()) - .pipe(gulp.dest('./js')) - .pipe(notify({ message: 'Scripts task complete' })); + gulp.src('./src/js/**/*.js') + .pipe(concat('main.js')) + .pipe(gulp.dest('./js')) + .pipe(rename({suffix: '.min'})) + .pipe(uglify()) + .pipe(gulp.dest('./js')) + .pipe(notify({ message: 'Scripts task complete' })); }); + // watch it while working gulp.task('watch', function() { - // Watch .scss files - gulp.watch('src/scss/**/*.scss', ['styles']); + // Watch .scss files + gulp.watch('src/scss/**/*.scss', ['styles']); - // Watch .js files - gulp.watch('src/js/**/*.js', ['scripts']); + // Watch .js files + gulp.watch('src/js/**/*.js', ['scripts']); - // Watch image files - gulp.watch('src/img/**/*', ['images']); + // Watch image files + gulp.watch('src/img/**/*', ['images']); }); + +// clean the folders +gulp.task('clean', function(cb) { + del(['./css/*', './js/*', './img/*'], cb) +}); + + // default: all of them! \o/ gulp.task('default', ['clean'], function() { - gulp.start('styles', 'scripts', 'images'); + gulp.start('styles', 'scripts', 'images'); }); diff --git a/htaccess b/htaccess index e304d32..286b2b5 100644 --- a/htaccess +++ b/htaccess @@ -1,17 +1,727 @@ -# CHARSET +# Apache Server Configs v2.14.0 | MIT License +# https://github.com/h5bp/server-configs-apache + +# based on html5-boilerplate htaccess-file: +# https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess + +# (!) Using `.htaccess` files slows down Apache, therefore, if you have +# access to the main server configuration file (which is usually called +# `httpd.conf`), you should add this logic there. +# +# https://httpd.apache.org/docs/current/howto/htaccess.html. + +# ###################################################################### +# # CROSS-ORIGIN # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Cross-origin requests | +# ---------------------------------------------------------------------- + +# Allow cross-origin requests. +# +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS +# http://enable-cors.org/ +# http://www.w3.org/TR/cors/ + +# +# Header set Access-Control-Allow-Origin "*" +# + +# ---------------------------------------------------------------------- +# | Cross-origin images | +# ---------------------------------------------------------------------- + +# Send the CORS header for images when browsers request it. +# +# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image +# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html + + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ---------------------------------------------------------------------- +# | Cross-origin web fonts | +# ---------------------------------------------------------------------- + +# Allow cross-origin access to web fonts. + + + + Header set Access-Control-Allow-Origin "*" + + + +# ---------------------------------------------------------------------- +# | Cross-origin resource timing | +# ---------------------------------------------------------------------- + +# Allow cross-origin access to the timing information for all resources. +# +# If a resource isn't served with a `Timing-Allow-Origin` header that +# would allow its timing information to be shared with the document, +# some of the attributes of the `PerformanceResourceTiming` object will +# be set to zero. +# +# http://www.w3.org/TR/resource-timing/ +# http://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/ + +# +# Header set Timing-Allow-Origin: "*" +# + + +# ###################################################################### +# # ERRORS # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Custom error messages/pages | +# ---------------------------------------------------------------------- + +# Customize what Apache returns to the client in case of an error. +# https://httpd.apache.org/docs/current/mod/core.html#errordocument + +ErrorDocument 404 /404.html + +# ---------------------------------------------------------------------- +# | Error prevention | +# ---------------------------------------------------------------------- + +# Disable the pattern matching based on filenames. +# +# This setting prevents Apache from returning a 404 error as the result +# of a rewrite when the directory with the same name does not exist. +# +# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews + +Options -MultiViews + + +# ###################################################################### +# # INTERNET EXPLORER # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Document modes | +# ---------------------------------------------------------------------- + +# Force Internet Explorer 8/9/10 to render pages in the highest mode +# available in the various cases when it may not. +# +# https://hsivonen.fi/doctype/#ie8 +# +# (!) Starting with Internet Explorer 11, document modes are deprecated. +# If your business still relies on older web apps and services that were +# designed for older versions of Internet Explorer, you might want to +# consider enabling `Enterprise Mode` throughout your company. +# +# https://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#docmode +# http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx + + + + Header set X-UA-Compatible "IE=edge" + + # `mod_headers` cannot match based on the content-type, however, + # the `X-UA-Compatible` response header should be send only for + # HTML documents and not for the other resources. + + + Header unset X-UA-Compatible + + + + +# ---------------------------------------------------------------------- +# | Iframes cookies | +# ---------------------------------------------------------------------- + +# Allow cookies to be set from iframes in Internet Explorer. +# +# https://msdn.microsoft.com/en-us/library/ms537343.aspx +# http://www.w3.org/TR/2000/CR-P3P-20001215/ + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + + +# ###################################################################### +# # MEDIA TYPES AND CHARACTER ENCODINGS # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Media types | +# ---------------------------------------------------------------------- + +# Serve resources with the proper media types (f.k.a. MIME types). +# +# https://www.iana.org/assignments/media-types/media-types.xhtml +# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype + + + + # Data interchange + + AddType application/atom+xml atom + AddType application/json json map topojson + AddType application/ld+json jsonld + AddType application/rss+xml rss + AddType application/vnd.geo+json geojson + AddType application/xml rdf xml + + + # JavaScript + + # Normalize to standard type. + # https://tools.ietf.org/html/rfc4329#section-7.2 + + AddType application/javascript js + + + # Manifest files + + AddType application/manifest+json webmanifest + AddType application/x-web-app-manifest+json webapp + AddType text/cache-manifest appcache + + + # Media files + + AddType audio/mp4 f4a f4b m4a + AddType audio/ogg oga ogg opus + AddType image/bmp bmp + AddType image/svg+xml svg svgz + AddType image/webp webp + AddType video/mp4 f4v f4p m4v mp4 + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv + + # Serving `.ico` image files with a different media type + # prevents Internet Explorer from displaying then as images: + # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee + + AddType image/x-icon cur ico + + + # Web fonts + + AddType application/font-woff woff + AddType application/font-woff2 woff2 + AddType application/vnd.ms-fontobject eot + + # Browsers usually ignore the font media types and simply sniff + # the bytes to figure out the font type. + # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern + # + # However, Blink and WebKit based browsers will show a warning + # in the console if the following font types are served with any + # other media types. + + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf + + + # Other + + AddType application/octet-stream safariextz + AddType application/x-bb-appworld bbaw + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-xpinstall xpi + AddType text/vcard vcard vcf + AddType text/vnd.rim.location.xloc xloc + AddType text/vtt vtt + AddType text/x-component htc + + + +# ---------------------------------------------------------------------- +# | Character encodings | +# ---------------------------------------------------------------------- + +# Serve all resources labeled as `text/html` or `text/plain` +# with the media type `charset` parameter set to `UTF-8`. +# +# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset + AddDefaultCharset utf-8 +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# MIME TYPES -AddType application/font-woff .woff -AddType application/javascript .js +# Serve the following file types with the media type `charset` +# parameter set to `UTF-8`. +# +# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset + + + AddCharset utf-8 .atom \ + .bbaw \ + .css \ + .geojson \ + .js \ + .json \ + .jsonld \ + .manifest \ + .rdf \ + .rss \ + .topojson \ + .vtt \ + .webapp \ + .webmanifest \ + .xloc \ + .xml + -# BEGIN Compression +# ###################################################################### +# # REWRITES # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Rewrite engine | +# ---------------------------------------------------------------------- + +# (1) Turn on the rewrite engine (this is necessary in order for +# the `RewriteRule` directives to work). +# +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine +# +# (2) Enable the `FollowSymLinks` option if it isn't already. +# +# https://httpd.apache.org/docs/current/mod/core.html#options +# +# (3) If your web host doesn't allow the `FollowSymlinks` option, +# you need to comment it out or remove it, and then uncomment +# the `Options +SymLinksIfOwnerMatch` line (4), but be aware +# of the performance impact. +# +# https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks +# +# (4) Some cloud hosting services will require you set `RewriteBase`. +# +# https://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase +# +# (5) Depending on how your server is set up, you may also need to +# use the `RewriteOptions` directive to enable some options for +# the rewrite engine. +# +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions +# +# (6) Set %{ENV:PROTO} variable, to allow rewrites to redirect with the +# appropriate schema automatically (http or https). + + + + # (1) + RewriteEngine On + + # (2) + Options +FollowSymlinks + + # (3) + # Options +SymLinksIfOwnerMatch + + # (4) + # RewriteBase / + + # (5) + # RewriteOptions + + # (6) + RewriteCond %{HTTPS} =on + RewriteRule ^ - [env=proto:https] + RewriteCond %{HTTPS} !=on + RewriteRule ^ - [env=proto:http] + + + +# ---------------------------------------------------------------------- +# | Forcing `https://` | +# ---------------------------------------------------------------------- + +# Redirect from the `http://` to the `https://` version of the URL. +# https://wiki.apache.org/httpd/RewriteHTTPToHTTPS + +# +# RewriteEngine On +# RewriteCond %{HTTPS} !=on +# RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] +# + +# ---------------------------------------------------------------------- +# | Suppressing / Forcing the `www.` at the beginning of URLs | +# ---------------------------------------------------------------------- + +# The same content should never be available under two different +# URLs, especially not with and without `www.` at the beginning. +# This can cause SEO problems (duplicate content), and therefore, +# you should choose one of the alternatives and redirect the other +# one. +# +# By default `Option 1` (no `www.`) is activated. +# http://no-www.org/faq.php?q=class_b +# +# If you would prefer to use `Option 2`, just comment out all the +# lines from `Option 1` and uncomment the ones from `Option 2`. +# +# (!) NEVER USE BOTH RULES AT THE SAME TIME! + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 1: rewrite www.example.com → example.com + + + RewriteEngine On + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] + RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 2: rewrite example.com → www.example.com +# +# Be aware that the following might not be a good idea if you use "real" +# subdomains for certain parts of your website. + +# +# RewriteEngine On +# RewriteCond %{HTTPS} !=on +# RewriteCond %{HTTP_HOST} !^www\. [NC] +# RewriteCond %{SERVER_ADDR} !=127.0.0.1 +# RewriteCond %{SERVER_ADDR} !=::1 +# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# + + +# ###################################################################### +# # SECURITY # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Clickjacking | +# ---------------------------------------------------------------------- + +# Protect website against clickjacking. +# +# The example below sends the `X-Frame-Options` response header with +# the value `DENY`, informing browsers not to display the content of +# the web page in any frame. +# +# This might not be the best setting for everyone. You should read +# about the other two possible values the `X-Frame-Options` header +# field can have: `SAMEORIGIN` and `ALLOW-FROM`. +# https://tools.ietf.org/html/rfc7034#section-2.1. +# +# Keep in mind that while you could send the `X-Frame-Options` header +# for all of your website’s pages, this has the potential downside that +# it forbids even non-malicious framing of your content (e.g.: when +# users visit your website using a Google Image Search results page). +# +# Nonetheless, you should ensure that you send the `X-Frame-Options` +# header for all pages that allow a user to make a state changing +# operation (e.g: pages that contain one-click purchase links, checkout +# or bank-transfer confirmation pages, pages that make permanent +# configuration changes, etc.). +# +# Sending the `X-Frame-Options` header can also protect your website +# against more than just clickjacking attacks: +# https://cure53.de/xfo-clickjacking.pdf. +# +# https://tools.ietf.org/html/rfc7034 +# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx +# https://www.owasp.org/index.php/Clickjacking + +# + +# Header set X-Frame-Options "DENY" + +# # `mod_headers` cannot match based on the content-type, however, +# # the `X-Frame-Options` response header should be send only for +# # HTML documents and not for the other resources. + +# +# Header unset X-Frame-Options +# + +# + +# ---------------------------------------------------------------------- +# | Content Security Policy (CSP) | +# ---------------------------------------------------------------------- + +# Mitigate the risk of cross-site scripting and other content-injection +# attacks. +# +# This can be done by setting a `Content Security Policy` which +# whitelists trusted sources of content for your website. +# +# The example header below allows ONLY scripts that are loaded from +# the current website's origin (no inline scripts, no CDN, etc). +# That almost certainly won't work as-is for your website! +# +# To make things easier, you can use an online CSP header generator +# such as: http://cspisawesome.com/. +# +# http://content-security-policy.com/ +# http://www.html5rocks.com/en/tutorials/security/content-security-policy/ +# http://www.w3.org/TR/CSP11/). + +# + +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" + +# # `mod_headers` cannot match based on the content-type, however, +# # the `Content-Security-Policy` response header should be send +# # only for HTML documents and not for the other resources. + +# +# Header unset Content-Security-Policy +# + +# + +# ---------------------------------------------------------------------- +# | File access | +# ---------------------------------------------------------------------- + +# Block access to directories without a default document. +# +# You should leave the following uncommented, as you shouldn't allow +# anyone to surf through every directory on your server (which may +# includes rather private places such as the CMS's directories). + + + Options -Indexes + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to all hidden files and directories with the exception of +# the visible content from within the `/.well-known/` hidden directory. +# +# These types of files usually contain user preferences or the preserved +# state of an utility, and can include rather private places like, for +# example, the `.git` or `.svn` directories. +# +# The `/.well-known/` directory represents the standard (RFC 5785) path +# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`, +# `/.well-known/keybase.txt`), and therefore, access to its visible +# content should not be blocked. +# +# https://www.mnot.net/blog/2010/04/07/well-known +# https://tools.ietf.org/html/rfc5785 + + + RewriteEngine On + RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC] + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to files that can expose sensitive information. +# +# By default, block access to backup and source files that may be +# left by some text editors and can pose a security risk when anyone +# has access to them. +# +# http://feross.org/cmsploit/ +# +# (!) Update the `` regular expression from below to +# include any files that might end up on your production server and +# can expose sensitive information about your website. These files may +# include: configuration files, files that contain metadata about the +# project (e.g.: project dependencies), build scripts, etc.. + + + + # Apache < 2.3 + + Order allow,deny + Deny from all + Satisfy All + + + # Apache ≥ 2.3 + + Require all denied + + + + +# ---------------------------------------------------------------------- +# | HTTP Strict Transport Security (HSTS) | +# ---------------------------------------------------------------------- + +# Force client-side SSL redirection. +# +# If a user types `example.com` in their browser, even if the server +# redirects them to the secure version of the website, that still leaves +# a window of opportunity (the initial HTTP connection) for an attacker +# to downgrade or redirect the request. +# +# The following header ensures that browser will ONLY connect to your +# server via HTTPS, regardless of what the users type in the browser's +# address bar. +# +# (!) Remove the `includeSubDomains` optional directive if the website's +# subdomains are not using HTTPS. +# +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ +# https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1 +# http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx + +# +# Header always set Strict-Transport-Security "max-age=16070400; includeSubDomains" +# + +# ---------------------------------------------------------------------- +# | Reducing MIME type security risks | +# ---------------------------------------------------------------------- + +# Prevent some browsers from MIME-sniffing the response. +# +# This reduces exposure to drive-by download attacks and cross-origin +# data leaks, and should be left uncommented, especially if the server +# is serving user-uploaded content or content that could potentially be +# treated as executable by the browser. +# +# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx +# https://msdn.microsoft.com/en-us/library/ie/gg622941.aspx +# https://mimesniff.spec.whatwg.org/ + + + Header set X-Content-Type-Options "nosniff" + + +# ---------------------------------------------------------------------- +# | Reflected Cross-Site Scripting (XSS) attacks | +# ---------------------------------------------------------------------- + +# (1) Try to re-enable the cross-site scripting (XSS) filter built +# into most web browsers. +# +# The filter is usually enabled by default, but in some cases it +# may be disabled by the user. However, in Internet Explorer for +# example, it can be re-enabled just by sending the +# `X-XSS-Protection` header with the value of `1`. +# +# (2) Prevent web browsers from rendering the web page if a potential +# reflected (a.k.a non-persistent) XSS attack is detected by the +# filter. +# +# By default, if the filter is enabled and browsers detect a +# reflected XSS attack, they will attempt to block the attack +# by making the smallest possible modifications to the returned +# web page. +# +# Unfortunately, in some browsers (e.g.: Internet Explorer), +# this default behavior may allow the XSS filter to be exploited, +# thereby, it's better to inform browsers to prevent the rendering +# of the page altogether, instead of attempting to modify it. +# +# https://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities +# +# (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that +# you are taking all possible measures to prevent XSS attacks, the +# most obvious being: validating and sanitizing your website's inputs. +# +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx +# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx +# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 + +# + +# # (1) (2) +# Header set X-XSS-Protection "1; mode=block" + +# # `mod_headers` cannot match based on the content-type, however, +# # the `X-XSS-Protection` response header should be send only for +# # HTML documents and not for the other resources. + +# +# Header unset X-XSS-Protection +# + +# + +# ---------------------------------------------------------------------- +# | Server-side technology information | +# ---------------------------------------------------------------------- + +# Remove the `X-Powered-By` response header that: +# +# * is set by some frameworks and server-side languages +# (e.g.: ASP.NET, PHP), and its value contains information +# about them (e.g.: their name, version number) +# +# * doesn't provide any value as far as users are concern, +# and in some cases, the information provided by it can +# be used by attackers +# +# (!) If you can, you should disable the `X-Powered-By` header from the +# language / framework level (e.g.: for PHP, you can do that by setting +# `expose_php = off` in `php.ini`) +# +# https://php.net/manual/en/ini.core.php#ini.expose-php + + + Header unset X-Powered-By + + +# ---------------------------------------------------------------------- +# | Server software information | +# ---------------------------------------------------------------------- + +# Prevent Apache from adding a trailing footer line containing +# information about the server to the server-generated documents +# (e.g.: error messages, directory listings, etc.) +# +# https://httpd.apache.org/docs/current/mod/core.html#serversignature + +ServerSignature Off + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Prevent Apache from sending in the `Server` response header its +# exact version number, the description of the generic OS-type or +# information about its compiled-in modules. +# +# (!) The `ServerTokens` directive will only work in the main server +# configuration file, so don't try to enable it in the `.htaccess` file! +# +# https://httpd.apache.org/docs/current/mod/core.html#servertokens + +#ServerTokens Prod + + +# ###################################################################### +# # WEB PERFORMANCE # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Compression | +# ---------------------------------------------------------------------- + - # Force compression for mangled headers. - # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping + # Force compression for mangled `Accept-Encoding` request headers + # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding @@ -19,34 +729,104 @@ AddType application/javascript .js - # Compress all output labeled with one of the following MIME-types + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + # Compress all output labeled with one of the following media types. + # + # (!) For Apache versions below version 2.3.7 you don't need to + # enable `mod_filter` and can remove the `` + # and `` lines as `AddOutputFilterByType` is still in + # the core directives. + # + # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype + - AddOutputFilterByType DEFLATE application/atom+xml \ - application/javascript \ - application/json \ - application/ld+json \ - application/rss+xml \ - application/vnd.ms-fontobject \ - application/x-font-ttf \ - application/x-web-app-manifest+json \ - application/xhtml+xml \ - application/xml \ - font/opentype \ - image/svg+xml \ - image/x-icon \ - text/css \ - text/html \ - text/plain \ - text/x-component \ - text/xml + AddOutputFilterByType DEFLATE "application/atom+xml" \ + "application/javascript" \ + "application/json" \ + "application/ld+json" \ + "application/manifest+json" \ + "application/rdf+xml" \ + "application/rss+xml" \ + "application/schema+json" \ + "application/vnd.geo+json" \ + "application/vnd.ms-fontobject" \ + "application/x-font-ttf" \ + "application/x-javascript" \ + "application/x-web-app-manifest+json" \ + "application/xhtml+xml" \ + "application/xml" \ + "font/eot" \ + "font/opentype" \ + "image/bmp" \ + "image/svg+xml" \ + "image/vnd.microsoft.icon" \ + "image/x-icon" \ + "text/cache-manifest" \ + "text/css" \ + "text/html" \ + "text/javascript" \ + "text/plain" \ + "text/vcard" \ + "text/vnd.rim.location.xloc" \ + "text/vtt" \ + "text/x-component" \ + "text/x-cross-domain-policy" \ + "text/xml" + + + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + # Map the following filename extensions to the specified + # encoding type in order to make Apache serve the file types + # with the appropriate `Content-Encoding` response header + # (do note that this will NOT make Apache compress them!). + # + # If these files types would be served without an appropriate + # `Content-Enable` response header, client applications (e.g.: + # browsers) wouldn't know that they first need to uncompress + # the response, and thus, wouldn't be able to understand the + # content. + # + # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding + + + AddEncoding gzip svgz -# END Compression +# ---------------------------------------------------------------------- +# | Content transformation | +# ---------------------------------------------------------------------- + +# Prevent intermediate caches or proxies (e.g.: such as the ones +# used by mobile network providers) from modifying the website's +# content. +# +# https://tools.ietf.org/html/rfc2616#section-14.9.5 +# +# (!) If you are using `mod_pagespeed`, please note that setting +# the `Cache-Control: no-transform` response header will prevent +# `PageSpeed` from rewriting `HTML` files, and, if the +# `ModPagespeedDisableRewriteOnNoTransform` directive isn't set +# to `off`, also from rewriting other resources. +# +# https://developers.google.com/speed/pagespeed/module/configuration#notransform + +# +# Header merge Cache-Control "no-transform" +# + +# ---------------------------------------------------------------------- +# | ETags | +# ---------------------------------------------------------------------- # Remove `ETags` as resources are sent with far-future expires headers. -# http://developer.yahoo.com/performance/rules.html#etags. +# +# https://developer.yahoo.com/performance/rules.html#etags +# https://tools.ietf.org/html/rfc7232#section-2.3 # `FileETag None` doesn't work in all cases. @@ -54,59 +834,154 @@ AddType application/javascript .js FileETag None -# END Remove `ETags` +# ---------------------------------------------------------------------- +# | Expires headers | +# ---------------------------------------------------------------------- + +# Serve resources with far-future expires headers. +# +# (!) If you don't control versioning with filename-based +# cache busting, you should consider lowering the cache times +# to something like one week. +# +# https://httpd.apache.org/docs/current/mod/mod_expires.html -# Expires headers ExpiresActive on ExpiresDefault "access plus 1 month" # CSS + ExpiresByType text/css "access plus 1 year" + # Data interchange + + ExpiresByType application/atom+xml "access plus 1 hour" + ExpiresByType application/rdf+xml "access plus 1 hour" + ExpiresByType application/rss+xml "access plus 1 hour" + ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" + ExpiresByType application/schema+json "access plus 0 seconds" + ExpiresByType application/vnd.geo+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" + # Favicon (cannot be renamed!) and cursor images + + ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" - # HTML components (HTCs) - ExpiresByType text/x-component "access plus 1 month" - # HTML + ExpiresByType text/html "access plus 0 seconds" + # JavaScript + ExpiresByType application/javascript "access plus 1 year" + ExpiresByType application/x-javascript "access plus 1 year" + ExpiresByType text/javascript "access plus 1 year" + # Manifest files + + ExpiresByType application/manifest+json "access plus 1 week" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" - # Media + + # Media files + ExpiresByType audio/ogg "access plus 1 month" + ExpiresByType image/bmp "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + ExpiresByType image/webp "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" - # Web feeds - ExpiresByType application/atom+xml "access plus 1 hour" - ExpiresByType application/rss+xml "access plus 1 hour" # Web fonts - ExpiresByType application/font-woff "access plus 1 month" + + # Embedded OpenType (EOT) ExpiresByType application/vnd.ms-fontobject "access plus 1 month" - ExpiresByType application/x-font-ttf "access plus 1 month" + ExpiresByType font/eot "access plus 1 month" + + # OpenType ExpiresByType font/opentype "access plus 1 month" - ExpiresByType image/svg+xml "access plus 1 month" + + # TrueType + ExpiresByType application/x-font-ttf "access plus 1 month" + + # Web Open Font Format (WOFF) 1.0 + ExpiresByType application/font-woff "access plus 1 month" + ExpiresByType application/x-font-woff "access plus 1 month" + ExpiresByType font/woff "access plus 1 month" + + # Web Open Font Format (WOFF) 2.0 + ExpiresByType application/font-woff2 "access plus 1 month" + + + # Other + + ExpiresByType text/x-cross-domain-policy "access plus 1 week" -# END Expires headers + +# ---------------------------------------------------------------------- +# | File concatenation | +# ---------------------------------------------------------------------- + +# Allow concatenation from within specific files. +# +# e.g.: +# +# If you have the following lines in a file called, for +# example, `main.combined.js`: +# +# +# +# +# Apache will replace those lines with the content of the +# specified files. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript \ +# application/x-javascript \ +# text/javascript +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# + +# ---------------------------------------------------------------------- +# | Filename-based cache busting | +# ---------------------------------------------------------------------- + +# If you're not using a build process to manage your filename version +# revving, you might want to consider enabling the following directives +# to route all requests such as `/style.12345.css` to `/style.css`. +# +# To understand why this is important and even a better solution than +# using something like `*.css?v231`, please see: +# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/ + +# +# RewriteEngine On +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp|webmanifest)$ $1.$3 [L] +# diff --git a/humans.txt b/humans.txt index 0e0d073..dd9c88c 100755 --- a/humans.txt +++ b/humans.txt @@ -1,8 +1,8 @@ /* TEAM */ Design: Jan Jastrow - Site: http://schwerkraftlabor.de/blog + Site: http://jastrow.me Twitter: @Gehirnfussel - Location: Rendsburg, Schleswig-Holstein, Germany + Location: Flensburg, Schleswig-Holstein, Germany /* THANKS */ Name: Humanstxt.org @@ -11,12 +11,4 @@ /* SITE */ Standards: HTML5, CSS3 - Software: Sublime Text 3, CodeKit, Photoshop CS5 - - - _ _ - | | | | - | | __ _ ___| |_ _ __ _____ __ - _ | |/ _` / __| __| '__/ _ \ \ /\ / / - | |__| | (_| \__ \ |_| | | (_) \ V V / - \____/ \__,_|___/\__|_| \___/ \_/\_/ + Software: Atom.io, Gulp, Photoshop CS5 diff --git a/img/bunny.jpg b/img/bunny.jpg deleted file mode 100644 index 3cf3720..0000000 Binary files a/img/bunny.jpg and /dev/null differ diff --git a/img/me.jpg b/img/me.jpg deleted file mode 100644 index dc89a62..0000000 Binary files a/img/me.jpg and /dev/null differ diff --git a/index.html b/index.html index 69d2007..7b3231a 100644 --- a/index.html +++ b/index.html @@ -1,38 +1,45 @@ - + - - Jastrow.me - - + + Title goes here + - - + + + + + + + + + + + + + + + + + + + + -
- It's Jan! -

Jan Jastrow

-

Founder of Schwerkraftlabor

- -
-
-
-

Who is Jan?

- -

Born as a human in 1988, I was forced to get through life to this very moment.
-But let me recap some parts of this life - so you can get a little overview.

- -

As I said before I was born on November 27th, 1988 in Rendsburg, which is a city in the northern part (‘Schlewig-Holstein’) of Germany.

- -

+
+
+

Headline

+
+
+
+ Welcome! +
+
+
diff --git a/js/main.js b/js/main.js index 2f9e51c..af9e12c 100644 --- a/js/main.js +++ b/js/main.js @@ -2,6 +2,7 @@ --------------------------*/ + /* Target-Blank for CSS-Class "external" --------------------------*/ function externalLinks() { diff --git a/js/main.min.js b/js/main.min.js index bfaf6f2..be2a73f 100644 --- a/js/main.min.js +++ b/js/main.min.js @@ -1 +1 @@ -function externalLinks(){if(document.getElementsByTagName)for(var e=document.getElementsByTagName("a"),t=0;tarticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}",a=o.insertBefore(a.lastChild,o.firstChild),n.hasCSS=!!a}return c||i(e,n),e}var s,c,l=e.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",h=0,m={};!function(){try{var e=t.createElement("a");e.innerHTML="",s="hidden"in e;var n;if(!(n=1==e.childNodes.length)){t.createElement("a");var r=t.createDocumentFragment();n="undefined"==typeof r.cloneNode||"undefined"==typeof r.createDocumentFragment||"undefined"==typeof r.createElement}c=n}catch(a){c=s=!0}}();var v={elements:l.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==l.shivCSS,supportsUnknownElements:c,shivMethods:!1!==l.shivMethods,type:"default",shivDocument:o,createElement:a,createDocumentFragment:function(e,a){if(e||(e=t),c)return e.createDocumentFragment();for(var a=a||r(e),i=a.frag.cloneNode(),o=0,s=n(),l=s.length;l>o;o++)i.createElement(s[o]);return i}};e.html5=v,o(t)}(this,document);var InstantClick=function(e,t){function n(e){var t=e.indexOf("#");return 0>t?e:e.substr(0,t)}function r(e){for(;"A"!=e.nodeName;)e=e.parentNode;return e}function a(e){do{if(!e.hasAttribute)break;if(e.hasAttribute("data-instant"))return!1;if(e.hasAttribute("data-no-instant"))return!0}while(e=e.parentNode);return!1}function i(e){do{if(!e.hasAttribute)break;if(e.hasAttribute("data-no-instant"))return!1;if(e.hasAttribute("data-instant"))return!0}while(e=e.parentNode);return!1}function o(e,t){for(var n=0;n-1&&e.getElementById(a.substr(s+1)),l=0;if(c)for(;c.offsetParent;)l+=c.offsetTop,c=c.offsetParent;scrollTo(0,l),E=n(a)}else scrollTo(0,i);v(),W.done(),o("change",!1)}function c(){Y=!1,O=!1}function l(e){g(r(e.target).href)}function d(e){var t=r(e.target);t.addEventListener("mouseout",h),C?(T=t.href,w=setTimeout(g,C)):g(t.href)}function f(e){var t=r(e.target);x?t.removeEventListener("mousedown",l):t.removeEventListener("mouseover",d),g(t.href)}function u(e){e.which>1||e.metaKey||e.ctrlKey||(e.preventDefault(),p(r(e.target).href))}function h(){return w?(clearTimeout(w),void(w=!1)):void(Y&&!O&&(L.abort(),c()))}function m(){if(!(L.readyState<4)&&0!=L.status){if(F.ready=+new Date-F.start,o("receive"),L.getResponseHeader("Content-Type").match(/\/(x|ht|xht)ml/)){var t=e.implementation.createHTMLDocument("");t.documentElement.innerHTML=L.responseText,D=t.title,B=t.body;var r=n(S);N[r]={body:B,title:D,scrollY:r in N?N[r].scrollY:0};for(var a,i,s=t.head.children,c=0,l=s.length-1;l>=0;l--)if(a=s[l],a.hasAttribute("data-instant-track")){i=a.getAttribute("href")||a.getAttribute("src")||a.innerHTML;for(var d=I.length-1;d>=0;d--)I[d]==i&&c++}c!=I.length&&(H=!0)}else H=!0;O&&(O=!1,p(S))}}function v(r){for(var o,s=e.getElementsByTagName("a"),c=t.protocol+"//"+t.host,h=s.length-1;h>=0;h--)o=s[h],o.target||o.hasAttribute("download")||0!=o.href.indexOf(c+"/")||o.href.indexOf("#")>-1&&n(o.href)==E||(k?!i(o):a(o))||(o.addEventListener("touchstart",f),x?o.addEventListener("mousedown",l):o.addEventListener("mouseover",d),o.addEventListener("click",u));if(!r){var m,v,g,p,y=e.body.getElementsByTagName("script");for(h=0,j=y.length;j>h;h++)m=y[h],m.hasAttribute("data-no-instant")||(v=e.createElement("script"),m.src&&(v.src=m.src),m.innerHTML&&(v.innerHTML=m.innerHTML),g=m.parentNode,p=m.nextSibling,g.removeChild(m),g.insertBefore(v,p))}}function g(e){!x&&"display"in F&&+new Date-(F.start+F.display)<100||(w&&(clearTimeout(w),w=!1),e||(e=T),(!Y||e!=S&&!O)&&(Y=!0,O=!1,S=e,B=!1,H=!1,F={start:+new Date},o("fetch"),L.open("GET",e),L.send()))}function p(e){return"display"in F||(F.display=+new Date-F.start),w?S&&S!=e?void(t.href=e):(g(e),W.start(0,!0),o("wait"),void(O=!0)):!Y||O?void(t.href=e):H?void(t.href=S):B?(N[E].scrollY=pageYOffset,c(),void s(D,B,S)):(W.start(0,!0),o("wait"),void(O=!0))}function y(){if(!E){if(!q)return void o("change",!0);for(var r=arguments.length-1;r>=0;r--){var a=arguments[r];a===!0?k=!0:"mousedown"==a?x=!0:"number"==typeof a&&(C=a)}E=n(t.href),N[E]={body:e.body,title:e.title,scrollY:pageYOffset};for(var i,c,l=e.head.children,r=l.length-1;r>=0;r--)i=l[r],i.hasAttribute("data-instant-track")&&(c=i.getAttribute("href")||i.getAttribute("src")||i.innerHTML,I.push(c));L=new XMLHttpRequest,L.addEventListener("readystatechange",m),v(!0),W.init(),o("change",!0),addEventListener("popstate",function(){var e=n(t.href);if(e!=E){if(!(e in N))return void(t.href=t.href);N[E].scrollY=pageYOffset,E=e,s(N[e].title,N[e].body,!1,N[e].scrollY)}})}}function b(e,t){z[e].push(t)}var E,T,w,L,k,x,C,A=navigator.userAgent,M="createTouch"in e,N={},S=!1,D=!1,H=!1,B=!1,F={},Y=!1,O=!1,I=[],z={fetch:[],receive:[],wait:[],change:[]},W=function(){function t(){c=e.createElement("div"),c.id="instantclick",l=e.createElement("div"),l.id="instantclick-bar",l.className="instantclick-bar",c.appendChild(l);var t=["Webkit","Moz","O"];if(d="transform",!(d in l.style))for(var n=0;3>n;n++)t[n]+"Transform"in l.style&&(d=t[n]+"Transform");var r="transition";if(!(r in l.style))for(var n=0;3>n;n++)t[n]+"Transition"in l.style&&(r="-"+t[n].toLowerCase()+"-"+r);var a=e.createElement("style");a.innerHTML="#instantclick{position:"+(M?"absolute":"fixed")+";top:0;left:0;width:100%;pointer-events:none;z-index:2147483647;"+r+":opacity .25s .1s}.instantclick-bar{background:#29d;width:100%;margin-left:-100%;height:2px;"+r+":all .25s}",e.head.appendChild(a),M&&(s(),addEventListener("resize",s),addEventListener("scroll",s))}function n(t,n){f=t,e.getElementById(c.id)&&e.body.removeChild(c),c.style.opacity="1",e.getElementById(c.id)&&e.body.removeChild(c),i(),n&&setTimeout(r,0),clearTimeout(u),u=setTimeout(a,500)}function r(){f=10,i()}function a(){f+=1+2*Math.random(),f>=98?f=98:u=setTimeout(a,500),i()}function i(){l.style[d]="translate("+f+"%)",e.getElementById(c.id)||e.body.appendChild(c)}function o(){return e.getElementById(c.id)?(clearTimeout(u),f=100,i(),void(c.style.opacity="0")):(n(100==f?0:f),void setTimeout(o,0))}function s(){c.style.left=pageXOffset+"px",c.style.width=innerWidth+"px",c.style.top=pageYOffset+"px";var e="orientation"in window&&90==Math.abs(orientation),t=innerWidth/screen[e?"height":"width"]*2;c.style[d]="scaleY("+t+")"}var c,l,d,f,u;return{init:t,start:n,done:o}}(),q="pushState"in history&&(!A.match("Android")||A.match("Chrome/"))&&"file:"!=t.protocol;return{supported:q,init:y,on:b}}(document,location); \ No newline at end of file +function externalLinks(){if(document.getElementsByTagName)for(var e=document.getElementsByTagName("a"),t=0;tarticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}",a=o.insertBefore(a.lastChild,o.firstChild),n.hasCSS=!!a}return c||i(e,n),e}var s,c,l=e.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",h=0,m={};!function(){try{var e=t.createElement("a");e.innerHTML="",s="hidden"in e;var n;if(!(n=1==e.childNodes.length)){t.createElement("a");var r=t.createDocumentFragment();n="undefined"==typeof r.cloneNode||"undefined"==typeof r.createDocumentFragment||"undefined"==typeof r.createElement}c=n}catch(a){c=s=!0}}();var v={elements:l.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==l.shivCSS,supportsUnknownElements:c,shivMethods:!1!==l.shivMethods,type:"default",shivDocument:o,createElement:a,createDocumentFragment:function(e,a){if(e||(e=t),c)return e.createDocumentFragment();for(var a=a||r(e),i=a.frag.cloneNode(),o=0,s=n(),l=s.length;l>o;o++)i.createElement(s[o]);return i}};e.html5=v,o(t)}(this,document);var InstantClick=function(e,t){function n(e){var t=e.indexOf("#");return 0>t?e:e.substr(0,t)}function r(e){for(;"A"!=e.nodeName;)e=e.parentNode;return e}function a(e){do{if(!e.hasAttribute)break;if(e.hasAttribute("data-instant"))return!1;if(e.hasAttribute("data-no-instant"))return!0}while(e=e.parentNode);return!1}function i(e){do{if(!e.hasAttribute)break;if(e.hasAttribute("data-no-instant"))return!1;if(e.hasAttribute("data-instant"))return!0}while(e=e.parentNode);return!1}function o(e,t){for(var n=0;n-1&&e.getElementById(a.substr(s+1)),l=0;if(c)for(;c.offsetParent;)l+=c.offsetTop,c=c.offsetParent;scrollTo(0,l),E=n(a)}else scrollTo(0,i);v(),W.done(),o("change",!1)}function c(){Y=!1,O=!1}function l(e){g(r(e.target).href)}function d(e){var t=r(e.target);t.addEventListener("mouseout",h),C?(T=t.href,w=setTimeout(g,C)):g(t.href)}function f(e){var t=r(e.target);x?t.removeEventListener("mousedown",l):t.removeEventListener("mouseover",d),g(t.href)}function u(e){e.which>1||e.metaKey||e.ctrlKey||(e.preventDefault(),p(r(e.target).href))}function h(){return w?(clearTimeout(w),void(w=!1)):void(Y&&!O&&(L.abort(),c()))}function m(){if(!(L.readyState<4)&&0!=L.status){if(F.ready=+new Date-F.start,o("receive"),L.getResponseHeader("Content-Type").match(/\/(x|ht|xht)ml/)){var t=e.implementation.createHTMLDocument("");t.documentElement.innerHTML=L.responseText,D=t.title,B=t.body;var r=n(S);N[r]={body:B,title:D,scrollY:r in N?N[r].scrollY:0};for(var a,i,s=t.head.children,c=0,l=s.length-1;l>=0;l--)if(a=s[l],a.hasAttribute("data-instant-track")){i=a.getAttribute("href")||a.getAttribute("src")||a.innerHTML;for(var d=I.length-1;d>=0;d--)I[d]==i&&c++}c!=I.length&&(H=!0)}else H=!0;O&&(O=!1,p(S))}}function v(r){for(var o,s=e.getElementsByTagName("a"),c=t.protocol+"//"+t.host,h=s.length-1;h>=0;h--)o=s[h],o.target||o.hasAttribute("download")||0!=o.href.indexOf(c+"/")||o.href.indexOf("#")>-1&&n(o.href)==E||(k?!i(o):a(o))||(o.addEventListener("touchstart",f),x?o.addEventListener("mousedown",l):o.addEventListener("mouseover",d),o.addEventListener("click",u));if(!r){var m,v,g,p,y=e.body.getElementsByTagName("script");for(h=0,j=y.length;h=0;r--){var a=arguments[r];a===!0?k=!0:"mousedown"==a?x=!0:"number"==typeof a&&(C=a)}E=n(t.href),N[E]={body:e.body,title:e.title,scrollY:pageYOffset};for(var i,c,l=e.head.children,r=l.length-1;r>=0;r--)i=l[r],i.hasAttribute("data-instant-track")&&(c=i.getAttribute("href")||i.getAttribute("src")||i.innerHTML,I.push(c));L=new XMLHttpRequest,L.addEventListener("readystatechange",m),v(!0),W.init(),o("change",!0),addEventListener("popstate",function(){var e=n(t.href);if(e!=E){if(!(e in N))return void(t.href=t.href);N[E].scrollY=pageYOffset,E=e,s(N[e].title,N[e].body,!1,N[e].scrollY)}})}}function b(e,t){z[e].push(t)}var E,T,w,L,k,x,C,A=navigator.userAgent,M="createTouch"in e,N={},S=!1,D=!1,H=!1,B=!1,F={},Y=!1,O=!1,I=[],z={fetch:[],receive:[],wait:[],change:[]},W=function(){function t(){c=e.createElement("div"),c.id="instantclick",l=e.createElement("div"),l.id="instantclick-bar",l.className="instantclick-bar",c.appendChild(l);var t=["Webkit","Moz","O"];if(d="transform",!(d in l.style))for(var n=0;3>n;n++)t[n]+"Transform"in l.style&&(d=t[n]+"Transform");var r="transition";if(!(r in l.style))for(var n=0;3>n;n++)t[n]+"Transition"in l.style&&(r="-"+t[n].toLowerCase()+"-"+r);var a=e.createElement("style");a.innerHTML="#instantclick{position:"+(M?"absolute":"fixed")+";top:0;left:0;width:100%;pointer-events:none;z-index:2147483647;"+r+":opacity .25s .1s}.instantclick-bar{background:#29d;width:100%;margin-left:-100%;height:2px;"+r+":all .25s}",e.head.appendChild(a),M&&(s(),addEventListener("resize",s),addEventListener("scroll",s))}function n(t,n){f=t,e.getElementById(c.id)&&e.body.removeChild(c),c.style.opacity="1",e.getElementById(c.id)&&e.body.removeChild(c),i(),n&&setTimeout(r,0),clearTimeout(u),u=setTimeout(a,500)}function r(){f=10,i()}function a(){f+=1+2*Math.random(),f>=98?f=98:u=setTimeout(a,500),i()}function i(){l.style[d]="translate("+f+"%)",e.getElementById(c.id)||e.body.appendChild(c)}function o(){return e.getElementById(c.id)?(clearTimeout(u),f=100,i(),void(c.style.opacity="0")):(n(100==f?0:f),void setTimeout(o,0))}function s(){c.style.left=pageXOffset+"px",c.style.width=innerWidth+"px",c.style.top=pageYOffset+"px";var e="orientation"in window&&90==Math.abs(orientation),t=innerWidth/screen[e?"height":"width"]*2;c.style[d]="scaleY("+t+")"}var c,l,d,f,u;return{init:t,start:n,done:o}}(),q="pushState"in history&&(!A.match("Android")||A.match("Chrome/"))&&"file:"!=t.protocol;return{supported:q,init:y,on:b}}(document,location); \ No newline at end of file diff --git a/package.json b/package.json index bcd624d..9a9737c 100644 --- a/package.json +++ b/package.json @@ -2,23 +2,37 @@ "name": "ProjectName", "description": "Project description", "version": "1.0.0", - "homepage": "projecturl", - "url" : "http://github.com/Gehirnfussel/project/issues", + "author": "Jan Jastrow", + "license": "MIT", + "homepage": "http://projecturl.skl", + "url" : "http://github.com/Gehirnfussel/project/", "email" : "jan@schwerkraftlabor.de", + "scripts": {}, + "main": "gulpfile.js", + "repository": { + "type": "git", + "url": "https://bitbucket.org/Gehirnfussel/project" + }, + "dependencies": {}, "devDependencies": { - "gulp": "~3.8.6", - "gulp-sass": "~0.7.2", - "gulp-autoprefixer": "~0.0.8", - "gulp-cssmin": "~0.1.6", - "gulp-jshint": "~1.8.0", - "gulp-uglify": "~0.3.1", - "gulp-imagemin": "0.6.2", - "gulp-concat": "~2.3.4", - "gulp-rename": "~1.2.0", - "gulp-rimraf": "~0.1.0", - "gulp-watch": "~0.6.9", - "gulp-cache": "~0.2.0", - "gulp-notify": "~1.4.0", - "gulp-livereload": "~2.1.0", + "del": "^0.1.3", + "gulp": "^3.9", + "gulp-autoprefixer": "^2.3", + "gulp-cache": "^0.2.10", + "gulp-concat": "^2.6", + "gulp-cssmin": "^0.1.7", + "gulp-imagemin": "^2.3.0", + "gulp-jshint": "^1.11.2", + "gulp-livereload": "^3.8", + "gulp-minify-css": "^1.2", + "gulp-notify": "^2.2.0", + "gulp-plumber": "^1.0.1", + "gulp-rename": "^1.2.2", + "gulp-ruby-sass": "^1.0.5", + "gulp-sass": "^2.0.4", + "gulp-uglify": "^1.2", + "gulp-watch": "^4.3.4", + "imagemin-jpegtran": "^4.3.0", + "imagemin-pngcrush": "^4.1.0" } } diff --git a/robots.txt b/robots.txt index 7d4e262..468c22d 100644 --- a/robots.txt +++ b/robots.txt @@ -1,4 +1,5 @@ -# www.robotstxt.org/ -# http://code.google.com/web/controlcrawlindex/ - -User-agent: * \ No newline at end of file +# www.robotstxt.org/ + +# Allow crawling of all content +User-agent: * +Disallow: diff --git a/src/img/bunny.jpg b/src/img/bunny.jpg deleted file mode 100644 index 3cf3720..0000000 Binary files a/src/img/bunny.jpg and /dev/null differ diff --git a/src/img/me.jpg b/src/img/me.jpg deleted file mode 100644 index dc89a62..0000000 Binary files a/src/img/me.jpg and /dev/null differ diff --git a/src/js/scripts.js b/src/js/scripts.js index b3d4d70..b51e979 100644 --- a/src/js/scripts.js +++ b/src/js/scripts.js @@ -2,6 +2,7 @@ --------------------------*/ + /* Target-Blank for CSS-Class "external" --------------------------*/ function externalLinks() { diff --git a/src/scss/_defaults.scss b/src/scss/_defaults.scss index d6b04c1..9a34fcb 100644 --- a/src/scss/_defaults.scss +++ b/src/scss/_defaults.scss @@ -2,7 +2,7 @@ --------------------------*/ $font-sans-serif: Open Sans, Helvetica, Arial, sans-serif; -$font-serif: Georgia, serif; +$font-serif: Droid Serif, Georgia, serif; $font-mono: Courier, monospace; /* Reset @@ -10,6 +10,8 @@ $font-mono: Courier, monospace; *, *:before, *:after { box-sizing: inherit; + padding: 0; + margin: 0; } html { @@ -39,11 +41,13 @@ html { *zoom: 1; } -/* FLUIDITY v0.1.0 - @mrmrs - http://mrmrs.cc – MIT ---------------------------*/ +/* + FLUIDITY v0.1.0 + @mrmrs - http://mrmrs.cc + MIT +*/ -img, canvas, iframe, video, svg { max-width: 100%; } +@import "responsive-utilities"; /* Video-Container diff --git a/src/scss/_font-awesome.scss b/src/scss/_font-awesome.scss new file mode 100644 index 0000000..2dcdc22 --- /dev/null +++ b/src/scss/_font-awesome.scss @@ -0,0 +1,1801 @@ +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.3.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-genderless:before, +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} diff --git a/src/scss/_icomoon.scss b/src/scss/_icomoon.scss deleted file mode 100755 index 92315df..0000000 --- a/src/scss/_icomoon.scss +++ /dev/null @@ -1,85 +0,0 @@ -@font-face { - font-family: 'icomoon'; - src:url('../fonts/icomoon.eot?-y74kwe'); - src:url('../fonts/icomoon.eot?#iefix-y74kwe') format('embedded-opentype'), - url('../fonts/icomoon.woff?-y74kwe') format('woff'), - url('../fonts/icomoon.ttf?-y74kwe') format('truetype'), - url('../fonts/icomoon.svg?-y74kwe#icomoon') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="icon-"], [class*=" icon-"] { - font-family: 'icomoon'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-quill:before { - content: "\e603"; -} -.icon-play:before { - content: "\e600"; -} -.icon-lab:before { - content: "\e608"; -} -.icon-newtab:before { - content: "\e602"; -} -.icon-mail:before { - content: "\e610"; -} -.icon-facebook:before { - content: "\e605"; -} -.icon-instagram:before { - content: "\e606"; -} -.icon-twitter:before { - content: "\e607"; -} -.icon-vimeo2:before { - content: "\e60a"; -} -.icon-flickr:before { - content: "\e612"; -} -.icon-github:before { - content: "\e60c"; -} -.icon-tumblr:before { - content: "\e60f"; -} -.icon-flattr:before { - content: "\e60b"; -} -.icon-file-pdf:before { - content: "\e60d"; -} -.icon-file-zip:before { - content: "\e60e"; -} -.icon-mobile:before { - content: "\e611"; -} -.icon-mail3:before { - content: "\e601"; -} -.icon-paperplane:before { - content: "\e604"; -} -.icon-vcard:before { - content: "\e613"; -} -.icon-cc:before { - content: "\e609"; -} diff --git a/src/scss/_normalize.scss b/src/scss/_normalize.scss index 03a428a..458eea1 100644 --- a/src/scss/_normalize.scss +++ b/src/scss/_normalize.scss @@ -1,4 +1,4 @@ -/* normalize.css v3.0.0 | MIT License | git.io/normalize */ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /** * 1. Set default font family to sans-serif. @@ -24,7 +24,10 @@ body { ========================================================================== */ /** - * Correct `block` display not defined in IE 8/9. + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. */ article, @@ -36,6 +39,7 @@ footer, header, hgroup, main, +menu, nav, section, summary { @@ -66,8 +70,8 @@ audio:not([controls]) { } /** - * Address `[hidden]` styling not present in IE 8/9. - * Hide the `template` element in IE, Safari, and Firefox < 22. + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ [hidden], @@ -83,7 +87,7 @@ template { */ a { - background: transparent; + background-color: transparent; } /** @@ -99,7 +103,7 @@ a:hover { ========================================================================== */ /** - * Address styling not present in IE 8/9, Safari 5, and Chrome. + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ abbr[title] { @@ -107,7 +111,7 @@ abbr[title] { } /** - * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ b, @@ -116,7 +120,7 @@ strong { } /** - * Address styling not present in Safari 5 and Chrome. + * Address styling not present in Safari and Chrome. */ dfn { @@ -125,7 +129,7 @@ dfn { /** * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. + * contexts in Firefox 4+, Safari, and Chrome. */ h1 { @@ -174,7 +178,7 @@ sub { ========================================================================== */ /** - * Remove border when inside `a` element in IE 8/9. + * Remove border when inside `a` element in IE 8/9/10. */ img { @@ -182,7 +186,7 @@ img { } /** - * Correct overflow displayed oddly in IE 9. + * Correct overflow not hidden in IE 9/10/11. */ svg:not(:root) { @@ -193,7 +197,7 @@ svg:not(:root) { ========================================================================== */ /** - * Address margin not present in IE 8/9 and Safari 5. + * Address margin not present in IE 8/9 and Safari. */ figure { @@ -242,7 +246,7 @@ samp { * 1. Correct color not being inherited. * Known issue: affects color of disabled elements. * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ button, @@ -256,7 +260,7 @@ textarea { } /** - * Address `overflow` set to `hidden` in IE 8/9/10. + * Address `overflow` set to `hidden` in IE 8/9/10/11. */ button { @@ -266,7 +270,7 @@ button { /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8+, and Opera + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. * Correct `select` style inheritance in Firefox. */ @@ -345,8 +349,8 @@ input[type="number"]::-webkit-outer-spin-button { } /** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */ @@ -379,7 +383,7 @@ fieldset { } /** - * 1. Correct `color` not being inherited in IE 8/9. + * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */ @@ -389,7 +393,7 @@ legend { } /** - * Remove default vertical scrollbar in IE 8/9. + * Remove default vertical scrollbar in IE 8/9/10/11. */ textarea { diff --git a/src/scss/_responsive-utilities.scss b/src/scss/_responsive-utilities.scss new file mode 100644 index 0000000..74bac7c --- /dev/null +++ b/src/scss/_responsive-utilities.scss @@ -0,0 +1,43 @@ +/* + + Responsive Utilities + +*/ + +img, +canvas, +iframe, +video, +svg, +select, +textarea { + max-width: 100%; +} + +/* Wrap tables or pre elements in a div with this class */ + +.overflow-container { + overflow-y: scroll; +} + +/* + Aspect ratios for media objects i.e canvas, iframe, video, svg etc. + Defaults to 16x9 +*/ + +.aspect-ratio { + height: 0; + padding-top: 56.25%; + position: relative; +} + +.aspect-ratio--object { + height: 100%; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + z-index: 100; +} diff --git a/src/scss/main.scss b/src/scss/main.scss index 4112826..45169b1 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -1,253 +1,152 @@ /*----------------------------------------*\ - Schwerkraftlabor.de | @Gehirnfussel + Schwerkraftlabor.de | @Gehirnfussel \*----------------------------------------*/ -/* Imports +/* Imports --------------------------*/ -@import 'defaults'; @import 'normalize'; +@import 'defaults'; @import 'mixins'; -@import 'icomoon'; +/* @import 'font-awesome'; */ -/* Content +/* Content --------------------------*/ -$linkcolor: #5c1075; -$bodycolor: #1e1e1e; -$font_body: Hind, sans-serif; -$font_h: Merriweather Sans, sans-serif; +$linkcolor: #660000; body { - color: $bodycolor; - font-size: 13pt; - @include font-smoothing(on); - margin: 0 auto; - font-family: $font_body; + color: #000; + font-family: $font-sans-serif; + font-size: 12pt; + @include font-smoothing(off); } h1, h2, h3 { - font-family: $font_h; - text-rendering: optimizeLegibility; - font-weight: 700; - line-height: 1.2; + font-family: $font-sans-serif; + font-weight: 700; + line-height: 1.2em; + margin: 0.4em 0.0em; } h1 { - font-size: 2em; - word-break: break-all; + font-size: 2.0em; + word-break: break-all; } h2 { - font-size: 1.5em; + font-size: 1.5em; +} +h3 { + font-size: 1.25em; } p { - line-height: 1.7; - word-break: break-word; - margin: 1em 0; -} -a { - text-decoration: none; -} -blockquote { - font-size: 13pt; - line-height: 1.7em; - margin: 0 0 0 1.3em; - width: 590px; - padding: 0.5em 0.7em 0.5em 0.7em; - border: 1px solid #cbb7d1; - border-left: 5px #cbb7d1 solid; - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - background-image: linear-gradient(to bottom, #f3f3f3 0%, #fff 10%); + line-height: 1.45em; + padding: 0.5em 0; } ul { - li { - margin: 0.3em 0em 0.3em 0.5em; - list-style-position: inside; - list-style-type: square; - font-size: 1em; + li { + margin: 0.3em 0em 0.3em 0.5em; + list-style-position: inside; + list-style-type: square; + font-size: 1em; - p { - padding-left: 1em; - } - } + p { + padding-left: 1em; + } + } } - -/* Header ---------------------------*/ - -header { - text-align: center; +a { + color: $linkcolor; + transition: color 0.2s ease; + &:hover, &:active, &:focus{ + color: lighten($linkcolor, 15%); + } + &:active { + position: relative; + top: 1px; + } } -header img { - margin: 0.5em; - height: 230px; +a.notdown { + &:active { + position: inherit; + } } -header p { - font-size: 14pt; - font-weight: 500; +@media screen { + a.external:after { + content: "\00A0" "[" "\2197" "]"; + } } -.icon-lab { - color: #44840b; -} - -.contact { - padding: 0; - font-size: 16pt; -} -.contact > li { - display: inline-block; - list-style: none; - margin: 0 0.4em; - padding: 0; -} -.contact > li a { - color: lighten(#7d6b85, 20%); - transition: 0.35s ease; -} -.contact > li a:hover { - color: $linkcolor; -} - -hr { - max-width: 626px; - border: none; - border-bottom: 1px solid #e0e0e0; - margin: 2em auto; -} - -/* Content ---------------------------*/ - -article { - margin: 0 auto; - width: 626px; -} -article .meta { - color: #444; - font-size: 0.9em; -} -article .end { - font-size: 1em; - color: #43194f; -} -article h1 { - margin: 0; - font-size: 1.5em; - margin-bottom: 0.3em; -} -article img { - border-radius: 6px; -} -article p:first-of-type { - margin-top: 0.3em; -} -article p:first-of-type::first-letter { - font-size: 1.35em; - text-transform: uppercase; -} -article a { - color: $linkcolor; - text-decoration: none; - font-weight: 500; - padding: 0; -} -article a:focus, article a:hover, article a:active { - text-decoration: none; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #666)); - background-image: -webkit-linear-gradient(top, #fff 50%, #666 50%); - background-image: linear-gradient(to bottom, #fff 50%, #666 50%); - background-repeat: repeat-x; - -webkit-background-size: 2px 2px; - background-size: 2px 2px; - background-position: 0 1.1em; -} -article a:active { - position: relative; - top: 1px; -} - -article a[href^="http"]:not([href*="level42.us"]):not([href*="youtube.com"])::after { - color: #444; - font-family: icomoon, sans-serif; - font-weight: 400; - content: '\e602'; - margin: 0 0.05em 0 0.25em; -} -article a[href$="pdf"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e60d'; - margin: 0 0.05em 0 0.25em; -} -article a[href$="zip"]::after, article a[href$="rar"]::after, article a[href$="gz"]::after, article a[href$="7z"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e60e'; - margin: 0 0.05em 0 0.25em; -} -article a[href^="mailto:"]::after { - font-weight: 400; - font-family: icomoon, sans-serif; - content: '\e603'; - margin: 0 0.05em 0 0.25em; -} - -.video { - padding-top: 25px; -} -.video + a[href*="youtube.com"] { - color: #a51515; - font-size: 12pt; - font-weight: 400; - line-height: 2; -} -.video + a[href*="youtube.com"]::before { - font-family: icomoon, sans-serif; - content: "\e600"; - margin-right: 0.25em; -} - - - -/* Footer ---------------------------*/ - - - - -/* Responsive Stuff & Media Queries ---------------------------*/ - -@media screen and (max-width: 650px) { - html { - margin: 0; - } - hr { - margin: 1em auto; - } - article, article blockquote, article img { - width: 100%; - } - article img { - border-radius: 0; - } - article p, article h1, article .meta, article a[href*="youtube.com"] { - margin-left: 8px; - margin-right: 8px; - } - article blockquote { - width: 97%; - margin: 0.5em 0.5em 0.5em 0; - padding: 0.5em 0.7em 0.5em 0.7em; - border: 1px solid #cbb7d1; - border-left: 5px #cbb7d1 solid; - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - background-image: linear-gradient(to bottom, #f3f3f3 0%, #fff 10%); - } -} - @media print { - a[href]::after { - content: " (" attr(href) ")"; - } -} \ No newline at end of file + a[href]:after { + content: " (" attr(href) ")"; + } +} + +/* Header +--------------------------*/ + + + + +/* Content +--------------------------*/ + +.fa { + margin-right: 0.3em; + speak: none; /* Won't speak the symbol | badly supported by browsers */ +} + +.button { + text-overflow: ellipsis; // Overflow = "..." +} + + + +/* Footer +--------------------------*/ + + + + +/* Responsive Stuff +--------------------------*/ + +@media screen and (max-width: 768px) { + .column.full, + .column.three-fourth, + .column.two-thirds, + .column.half { + float: none; + margin: 0; + width: 100%; + } + .column.one-third, + .column.one-fourth { + float: left; + margin: 0; + width: 50%; + padding: 0.4em; + } +} + +@media screen and (max-width: 568px) { + .column.one-third, + .column.two-third { + float: none; + margin: 0; + width: 100%; + } +} + +@media screen and (max-width: 480px) { +.column.one-third, +.column.one-fourth, +.column.full, +.column.three-fourth, +.column.two-thirds, +.column.half, +.column.full { + float: left; + margin: 0; + width: 100%; +} + +}