Merge branch 'feature/grunt' into develop
1
.gitignore
vendored
|
@ -3,4 +3,5 @@ _site
|
|||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
codekit-config.json
|
||||
node_modules
|
||||
Gemfile.lock
|
20
.jshintrc
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"bitwise": true,
|
||||
"browser": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"eqnull": true,
|
||||
"es5": false,
|
||||
"esnext": true,
|
||||
"immed": true,
|
||||
"jquery": true,
|
||||
"latedef": true,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"node": true,
|
||||
"strict": false,
|
||||
"trailing": false,
|
||||
"undef": true,
|
||||
"multistr": true,
|
||||
"expr": true
|
||||
}
|
106
Gruntfile.js
Normal file
|
@ -0,0 +1,106 @@
|
|||
'use strict';
|
||||
module.exports = function(grunt) {
|
||||
|
||||
grunt.initConfig({
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: '.jshintrc'
|
||||
},
|
||||
all: [
|
||||
'Gruntfile.js',
|
||||
'assets/js/*.js',
|
||||
'!assets/js/plugins/*.js',
|
||||
'!assets/js/scripts.min.js'
|
||||
]
|
||||
},
|
||||
recess: {
|
||||
dist: {
|
||||
options: {
|
||||
compile: true,
|
||||
compress: true
|
||||
},
|
||||
files: {
|
||||
'assets/css/main.min.css': [
|
||||
'assets/less/main.less'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
dist: {
|
||||
files: {
|
||||
'assets/js/scripts.min.js': [
|
||||
'assets/js/plugins/*.js',
|
||||
'assets/js/_*.js'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
imagemin: {
|
||||
dist: {
|
||||
options: {
|
||||
optimizationLevel: 7,
|
||||
progressive: true
|
||||
},
|
||||
files: [{
|
||||
expand: true,
|
||||
cwd: 'images/',
|
||||
src: '{,*/}*.{png,jpg,jpeg}',
|
||||
dest: 'images/'
|
||||
}]
|
||||
}
|
||||
},
|
||||
svgmin: {
|
||||
dist: {
|
||||
files: [{
|
||||
expand: true,
|
||||
cwd: 'images/',
|
||||
src: '{,*/}*.svg',
|
||||
dest: 'images/'
|
||||
}]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
less: {
|
||||
files: [
|
||||
'assets/less/*.less'
|
||||
],
|
||||
tasks: ['recess']
|
||||
},
|
||||
js: {
|
||||
files: [
|
||||
'<%= jshint.all %>'
|
||||
],
|
||||
tasks: ['uglify']
|
||||
}
|
||||
},
|
||||
clean: {
|
||||
dist: [
|
||||
'assets/css/main.min.css',
|
||||
'assets/js/scripts.min.js'
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
// Load tasks
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-recess');
|
||||
grunt.loadNpmTasks('grunt-contrib-imagemin');
|
||||
grunt.loadNpmTasks('grunt-svgmin');
|
||||
|
||||
// Register tasks
|
||||
grunt.registerTask('default', [
|
||||
'clean',
|
||||
'recess',
|
||||
'uglify',
|
||||
'imagemin',
|
||||
'svgmin'
|
||||
]);
|
||||
grunt.registerTask('dev', [
|
||||
'watch'
|
||||
]);
|
||||
|
||||
};
|
|
@ -65,4 +65,4 @@ kramdown:
|
|||
coderay_css: class
|
||||
|
||||
include: [".htaccess"]
|
||||
exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "*.sublime-project", "*.sublime-workspace", "test", "spec"]
|
||||
exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "*.sublime-project", "*.sublime-workspace", "test", "spec", "Gruntfile.js", "package.json", "node_modules"]
|
|
@ -34,7 +34,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<!-- For all browsers -->
|
||||
<link rel="stylesheet" href="{{ site.url }}/assets/css/main.css">
|
||||
<link rel="stylesheet" href="{{ site.url }}/assets/css/main.min.css">
|
||||
<!-- Webfonts -->
|
||||
<script src="//use.edgefonts.net/source-sans-pro:n2,i2,n3,i3,n4,i4,n6,i6,n7,i7,n9,i9;source-code-pro:n4,n7;volkhov.js"></script>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script>window.jQuery || document.write('<script src="{{ site.url }}/assets/js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
|
||||
<script src="{{ site.url }}/assets/js/main.min.js"></script>
|
||||
<script src="{{ site.url }}/assets/js/scripts.min.js"></script>
|
||||
{% if site.google_analytics %}
|
||||
<!-- Asynchronous Google Analytics snippet -->
|
||||
<script>
|
||||
|
|
|
@ -1,731 +0,0 @@
|
|||
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
|
||||
audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
|
||||
audio:not([controls]){display:none;}
|
||||
html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
|
||||
a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
|
||||
a:hover,a:active{outline:0;}
|
||||
sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
|
||||
sup{top:-0.5em;}
|
||||
sub{bottom:-0.25em;}
|
||||
blockquote{margin:0;}
|
||||
img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
|
||||
#map_canvas img,.google-maps img{max-width:none;}
|
||||
button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
|
||||
button,input{*overflow:visible;line-height:normal;}
|
||||
button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
|
||||
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
|
||||
label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;}
|
||||
input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;-ms-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
|
||||
input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
|
||||
textarea{overflow:auto;vertical-align:top;}
|
||||
@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin-top:24px;font-size:16px;}
|
||||
::-moz-selection{background-color:#dadada;color:#343434;text-shadow:none;}
|
||||
::selection{background-color:#dadada;color:#343434;text-shadow:none;}
|
||||
::-webkit-scrollbar{width:12px;height:12px;}
|
||||
::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0, 0, 0, 0.3);-webkit-border-radius:10px;border-radius:10px;}
|
||||
::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px;background:rgba(0, 0, 0, 0.5);}
|
||||
::-webkit-scrollbar-thumb:window-inactive{background:rgba(0, 0, 0, 0.2);}
|
||||
.wrap{margin:0 auto;}
|
||||
.all-caps{text-transform:uppercase;}
|
||||
.pull-left{float:left;}
|
||||
.pull-right{float:right;}
|
||||
.unstyled-list{list-style:none;margin-left:0;padding-left:0;}.unstyled-list li{list-style-type:none;}
|
||||
b,i,strong,em,blockquote,p,q,span,figure,img,h1,h2,header,input,a{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-ms-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease;}
|
||||
body{font-family:'source-sans-pro',sans-serif;color:#222222;}
|
||||
h1,h2,h3,h4,h5,h6{font-family:'source-sans-pro',sans-serif;}
|
||||
a{text-decoration:none;color:#222222;}a:visited{color:#555555;}
|
||||
a:hover{color:#000000;}
|
||||
a:focus{outline:thin dotted;color:#000000;}
|
||||
a:hover,a:active{outline:0;}
|
||||
.link-arrow{font-weight:100;text-decoration:underline;font-style:normal;}
|
||||
figcaption{padding-top:10px;font-size:14px;font-size:0.875rem;line-height:1.7143;line-height:1.3;color:#3c3c3c;}
|
||||
.image-credit{margin:0 auto;max-width:440px;padding-top:5px;padding-right:20px;padding-left:20px;text-align:right;font-size:14px;font-size:0.875rem;line-height:1.7143;line-height:1.3;color:#6f6f6f;*zoom:1;}.image-credit:before,.image-credit:after{display:table;content:"";line-height:0;}
|
||||
.image-credit:after{clear:both;}
|
||||
@media only screen and (min-width: 48em){.image-credit{max-width:760px;padding-right:60px;padding-left:60px;}}@media only screen and (min-width: 62.5em){.image-credit{max-width:960px;}}.image-credit a{color:#6f6f6f;}
|
||||
.notice{margin-top:1.5em;padding:.5em 1em;text-indent:0;font-size:16px;font-size:1rem;background-color:#f2f2f2;border:1px solid #e6e6e6;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
|
||||
blockquote{font-family:'volkhov',serif;font-style:italic;font-size:24px;font-size:1.5rem;line-height:1;margin-bottom:24px;margin-bottom:1.5rem;padding-left:20px;border-left:8px solid #000000;}
|
||||
.footnotes{font-size:14px;font-size:0.875rem;line-height:1.7143;font-family:'source-sans-pro',sans-serif;}
|
||||
tt,code,kbd,samp,pre{font-family:'source-code-pro',monospace;}
|
||||
p code,li code{font-size:12px;font-size:0.75rem;line-height:2;white-space:nowrap;margin:0 2px;padding:0 5px;border:1px solid #e6e6e6;background-color:#f2f2f2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
|
||||
pre{font-size:12px;font-size:0.75rem;line-height:2;overflow-x:auto;}
|
||||
.highlight{margin-bottom:1.5em;font-size:12px;font-size:0.75rem;line-height:2;border:1px solid #dedede;}.highlight pre{position:relative;margin:0;padding:1em;}
|
||||
.highlight .hll{background-color:#ffffcc;}
|
||||
.highlight .c{color:#999988;font-style:italic;}
|
||||
.highlight .err{color:#a61717;background-color:#e3d2d2;}
|
||||
.highlight .k{color:#000000;font-weight:bold;}
|
||||
.highlight .o{color:#000000;font-weight:bold;}
|
||||
.highlight .cm{color:#999988;font-style:italic;}
|
||||
.highlight .cp{color:#999999;font-weight:bold;font-style:italic;}
|
||||
.highlight .c1{color:#999988;font-style:italic;}
|
||||
.highlight .cs{color:#999999;font-weight:bold;font-style:italic;}
|
||||
.highlight .gd{color:#000000;background-color:#ffdddd;}
|
||||
.highlight .ge{color:#000000;font-style:italic;}
|
||||
.highlight .gr{color:#aa0000;}
|
||||
.highlight .gh{color:#999999;}
|
||||
.highlight .gi{color:#000000;background-color:#ddffdd;}
|
||||
.highlight .go{color:#888888;}
|
||||
.highlight .gp{color:#555555;}
|
||||
.highlight .gs{font-weight:bold;}
|
||||
.highlight .gu{color:#aaaaaa;}
|
||||
.highlight .gt{color:#aa0000;}
|
||||
.highlight .kc{color:#000000;font-weight:bold;}
|
||||
.highlight .kd{color:#000000;font-weight:bold;}
|
||||
.highlight .kn{color:#000000;font-weight:bold;}
|
||||
.highlight .kp{color:#000000;font-weight:bold;}
|
||||
.highlight .kr{color:#000000;font-weight:bold;}
|
||||
.highlight .kt{color:#445588;font-weight:bold;}
|
||||
.highlight .m{color:#009999;}
|
||||
.highlight .s{color:#d01040;}
|
||||
.highlight .na{color:#008080;}
|
||||
.highlight .nb{color:#0086b3;}
|
||||
.highlight .nc{color:#445588;font-weight:bold;}
|
||||
.highlight .no{color:#008080;}
|
||||
.highlight .nd{color:#3c5d5d;font-weight:bold;}
|
||||
.highlight .ni{color:#800080;}
|
||||
.highlight .ne{color:#990000;font-weight:bold;}
|
||||
.highlight .nf{color:#990000;font-weight:bold;}
|
||||
.highlight .nl{color:#990000;font-weight:bold;}
|
||||
.highlight .nn{color:#555555;}
|
||||
.highlight .nt{color:#000080;}
|
||||
.highlight .nv{color:#008080;}
|
||||
.highlight .ow{color:#000000;font-weight:bold;}
|
||||
.highlight .w{color:#bbbbbb;}
|
||||
.highlight .mf{color:#009999;}
|
||||
.highlight .mh{color:#009999;}
|
||||
.highlight .mi{color:#009999;}
|
||||
.highlight .mo{color:#009999;}
|
||||
.highlight .sb{color:#d01040;}
|
||||
.highlight .sc{color:#d01040;}
|
||||
.highlight .sd{color:#d01040;}
|
||||
.highlight .s2{color:#d01040;}
|
||||
.highlight .se{color:#d01040;}
|
||||
.highlight .sh{color:#d01040;}
|
||||
.highlight .si{color:#d01040;}
|
||||
.highlight .sx{color:#d01040;}
|
||||
.highlight .sr{color:#009926;}
|
||||
.highlight .s1{color:#d01040;}
|
||||
.highlight .ss{color:#990073;}
|
||||
.highlight .bp{color:#999999;}
|
||||
.highlight .vc{color:#008080;}
|
||||
.highlight .vg{color:#008080;}
|
||||
.highlight .vi{color:#008080;}
|
||||
.highlight .il{color:#009999;}
|
||||
.CodeRay{font-family:'source-code-pro',monospace;font-size:12px;font-size:0.75rem;line-height:2;color:#333332;margin-bottom:1.5em;border:1px solid #dedede;}
|
||||
.CodeRay code{margin:0;padding:1em;}
|
||||
span.CodeRay{white-space:pre;border:0px;padding:2px;}
|
||||
table.CodeRay{border-collapse:collapse;width:100%;padding:2px;}
|
||||
table.CodeRay td{padding:1em 0.5em;vertical-align:top;}
|
||||
.CodeRay .line-numbers,.CodeRay .no{color:#AAA;text-align:right;}
|
||||
.CodeRay .line-numbers a{color:#AAA;}
|
||||
.CodeRay .line-numbers tt{font-weight:bold;}
|
||||
.CodeRay .line-numbers .highlighted{color:#ff0000;}
|
||||
.CodeRay .line{display:block;float:left;width:100%;}
|
||||
.CodeRay span.line-numbers{padding:0 24px 0 4px;}
|
||||
.CodeRay .code{width:100%;}
|
||||
ol.CodeRay{font-size:10pt;}
|
||||
ol.CodeRay li{white-space:pre;}
|
||||
.CodeRay .code pre{overflow:auto;}
|
||||
.CodeRay .debug{color:white ! important;background:blue ! important;}
|
||||
.CodeRay .annotation{color:#000077;}
|
||||
.CodeRay .attribute-name{color:#ff0088;}
|
||||
.CodeRay .attribute-value{color:#770000;}
|
||||
.CodeRay .binary{color:#509;font-weight:bold;}
|
||||
.CodeRay .comment{color:#998;font-style:italic;}
|
||||
.CodeRay .char{color:#0044dd;}
|
||||
.CodeRay .char .content{color:#0044dd;}
|
||||
.CodeRay .char .delimiter{color:#003399;}
|
||||
.CodeRay .class{color:#458;font-weight:bold;}
|
||||
.CodeRay .complex{color:#A08;font-weight:bold;}
|
||||
.CodeRay .constant{color:teal;}
|
||||
.CodeRay .color{color:#00aa00;}
|
||||
.CodeRay .class-variable{color:#336699;}
|
||||
.CodeRay .decorator{color:#B0B;}
|
||||
.CodeRay .definition{color:#099;font-weight:bold;}
|
||||
.CodeRay .directive{color:#088;font-weight:bold;}
|
||||
.CodeRay .delimiter{color:#000000;}
|
||||
.CodeRay .doc{color:#997700;}
|
||||
.CodeRay .doctype{color:#3344bb;}
|
||||
.CodeRay .doc-string{color:#D42;font-weight:bold;}
|
||||
.CodeRay .escape{color:#666;font-weight:bold;}
|
||||
.CodeRay .entity{color:#800;font-weight:bold;}
|
||||
.CodeRay .error{color:#F00;background-color:#ffaaaa;}
|
||||
.CodeRay .exception{color:#C00;font-weight:bold;}
|
||||
.CodeRay .filename{color:#099;}
|
||||
.CodeRay .function{color:#900;font-weight:bold;}
|
||||
.CodeRay .global-variable{color:teal;font-weight:bold;}
|
||||
.CodeRay .hex{color:#058;font-weight:bold;}
|
||||
.CodeRay .integer{color:#099;}
|
||||
.CodeRay .include{color:#B44;font-weight:bold;}
|
||||
.CodeRay .inline{color:#000000;}
|
||||
.CodeRay .inline .inline{background:#cccccc;}
|
||||
.CodeRay .inline .inline .inline{background:#bbbbbb;}
|
||||
.CodeRay .inline .inline-delimiter{color:#D14;}
|
||||
.CodeRay .inline-delimiter{color:#D14;}
|
||||
.CodeRay .important{color:#f00;}
|
||||
.CodeRay .interpreted{color:#B2B;font-weight:bold;}
|
||||
.CodeRay .instance-variable{color:#008080;}
|
||||
.CodeRay .label{color:#970;font-weight:bold;}
|
||||
.CodeRay .local-variable{color:#996633;}
|
||||
.CodeRay .octal{color:#40E;font-weight:bold;}
|
||||
.CodeRay .predefined-constant{font-weight:bold;}
|
||||
.CodeRay .predefined{color:#369;font-weight:bold;}
|
||||
.CodeRay .preprocessor{color:#579;}
|
||||
.CodeRay .pseudo-class{color:#00C;font-weight:bold;}
|
||||
.CodeRay .predefined-type{color:#074;font-weight:bold;}
|
||||
.CodeRay .reserved,.keyword{color:#000;font-weight:bold;}
|
||||
.CodeRay .key{color:#808;}
|
||||
.CodeRay .key .delimiter{color:#606;}
|
||||
.CodeRay .key .char{color:#80f;}
|
||||
.CodeRay .value{color:#088;}
|
||||
.CodeRay .regexp{background-color:#fff0ff;}
|
||||
.CodeRay .regexp .content{color:#880088;}
|
||||
.CodeRay .regexp .delimiter{color:#440044;}
|
||||
.CodeRay .regexp .modifier{color:#cc22cc;}
|
||||
.CodeRay .regexp .function{color:#404;font-weight:bold;}
|
||||
.CodeRay .string{color:#D20;}
|
||||
.CodeRay .string .string .string{background-color:#ffd0d0;}
|
||||
.CodeRay .string .content{color:#D14;}
|
||||
.CodeRay .string .char{color:#D14;}
|
||||
.CodeRay .string .delimiter{color:#D14;}
|
||||
.CodeRay .shell{color:#dd1144;}
|
||||
.CodeRay .shell .delimiter{color:#dd1144;}
|
||||
.CodeRay .symbol{color:#990073;}
|
||||
.CodeRay .symbol .content{color:#aa6600;}
|
||||
.CodeRay .symbol .delimiter{color:#663300;}
|
||||
.CodeRay .tag{color:#007700;}
|
||||
.CodeRay .tag-special{color:#D70;font-weight:bold;}
|
||||
.CodeRay .type{color:#339;font-weight:bold;}
|
||||
.CodeRay .variable{color:#003366;}
|
||||
.CodeRay .insert{background:#afa;}
|
||||
.CodeRay .delete{background:#faa;}
|
||||
.CodeRay .change{color:#aaf;background:#007;}
|
||||
.CodeRay .head{color:#f8f;background:#550055;}
|
||||
.CodeRay .insert .insert{color:#080;font-weight:bold;}
|
||||
.CodeRay .delete .delete{color:#800;font-weight:bold;}
|
||||
.CodeRay .change .change{color:#66f;}
|
||||
.CodeRay .head .head{color:#f4f;}
|
||||
.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
|
||||
.clearfix:after{clear:both;}
|
||||
.hidden{display:none;visibility:hidden;}
|
||||
.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{position:static;clip:auto;height:auto;width:auto;margin:0;overflow:visible;}
|
||||
hr{display:block;margin:1em 0;padding:0;height:1px;border:0;border-top:1px solid #ccc;border-bottom:1px solid #fff;}
|
||||
figure{margin:0;padding-top:10px;padding-bottom:10px;*zoom:1;}figure:before,figure:after{display:table;content:"";line-height:0;}
|
||||
figure:after{clear:both;}
|
||||
figure img{margin-bottom:10px;}
|
||||
figure a img{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0);-webkit-transition-duration:0.25s;-moz-transition-duration:0.25s;-o-transition-duration:0.25s;-webkit-opacity:0.7;-moz-opacity:0.7;opacity:0.7;}figure a img:hover{-webkit-transform:translate(0, -5px);-moz-transform:translate(0, -5px);-ms-transform:translate(0, -5px);-o-transform:translate(0, -5px);transform:translate(0, -5px);-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 0 10px rgba(0, 0, 0, 0.2);box-shadow:0 0 10px rgba(0, 0, 0, 0.2);-webkit-opacity:1;-moz-opacity:1;opacity:1;}
|
||||
@media only screen and (min-width: 62.5em){figure.half img{width:310px;float:left;margin-right:10px;} figure.half figcaption{clear:left;}}
|
||||
@media only screen and (min-width: 62.5em){figure.third img{width:200px;float:left;margin-right:10px;} figure.third figcaption{clear:left;}}
|
||||
svg:not(:root){overflow:hidden;}
|
||||
.btn{display:inline-block;margin-bottom:20px;padding:8px 20px;font-size:14px;font-size:0.875rem;background-color:#000000;color:#ffffff;border:2px solid #000000 !important;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}.btn:visited{color:#ffffff;}
|
||||
.btn:hover{background-color:#ffffff;color:#000000;}
|
||||
.well{padding:20px;border:1px solid #343434;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
|
||||
.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:1s;-moz-animation-duration:1s;-ms-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;}
|
||||
.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-ms-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s;}
|
||||
@-webkit-keyframes fadeIn{0%{opacity:0;} 100%{opacity:1;}}@-moz-keyframes fadeIn{0%{opacity:0;} 100%{opacity:1;}}@-o-keyframes fadeIn{0%{opacity:0;} 100%{opacity:1;}}@keyframes fadeIn{0%{opacity:0;} 100%{opacity:1;}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn;}
|
||||
@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);} 100%{opacity:1;-webkit-transform:translateY(0);}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px);} 100%{opacity:1;-moz-transform:translateY(0);}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px);} 100%{opacity:1;-o-transform:translateY(0);}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px);} 100%{opacity:1;transform:translateY(0);}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown;}
|
||||
@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);} 100%{opacity:1;-webkit-transform:translateY(0);}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px);} 100%{opacity:1;-moz-transform:translateY(0);}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px);} 100%{opacity:1;-o-transform:translateY(0);}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px);} 100%{opacity:1;transform:translateY(0);}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig;}
|
||||
@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(0.3);} 50%{opacity:1;-webkit-transform:scale(1.05);} 70%{-webkit-transform:scale(0.9);} 100%{-webkit-transform:scale(1);}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(0.3);} 50%{opacity:1;-moz-transform:scale(1.05);} 70%{-moz-transform:scale(0.9);} 100%{-moz-transform:scale(1);}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(0.3);} 50%{opacity:1;-o-transform:scale(1.05);} 70%{-o-transform:scale(0.9);} 100%{-o-transform:scale(1);}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3);} 50%{opacity:1;transform:scale(1.05);} 70%{transform:scale(0.9);} 100%{transform:scale(1);}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn;}
|
||||
@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);} 60%{opacity:1;-webkit-transform:translateY(30px);} 80%{-webkit-transform:translateY(-10px);} 100%{-webkit-transform:translateY(0);}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px);} 60%{opacity:1;-moz-transform:translateY(30px);} 80%{-moz-transform:translateY(-10px);} 100%{-moz-transform:translateY(0);}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px);} 60%{opacity:1;-o-transform:translateY(30px);} 80%{-o-transform:translateY(-10px);} 100%{-o-transform:translateY(0);}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px);} 60%{opacity:1;transform:translateY(30px);} 80%{transform:translateY(-10px);} 100%{transform:translateY(0);}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown;}
|
||||
@-webkit-keyframes drop{0%{-webkit-transform:translateY(-500px);} 100%{-webkit-transform:translateY(0);}}@-moz-keyframes drop{0%{-moz-transform:translateY(-500px);} 100%{-moz-transform:translateY(0);}}@-o-keyframes drop{0%{-o-transform:translateY(-500px);} 100%{-o-transform:translateY(0);}}@keyframes drop{0%{transform:translateY(-500px);} 100%{transform:translateY(0);}}.drop{-webkit-animation-name:drop;-moz-animation-name:drop;-o-animation-name:drop;animation-name:drop;}
|
||||
@font-face{font-family:'FontAwesome';src:url('//netdna.bootstrapcdn.com/font-awesome/3.2.0/font/fontawesome-webfont.eot?v=3.2.0');src:url('//netdna.bootstrapcdn.com/font-awesome/3.2.0/font/fontawesome-webfont.eot?#iefix&v=3.2.0') format('embedded-opentype'),url('//netdna.bootstrapcdn.com/font-awesome/3.2.0/font/fontawesome-webfont.woff?v=3.2.0') format('woff'),url('//netdna.bootstrapcdn.com/font-awesome/3.2.0/font/fontawesome-webfont.ttf?v=3.2.0') format('truetype'),url('//netdna.bootstrapcdn.com/font-awesome/3.2.0/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.0') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
|
||||
[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;cursor:default;speak:none;}
|
||||
.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
|
||||
a [class^="icon-"],a [class*=" icon-"]{display:inline;}
|
||||
[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}
|
||||
[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
|
||||
.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}
|
||||
.icons-ul>li{position:relative;}
|
||||
.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
|
||||
[class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
|
||||
.icon-muted{color:#eeeeee;}
|
||||
.icon-light{color:#ffffff;}
|
||||
.icon-dark{color:#333333;}
|
||||
.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
|
||||
.icon-2x{font-size:2em;}
|
||||
.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
|
||||
.icon-3x{font-size:3em;}
|
||||
.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
|
||||
.icon-4x{font-size:4em;}
|
||||
.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
|
||||
.icon-5x{font-size:5em;}
|
||||
.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
|
||||
.pull-right{float:right;}
|
||||
.pull-left{float:left;}
|
||||
[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
|
||||
[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
|
||||
[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
|
||||
.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
|
||||
.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
|
||||
.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
|
||||
.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
|
||||
.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
|
||||
.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
|
||||
.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
|
||||
.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}
|
||||
.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
|
||||
.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
|
||||
.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
|
||||
.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}
|
||||
.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
|
||||
.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
|
||||
.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
|
||||
a .icon-spin{display:inline-block;text-decoration:none;}
|
||||
@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
|
||||
.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
|
||||
.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
|
||||
.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
|
||||
.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
|
||||
a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
|
||||
.icon-glass:before{content:"\f000";}
|
||||
.icon-music:before{content:"\f001";}
|
||||
.icon-search:before{content:"\f002";}
|
||||
.icon-envelope-alt:before{content:"\f003";}
|
||||
.icon-heart:before{content:"\f004";}
|
||||
.icon-star:before{content:"\f005";}
|
||||
.icon-star-empty:before{content:"\f006";}
|
||||
.icon-user:before{content:"\f007";}
|
||||
.icon-film:before{content:"\f008";}
|
||||
.icon-th-large:before{content:"\f009";}
|
||||
.icon-th:before{content:"\f00a";}
|
||||
.icon-th-list:before{content:"\f00b";}
|
||||
.icon-ok:before{content:"\f00c";}
|
||||
.icon-remove:before{content:"\f00d";}
|
||||
.icon-zoom-in:before{content:"\f00e";}
|
||||
.icon-zoom-out:before{content:"\f010";}
|
||||
.icon-power-off:before,.icon-off:before{content:"\f011";}
|
||||
.icon-signal:before{content:"\f012";}
|
||||
.icon-cog:before{content:"\f013";}
|
||||
.icon-trash:before{content:"\f014";}
|
||||
.icon-home:before{content:"\f015";}
|
||||
.icon-file-alt:before{content:"\f016";}
|
||||
.icon-time:before{content:"\f017";}
|
||||
.icon-road:before{content:"\f018";}
|
||||
.icon-download-alt:before{content:"\f019";}
|
||||
.icon-download:before{content:"\f01a";}
|
||||
.icon-upload:before{content:"\f01b";}
|
||||
.icon-inbox:before{content:"\f01c";}
|
||||
.icon-play-circle:before{content:"\f01d";}
|
||||
.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
|
||||
.icon-refresh:before{content:"\f021";}
|
||||
.icon-list-alt:before{content:"\f022";}
|
||||
.icon-lock:before{content:"\f023";}
|
||||
.icon-flag:before{content:"\f024";}
|
||||
.icon-headphones:before{content:"\f025";}
|
||||
.icon-volume-off:before{content:"\f026";}
|
||||
.icon-volume-down:before{content:"\f027";}
|
||||
.icon-volume-up:before{content:"\f028";}
|
||||
.icon-qrcode:before{content:"\f029";}
|
||||
.icon-barcode:before{content:"\f02a";}
|
||||
.icon-tag:before{content:"\f02b";}
|
||||
.icon-tags:before{content:"\f02c";}
|
||||
.icon-book:before{content:"\f02d";}
|
||||
.icon-bookmark:before{content:"\f02e";}
|
||||
.icon-print:before{content:"\f02f";}
|
||||
.icon-camera:before{content:"\f030";}
|
||||
.icon-font:before{content:"\f031";}
|
||||
.icon-bold:before{content:"\f032";}
|
||||
.icon-italic:before{content:"\f033";}
|
||||
.icon-text-height:before{content:"\f034";}
|
||||
.icon-text-width:before{content:"\f035";}
|
||||
.icon-align-left:before{content:"\f036";}
|
||||
.icon-align-center:before{content:"\f037";}
|
||||
.icon-align-right:before{content:"\f038";}
|
||||
.icon-align-justify:before{content:"\f039";}
|
||||
.icon-list:before{content:"\f03a";}
|
||||
.icon-indent-left:before{content:"\f03b";}
|
||||
.icon-indent-right:before{content:"\f03c";}
|
||||
.icon-facetime-video:before{content:"\f03d";}
|
||||
.icon-picture:before{content:"\f03e";}
|
||||
.icon-pencil:before{content:"\f040";}
|
||||
.icon-map-marker:before{content:"\f041";}
|
||||
.icon-adjust:before{content:"\f042";}
|
||||
.icon-tint:before{content:"\f043";}
|
||||
.icon-edit:before{content:"\f044";}
|
||||
.icon-share:before{content:"\f045";}
|
||||
.icon-check:before{content:"\f046";}
|
||||
.icon-move:before{content:"\f047";}
|
||||
.icon-step-backward:before{content:"\f048";}
|
||||
.icon-fast-backward:before{content:"\f049";}
|
||||
.icon-backward:before{content:"\f04a";}
|
||||
.icon-play:before{content:"\f04b";}
|
||||
.icon-pause:before{content:"\f04c";}
|
||||
.icon-stop:before{content:"\f04d";}
|
||||
.icon-forward:before{content:"\f04e";}
|
||||
.icon-fast-forward:before{content:"\f050";}
|
||||
.icon-step-forward:before{content:"\f051";}
|
||||
.icon-eject:before{content:"\f052";}
|
||||
.icon-chevron-left:before{content:"\f053";}
|
||||
.icon-chevron-right:before{content:"\f054";}
|
||||
.icon-plus-sign:before{content:"\f055";}
|
||||
.icon-minus-sign:before{content:"\f056";}
|
||||
.icon-remove-sign:before{content:"\f057";}
|
||||
.icon-ok-sign:before{content:"\f058";}
|
||||
.icon-question-sign:before{content:"\f059";}
|
||||
.icon-info-sign:before{content:"\f05a";}
|
||||
.icon-screenshot:before{content:"\f05b";}
|
||||
.icon-remove-circle:before{content:"\f05c";}
|
||||
.icon-ok-circle:before{content:"\f05d";}
|
||||
.icon-ban-circle:before{content:"\f05e";}
|
||||
.icon-arrow-left:before{content:"\f060";}
|
||||
.icon-arrow-right:before{content:"\f061";}
|
||||
.icon-arrow-up:before{content:"\f062";}
|
||||
.icon-arrow-down:before{content:"\f063";}
|
||||
.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
|
||||
.icon-resize-full:before{content:"\f065";}
|
||||
.icon-resize-small:before{content:"\f066";}
|
||||
.icon-plus:before{content:"\f067";}
|
||||
.icon-minus:before{content:"\f068";}
|
||||
.icon-asterisk:before{content:"\f069";}
|
||||
.icon-exclamation-sign:before{content:"\f06a";}
|
||||
.icon-gift:before{content:"\f06b";}
|
||||
.icon-leaf:before{content:"\f06c";}
|
||||
.icon-fire:before{content:"\f06d";}
|
||||
.icon-eye-open:before{content:"\f06e";}
|
||||
.icon-eye-close:before{content:"\f070";}
|
||||
.icon-warning-sign:before{content:"\f071";}
|
||||
.icon-plane:before{content:"\f072";}
|
||||
.icon-calendar:before{content:"\f073";}
|
||||
.icon-random:before{content:"\f074";}
|
||||
.icon-comment:before{content:"\f075";}
|
||||
.icon-magnet:before{content:"\f076";}
|
||||
.icon-chevron-up:before{content:"\f077";}
|
||||
.icon-chevron-down:before{content:"\f078";}
|
||||
.icon-retweet:before{content:"\f079";}
|
||||
.icon-shopping-cart:before{content:"\f07a";}
|
||||
.icon-folder-close:before{content:"\f07b";}
|
||||
.icon-folder-open:before{content:"\f07c";}
|
||||
.icon-resize-vertical:before{content:"\f07d";}
|
||||
.icon-resize-horizontal:before{content:"\f07e";}
|
||||
.icon-bar-chart:before{content:"\f080";}
|
||||
.icon-twitter-sign:before{content:"\f081";}
|
||||
.icon-facebook-sign:before{content:"\f082";}
|
||||
.icon-camera-retro:before{content:"\f083";}
|
||||
.icon-key:before{content:"\f084";}
|
||||
.icon-cogs:before{content:"\f085";}
|
||||
.icon-comments:before{content:"\f086";}
|
||||
.icon-thumbs-up-alt:before{content:"\f087";}
|
||||
.icon-thumbs-down-alt:before{content:"\f088";}
|
||||
.icon-star-half:before{content:"\f089";}
|
||||
.icon-heart-empty:before{content:"\f08a";}
|
||||
.icon-signout:before{content:"\f08b";}
|
||||
.icon-linkedin-sign:before{content:"\f08c";}
|
||||
.icon-pushpin:before{content:"\f08d";}
|
||||
.icon-external-link:before{content:"\f08e";}
|
||||
.icon-signin:before{content:"\f090";}
|
||||
.icon-trophy:before{content:"\f091";}
|
||||
.icon-github-sign:before{content:"\f092";}
|
||||
.icon-upload-alt:before{content:"\f093";}
|
||||
.icon-lemon:before{content:"\f094";}
|
||||
.icon-phone:before{content:"\f095";}
|
||||
.icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
|
||||
.icon-bookmark-empty:before{content:"\f097";}
|
||||
.icon-phone-sign:before{content:"\f098";}
|
||||
.icon-twitter:before{content:"\f099";}
|
||||
.icon-facebook:before{content:"\f09a";}
|
||||
.icon-github:before{content:"\f09b";}
|
||||
.icon-unlock:before{content:"\f09c";}
|
||||
.icon-credit-card:before{content:"\f09d";}
|
||||
.icon-rss:before{content:"\f09e";}
|
||||
.icon-hdd:before{content:"\f0a0";}
|
||||
.icon-bullhorn:before{content:"\f0a1";}
|
||||
.icon-bell:before{content:"\f0a2";}
|
||||
.icon-certificate:before{content:"\f0a3";}
|
||||
.icon-hand-right:before{content:"\f0a4";}
|
||||
.icon-hand-left:before{content:"\f0a5";}
|
||||
.icon-hand-up:before{content:"\f0a6";}
|
||||
.icon-hand-down:before{content:"\f0a7";}
|
||||
.icon-circle-arrow-left:before{content:"\f0a8";}
|
||||
.icon-circle-arrow-right:before{content:"\f0a9";}
|
||||
.icon-circle-arrow-up:before{content:"\f0aa";}
|
||||
.icon-circle-arrow-down:before{content:"\f0ab";}
|
||||
.icon-globe:before{content:"\f0ac";}
|
||||
.icon-wrench:before{content:"\f0ad";}
|
||||
.icon-tasks:before{content:"\f0ae";}
|
||||
.icon-filter:before{content:"\f0b0";}
|
||||
.icon-briefcase:before{content:"\f0b1";}
|
||||
.icon-fullscreen:before{content:"\f0b2";}
|
||||
.icon-group:before{content:"\f0c0";}
|
||||
.icon-link:before{content:"\f0c1";}
|
||||
.icon-cloud:before{content:"\f0c2";}
|
||||
.icon-beaker:before{content:"\f0c3";}
|
||||
.icon-cut:before{content:"\f0c4";}
|
||||
.icon-copy:before{content:"\f0c5";}
|
||||
.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
|
||||
.icon-save:before{content:"\f0c7";}
|
||||
.icon-sign-blank:before{content:"\f0c8";}
|
||||
.icon-reorder:before{content:"\f0c9";}
|
||||
.icon-list-ul:before{content:"\f0ca";}
|
||||
.icon-list-ol:before{content:"\f0cb";}
|
||||
.icon-strikethrough:before{content:"\f0cc";}
|
||||
.icon-underline:before{content:"\f0cd";}
|
||||
.icon-table:before{content:"\f0ce";}
|
||||
.icon-magic:before{content:"\f0d0";}
|
||||
.icon-truck:before{content:"\f0d1";}
|
||||
.icon-pinterest:before{content:"\f0d2";}
|
||||
.icon-pinterest-sign:before{content:"\f0d3";}
|
||||
.icon-google-plus-sign:before{content:"\f0d4";}
|
||||
.icon-google-plus:before{content:"\f0d5";}
|
||||
.icon-money:before{content:"\f0d6";}
|
||||
.icon-caret-down:before{content:"\f0d7";}
|
||||
.icon-caret-up:before{content:"\f0d8";}
|
||||
.icon-caret-left:before{content:"\f0d9";}
|
||||
.icon-caret-right:before{content:"\f0da";}
|
||||
.icon-columns:before{content:"\f0db";}
|
||||
.icon-sort:before{content:"\f0dc";}
|
||||
.icon-sort-down:before{content:"\f0dd";}
|
||||
.icon-sort-up:before{content:"\f0de";}
|
||||
.icon-envelope:before{content:"\f0e0";}
|
||||
.icon-linkedin:before{content:"\f0e1";}
|
||||
.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
|
||||
.icon-legal:before{content:"\f0e3";}
|
||||
.icon-dashboard:before{content:"\f0e4";}
|
||||
.icon-comment-alt:before{content:"\f0e5";}
|
||||
.icon-comments-alt:before{content:"\f0e6";}
|
||||
.icon-bolt:before{content:"\f0e7";}
|
||||
.icon-sitemap:before{content:"\f0e8";}
|
||||
.icon-umbrella:before{content:"\f0e9";}
|
||||
.icon-paste:before{content:"\f0ea";}
|
||||
.icon-lightbulb:before{content:"\f0eb";}
|
||||
.icon-exchange:before{content:"\f0ec";}
|
||||
.icon-cloud-download:before{content:"\f0ed";}
|
||||
.icon-cloud-upload:before{content:"\f0ee";}
|
||||
.icon-user-md:before{content:"\f0f0";}
|
||||
.icon-stethoscope:before{content:"\f0f1";}
|
||||
.icon-suitcase:before{content:"\f0f2";}
|
||||
.icon-bell-alt:before{content:"\f0f3";}
|
||||
.icon-coffee:before{content:"\f0f4";}
|
||||
.icon-food:before{content:"\f0f5";}
|
||||
.icon-file-text-alt:before{content:"\f0f6";}
|
||||
.icon-building:before{content:"\f0f7";}
|
||||
.icon-hospital:before{content:"\f0f8";}
|
||||
.icon-ambulance:before{content:"\f0f9";}
|
||||
.icon-medkit:before{content:"\f0fa";}
|
||||
.icon-fighter-jet:before{content:"\f0fb";}
|
||||
.icon-beer:before{content:"\f0fc";}
|
||||
.icon-h-sign:before{content:"\f0fd";}
|
||||
.icon-plus-sign-alt:before{content:"\f0fe";}
|
||||
.icon-double-angle-left:before{content:"\f100";}
|
||||
.icon-double-angle-right:before{content:"\f101";}
|
||||
.icon-double-angle-up:before{content:"\f102";}
|
||||
.icon-double-angle-down:before{content:"\f103";}
|
||||
.icon-angle-left:before{content:"\f104";}
|
||||
.icon-angle-right:before{content:"\f105";}
|
||||
.icon-angle-up:before{content:"\f106";}
|
||||
.icon-angle-down:before{content:"\f107";}
|
||||
.icon-desktop:before{content:"\f108";}
|
||||
.icon-laptop:before{content:"\f109";}
|
||||
.icon-tablet:before{content:"\f10a";}
|
||||
.icon-mobile-phone:before{content:"\f10b";}
|
||||
.icon-circle-blank:before{content:"\f10c";}
|
||||
.icon-quote-left:before{content:"\f10d";}
|
||||
.icon-quote-right:before{content:"\f10e";}
|
||||
.icon-spinner:before{content:"\f110";}
|
||||
.icon-circle:before{content:"\f111";}
|
||||
.icon-mail-reply:before,.icon-reply:before{content:"\f112";}
|
||||
.icon-github-alt:before{content:"\f113";}
|
||||
.icon-folder-close-alt:before{content:"\f114";}
|
||||
.icon-folder-open-alt:before{content:"\f115";}
|
||||
.icon-expand-alt:before{content:"\f116";}
|
||||
.icon-collapse-alt:before{content:"\f117";}
|
||||
.icon-smile:before{content:"\f118";}
|
||||
.icon-frown:before{content:"\f119";}
|
||||
.icon-meh:before{content:"\f11a";}
|
||||
.icon-gamepad:before{content:"\f11b";}
|
||||
.icon-keyboard:before{content:"\f11c";}
|
||||
.icon-flag-alt:before{content:"\f11d";}
|
||||
.icon-flag-checkered:before{content:"\f11e";}
|
||||
.icon-terminal:before{content:"\f120";}
|
||||
.icon-code:before{content:"\f121";}
|
||||
.icon-reply-all:before{content:"\f122";}
|
||||
.icon-mail-reply-all:before{content:"\f122";}
|
||||
.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
|
||||
.icon-location-arrow:before{content:"\f124";}
|
||||
.icon-crop:before{content:"\f125";}
|
||||
.icon-code-fork:before{content:"\f126";}
|
||||
.icon-unlink:before{content:"\f127";}
|
||||
.icon-question:before{content:"\f128";}
|
||||
.icon-info:before{content:"\f129";}
|
||||
.icon-exclamation:before{content:"\f12a";}
|
||||
.icon-superscript:before{content:"\f12b";}
|
||||
.icon-subscript:before{content:"\f12c";}
|
||||
.icon-eraser:before{content:"\f12d";}
|
||||
.icon-puzzle-piece:before{content:"\f12e";}
|
||||
.icon-microphone:before{content:"\f130";}
|
||||
.icon-microphone-off:before{content:"\f131";}
|
||||
.icon-shield:before{content:"\f132";}
|
||||
.icon-calendar-empty:before{content:"\f133";}
|
||||
.icon-fire-extinguisher:before{content:"\f134";}
|
||||
.icon-rocket:before{content:"\f135";}
|
||||
.icon-maxcdn:before{content:"\f136";}
|
||||
.icon-chevron-sign-left:before{content:"\f137";}
|
||||
.icon-chevron-sign-right:before{content:"\f138";}
|
||||
.icon-chevron-sign-up:before{content:"\f139";}
|
||||
.icon-chevron-sign-down:before{content:"\f13a";}
|
||||
.icon-html5:before{content:"\f13b";}
|
||||
.icon-css3:before{content:"\f13c";}
|
||||
.icon-anchor:before{content:"\f13d";}
|
||||
.icon-unlock-alt:before{content:"\f13e";}
|
||||
.icon-bullseye:before{content:"\f140";}
|
||||
.icon-ellipsis-horizontal:before{content:"\f141";}
|
||||
.icon-ellipsis-vertical:before{content:"\f142";}
|
||||
.icon-rss-sign:before{content:"\f143";}
|
||||
.icon-play-sign:before{content:"\f144";}
|
||||
.icon-ticket:before{content:"\f145";}
|
||||
.icon-minus-sign-alt:before{content:"\f146";}
|
||||
.icon-check-minus:before{content:"\f147";}
|
||||
.icon-level-up:before{content:"\f148";}
|
||||
.icon-level-down:before{content:"\f149";}
|
||||
.icon-check-sign:before{content:"\f14a";}
|
||||
.icon-edit-sign:before{content:"\f14b";}
|
||||
.icon-external-link-sign:before{content:"\f14c";}
|
||||
.icon-share-sign:before{content:"\f14d";}
|
||||
.icon-compass:before{content:"\f14e";}
|
||||
.icon-collapse:before{content:"\f150";}
|
||||
.icon-collapse-top:before{content:"\f151";}
|
||||
.icon-expand:before{content:"\f152";}
|
||||
.icon-euro:before,.icon-eur:before{content:"\f153";}
|
||||
.icon-gbp:before{content:"\f154";}
|
||||
.icon-dollar:before,.icon-usd:before{content:"\f155";}
|
||||
.icon-rupee:before,.icon-inr:before{content:"\f156";}
|
||||
.icon-yen:before,.icon-jpy:before{content:"\f157";}
|
||||
.icon-renminbi:before,.icon-cny:before{content:"\f158";}
|
||||
.icon-won:before,.icon-krw:before{content:"\f159";}
|
||||
.icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
|
||||
.icon-file:before{content:"\f15b";}
|
||||
.icon-file-text:before{content:"\f15c";}
|
||||
.icon-sort-by-alphabet:before{content:"\f15d";}
|
||||
.icon-sort-by-alphabet-alt:before{content:"\f15e";}
|
||||
.icon-sort-by-attributes:before{content:"\f160";}
|
||||
.icon-sort-by-attributes-alt:before{content:"\f161";}
|
||||
.icon-sort-by-order:before{content:"\f162";}
|
||||
.icon-sort-by-order-alt:before{content:"\f163";}
|
||||
.icon-thumbs-up:before{content:"\f164";}
|
||||
.icon-thumbs-down:before{content:"\f165";}
|
||||
.icon-youtube-sign:before{content:"\f166";}
|
||||
.icon-youtube:before{content:"\f167";}
|
||||
.icon-xing:before{content:"\f168";}
|
||||
.icon-xing-sign:before{content:"\f169";}
|
||||
.icon-youtube-play:before{content:"\f16a";}
|
||||
.icon-dropbox:before{content:"\f16b";}
|
||||
.icon-stackexchange:before{content:"\f16c";}
|
||||
.icon-instagram:before{content:"\f16d";}
|
||||
.icon-flickr:before{content:"\f16e";}
|
||||
.icon-adn:before{content:"\f170";}
|
||||
.icon-bitbucket:before{content:"\f171";}
|
||||
.icon-bitbucket-sign:before{content:"\f172";}
|
||||
.icon-tumblr:before{content:"\f173";}
|
||||
.icon-tumblr-sign:before{content:"\f174";}
|
||||
.icon-long-arrow-down:before{content:"\f175";}
|
||||
.icon-long-arrow-up:before{content:"\f176";}
|
||||
.icon-long-arrow-left:before{content:"\f177";}
|
||||
.icon-long-arrow-right:before{content:"\f178";}
|
||||
.icon-apple:before{content:"\f179";}
|
||||
.icon-windows:before{content:"\f17a";}
|
||||
.icon-android:before{content:"\f17b";}
|
||||
.icon-linux:before{content:"\f17c";}
|
||||
.icon-dribble:before{content:"\f17d";}
|
||||
.icon-skype:before{content:"\f17e";}
|
||||
.icon-foursquare:before{content:"\f180";}
|
||||
.icon-trello:before{content:"\f181";}
|
||||
.icon-female:before{content:"\f182";}
|
||||
.icon-male:before{content:"\f183";}
|
||||
.icon-gittip:before{content:"\f184";}
|
||||
.icon-sun:before{content:"\f185";}
|
||||
.icon-moon:before{content:"\f186";}
|
||||
.icon-archive:before{content:"\f187";}
|
||||
.icon-bug:before{content:"\f188";}
|
||||
.icon-vk:before{content:"\f189";}
|
||||
.icon-weibo:before{content:"\f18a";}
|
||||
.icon-renren:before{content:"\f18b";}
|
||||
form{margin:0 0 5px 0;}form fieldset{margin-bottom:5px;padding:0;border-width:0;}
|
||||
form legend{display:block;width:100%;margin-bottom:10px;*margin-left:-7px;padding:0;color:#222222;border:0;border-bottom:1px solid #cccccc;white-space:normal;}
|
||||
form p{margin-bottom:2.5px;}
|
||||
form ul{list-style-type:none;margin:0 0 5px 0;padding:0;}
|
||||
form br{display:none;}
|
||||
label,input,button,select,textarea{vertical-align:baseline;*vertical-align:middle;}
|
||||
input,button,select,textarea{font-family:'source-sans-pro',sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
|
||||
label{display:block;margin-bottom:1.25px;font-weight:bold;color:#222222;cursor:pointer;}label input,label textarea,label select{display:block;}
|
||||
input,textarea,select{display:inline-block;width:100%;padding:4px;margin-bottom:1.25px;background-color:#ffffff;border:1px solid #cccccc;color:#222222;}input:hover,textarea:hover,select:hover{border-color:#808080;}
|
||||
.input-mini{width:60px;}
|
||||
.input-small{width:90px;}
|
||||
input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0 \9;}
|
||||
input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;padding:0;*width:13px;*height:13px;}
|
||||
input[type="image"]{border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
|
||||
input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:transparent;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
|
||||
input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;cursor:pointer;*overflow:visible;}
|
||||
select,input[type="file"]{*margin-top:4px;}
|
||||
select{width:auto;background-color:#ffffff;}
|
||||
select[multiple],select[size]{height:auto;}
|
||||
textarea{resize:vertical;height:auto;overflow:auto;vertical-align:top;}
|
||||
input[type="hidden"]{display:none;}
|
||||
.radio,.checkbox{padding-left:18px;font-weight:normal;}
|
||||
.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;}
|
||||
.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
|
||||
.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
|
||||
input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{-webkit-opacity:0.5;-moz-opacity:0.5;opacity:0.5;cursor:not-allowed;}
|
||||
input:focus,textarea:focus{border-color:#000000;outline:0;outline:thin dotted \9;}
|
||||
input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
|
||||
.help-block,.help-inline{color:#808080;}
|
||||
.help-block{display:block;margin-bottom:1em;line-height:1em;}
|
||||
.help-inline{display:inline-block;vertical-align:middle;padding-left:5px;}
|
||||
.form-inline input,.form-inline textarea,.form-inline select{display:inline-block;margin-bottom:0;}
|
||||
.form-inline label{display:inline-block;}
|
||||
.form-inline .radio,.form-inline .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle;}
|
||||
.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px;}
|
||||
body{margin:0;padding:0;width:100%;background-color:#ffffff;border-top:5px solid #000000;}@media only screen and (min-width: 48em){body{font-size:20px;font-size:1.25rem;}}
|
||||
.navigation-wrapper{text-align:center;*zoom:1;}.navigation-wrapper:before,.navigation-wrapper:after{display:table;content:"";line-height:0;}
|
||||
.navigation-wrapper:after{clear:both;}
|
||||
.navigation-wrapper ul{display:inline-block;vertical-align:top;margin:0 0 50px;padding:4px 20px;background-color:#000000;-webkit-border-radius:0 0 10px 10px;-moz-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px;*zoom:1;}.navigation-wrapper ul:before,.navigation-wrapper ul:after{display:table;content:"";line-height:0;}
|
||||
.navigation-wrapper ul:after{clear:both;}
|
||||
.navigation-wrapper li{display:block;float:left;list-style:none;text-align:center;font-size:14px;font-size:0.875rem;text-transform:uppercase;color:#ffffff;}.navigation-wrapper li a:hover{-webkit-box-shadow:inset 0 0 1px #ffffff;-moz-box-shadow:inset 0 0 1px #ffffff;box-shadow:inset 0 0 1px #ffffff;}
|
||||
.navigation-wrapper a{display:block;padding:6px 10px;color:#ffffff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navigation-wrapper a:hover{background-color:#1a1a1a;}
|
||||
#site-nav{z-index:9000;display:none;}@media only screen and (min-width: 48em){#site-nav{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;}}@media only screen and (min-width: 48em){#site-nav.closed{display:block;}}
|
||||
#site-nav.opened{display:block;max-height:100%;}#site-nav.opened li{float:none;}@media only screen and (min-width: 48em){#site-nav.opened li{float:left;}}
|
||||
.no-js #site-nav{display:block;}
|
||||
#nav-toggle{z-index:9999;display:block;vertical-align:top;margin:0;padding:4px 20px;background-color:#000000;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}@media only screen and (min-width: 48em){#nav-toggle{display:none;}}
|
||||
.masthead{margin-top:40px;*zoom:1;}.masthead:before,.masthead:after{display:table;content:"";line-height:0;}
|
||||
.masthead:after{clear:both;}
|
||||
@media only screen and (min-width: 48em){.masthead{margin-top:0;}}.masthead .wrap{text-align:center;max-width:27.5em;padding-right:20px;padding-left:20px;}@media only screen and (min-width: 48em){.masthead .wrap{max-width:45.5em;padding-right:60px;padding-left:60px;}}@media only screen and (min-width: 62.5em){.masthead .wrap{max-width:60em;}}
|
||||
.site-logo img{width:100px;height:100px;-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.05s;-moz-animation-delay:.05s;-o-animation-delay:.05s;animation-delay:.05s;border:4px solid #ffffff;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;}@media only screen and (min-width: 48em){.site-logo img{width:150px;height:150px;-webkit-border-radius:150px;-moz-border-radius:150px;border-radius:150px;}}@media only screen and (min-width: 62.5em){.site-logo img{width:200px;height:200px;-webkit-border-radius:200px;-moz-border-radius:200px;border-radius:200px;}}
|
||||
.site-title{margin-bottom:0;-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s;-o-animation-delay:.75s;animation-delay:.75s;}.site-title a{color:#000000;}
|
||||
.site-description{margin-top:0;font-family:'volkhov',serif;font-size:16px;font-size:1rem;font-weight:400;font-style:italic;-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:1s;-moz-animation-delay:1s;-o-animation-delay:1s;animation-delay:1s;}@media only screen and (min-width: 48em){.site-description{font-size:20px;font-size:1.25rem;}}
|
||||
#main{*zoom:1;}#main:before,#main:after{display:table;content:"";line-height:0;}
|
||||
#main:after{clear:both;}
|
||||
.entry,.hentry{*zoom:1;border-bottom:1px solid #cccccc;border-bottom:1px solid rgba(0, 0, 0, 0.1);}.entry:before,.hentry:before,.entry:after,.hentry:after{display:table;content:"";line-height:0;}
|
||||
.entry:after,.hentry:after{clear:both;}
|
||||
.entry-feature-image{margin:20px 0 0;width:100%;}@media only screen and (min-width: 48em){.entry-feature-image{margin-top:-75px;}}@media only screen and (min-width: 62.5em){.entry-feature-image{margin-top:-145px;}}
|
||||
.entry-header{max-width:640px;width:100%;margin-right:auto;margin-left:auto;}@media only screen and (min-width: 62.5em){.entry-header{max-width:100%;margin-right:0;margin-left:0;}}
|
||||
.entry-tags{display:block;margin-top:2em;text-transform:uppercase;font-size:16px;font-size:1rem;font-weight:600;}.entry-tags a{color:#222222;}
|
||||
span+.entry-title{margin-top:0;}
|
||||
.entry-title{font-family:'volkhov',serif;font-style:italic;font-size:36px;font-size:2.25rem;font-weight:700;line-height:1;letter-spacing:-3px;}.entry-title a{color:#000000;text-decoration:underline;}
|
||||
@media only screen and (min-width: 48em){.entry-title{max-width:600px;font-size:52px;font-size:3.25rem;}}@media only screen and (min-width: 62.5em){.entry-title{max-width:800px;font-size:68px;font-size:4.25rem;}}
|
||||
.entry-wrapper{margin:0 auto 3em;max-width:440px;padding-right:20px;padding-left:20px;*zoom:1;}.entry-wrapper:before,.entry-wrapper:after{display:table;content:"";line-height:0;}
|
||||
.entry-wrapper:after{clear:both;}
|
||||
@media only screen and (min-width: 48em){.entry-wrapper{max-width:760px;padding-right:60px;padding-left:60px;}}@media only screen and (min-width: 62.5em){.entry-wrapper{max-width:960px;}}
|
||||
.entry-meta{max-width:640px;width:100%;margin-right:auto;margin-bottom:30px;margin-left:auto;display:block;text-transform:uppercase;font-size:14px;font-size:0.875rem;}.entry-meta a{color:#222222;}
|
||||
@media only screen and (min-width: 62.5em){.entry-meta{float:left;width:140px;margin:0 40px 40px 0;padding:0;}}.entry-meta>span{padding:0 20px 10px 0;display:inline-block;}@media only screen and (min-width: 62.5em){.entry-meta>span{display:block;padding:8px 0;border-bottom:1px solid #cccccc;border-bottom:1px solid rgba(0, 0, 0, 0.1);}}
|
||||
.author-photo{display:none;}@media only screen and (min-width: 62.5em){.author-photo{display:block;width:150px;height:150px;margin-bottom:10px;-webkit-border-radius:150px;-moz-border-radius:150px;border-radius:150px;*zoom:1;}.author-photo:before,.author-photo:after{display:table;content:"";line-height:0;} .author-photo:after{clear:both;}}
|
||||
.entry-content{max-width:640px;width:100%;margin-right:auto;margin-left:auto;}.entry-content p:first-child{margin-top:0;}
|
||||
@media only screen and (min-width: 62.5em){.entry-content{float:left;}}.entry-content p>a,.entry-content li>a{border-bottom:1px dotted #a2a2a2;}.entry-content p>a:hover,.entry-content li>a:hover{border-bottom-style:solid;}
|
||||
.post-list li>a{border-bottom-width:0;}
|
||||
#disqus_thread{margin-top:2em;}
|
||||
.pagination{text-align:center;}
|
||||
#home .entry-title,#page .entry-title{text-align:center;max-width:100%;}
|
||||
@media only screen and (min-width: 62.5em){#home .entry-content,#page .entry-content{float:none;}}
|
||||
.post-list{margin:0;padding:0;list-style-type:none;}.post-list li{padding:8px 0;border-bottom:1px solid #cccccc;border-bottom:1px solid rgba(0, 0, 0, 0.1);*zoom:1;}.post-list li:before,.post-list li:after{display:table;content:"";line-height:0;}
|
||||
.post-list li:after{clear:both;}
|
||||
.post-list a>span{float:right;}
|
||||
.post-list .entry-date{font-size:14px;font-size:0.875rem;text-transform:uppercase;display:none;}@media only screen and (min-width: 48em){.post-list .entry-date{display:inline;}}
|
||||
.tag-box{list-style:none;margin:0;padding:4px 0;overflow:hidden;*zoom:1;}.tag-box:before,.tag-box:after{display:table;content:"";line-height:0;}
|
||||
.tag-box:after{clear:both;}
|
||||
.tag-box.inline li{float:left;font-size:14px;font-size:0.875rem;line-height:2.5;}
|
||||
.tag-box a{padding:4px 6px;margin:2px;background-color:#e6e6e6;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;text-decoration:none;}.tag-box a span{vertical-align:super;font-size:10px;font-size:0.625rem;}
|
||||
.footer-wrapper{*zoom:1;margin:2em auto;text-align:center;font-family:'volkhov',serif;font-size:14px;font-size:0.875rem;font-style:italic;color:#555555;}.footer-wrapper:before,.footer-wrapper:after{display:table;content:"";line-height:0;}
|
||||
.footer-wrapper:after{clear:both;}
|
||||
.footer-wrapper a{color:#555555;}
|
||||
.social-icons{margin:1em 0 2em;}.social-icons a{padding:4px 8px;}.social-icons a:hover{color:#000000;}
|
||||
.upgrade{padding:10px;text-align:center;}
|
||||
#goog-fixurl ul{list-style:none;margin-left:0;padding-left:0;}#goog-fixurl ul li{list-style-type:none;}
|
||||
#goog-wm-qt{width:auto;margin-right:10px;}
|
||||
#goog-wm-sb{display:inline-block;padding:8px 20px;background-color:#000000;color:#ffffff;border:2px solid #000000 !important;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}#goog-wm-sb:visited{color:#ffffff;}
|
||||
#goog-wm-sb:hover{background-color:#ffffff;color:#000000;}
|
25
assets/css/main.min.css
vendored
Normal file
20
assets/js/_main.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*! Plugin options and other jQuery stuff */
|
||||
|
||||
// Responsive Nav
|
||||
var navigation = responsiveNav("#site-nav", { // Selector: The ID of the wrapper
|
||||
animate: true, // Boolean: Use CSS3 transitions, true or false
|
||||
transition: 400, // Integer: Speed of the transition, in milliseconds
|
||||
label: "<i class='icon-reorder'></i> Menu", // String: Label for the navigation toggle
|
||||
insert: "before", // String: Insert the toggle before or after the navigation
|
||||
customToggle: "", // Selector: Specify the ID of a custom toggle
|
||||
openPos: "relative", // String: Position of the opened nav, relative or static
|
||||
jsClass: "js", // String: 'JS enabled' class which is added to <html> el
|
||||
init: function(){}, // Function: Init callback
|
||||
open: function(){}, // Function: Open callback
|
||||
close: function(){} // Function: Close callback
|
||||
});
|
||||
|
||||
// FitVids options
|
||||
$(function() {
|
||||
$("article").fitVids();
|
||||
});
|
|
@ -1,855 +0,0 @@
|
|||
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
|
||||
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
|
||||
|
||||
window.matchMedia = window.matchMedia || (function( doc, undefined ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var bool,
|
||||
docElem = doc.documentElement,
|
||||
refNode = docElem.firstElementChild || docElem.firstChild,
|
||||
// fakeBody required for <FF4 when executed in <head>
|
||||
fakeBody = doc.createElement( "body" ),
|
||||
div = doc.createElement( "div" );
|
||||
|
||||
div.id = "mq-test-1";
|
||||
div.style.cssText = "position:absolute;top:-100em";
|
||||
fakeBody.style.background = "none";
|
||||
fakeBody.appendChild(div);
|
||||
|
||||
return function(q){
|
||||
|
||||
div.innerHTML = "­<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
|
||||
|
||||
docElem.insertBefore( fakeBody, refNode );
|
||||
bool = div.offsetWidth === 42;
|
||||
docElem.removeChild( fakeBody );
|
||||
|
||||
return {
|
||||
matches: bool,
|
||||
media: q
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}( document ));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
|
||||
(function( win ){
|
||||
|
||||
"use strict";
|
||||
|
||||
//exposed namespace
|
||||
var respond = {};
|
||||
win.respond = respond;
|
||||
|
||||
//define update even in native-mq-supporting browsers, to avoid errors
|
||||
respond.update = function(){};
|
||||
|
||||
//expose media query support flag for external use
|
||||
respond.mediaQueriesSupported = win.matchMedia && win.matchMedia( "only all" ).matches;
|
||||
|
||||
//if media queries are supported, exit here
|
||||
if( respond.mediaQueriesSupported ){
|
||||
return;
|
||||
}
|
||||
|
||||
//define vars
|
||||
var doc = win.document,
|
||||
docElem = doc.documentElement,
|
||||
mediastyles = [],
|
||||
rules = [],
|
||||
appendedEls = [],
|
||||
parsedSheets = {},
|
||||
resizeThrottle = 30,
|
||||
head = doc.getElementsByTagName( "head" )[0] || docElem,
|
||||
base = doc.getElementsByTagName( "base" )[0],
|
||||
links = head.getElementsByTagName( "link" ),
|
||||
requestQueue = [],
|
||||
|
||||
//loop stylesheets, send text content to translate
|
||||
ripCSS = function(){
|
||||
|
||||
for( var i = 0; i < links.length; i++ ){
|
||||
var sheet = links[ i ],
|
||||
href = sheet.href,
|
||||
media = sheet.media,
|
||||
isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
|
||||
|
||||
//only links plz and prevent re-parsing
|
||||
if( !!href && isCSS && !parsedSheets[ href ] ){
|
||||
// selectivizr exposes css through the rawCssText expando
|
||||
if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
|
||||
translate( sheet.styleSheet.rawCssText, href, media );
|
||||
parsedSheets[ href ] = true;
|
||||
} else {
|
||||
if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base) ||
|
||||
href.replace( RegExp.$1, "" ).split( "/" )[0] === win.location.host ){
|
||||
requestQueue.push( {
|
||||
href: href,
|
||||
media: media
|
||||
} );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
makeRequests();
|
||||
},
|
||||
|
||||
//recurse through request queue, get css text
|
||||
makeRequests = function(){
|
||||
if( requestQueue.length ){
|
||||
var thisRequest = requestQueue.shift();
|
||||
|
||||
ajax( thisRequest.href, function( styles ){
|
||||
translate( styles, thisRequest.href, thisRequest.media );
|
||||
parsedSheets[ thisRequest.href ] = true;
|
||||
|
||||
// by wrapping recursive function call in setTimeout
|
||||
// we prevent "Stack overflow" error in IE7
|
||||
win.setTimeout(function(){ makeRequests(); },0);
|
||||
} );
|
||||
}
|
||||
},
|
||||
|
||||
//find media blocks in css text, convert to style blocks
|
||||
translate = function( styles, href, media ){
|
||||
var qs = styles.match( /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi ),
|
||||
ql = qs && qs.length || 0;
|
||||
|
||||
//try to get CSS path
|
||||
href = href.substring( 0, href.lastIndexOf( "/" ) );
|
||||
|
||||
var repUrls = function( css ){
|
||||
return css.replace( /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, "$1" + href + "$2$3" );
|
||||
},
|
||||
useMedia = !ql && media;
|
||||
|
||||
//if path exists, tack on trailing slash
|
||||
if( href.length ){ href += "/"; }
|
||||
|
||||
//if no internal queries exist, but media attr does, use that
|
||||
//note: this currently lacks support for situations where a media attr is specified on a link AND
|
||||
//its associated stylesheet has internal CSS media queries.
|
||||
//In those cases, the media attribute will currently be ignored.
|
||||
if( useMedia ){
|
||||
ql = 1;
|
||||
}
|
||||
|
||||
for( var i = 0; i < ql; i++ ){
|
||||
var fullq, thisq, eachq, eql;
|
||||
|
||||
//media attr
|
||||
if( useMedia ){
|
||||
fullq = media;
|
||||
rules.push( repUrls( styles ) );
|
||||
}
|
||||
//parse for styles
|
||||
else{
|
||||
fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) && RegExp.$1;
|
||||
rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
|
||||
}
|
||||
|
||||
eachq = fullq.split( "," );
|
||||
eql = eachq.length;
|
||||
|
||||
for( var j = 0; j < eql; j++ ){
|
||||
thisq = eachq[ j ];
|
||||
mediastyles.push( {
|
||||
media : thisq.split( "(" )[ 0 ].match( /(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
|
||||
rules : rules.length - 1,
|
||||
hasquery : thisq.indexOf("(") > -1,
|
||||
minw : thisq.match( /\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ),
|
||||
maxw : thisq.match( /\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" )
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
applyMedia();
|
||||
},
|
||||
|
||||
lastCall,
|
||||
|
||||
resizeDefer,
|
||||
|
||||
// returns the value of 1em in pixels
|
||||
getEmValue = function() {
|
||||
var ret,
|
||||
div = doc.createElement('div'),
|
||||
body = doc.body,
|
||||
fakeUsed = false;
|
||||
|
||||
div.style.cssText = "position:absolute;font-size:1em;width:1em";
|
||||
|
||||
if( !body ){
|
||||
body = fakeUsed = doc.createElement( "body" );
|
||||
body.style.background = "none";
|
||||
}
|
||||
|
||||
body.appendChild( div );
|
||||
|
||||
docElem.insertBefore( body, docElem.firstChild );
|
||||
|
||||
ret = div.offsetWidth;
|
||||
|
||||
if( fakeUsed ){
|
||||
docElem.removeChild( body );
|
||||
}
|
||||
else {
|
||||
body.removeChild( div );
|
||||
}
|
||||
|
||||
//also update eminpx before returning
|
||||
ret = eminpx = parseFloat(ret);
|
||||
|
||||
return ret;
|
||||
},
|
||||
|
||||
//cached container for 1em value, populated the first time it's needed
|
||||
eminpx,
|
||||
|
||||
//enable/disable styles
|
||||
applyMedia = function( fromResize ){
|
||||
var name = "clientWidth",
|
||||
docElemProp = docElem[ name ],
|
||||
currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp,
|
||||
styleBlocks = {},
|
||||
lastLink = links[ links.length-1 ],
|
||||
now = (new Date()).getTime();
|
||||
|
||||
//throttle resize calls
|
||||
if( fromResize && lastCall && now - lastCall < resizeThrottle ){
|
||||
win.clearTimeout( resizeDefer );
|
||||
resizeDefer = win.setTimeout( applyMedia, resizeThrottle );
|
||||
return;
|
||||
}
|
||||
else {
|
||||
lastCall = now;
|
||||
}
|
||||
|
||||
for( var i in mediastyles ){
|
||||
if( mediastyles.hasOwnProperty( i ) ){
|
||||
var thisstyle = mediastyles[ i ],
|
||||
min = thisstyle.minw,
|
||||
max = thisstyle.maxw,
|
||||
minnull = min === null,
|
||||
maxnull = max === null,
|
||||
em = "em";
|
||||
|
||||
if( !!min ){
|
||||
min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
|
||||
}
|
||||
if( !!max ){
|
||||
max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
|
||||
}
|
||||
|
||||
// if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true
|
||||
if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){
|
||||
if( !styleBlocks[ thisstyle.media ] ){
|
||||
styleBlocks[ thisstyle.media ] = [];
|
||||
}
|
||||
styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//remove any existing respond style element(s)
|
||||
for( var j in appendedEls ){
|
||||
if( appendedEls.hasOwnProperty( j ) ){
|
||||
if( appendedEls[ j ] && appendedEls[ j ].parentNode === head ){
|
||||
head.removeChild( appendedEls[ j ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//inject active styles, grouped by media type
|
||||
for( var k in styleBlocks ){
|
||||
if( styleBlocks.hasOwnProperty( k ) ){
|
||||
var ss = doc.createElement( "style" ),
|
||||
css = styleBlocks[ k ].join( "\n" );
|
||||
|
||||
ss.type = "text/css";
|
||||
ss.media = k;
|
||||
|
||||
//originally, ss was appended to a documentFragment and sheets were appended in bulk.
|
||||
//this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one!
|
||||
head.insertBefore( ss, lastLink.nextSibling );
|
||||
|
||||
if ( ss.styleSheet ){
|
||||
ss.styleSheet.cssText = css;
|
||||
}
|
||||
else {
|
||||
ss.appendChild( doc.createTextNode( css ) );
|
||||
}
|
||||
|
||||
//push to appendedEls to track for later removal
|
||||
appendedEls.push( ss );
|
||||
}
|
||||
}
|
||||
},
|
||||
//tweaked Ajax functions from Quirksmode
|
||||
ajax = function( url, callback ) {
|
||||
var req = xmlHttp();
|
||||
if (!req){
|
||||
return;
|
||||
}
|
||||
req.open( "GET", url, true );
|
||||
req.onreadystatechange = function () {
|
||||
if ( req.readyState !== 4 || req.status !== 200 && req.status !== 304 ){
|
||||
return;
|
||||
}
|
||||
callback( req.responseText );
|
||||
};
|
||||
if ( req.readyState === 4 ){
|
||||
return;
|
||||
}
|
||||
req.send( null );
|
||||
},
|
||||
//define ajax obj
|
||||
xmlHttp = (function() {
|
||||
var xmlhttpmethod = false;
|
||||
try {
|
||||
xmlhttpmethod = new win.XMLHttpRequest();
|
||||
}
|
||||
catch( e ){
|
||||
xmlhttpmethod = new win.ActiveXObject( "Microsoft.XMLHTTP" );
|
||||
}
|
||||
return function(){
|
||||
return xmlhttpmethod;
|
||||
};
|
||||
})();
|
||||
|
||||
//translate CSS
|
||||
ripCSS();
|
||||
|
||||
//expose update for re-running respond later on
|
||||
respond.update = ripCSS;
|
||||
|
||||
//adjust on resize
|
||||
function callMedia(){
|
||||
applyMedia( true );
|
||||
}
|
||||
if( win.addEventListener ){
|
||||
win.addEventListener( "resize", callMedia, false );
|
||||
}
|
||||
else if( win.attachEvent ){
|
||||
win.attachEvent( "onresize", callMedia );
|
||||
}
|
||||
})(this);
|
||||
|
||||
/*! responsive-nav.js v1.0.14
|
||||
* https://github.com/viljamis/responsive-nav.js
|
||||
* http://responsive-nav.com
|
||||
*
|
||||
* Copyright (c) 2013 @viljamis
|
||||
* Available under the MIT license
|
||||
*/
|
||||
|
||||
/* jshint strict:false, forin:false, noarg:true, noempty:true, eqeqeq:true,
|
||||
boss:true, bitwise:true, browser:true, devel:true, indent:2 */
|
||||
/* exported responsiveNav */
|
||||
|
||||
var responsiveNav = (function (window, document) {
|
||||
|
||||
var computed = !!window.getComputedStyle;
|
||||
|
||||
// getComputedStyle polyfill
|
||||
if (!window.getComputedStyle) {
|
||||
window.getComputedStyle = function(el) {
|
||||
this.el = el;
|
||||
this.getPropertyValue = function(prop) {
|
||||
var re = /(\-([a-z]){1})/g;
|
||||
if (prop === "float") {
|
||||
prop = "styleFloat";
|
||||
}
|
||||
if (re.test(prop)) {
|
||||
prop = prop.replace(re, function () {
|
||||
return arguments[2].toUpperCase();
|
||||
});
|
||||
}
|
||||
return el.currentStyle[prop] ? el.currentStyle[prop] : null;
|
||||
};
|
||||
return this;
|
||||
};
|
||||
}
|
||||
|
||||
var nav,
|
||||
opts,
|
||||
navToggle,
|
||||
docEl = document.documentElement,
|
||||
head = document.getElementsByTagName("head")[0],
|
||||
styleElement = document.createElement("style"),
|
||||
navOpen = false,
|
||||
|
||||
// fn arg can be an object or a function, thanks to handleEvent
|
||||
// read more at: http://www.thecssninja.com/javascript/handleevent
|
||||
addEvent = function (el, evt, fn, bubble) {
|
||||
if ("addEventListener" in el) {
|
||||
// BBOS6 doesn't support handleEvent, catch and polyfill
|
||||
try {
|
||||
el.addEventListener(evt, fn, bubble);
|
||||
} catch (e) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.addEventListener(evt, function (e) {
|
||||
// Bind fn as this and set first arg as event object
|
||||
fn.handleEvent.call(fn, e);
|
||||
}, bubble);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} else if ("attachEvent" in el) {
|
||||
// check if the callback is an object and contains handleEvent
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.attachEvent("on" + evt, function () {
|
||||
// Bind fn as this
|
||||
fn.handleEvent.call(fn);
|
||||
});
|
||||
} else {
|
||||
el.attachEvent("on" + evt, fn);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
removeEvent = function (el, evt, fn, bubble) {
|
||||
if ("removeEventListener" in el) {
|
||||
try {
|
||||
el.removeEventListener(evt, fn, bubble);
|
||||
} catch (e) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.removeEventListener(evt, function (e) {
|
||||
fn.handleEvent.call(fn, e);
|
||||
}, bubble);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} else if ("detachEvent" in el) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.detachEvent("on" + evt, function () {
|
||||
fn.handleEvent.call(fn);
|
||||
});
|
||||
} else {
|
||||
el.detachEvent("on" + evt, fn);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getFirstChild = function (e) {
|
||||
var firstChild = e.firstChild;
|
||||
// skip TextNodes
|
||||
while (firstChild !== null && firstChild.nodeType !== 1) {
|
||||
firstChild = firstChild.nextSibling;
|
||||
}
|
||||
return firstChild;
|
||||
},
|
||||
|
||||
setAttributes = function (el, attrs) {
|
||||
for (var key in attrs) {
|
||||
el.setAttribute(key, attrs[key]);
|
||||
}
|
||||
},
|
||||
|
||||
addClass = function (el, cls) {
|
||||
el.className += " " + cls;
|
||||
el.className = el.className.replace(/(^\s*)|(\s*$)/g,"");
|
||||
},
|
||||
|
||||
removeClass = function (el, cls) {
|
||||
var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
|
||||
el.className = el.className.replace(reg, " ").replace(/(^\s*)|(\s*$)/g,"");
|
||||
},
|
||||
|
||||
ResponsiveNav = function (el, options) {
|
||||
var i;
|
||||
|
||||
// Default options
|
||||
this.options = {
|
||||
animate: true, // Boolean: Use CSS3 transitions, true or false
|
||||
transition: 400, // Integer: Speed of the transition, in milliseconds
|
||||
label: "Menu", // String: Label for the navigation toggle
|
||||
insert: "after", // String: Insert the toggle before or after the navigation
|
||||
customToggle: "", // Selector: Specify the ID of a custom toggle
|
||||
openPos: "relative", // String: Position of the opened nav, relative or static
|
||||
jsClass: "js", // String: 'JS enabled' class which is added to <html> el
|
||||
init: function(){}, // Function: Init callback
|
||||
open: function(){}, // Function: Open callback
|
||||
close: function(){} // Function: Close callback
|
||||
};
|
||||
|
||||
// User defined options
|
||||
for (i in options) {
|
||||
this.options[i] = options[i];
|
||||
}
|
||||
|
||||
// Adds "js" class for <html>
|
||||
addClass(docEl, this.options.jsClass);
|
||||
|
||||
// Wrapper
|
||||
this.wrapperEl = el.replace("#", "");
|
||||
if (document.getElementById(this.wrapperEl)) {
|
||||
this.wrapper = document.getElementById(this.wrapperEl);
|
||||
} else {
|
||||
// If el doesn't exists, stop here.
|
||||
throw new Error("The nav element you are trying to select doesn't exist");
|
||||
}
|
||||
|
||||
// Inner wrapper
|
||||
this.wrapper.inner = getFirstChild(this.wrapper);
|
||||
|
||||
// For minification
|
||||
opts = this.options;
|
||||
nav = this.wrapper;
|
||||
|
||||
// Init
|
||||
this._init(this);
|
||||
};
|
||||
|
||||
ResponsiveNav.prototype = {
|
||||
// Public methods
|
||||
destroy: function () {
|
||||
this._removeStyles();
|
||||
removeClass(nav, "closed");
|
||||
removeClass(nav, "opened");
|
||||
nav.removeAttribute("style");
|
||||
nav.removeAttribute("aria-hidden");
|
||||
nav = null;
|
||||
_instance = null;
|
||||
|
||||
removeEvent(window, "load", this, false);
|
||||
removeEvent(window, "resize", this, false);
|
||||
removeEvent(navToggle, "mousedown", this, false);
|
||||
removeEvent(navToggle, "touchstart", this, false);
|
||||
removeEvent(navToggle, "touchend", this, false);
|
||||
removeEvent(navToggle, "keyup", this, false);
|
||||
removeEvent(navToggle, "click", this, false);
|
||||
|
||||
if (!opts.customToggle) {
|
||||
navToggle.parentNode.removeChild(navToggle);
|
||||
} else {
|
||||
navToggle.removeAttribute("aria-hidden");
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function () {
|
||||
if (!navOpen) {
|
||||
removeClass(nav, "closed");
|
||||
addClass(nav, "opened");
|
||||
nav.style.position = opts.openPos;
|
||||
setAttributes(nav, {"aria-hidden": "false"});
|
||||
|
||||
navOpen = true;
|
||||
opts.open();
|
||||
} else {
|
||||
removeClass(nav, "opened");
|
||||
addClass(nav, "closed");
|
||||
setAttributes(nav, {"aria-hidden": "true"});
|
||||
|
||||
if (opts.animate) {
|
||||
setTimeout(function () {
|
||||
nav.style.position = "relative";
|
||||
}, opts.transition + 10);
|
||||
} else {
|
||||
nav.style.position = "relative";
|
||||
}
|
||||
|
||||
navOpen = false;
|
||||
opts.close();
|
||||
}
|
||||
},
|
||||
|
||||
handleEvent: function (e) {
|
||||
var evt = e || window.event;
|
||||
|
||||
switch (evt.type) {
|
||||
case "mousedown":
|
||||
this._onmousedown(evt);
|
||||
break;
|
||||
case "touchstart":
|
||||
this._ontouchstart(evt);
|
||||
break;
|
||||
case "touchend":
|
||||
this._ontouchend(evt);
|
||||
break;
|
||||
case "keyup":
|
||||
this._onkeyup(evt);
|
||||
break;
|
||||
case "click":
|
||||
this._onclick(evt);
|
||||
break;
|
||||
case "load":
|
||||
this._transitions(evt);
|
||||
this._resize(evt);
|
||||
break;
|
||||
case "resize":
|
||||
this._resize(evt);
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
// Private methods
|
||||
_init: function () {
|
||||
addClass(nav, "closed");
|
||||
this._createToggle();
|
||||
|
||||
addEvent(window, "load", this, false);
|
||||
addEvent(window, "resize", this, false);
|
||||
addEvent(navToggle, "mousedown", this, false);
|
||||
addEvent(navToggle, "touchstart", this, false);
|
||||
addEvent(navToggle, "touchend", this, false);
|
||||
addEvent(navToggle, "keyup", this, false);
|
||||
addEvent(navToggle, "click", this, false);
|
||||
},
|
||||
|
||||
_createStyles: function () {
|
||||
if (!styleElement.parentNode) {
|
||||
head.appendChild(styleElement);
|
||||
}
|
||||
},
|
||||
|
||||
_removeStyles: function () {
|
||||
if (styleElement.parentNode) {
|
||||
styleElement.parentNode.removeChild(styleElement);
|
||||
}
|
||||
},
|
||||
|
||||
_createToggle: function () {
|
||||
if (!opts.customToggle) {
|
||||
var toggle = document.createElement("a");
|
||||
toggle.innerHTML = opts.label;
|
||||
setAttributes(toggle, {
|
||||
"href": "#",
|
||||
"id": "nav-toggle"
|
||||
});
|
||||
|
||||
if (opts.insert === "after") {
|
||||
nav.parentNode.insertBefore(toggle, nav.nextSibling);
|
||||
} else {
|
||||
nav.parentNode.insertBefore(toggle, nav);
|
||||
}
|
||||
|
||||
navToggle = document.getElementById("nav-toggle");
|
||||
} else {
|
||||
var toggleEl = opts.customToggle.replace("#", "");
|
||||
|
||||
if (document.getElementById(toggleEl)) {
|
||||
navToggle = document.getElementById(toggleEl);
|
||||
} else {
|
||||
throw new Error("The custom nav toggle you are trying to select doesn't exist");
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_preventDefault: function(e) {
|
||||
if (e.preventDefault) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
} else {
|
||||
e.returnValue = false;
|
||||
}
|
||||
},
|
||||
|
||||
_onmousedown: function (e) {
|
||||
var evt = e || window.event;
|
||||
// If the user isn't right clicking:
|
||||
if (!(evt.which === 3 || evt.button === 2)) {
|
||||
this._preventDefault(e);
|
||||
this.toggle(e);
|
||||
}
|
||||
},
|
||||
|
||||
_ontouchstart: function (e) {
|
||||
// Touchstart event fires before
|
||||
// the mousedown and can wipe it
|
||||
navToggle.onmousedown = null;
|
||||
this._preventDefault(e);
|
||||
this.toggle(e);
|
||||
},
|
||||
|
||||
_ontouchend: function () {
|
||||
// Prevents ghost click from happening on some Android browsers
|
||||
var that = this;
|
||||
nav.addEventListener("click", that._preventDefault, true);
|
||||
setTimeout(function () {
|
||||
nav.removeEventListener("click", that._preventDefault, true);
|
||||
}, opts.transition);
|
||||
},
|
||||
|
||||
_onkeyup: function (e) {
|
||||
var evt = e || window.event;
|
||||
if (evt.keyCode === 13) {
|
||||
this.toggle(e);
|
||||
}
|
||||
},
|
||||
|
||||
_onclick: function (e) {
|
||||
// For older browsers (looking at IE)
|
||||
this._preventDefault(e);
|
||||
},
|
||||
|
||||
_transitions: function () {
|
||||
if (opts.animate) {
|
||||
var objStyle = nav.style,
|
||||
transition = "max-height " + opts.transition + "ms";
|
||||
|
||||
objStyle.WebkitTransition = transition;
|
||||
objStyle.MozTransition = transition;
|
||||
objStyle.OTransition = transition;
|
||||
objStyle.transition = transition;
|
||||
}
|
||||
},
|
||||
|
||||
_calcHeight: function () {
|
||||
var savedHeight = nav.inner.offsetHeight,
|
||||
innerStyles = "#" + this.wrapperEl + ".opened{max-height:" + savedHeight + "px}";
|
||||
|
||||
// Hide from old IE
|
||||
if (computed) {
|
||||
styleElement.innerHTML = innerStyles;
|
||||
innerStyles = "";
|
||||
}
|
||||
},
|
||||
|
||||
_resize: function () {
|
||||
if (window.getComputedStyle(navToggle, null).getPropertyValue("display") !== "none") {
|
||||
setAttributes(navToggle, {"aria-hidden": "false"});
|
||||
|
||||
// If the navigation is hidden
|
||||
if (nav.className.match(/(^|\s)closed(\s|$)/)) {
|
||||
setAttributes(nav, {"aria-hidden": "true"});
|
||||
nav.style.position = "absolute";
|
||||
}
|
||||
|
||||
this._createStyles();
|
||||
this._calcHeight();
|
||||
} else {
|
||||
setAttributes(navToggle, {"aria-hidden": "true"});
|
||||
setAttributes(nav, {"aria-hidden": "false"});
|
||||
nav.style.position = opts.openPos;
|
||||
this._removeStyles();
|
||||
}
|
||||
|
||||
// Init callback
|
||||
opts.init();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
var _instance;
|
||||
function rn (el, options) {
|
||||
if (!_instance) {
|
||||
_instance = new ResponsiveNav(el, options);
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
|
||||
return rn;
|
||||
})(window, document);
|
||||
|
||||
|
||||
/*global jQuery */
|
||||
/*jshint multistr:true browser:true */
|
||||
/*!
|
||||
* FitVids 1.0
|
||||
*
|
||||
* Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
|
||||
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
|
||||
* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
|
||||
*
|
||||
* Date: Thu Sept 01 18:00:00 2011 -0500
|
||||
*/
|
||||
|
||||
(function( $ ){
|
||||
|
||||
"use strict";
|
||||
|
||||
$.fn.fitVids = function( options ) {
|
||||
var settings = {
|
||||
customSelector: null
|
||||
};
|
||||
|
||||
var div = document.createElement('div'),
|
||||
ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0];
|
||||
|
||||
div.className = 'fit-vids-style';
|
||||
div.innerHTML = '­<style> \
|
||||
.fluid-width-video-wrapper { \
|
||||
width: 100%; \
|
||||
position: relative; \
|
||||
padding: 0; \
|
||||
} \
|
||||
\
|
||||
.fluid-width-video-wrapper iframe, \
|
||||
.fluid-width-video-wrapper object, \
|
||||
.fluid-width-video-wrapper embed { \
|
||||
position: absolute; \
|
||||
top: 0; \
|
||||
left: 0; \
|
||||
width: 100%; \
|
||||
height: 100%; \
|
||||
} \
|
||||
</style>';
|
||||
|
||||
ref.parentNode.insertBefore(div,ref);
|
||||
|
||||
if ( options ) {
|
||||
$.extend( settings, options );
|
||||
}
|
||||
|
||||
return this.each(function(){
|
||||
var selectors = [
|
||||
"iframe[src*='player.vimeo.com']",
|
||||
"iframe[src*='www.youtube.com']",
|
||||
"iframe[src*='www.youtube-nocookie.com']",
|
||||
"iframe[src*='www.kickstarter.com']",
|
||||
"object",
|
||||
"embed"
|
||||
];
|
||||
|
||||
if (settings.customSelector) {
|
||||
selectors.push(settings.customSelector);
|
||||
}
|
||||
|
||||
var $allVideos = $(this).find(selectors.join(','));
|
||||
|
||||
$allVideos.each(function(){
|
||||
var $this = $(this);
|
||||
if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
|
||||
var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
|
||||
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
|
||||
aspectRatio = height / width;
|
||||
if(!$this.attr('id')){
|
||||
var videoID = 'fitvid' + Math.floor(Math.random()*999999);
|
||||
$this.attr('id', videoID);
|
||||
}
|
||||
$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
|
||||
$this.removeAttr('height').removeAttr('width');
|
||||
});
|
||||
});
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
/*! Plugin options and other jQuery stuff */
|
||||
|
||||
// Responsive Nav
|
||||
var navigation = responsiveNav("#site-nav", { // Selector: The ID of the wrapper
|
||||
animate: true, // Boolean: Use CSS3 transitions, true or false
|
||||
transition: 400, // Integer: Speed of the transition, in milliseconds
|
||||
label: "<i class='icon-reorder'></i> Menu", // String: Label for the navigation toggle
|
||||
insert: "before", // String: Insert the toggle before or after the navigation
|
||||
customToggle: "", // Selector: Specify the ID of a custom toggle
|
||||
openPos: "relative", // String: Position of the opened nav, relative or static
|
||||
jsClass: "js", // String: 'JS enabled' class which is added to <html> el
|
||||
init: function(){}, // Function: Init callback
|
||||
open: function(){}, // Function: Open callback
|
||||
close: function(){} // Function: Close callback
|
||||
});
|
||||
|
||||
// FitVids options
|
||||
$(function() {
|
||||
$("article").fitVids();
|
||||
});
|
1
assets/js/main.min.js
vendored
408
assets/js/plugins/responsive-nav.js
Normal file
|
@ -0,0 +1,408 @@
|
|||
/*! responsive-nav.js v1.0.14
|
||||
* https://github.com/viljamis/responsive-nav.js
|
||||
* http://responsive-nav.com
|
||||
*
|
||||
* Copyright (c) 2013 @viljamis
|
||||
* Available under the MIT license
|
||||
*/
|
||||
|
||||
/* jshint strict:false, forin:false, noarg:true, noempty:true, eqeqeq:true,
|
||||
boss:true, bitwise:true, browser:true, devel:true, indent:2 */
|
||||
/* exported responsiveNav */
|
||||
|
||||
var responsiveNav = (function (window, document) {
|
||||
|
||||
var computed = !!window.getComputedStyle;
|
||||
|
||||
// getComputedStyle polyfill
|
||||
if (!window.getComputedStyle) {
|
||||
window.getComputedStyle = function(el) {
|
||||
this.el = el;
|
||||
this.getPropertyValue = function(prop) {
|
||||
var re = /(\-([a-z]){1})/g;
|
||||
if (prop === "float") {
|
||||
prop = "styleFloat";
|
||||
}
|
||||
if (re.test(prop)) {
|
||||
prop = prop.replace(re, function () {
|
||||
return arguments[2].toUpperCase();
|
||||
});
|
||||
}
|
||||
return el.currentStyle[prop] ? el.currentStyle[prop] : null;
|
||||
};
|
||||
return this;
|
||||
};
|
||||
}
|
||||
|
||||
var nav,
|
||||
opts,
|
||||
navToggle,
|
||||
docEl = document.documentElement,
|
||||
head = document.getElementsByTagName("head")[0],
|
||||
styleElement = document.createElement("style"),
|
||||
navOpen = false,
|
||||
|
||||
// fn arg can be an object or a function, thanks to handleEvent
|
||||
// read more at: http://www.thecssninja.com/javascript/handleevent
|
||||
addEvent = function (el, evt, fn, bubble) {
|
||||
if ("addEventListener" in el) {
|
||||
// BBOS6 doesn't support handleEvent, catch and polyfill
|
||||
try {
|
||||
el.addEventListener(evt, fn, bubble);
|
||||
} catch (e) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.addEventListener(evt, function (e) {
|
||||
// Bind fn as this and set first arg as event object
|
||||
fn.handleEvent.call(fn, e);
|
||||
}, bubble);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} else if ("attachEvent" in el) {
|
||||
// check if the callback is an object and contains handleEvent
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.attachEvent("on" + evt, function () {
|
||||
// Bind fn as this
|
||||
fn.handleEvent.call(fn);
|
||||
});
|
||||
} else {
|
||||
el.attachEvent("on" + evt, fn);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
removeEvent = function (el, evt, fn, bubble) {
|
||||
if ("removeEventListener" in el) {
|
||||
try {
|
||||
el.removeEventListener(evt, fn, bubble);
|
||||
} catch (e) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.removeEventListener(evt, function (e) {
|
||||
fn.handleEvent.call(fn, e);
|
||||
}, bubble);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} else if ("detachEvent" in el) {
|
||||
if (typeof fn === "object" && fn.handleEvent) {
|
||||
el.detachEvent("on" + evt, function () {
|
||||
fn.handleEvent.call(fn);
|
||||
});
|
||||
} else {
|
||||
el.detachEvent("on" + evt, fn);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getFirstChild = function (e) {
|
||||
var firstChild = e.firstChild;
|
||||
// skip TextNodes
|
||||
while (firstChild !== null && firstChild.nodeType !== 1) {
|
||||
firstChild = firstChild.nextSibling;
|
||||
}
|
||||
return firstChild;
|
||||
},
|
||||
|
||||
setAttributes = function (el, attrs) {
|
||||
for (var key in attrs) {
|
||||
el.setAttribute(key, attrs[key]);
|
||||
}
|
||||
},
|
||||
|
||||
addClass = function (el, cls) {
|
||||
el.className += " " + cls;
|
||||
el.className = el.className.replace(/(^\s*)|(\s*$)/g,"");
|
||||
},
|
||||
|
||||
removeClass = function (el, cls) {
|
||||
var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
|
||||
el.className = el.className.replace(reg, " ").replace(/(^\s*)|(\s*$)/g,"");
|
||||
},
|
||||
|
||||
ResponsiveNav = function (el, options) {
|
||||
var i;
|
||||
|
||||
// Default options
|
||||
this.options = {
|
||||
animate: true, // Boolean: Use CSS3 transitions, true or false
|
||||
transition: 400, // Integer: Speed of the transition, in milliseconds
|
||||
label: "Menu", // String: Label for the navigation toggle
|
||||
insert: "after", // String: Insert the toggle before or after the navigation
|
||||
customToggle: "", // Selector: Specify the ID of a custom toggle
|
||||
openPos: "relative", // String: Position of the opened nav, relative or static
|
||||
jsClass: "js", // String: 'JS enabled' class which is added to <html> el
|
||||
init: function(){}, // Function: Init callback
|
||||
open: function(){}, // Function: Open callback
|
||||
close: function(){} // Function: Close callback
|
||||
};
|
||||
|
||||
// User defined options
|
||||
for (i in options) {
|
||||
this.options[i] = options[i];
|
||||
}
|
||||
|
||||
// Adds "js" class for <html>
|
||||
addClass(docEl, this.options.jsClass);
|
||||
|
||||
// Wrapper
|
||||
this.wrapperEl = el.replace("#", "");
|
||||
if (document.getElementById(this.wrapperEl)) {
|
||||
this.wrapper = document.getElementById(this.wrapperEl);
|
||||
} else {
|
||||
// If el doesn't exists, stop here.
|
||||
throw new Error("The nav element you are trying to select doesn't exist");
|
||||
}
|
||||
|
||||
// Inner wrapper
|
||||
this.wrapper.inner = getFirstChild(this.wrapper);
|
||||
|
||||
// For minification
|
||||
opts = this.options;
|
||||
nav = this.wrapper;
|
||||
|
||||
// Init
|
||||
this._init(this);
|
||||
};
|
||||
|
||||
ResponsiveNav.prototype = {
|
||||
// Public methods
|
||||
destroy: function () {
|
||||
this._removeStyles();
|
||||
removeClass(nav, "closed");
|
||||
removeClass(nav, "opened");
|
||||
nav.removeAttribute("style");
|
||||
nav.removeAttribute("aria-hidden");
|
||||
nav = null;
|
||||
_instance = null;
|
||||
|
||||
removeEvent(window, "load", this, false);
|
||||
removeEvent(window, "resize", this, false);
|
||||
removeEvent(navToggle, "mousedown", this, false);
|
||||
removeEvent(navToggle, "touchstart", this, false);
|
||||
removeEvent(navToggle, "touchend", this, false);
|
||||
removeEvent(navToggle, "keyup", this, false);
|
||||
removeEvent(navToggle, "click", this, false);
|
||||
|
||||
if (!opts.customToggle) {
|
||||
navToggle.parentNode.removeChild(navToggle);
|
||||
} else {
|
||||
navToggle.removeAttribute("aria-hidden");
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function () {
|
||||
if (!navOpen) {
|
||||
removeClass(nav, "closed");
|
||||
addClass(nav, "opened");
|
||||
nav.style.position = opts.openPos;
|
||||
setAttributes(nav, {"aria-hidden": "false"});
|
||||
|
||||
navOpen = true;
|
||||
opts.open();
|
||||
} else {
|
||||
removeClass(nav, "opened");
|
||||
addClass(nav, "closed");
|
||||
setAttributes(nav, {"aria-hidden": "true"});
|
||||
|
||||
if (opts.animate) {
|
||||
setTimeout(function () {
|
||||
nav.style.position = "absolute";
|
||||
}, opts.transition + 10);
|
||||
} else {
|
||||
nav.style.position = "absolute";
|
||||
}
|
||||
|
||||
navOpen = false;
|
||||
opts.close();
|
||||
}
|
||||
},
|
||||
|
||||
handleEvent: function (e) {
|
||||
var evt = e || window.event;
|
||||
|
||||
switch (evt.type) {
|
||||
case "mousedown":
|
||||
this._onmousedown(evt);
|
||||
break;
|
||||
case "touchstart":
|
||||
this._ontouchstart(evt);
|
||||
break;
|
||||
case "touchend":
|
||||
this._ontouchend(evt);
|
||||
break;
|
||||
case "keyup":
|
||||
this._onkeyup(evt);
|
||||
break;
|
||||
case "click":
|
||||
this._onclick(evt);
|
||||
break;
|
||||
case "load":
|
||||
this._transitions(evt);
|
||||
this._resize(evt);
|
||||
break;
|
||||
case "resize":
|
||||
this._resize(evt);
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
// Private methods
|
||||
_init: function () {
|
||||
addClass(nav, "closed");
|
||||
this._createToggle();
|
||||
|
||||
addEvent(window, "load", this, false);
|
||||
addEvent(window, "resize", this, false);
|
||||
addEvent(navToggle, "mousedown", this, false);
|
||||
addEvent(navToggle, "touchstart", this, false);
|
||||
addEvent(navToggle, "touchend", this, false);
|
||||
addEvent(navToggle, "keyup", this, false);
|
||||
addEvent(navToggle, "click", this, false);
|
||||
},
|
||||
|
||||
_createStyles: function () {
|
||||
if (!styleElement.parentNode) {
|
||||
head.appendChild(styleElement);
|
||||
}
|
||||
},
|
||||
|
||||
_removeStyles: function () {
|
||||
if (styleElement.parentNode) {
|
||||
styleElement.parentNode.removeChild(styleElement);
|
||||
}
|
||||
},
|
||||
|
||||
_createToggle: function () {
|
||||
if (!opts.customToggle) {
|
||||
var toggle = document.createElement("a");
|
||||
toggle.innerHTML = opts.label;
|
||||
setAttributes(toggle, {
|
||||
"href": "#",
|
||||
"id": "nav-toggle"
|
||||
});
|
||||
|
||||
if (opts.insert === "after") {
|
||||
nav.parentNode.insertBefore(toggle, nav.nextSibling);
|
||||
} else {
|
||||
nav.parentNode.insertBefore(toggle, nav);
|
||||
}
|
||||
|
||||
navToggle = document.getElementById("nav-toggle");
|
||||
} else {
|
||||
var toggleEl = opts.customToggle.replace("#", "");
|
||||
|
||||
if (document.getElementById(toggleEl)) {
|
||||
navToggle = document.getElementById(toggleEl);
|
||||
} else {
|
||||
throw new Error("The custom nav toggle you are trying to select doesn't exist");
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_preventDefault: function(e) {
|
||||
if (e.preventDefault) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
} else {
|
||||
e.returnValue = false;
|
||||
}
|
||||
},
|
||||
|
||||
_onmousedown: function (e) {
|
||||
var evt = e || window.event;
|
||||
// If the user isn't right clicking:
|
||||
if (!(evt.which === 3 || evt.button === 2)) {
|
||||
this._preventDefault(e);
|
||||
this.toggle(e);
|
||||
}
|
||||
},
|
||||
|
||||
_ontouchstart: function (e) {
|
||||
// Touchstart event fires before
|
||||
// the mousedown and can wipe it
|
||||
navToggle.onmousedown = null;
|
||||
this._preventDefault(e);
|
||||
this.toggle(e);
|
||||
},
|
||||
|
||||
_ontouchend: function () {
|
||||
// Prevents ghost click from happening on some Android browsers
|
||||
var that = this;
|
||||
nav.addEventListener("click", that._preventDefault, true);
|
||||
setTimeout(function () {
|
||||
nav.removeEventListener("click", that._preventDefault, true);
|
||||
}, opts.transition);
|
||||
},
|
||||
|
||||
_onkeyup: function (e) {
|
||||
var evt = e || window.event;
|
||||
if (evt.keyCode === 13) {
|
||||
this.toggle(e);
|
||||
}
|
||||
},
|
||||
|
||||
_onclick: function (e) {
|
||||
// For older browsers (looking at IE)
|
||||
this._preventDefault(e);
|
||||
},
|
||||
|
||||
_transitions: function () {
|
||||
if (opts.animate) {
|
||||
var objStyle = nav.style,
|
||||
transition = "max-height " + opts.transition + "ms";
|
||||
|
||||
objStyle.WebkitTransition = transition;
|
||||
objStyle.MozTransition = transition;
|
||||
objStyle.OTransition = transition;
|
||||
objStyle.transition = transition;
|
||||
}
|
||||
},
|
||||
|
||||
_calcHeight: function () {
|
||||
var savedHeight = nav.inner.offsetHeight,
|
||||
innerStyles = "#" + this.wrapperEl + ".opened{max-height:" + savedHeight + "px}";
|
||||
|
||||
// Hide from old IE
|
||||
if (computed) {
|
||||
styleElement.innerHTML = innerStyles;
|
||||
innerStyles = "";
|
||||
}
|
||||
},
|
||||
|
||||
_resize: function () {
|
||||
if (window.getComputedStyle(navToggle, null).getPropertyValue("display") !== "none") {
|
||||
setAttributes(navToggle, {"aria-hidden": "false"});
|
||||
|
||||
// If the navigation is hidden
|
||||
if (nav.className.match(/(^|\s)closed(\s|$)/)) {
|
||||
setAttributes(nav, {"aria-hidden": "true"});
|
||||
nav.style.position = "absolute";
|
||||
}
|
||||
|
||||
this._createStyles();
|
||||
this._calcHeight();
|
||||
} else {
|
||||
setAttributes(navToggle, {"aria-hidden": "true"});
|
||||
setAttributes(nav, {"aria-hidden": "false"});
|
||||
nav.style.position = opts.openPos;
|
||||
this._removeStyles();
|
||||
}
|
||||
|
||||
// Init callback
|
||||
opts.init();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
var _instance;
|
||||
function rn (el, options) {
|
||||
if (!_instance) {
|
||||
_instance = new ResponsiveNav(el, options);
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
|
||||
return rn;
|
||||
})(window, document);
|
1
assets/js/scripts.min.js
vendored
Normal file
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 180 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 38 KiB |
25
package.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "minimal-mistakes-theme",
|
||||
"author": "Michael Rose <michael@mademistakes.com>",
|
||||
"homepage": "http://mmistakes.github.io/minima-mistakes/",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/mmistakes/minimal-mistakes.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/mmistakes/minimal-mistakes/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.10.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-contrib-clean": "~0.5.0",
|
||||
"grunt-contrib-jshint": "~0.6.3",
|
||||
"grunt-contrib-uglify": "~0.2.2",
|
||||
"grunt-contrib-watch": "~0.5.2",
|
||||
"grunt-recess": "~0.3.5",
|
||||
"grunt-contrib-imagemin": "~0.2.0",
|
||||
"grunt-svgmin": "~0.2.0"
|
||||
}
|
||||
}
|