From 39a27b55158809b4d628c3339982487f206a355a Mon Sep 17 00:00:00 2001 From: alex vasquez Date: Sat, 31 Jan 2015 23:22:10 -0800 Subject: [PATCH] Revert "Revert "Merge branch 'bower-setup'"" This reverts commit f55c3553eb37e9b46358230fe9847ddffb466db4. --- .bowerrc | 2 +- .gitignore | 57 +- README.md | 8 +- assets/css/rtl-min.css | 2 +- assets/css/rtl.css | 150 +- assets/css/style-min.css | 2 +- assets/css/style.css | 150 +- assets/js/production-min.js | 2 +- assets/js/production.js | 2833 ++++++++++++----- assets/js/vendor/flexnav/jquery.flexnav.js | 142 - assets/js/vendor/hoverintent/hoverintent.js | 114 - assets/js/vendor/modernizr/modernizr-2.7.1.js | 4 - assets/js/vendor/navigation.js | 2 +- assets/js/vendor/selectivizr/selectivizr.js | 561 ---- assets/sass/_app.scss | 10 +- assets/sass/_grid-settings.scss | 2 +- assets/sass/base/_grid-settings.scss | 2 +- assets/sass/bi-app/_bi-app-ltr.scss | 11 - assets/sass/bi-app/_bi-app-rtl.scss | 11 - assets/sass/bi-app/_mixins.scss | 294 -- assets/sass/bi-app/_variables-ltr.scss | 15 - assets/sass/bi-app/_variables-rtl.scss | 15 - .../bourbon/_bourbon-deprecated-upcoming.scss | 8 - assets/sass/bourbon/_bourbon.scss | 79 - assets/sass/bourbon/addons/_button.scss | 374 --- assets/sass/bourbon/addons/_clearfix.scss | 23 - .../bourbon/addons/_directional-values.scss | 111 - assets/sass/bourbon/addons/_ellipsis.scss | 7 - assets/sass/bourbon/addons/_font-family.scss | 5 - assets/sass/bourbon/addons/_hide-text.scss | 10 - .../bourbon/addons/_html5-input-types.scss | 86 - assets/sass/bourbon/addons/_position.scss | 32 - assets/sass/bourbon/addons/_prefixer.scss | 45 - assets/sass/bourbon/addons/_retina-image.scss | 31 - assets/sass/bourbon/addons/_size.scss | 16 - .../bourbon/addons/_timing-functions.scss | 32 - assets/sass/bourbon/addons/_triangle.scss | 83 - assets/sass/bourbon/addons/_word-wrap.scss | 8 - assets/sass/bourbon/css3/_animation.scss | 52 - assets/sass/bourbon/css3/_appearance.scss | 3 - .../bourbon/css3/_backface-visibility.scss | 6 - .../sass/bourbon/css3/_background-image.scss | 42 - assets/sass/bourbon/css3/_background.scss | 55 - assets/sass/bourbon/css3/_border-image.scss | 59 - assets/sass/bourbon/css3/_border-radius.scss | 22 - assets/sass/bourbon/css3/_box-sizing.scss | 4 - assets/sass/bourbon/css3/_calc.scss | 4 - assets/sass/bourbon/css3/_columns.scss | 47 - assets/sass/bourbon/css3/_filter.scss | 5 - assets/sass/bourbon/css3/_flex-box.scss | 321 -- assets/sass/bourbon/css3/_font-face.scss | 23 - .../bourbon/css3/_font-feature-settings.scss | 10 - .../sass/bourbon/css3/_hidpi-media-query.scss | 10 - assets/sass/bourbon/css3/_hyphens.scss | 4 - .../sass/bourbon/css3/_image-rendering.scss | 14 - assets/sass/bourbon/css3/_keyframes.scss | 35 - .../sass/bourbon/css3/_linear-gradient.scss | 38 - assets/sass/bourbon/css3/_perspective.scss | 8 - assets/sass/bourbon/css3/_placeholder.scss | 8 - .../sass/bourbon/css3/_radial-gradient.scss | 39 - assets/sass/bourbon/css3/_transform.scss | 15 - assets/sass/bourbon/css3/_transition.scss | 77 - assets/sass/bourbon/css3/_user-select.scss | 3 - assets/sass/bourbon/functions/_assign.scss | 11 - .../bourbon/functions/_color-lightness.scss | 13 - assets/sass/bourbon/functions/_flex-grid.scss | 39 - .../sass/bourbon/functions/_golden-ratio.scss | 3 - .../sass/bourbon/functions/_grid-width.scss | 13 - .../bourbon/functions/_modular-scale.scss | 66 - assets/sass/bourbon/functions/_px-to-em.scss | 13 - assets/sass/bourbon/functions/_px-to-rem.scss | 15 - .../sass/bourbon/functions/_strip-units.scss | 5 - .../sass/bourbon/functions/_tint-shade.scss | 9 - .../functions/_transition-property-name.scss | 22 - assets/sass/bourbon/functions/_unpack.scss | 17 - .../sass/bourbon/helpers/_convert-units.scss | 15 - .../helpers/_gradient-positions-parser.scss | 13 - assets/sass/bourbon/helpers/_is-num.scss | 8 - .../bourbon/helpers/_linear-angle-parser.scss | 25 - .../helpers/_linear-gradient-parser.scss | 41 - .../helpers/_linear-positions-parser.scss | 61 - .../helpers/_linear-side-corner-parser.scss | 31 - .../bourbon/helpers/_radial-arg-parser.scss | 69 - .../helpers/_radial-gradient-parser.scss | 50 - .../helpers/_radial-positions-parser.scss | 18 - .../bourbon/helpers/_render-gradients.scss | 26 - .../bourbon/helpers/_shape-size-stripper.scss | 10 - assets/sass/bourbon/helpers/_str-to-num.scss | 50 - .../bourbon/settings/_asset-pipeline.scss | 1 - assets/sass/bourbon/settings/_prefixer.scss | 6 - assets/sass/bourbon/settings/_px-to-em.scss | 1 - assets/sass/components/_flexnav.scss | 3 + assets/sass/neat/_neat-helpers.scss | 7 - assets/sass/neat/_neat.scss | 21 - .../sass/neat/functions/_new-breakpoint.scss | 16 - assets/sass/neat/functions/_private.scss | 125 - assets/sass/neat/grid/_fill-parent.scss | 7 - assets/sass/neat/grid/_grid.scss | 5 - assets/sass/neat/grid/_media.scss | 38 - assets/sass/neat/grid/_omega.scss | 61 - assets/sass/neat/grid/_outer-container.scss | 8 - assets/sass/neat/grid/_pad.scss | 8 - assets/sass/neat/grid/_private.scss | 43 - assets/sass/neat/grid/_reset.scss | 12 - assets/sass/neat/grid/_row.scss | 17 - assets/sass/neat/grid/_shift.scss | 16 - assets/sass/neat/grid/_span-columns.scss | 43 - assets/sass/neat/grid/_to-deprecate.scss | 57 - assets/sass/neat/grid/_visual-grid.scss | 41 - assets/sass/neat/settings/_grid.scss | 7 - assets/sass/neat/settings/_visual-grid.scss | 5 - assets/sass/rtl.scss | 2 +- assets/sass/style.scss | 2 +- bower.json | 10 +- gulpfile.js | 22 +- package.json | 1 + 116 files changed, 2366 insertions(+), 5105 deletions(-) delete mode 100755 assets/js/vendor/flexnav/jquery.flexnav.js delete mode 100755 assets/js/vendor/hoverintent/hoverintent.js delete mode 100644 assets/js/vendor/modernizr/modernizr-2.7.1.js delete mode 100755 assets/js/vendor/selectivizr/selectivizr.js delete mode 100755 assets/sass/bi-app/_bi-app-ltr.scss delete mode 100755 assets/sass/bi-app/_bi-app-rtl.scss delete mode 100755 assets/sass/bi-app/_mixins.scss delete mode 100755 assets/sass/bi-app/_variables-ltr.scss delete mode 100755 assets/sass/bi-app/_variables-rtl.scss delete mode 100644 assets/sass/bourbon/_bourbon-deprecated-upcoming.scss delete mode 100644 assets/sass/bourbon/_bourbon.scss delete mode 100644 assets/sass/bourbon/addons/_button.scss delete mode 100644 assets/sass/bourbon/addons/_clearfix.scss delete mode 100644 assets/sass/bourbon/addons/_directional-values.scss delete mode 100644 assets/sass/bourbon/addons/_ellipsis.scss delete mode 100644 assets/sass/bourbon/addons/_font-family.scss delete mode 100644 assets/sass/bourbon/addons/_hide-text.scss delete mode 100644 assets/sass/bourbon/addons/_html5-input-types.scss delete mode 100644 assets/sass/bourbon/addons/_position.scss delete mode 100644 assets/sass/bourbon/addons/_prefixer.scss delete mode 100644 assets/sass/bourbon/addons/_retina-image.scss delete mode 100644 assets/sass/bourbon/addons/_size.scss delete mode 100644 assets/sass/bourbon/addons/_timing-functions.scss delete mode 100644 assets/sass/bourbon/addons/_triangle.scss delete mode 100644 assets/sass/bourbon/addons/_word-wrap.scss delete mode 100644 assets/sass/bourbon/css3/_animation.scss delete mode 100644 assets/sass/bourbon/css3/_appearance.scss delete mode 100644 assets/sass/bourbon/css3/_backface-visibility.scss delete mode 100644 assets/sass/bourbon/css3/_background-image.scss delete mode 100644 assets/sass/bourbon/css3/_background.scss delete mode 100644 assets/sass/bourbon/css3/_border-image.scss delete mode 100644 assets/sass/bourbon/css3/_border-radius.scss delete mode 100644 assets/sass/bourbon/css3/_box-sizing.scss delete mode 100644 assets/sass/bourbon/css3/_calc.scss delete mode 100644 assets/sass/bourbon/css3/_columns.scss delete mode 100644 assets/sass/bourbon/css3/_filter.scss delete mode 100644 assets/sass/bourbon/css3/_flex-box.scss delete mode 100644 assets/sass/bourbon/css3/_font-face.scss delete mode 100644 assets/sass/bourbon/css3/_font-feature-settings.scss delete mode 100644 assets/sass/bourbon/css3/_hidpi-media-query.scss delete mode 100644 assets/sass/bourbon/css3/_hyphens.scss delete mode 100644 assets/sass/bourbon/css3/_image-rendering.scss delete mode 100644 assets/sass/bourbon/css3/_keyframes.scss delete mode 100644 assets/sass/bourbon/css3/_linear-gradient.scss delete mode 100644 assets/sass/bourbon/css3/_perspective.scss delete mode 100644 assets/sass/bourbon/css3/_placeholder.scss delete mode 100644 assets/sass/bourbon/css3/_radial-gradient.scss delete mode 100644 assets/sass/bourbon/css3/_transform.scss delete mode 100644 assets/sass/bourbon/css3/_transition.scss delete mode 100644 assets/sass/bourbon/css3/_user-select.scss delete mode 100644 assets/sass/bourbon/functions/_assign.scss delete mode 100644 assets/sass/bourbon/functions/_color-lightness.scss delete mode 100644 assets/sass/bourbon/functions/_flex-grid.scss delete mode 100644 assets/sass/bourbon/functions/_golden-ratio.scss delete mode 100644 assets/sass/bourbon/functions/_grid-width.scss delete mode 100644 assets/sass/bourbon/functions/_modular-scale.scss delete mode 100644 assets/sass/bourbon/functions/_px-to-em.scss delete mode 100644 assets/sass/bourbon/functions/_px-to-rem.scss delete mode 100644 assets/sass/bourbon/functions/_strip-units.scss delete mode 100644 assets/sass/bourbon/functions/_tint-shade.scss delete mode 100644 assets/sass/bourbon/functions/_transition-property-name.scss delete mode 100644 assets/sass/bourbon/functions/_unpack.scss delete mode 100644 assets/sass/bourbon/helpers/_convert-units.scss delete mode 100644 assets/sass/bourbon/helpers/_gradient-positions-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_is-num.scss delete mode 100644 assets/sass/bourbon/helpers/_linear-angle-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_linear-gradient-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_linear-positions-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_linear-side-corner-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_radial-arg-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_radial-gradient-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_radial-positions-parser.scss delete mode 100644 assets/sass/bourbon/helpers/_render-gradients.scss delete mode 100644 assets/sass/bourbon/helpers/_shape-size-stripper.scss delete mode 100644 assets/sass/bourbon/helpers/_str-to-num.scss delete mode 100644 assets/sass/bourbon/settings/_asset-pipeline.scss delete mode 100644 assets/sass/bourbon/settings/_prefixer.scss delete mode 100644 assets/sass/bourbon/settings/_px-to-em.scss delete mode 100644 assets/sass/neat/_neat-helpers.scss delete mode 100644 assets/sass/neat/_neat.scss delete mode 100644 assets/sass/neat/functions/_new-breakpoint.scss delete mode 100644 assets/sass/neat/functions/_private.scss delete mode 100644 assets/sass/neat/grid/_fill-parent.scss delete mode 100644 assets/sass/neat/grid/_grid.scss delete mode 100644 assets/sass/neat/grid/_media.scss delete mode 100644 assets/sass/neat/grid/_omega.scss delete mode 100644 assets/sass/neat/grid/_outer-container.scss delete mode 100644 assets/sass/neat/grid/_pad.scss delete mode 100644 assets/sass/neat/grid/_private.scss delete mode 100644 assets/sass/neat/grid/_reset.scss delete mode 100644 assets/sass/neat/grid/_row.scss delete mode 100644 assets/sass/neat/grid/_shift.scss delete mode 100644 assets/sass/neat/grid/_span-columns.scss delete mode 100644 assets/sass/neat/grid/_to-deprecate.scss delete mode 100644 assets/sass/neat/grid/_visual-grid.scss delete mode 100644 assets/sass/neat/settings/_grid.scss delete mode 100644 assets/sass/neat/settings/_visual-grid.scss diff --git a/.bowerrc b/.bowerrc index 3f9bc502..75f53316 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,3 +1,3 @@ { - "directory": "assets/bower" + "directory": "assets/bower_components" } diff --git a/.gitignore b/.gitignore index 6bd4ee2a..e9268d42 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,54 @@ -# sass cache +# Packages # +############ +*.7z +*.dmg +*.gz +*.bz2 +*.iso +*.jar +*.rar +*.tar +*.zip +*.tgz + +# Logs and databases # +###################### +*.log +*.sql + +# OS generated files # +###################### +**.DS_Store* +ehthumbs.db +Icon? +Thumbs.db +._* + +# Vim generated files # +###################### +*.un~ + +# SASS # +########## **/.sass-cache **/.sass-cache/* -# Codekit + +# Bower # +########## +assets/bower_components/* + +# Codekit # +########## /codekit-config.json *.codekit **.codekit-cache/* + + +# NPM # +########## +node_modules + +# Compiled Files and Build Dirs # +########## /README.html -# npm and bower modules -/node_modules/ -/bower_components/ -/dist/ -/min/ /build/ -# Source Files Uncomment the line below to ignore the src folder -# **/src -somelikeitneat.zip \ No newline at end of file diff --git a/README.md b/README.md index e8bb829e..bf53b290 100644 --- a/README.md +++ b/README.md @@ -54,9 +54,10 @@ Getting Started * In pre 1.1.11 builds of Some Like it Neat, Style.scss would process/compile all of your changes to the various Sass files. This has changed in 1.1.11. We have added rtl support using a set of mixins from the Bi-App-Sass [view](http://anasnakawa.github.io/bi-app-sass/) project which helps us generate styles for RTL configurations. All LTR styles are output to style.css and RTL styles are output to rtl.css. -* #### Install Gulpjs and Plugins +* #### Install Gulpjs and Bower Dependencies Once you have Node, Sass and the theme installed, the next step is simple enough. - * Open a command prompt/terminal and navigate to your theme's root directory and run this command: **npm install** + * Open a command prompt/terminal and navigate to your theme's root directory and run this command: **npm install** - This installs all the necessary Gulp plugins to help with task automation such as Sass compiling and browser-sync! + * Next run this command: **bower install** - This will install the theme's dependencies such as bourbon, neat, flexnav etc. _(note - you may have to run this command as admin or sudo)_ * #### Gulp Tasks @@ -66,6 +67,9 @@ There are a couple of tasks built into Some Like it Neat to help get you going. Each task such as 'js', 'images' or 'browser-sync' may be started individually. Although, the only one of them you'd do that with is the 'images' task since that's not auto-optimizing at the moment. +* #### Theme Development, Minification and You +When developing your theme note that the output style.css file and production.js file are in expanded (readable) format if WP_DEBUG is set to true in wp-config.php. If WP_DEBUG is NOT set to true, then style.css and production.js are minified for you. While developing your theme, I recommend that WP_DEBUG is set to true. Just a good practice anyway. + ### Theme Hook Alliance --------------- diff --git a/assets/css/rtl-min.css b/assets/css/rtl-min.css index e81e1ebd..b9bc9135 100644 --- a/assets/css/rtl-min.css +++ b/assets/css/rtl-min.css @@ -1 +1 @@ -button,input[type=submit]{-webkit-font-smoothing:antialiased;background-color:#477dca;border-radius:3px;color:#fff;display:inline-block;font-size:1em;font-weight:700;line-height:1;padding:.75em 1em;text-decoration:none}button:hover,input[type=submit]:hover{background-color:#2c5999;color:#fff}button:disabled,input[type=submit]:disabled{cursor:not-allowed;opacity:.5}body{-webkit-font-smoothing:antialiased;background-color:#fff}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:0;text-rendering:optimizeLegibility}p{margin:0 0 .75em}a:active,a:focus{color:#2c5999}hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img,picture{margin:0;max-width:100%}blockquote{border-left:2px solid #ddd;color:#595959;margin:1.5em 0}cite{color:#737373}cite:before{content:"\2014 \00A0"}fieldset{background:#f7f7f7}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:700;margin-bottom:.375em}label.required:after{content:"*"}label abbr{display:none}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;transition:border-color;background-color:#fff;border-radius:3px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06);box-shadow:inset 0 1px 3px rgba(0,0,0,.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:.75em;padding:.5em;width:100%}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#c4c4c4}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#477dca;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);outline:0}textarea{resize:vertical}input[type=search]{-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{display:inline;margin-right:.375em}input[type=file]{padding-bottom:.75em;width:100%}select{max-width:100%;width:auto}table{margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:700;padding:.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:.75em 0}td,th,tr{vertical-align:middle}ol,ul{margin:0;padding:0}ul{list-style-type:disc;margin-bottom:.75em;padding-left:1.5em}ol{list-style-type:decimal;margin-bottom:.75em;padding-left:1.5em}dl{margin-bottom:.75em}dl dt{font-weight:700;margin-top:.75em}dl dd{margin:0}button,input[type=submit]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}*{-webkit-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;height:auto;max-height:100%;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html{font-size:100%}body{font-size:20px;font-size:1.25rem}h1,h2,h3,h4,h5,h6{clear:both;float:none;line-height:1.25em;margin-bottom:20px;text-transform:uppercase}h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:"";display:table;clear:both}h1 a,h1 a:visited,h2 a,h2 a:visited,h3 a,h3 a:visited,h4 a,h4 a:visited,h5 a,h5 a:visited,h6 a,h6 a:visited{text-decoration:none}h1 a:hover,h1 a:visited:hover,h2 a:hover,h2 a:visited:hover,h3 a:hover,h3 a:visited:hover,h4 a:hover,h4 a:visited:hover,h5 a:hover,h5 a:visited:hover,h6 a:hover,h6 a:visited:hover{text-decoration:underline}h1{font-size:75px;font-size:4.6875rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h2{font-size:50px;font-size:3.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h3{font-size:35px;font-size:2.1875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h4{font-size:24px;font-size:1.5rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h5{font-size:20px;font-size:1.25rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h6{font-size:18px;font-size:1.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}blockquote{background-color:#f9f9f9;border-right:solid 5px red;font-style:italic;padding:20px}cite{font-style:italic}b,strong{font-size:20px;font-size:1.25rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}a,a:visited{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:#666;text-decoration:none}a:hover,a:visited:hover{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:red}.entry-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center}#primary,#secondary{font-family:Georgia,Cambria,"Times New Roman",Times,serif}#submit{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}#submit:focus,#submit:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}#submit:hover{background-color:#555}.neat-button{background:#fff;border:5px solid #ccc;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-button:focus,.neat-button:hover{background:#f2f2f2;border:5px solid #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}.neat-3d-button{background:#fff;border-top:solid 3px #ccc;border-right:solid 3px #ccc;border-left:solid 3px #ccc;border-bottom:solid 5px #999;border-radius:0;clear:both;float:right;font-family:oswald;margin:15px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-3d-button:focus,.neat-3d-button:hover{background:#f2f2f2;border-top:solid 3px #999;border-right:solid 3px #999;border-left:solid 3px #999;border-bottom:solid 3px #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;margin:0;padding:8px}input[type=submit]:focus,input[type=submit]:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]:hover{background-color:#555;padding:8px}input#s{float:right;width:70%}body{color:#000;font-family:Georgia,Cambria,"Times New Roman",Times,serif;line-height:1.5em;word-break:break-word;direction:rtl;unicode-bidi:embed}#page{max-width:71.25em;margin-left:auto;margin-right:auto}#page:after{content:"";display:table;clear:both}#main{padding:0 50px}#primary{margin:auto;width:100%}#primary:after{content:"";display:table;clear:both}#primary ul{list-style:none}#primary ul li{list-style-type:square}#secondary{margin:20px auto;padding:0 30px 0 0;width:100%}.site-branding{text-align:center}.site-branding .site-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:40px}.site-branding .site-title a,.site-branding .site-title a:visited{line-height:1}.site-branding .site-description{padding:25px 0;font-size:20px;font-size:1.25rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-style:italic}.flexnav{overflow:hidden;margin:0 auto;width:100%;max-height:0;-webkit-transition:all .5s ease-in-out,width 0,height 0,top 0,left 0;transition:all .5s ease-in-out,width 0,height 0,top 0,left 0}.flexnav ul,.flexnav.opacity{padding-right:0}.flexnav.flexnav-show{max-height:2000px;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.flexnav.one-page{position:fixed;top:50px;left:5%;max-width:200px}.flexnav li{font-size:100%;position:relative;overflow:hidden}.flexnav li a{position:relative;display:block;padding:.8em;z-index:2;overflow:hidden;color:#fff;background:#000;border-bottom:1px solid rgba(0,0,0,.15);white-space:nowrap}.flexnav li a:hover{background:#fff;color:red!important}.flexnav li a:focus{background:#fff}.flexnav li ul{display:none;margin-bottom:0;padding-right:0;width:100%;z-index:5}.flexnav li ul li{font-size:100%;position:relative;overflow:hidden}.flexnav li ul.flexnav-show li{overflow:visible}.flexnav li ul li a{display:block;background:#333}.flexnav ul li ul li a{background:#666}.flexnav ul li ul li ul li a{background:#999}.flexnav .touch-button{position:absolute;z-index:999;top:0;left:0;width:50px;height:100%;display:inline-block;background:#acaca1;background:rgba(0,0,0,.075);text-align:center}.flexnav .touch-button:hover{cursor:pointer}.flexnav .touch-button .navicon{position:relative;top:1.4em;font-size:12px;color:#666}.menu-button{position:relative;display:block;padding:1em;background:#000;color:#fff;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.2);width:100%}.menu-button.one-page{position:fixed;top:0;left:5%;padding-left:45px}.menu-button .touch-button{background:0 0;position:absolute;z-index:999;top:0;left:0;width:50px;height:50px;display:none;text-align:center}.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666}.menu-button:hover,.menu-button:hover i.navicon{color:#fff}.menu-button:hover i.navicon:after{color:#fff;content:'Menu'}.menu-button i.navicon{display:block!important;position:relative;left:30px}.menu-button i.navicon:after{color:#555;content:'Menu'}.oldie body.one-page{padding-top:70px}.oldie .flexnav{overflow:visible}.oldie .flexnav.one-page{top:0;left:auto;max-width:1080px}.oldie .flexnav li{position:relative;list-style:none;float:right;display:block;background-color:#000;width:20%;min-height:50px;overflow:visible}.oldie .flexnav li:hover>ul{display:block;width:100%;overflow:visible}.oldie .flexnav li:hover>ul li{width:100%;float:none}.oldie .flexnav li a{border-right:1px solid #acaca1;border-bottom:none;overflow:visible}.oldie .flexnav li>ul{background:#acaca1;position:absolute;top:auto;right:0;display:none;z-index:1;overflow:visible}.oldie .flexnav li ul li ul{top:0}.oldie .flexnav li ul li a{border-bottom:none}.oldie .flexnav li ul.open{display:block;width:100%;overflow:visible}.oldie .flexnav li ul.open li{width:100%}.oldie .flexnav li ul.open ul.open{margin-right:100%;top:0;display:block;width:100%;overflow:visible}.oldie .flexnav ul li:hover ul{margin-right:100%;top:0}.oldie .menu-button{display:none}.oldie.ie7 .flexnav li{width:19.9%}.site-main [class*=navigation]{float:right;margin:25px 0 1.5em;overflow:hidden}[class*=navigation] .nav-previous{float:right;margin-top:25px;width:50%}[class*=navigation] .nav-next{float:left;text-align:left;margin-top:25px;width:50%}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);display:none;float:right;right:0;position:absolute;top:1.5em;z-index:99999;background:#fff;padding:30px}#site-navigation{border-top:solid 5px #f3f3f3;border-bottom:solid 5px #f3f3f3}ul.nav-menu li{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#fff;padding:10px}ul.nav-menu li:hover{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#f3f3f3}.menu-main-menu-container li.current-menu-item{background-color:#f3f3f3;display:block}ul.nav-menu li.current_page_item{background:#f3f3f3}#primary-nav{float:right;max-width:100%;width:100%}.nav-links a:nth-of-type(2){float:left}.sticky{background:#f1f1f1}.bypostauthor,.gallery-caption{list-style:none}.hentry{margin:0 0 1.5em}.byline,.updated{display:none}.group-blog .byline,.single .byline{display:inline}.entry-content,.entry-summary,.page-content{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}.aligncenter{float:none;margin:.5em;margin-left:auto!important;margin-right:auto!important}.aligncenter:after{content:"";display:table;clear:both}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.sticky{float:right;padding:20px}#breadcrumbs{font-size:14px;font-size:.875rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;padding:20px 0 20px 50px}#breadcrumbs a,#breadcrumbs a:visited{border-bottom:solid 1px red}.comment-content img.wp-smiley,.entry-content img.wp-smiley,.page-content img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption{border:1px solid #ccc;clear:both;margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin:1.2% auto 0;max-width:98%}.wp-caption-text{text-align:center}.wp-caption .wp-caption-text{margin:.8075em 0}.site-main .gallery{margin-bottom:1.5em}.site-main .gallery a img{border:none;height:auto;max-width:90%}.site-main .gallery dd{margin:0}embed,iframe,object{max-width:100%}.comment-content a{word-wrap:break-word}.infinite-scroll .paging-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}#content .entry-content a,#content .entry-content a:visited,#content .entry-meta a,#content .entry-meta a:visited{border-bottom:solid 1px red}.page-template-page-templatestemplate-left-col-php h1.entry-title{margin:0;text-align:right}.page-template-page-templatestemplate-left-col-php #primary{float:left}.page-template-page-templatestemplate-left-col-php #secondary{float:right;margin-left:1.5%}.page-template-page-templatestemplate-left-col-php footer{clear:both;display:table}.page-template-page-templatestemplate-right-col-php h1.entry-title{margin:0;text-align:right}.page-template-page-templatestemplate-full-width-php #primary,.page-template-page-templatestemplate-full-width-php #secondary{width:100%}.archive .format-aside .entry-title,.blog .format-aside .entry-title{display:none}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.widget_search .search-submit{display:none}footer{float:right;margin:0 auto;padding:0 40px;width:100%}footer .site-info{margin:auto;width:100%}footer .footer-left{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:right}footer .footer-left:last-child{margin-right:0}footer .footer-right{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:left}footer .footer-right:last-child{margin-right:0}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.screen-reader-text:active,.screen-reader-text:focus,.screen-reader-text:hover{top:5px;left:5px;z-index:100000;clip:auto!important;display:block;width:auto;height:auto;padding:15px 23px 14px;font-weight:700;font-size:14px;text-decoration:none;line-height:normal;color:#21759b;background-color:#f1f1f1;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}@media screen and (min-width:200px){.entry-title{font-size:40px;font-size:2.5rem}#primary{float:left;display:block;margin-right:6.66667%;width:100%}#primary:last-child{margin-right:0}#secondary{float:left;display:block;margin-right:6.66667%;width:100%;padding:30px}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:35px;font-size:2.1875rem}.site-branding .site-description{font-size:15px;font-size:.9375rem}ul.nav-menu li{text-align:center;width:100%}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #primary{float:right}}@media screen and (min-width:200px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:200px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:480px){.entry-title{font-size:65px;font-size:4.0625rem}.site-branding .site-title{font-size:55px;font-size:3.4375rem}.site-branding .site-description{font-size:18px;font-size:1.125rem}}@media screen and (min-width:768px){.entry-title{font-size:100px;font-size:6.25rem}#primary{float:left;display:block;width:65.21739%;margin-right:0}#primary:last-child{margin-right:0}#secondary{float:left;display:block;width:30.43478%;margin-right:0}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:75px;font-size:4.6875rem}.site-branding .site-description{font-size:25px;font-size:1.5625rem}ul.nav-menu li{text-align:none;width:inherit}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #secondary{float:left;margin-left:1.5%}}@media screen and (min-width:768px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media screen and (min-width:768px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media all and (min-width:800px){body.one-page{padding-top:70px}.flexnav{overflow:visible}.flexnav.opacity{opacity:1}.flexnav.one-page{top:0;left:auto;max-width:1080px}.flexnav li{position:relative;list-style:none;float:right;display:block;background-color:#000;overflow:visible;width:25%}.flexnav li a{border-bottom:1px solid #acaca1;border-left:1px solid #acaca1;border-right:1px solid #acaca1;border-top:1px solid #acaca1}.flexnav li>ul{position:absolute;top:auto;right:0}.flexnav li>ul li{width:100%}.flexnav li ul li>ul{margin-right:100%;top:0}.flexnav li ul li a{border-bottom:none}.flexnav li ul.open{display:block;opacity:1;visibility:visible;z-index:1}.flexnav li ul.open li{overflow:visible;max-height:100px}.flexnav li ul.open ul.open{margin-right:100%;top:0}.menu-button{display:none}} \ No newline at end of file +button,input[type=submit]{-webkit-font-smoothing:antialiased;background-color:#477DCA;border-radius:3px;color:#fff;display:inline-block;font-size:1em;font-weight:700;line-height:1;padding:.75em 1em;text-decoration:none}button:hover,input[type=submit]:hover{background-color:#2c5999;color:#fff}button:disabled,input[type=submit]:disabled{cursor:not-allowed;opacity:.5}body{-webkit-font-smoothing:antialiased;background-color:#fff}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:0;text-rendering:optimizeLegibility}p{margin:0 0 .75em}a:active,a:focus{color:#2c5999}hr{border-bottom:1px solid #DDD;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img,picture{margin:0;max-width:100%}blockquote{border-left:2px solid #DDD;color:#595959;margin:1.5em 0}cite{color:#737373}cite:before{content:"\2014 \00A0"}fieldset{background:#f7f7f7}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:700;margin-bottom:.375em}label.required:after{content:"*"}label abbr{display:none}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;transition:border-color;background-color:#fff;border-radius:3px;border:1px solid #DDD;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06);box-shadow:inset 0 1px 3px rgba(0,0,0,.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:.75em;padding:.5em;width:100%}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#c4c4c4}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#477DCA;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);outline:0}textarea{resize:vertical}input[type=search]{-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{display:inline;margin-right:.375em}input[type=file]{padding-bottom:.75em;width:100%}select{max-width:100%;width:auto}table{margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:700;padding:.75em 0;text-align:left}td{border-bottom:1px solid #DDD;padding:.75em 0}td,th,tr{vertical-align:middle}ol,ul{margin:0;padding:0}ul{list-style-type:disc;margin-bottom:.75em;padding-left:1.5em}ol{list-style-type:decimal;margin-bottom:.75em;padding-left:1.5em}dl{margin-bottom:.75em}dl dt{font-weight:700;margin-top:.75em}dl dd{margin:0}button,input[type=submit]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;height:auto;max-height:100%;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html{font-size:100%}body{font-size:20px;font-size:1.25rem}h1,h2,h3,h4,h5,h6{clear:both;float:none;line-height:1.25em;margin-bottom:20px;text-transform:uppercase}h1::after,h2::after,h3::after,h4::after,h5::after,h6::after{clear:both;content:"";display:table}h1 a,h1 a:visited,h2 a,h2 a:visited,h3 a,h3 a:visited,h4 a,h4 a:visited,h5 a,h5 a:visited,h6 a,h6 a:visited{text-decoration:none}h1 a:hover,h1 a:visited:hover,h2 a:hover,h2 a:visited:hover,h3 a:hover,h3 a:visited:hover,h4 a:hover,h4 a:visited:hover,h5 a:hover,h5 a:visited:hover,h6 a:hover,h6 a:visited:hover{text-decoration:underline}h1{font-size:75px;font-size:4.6875rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h2{font-size:50px;font-size:3.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h3{font-size:35px;font-size:2.1875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h4{font-size:24px;font-size:1.5rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h5{font-size:20px;font-size:1.25rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h6{font-size:18px;font-size:1.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}blockquote{background-color:#f9f9f9;border-right:solid 5px red;font-style:italic;padding:20px}cite{font-style:italic}b,strong{font-size:20px;font-size:1.25rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}a,a:visited{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:#666;text-decoration:none}a:hover,a:visited:hover{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:red}.entry-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center}#primary,#secondary{font-family:Georgia,Cambria,"Times New Roman",Times,serif}#submit{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}#submit:focus,#submit:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}#submit:hover{background-color:#555}.neat-button{background:#fff;border:5px solid #ccc;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-button:focus,.neat-button:hover{background:#f2f2f2;border:5px solid #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}.neat-3d-button{background:#fff;border-top:solid 3px #ccc;border-right:solid 3px #ccc;border-left:solid 3px #ccc;border-bottom:solid 5px #999;border-radius:0;clear:both;float:right;font-family:oswald;margin:15px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-3d-button:focus,.neat-3d-button:hover{background:#f2f2f2;border-top:solid 3px #999;border-right:solid 3px #999;border-left:solid 3px #999;border-bottom:solid 3px #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;margin:0;padding:8px}input[type=submit]:focus,input[type=submit]:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]:hover{background-color:#555;padding:8px}input#s{float:right;width:70%}body{color:#000;font-family:Georgia,Cambria,"Times New Roman",Times,serif;line-height:1.5em;word-break:break-word;direction:rtl;unicode-bidi:embed}#page{max-width:71.25em;margin-left:auto;margin-right:auto}#page::after{clear:both;content:"";display:table}#main{padding:0 50px}#primary{margin:auto;width:100%}#primary::after{clear:both;content:"";display:table}#primary ul{list-style:none}#primary ul li{list-style-type:square}#secondary{margin:20px auto;padding:0 30px 0 0;width:100%}.site-branding{text-align:center}.site-branding .site-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:40px}.site-branding .site-title a,.site-branding .site-title a:visited{line-height:1}.site-branding .site-description{padding:25px 0;font-size:20px;font-size:1.25rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-style:italic}.flexnav{overflow:hidden;margin:0 auto;width:100%;max-height:0;-webkit-transition:all .5s ease-in-out,width 0,height 0,top 0,left 0;transition:all .5s ease-in-out,width 0,height 0,top 0,left 0}.flexnav ul,.flexnav.opacity{padding-right:0}.flexnav.flexnav-show{max-height:2000px;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.flexnav.one-page{position:fixed;top:50px;left:5%;max-width:200px}.flexnav li{font-size:100%;position:relative;overflow:hidden}.flexnav li a{position:relative;display:block;padding:.8em;z-index:2;overflow:hidden;color:#fff;background:#000;border-bottom:1px solid rgba(0,0,0,.15);white-space:nowrap}.flexnav li a:hover{background:#fff;color:red!important}.flexnav li a:focus{background:#fff}.flexnav li ul{display:none;margin-bottom:0;padding-right:0;width:100%;z-index:5}.flexnav li ul li{font-size:100%;position:relative;overflow:hidden}.flexnav li ul li:last-child{border-bottom:1px solid #666}.flexnav li ul.flexnav-show li{overflow:visible}.flexnav li ul li a{display:block;background:#333}.flexnav ul li ul li a{background:#666}.flexnav ul li ul li ul li a{background:#999}.flexnav .touch-button{position:absolute;z-index:999;top:0;left:0;width:50px;height:100%;display:inline-block;background:#acaca1;background:rgba(0,0,0,.075);text-align:center}.flexnav .touch-button:hover{cursor:pointer}.flexnav .touch-button .navicon{position:relative;top:1.4em;font-size:12px;color:#666}.menu-button{position:relative;display:block;padding:1em;background:#000;color:#fff;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.2);width:100%}.menu-button.one-page{position:fixed;top:0;left:5%;padding-left:45px}.menu-button .touch-button{background:0 0;position:absolute;z-index:999;top:0;left:0;width:50px;height:50px;display:none;text-align:center}.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666}.menu-button:hover,.menu-button:hover i.navicon{color:#fff}.menu-button:hover i.navicon:after{color:#fff;content:'Menu'}.menu-button i.navicon{display:block!important;position:relative;left:30px}.menu-button i.navicon:after{color:#555;content:'Menu'}.oldie body.one-page{padding-top:70px}.oldie .flexnav{overflow:visible}.oldie .flexnav.one-page{top:0;left:auto;max-width:1080px}.oldie .flexnav li{position:relative;list-style:none;float:right;display:block;background-color:#000;width:20%;min-height:50px;overflow:visible}.oldie .flexnav li:hover>ul{display:block;width:100%;overflow:visible}.oldie .flexnav li:hover>ul li{width:100%;float:none}.oldie .flexnav li a{border-right:1px solid #acaca1;border-bottom:none;overflow:visible}.oldie .flexnav li>ul{background:#acaca1;position:absolute;top:auto;right:0;display:none;z-index:1;overflow:visible}.oldie .flexnav li ul li ul{top:0}.oldie .flexnav li ul li a{border-bottom:none}.oldie .flexnav li ul.open{display:block;width:100%;overflow:visible}.oldie .flexnav li ul.open li{width:100%}.oldie .flexnav li ul.open ul.open{margin-right:100%;top:0;display:block;width:100%;overflow:visible}.oldie .flexnav ul li:hover ul{margin-right:100%;top:0}.oldie .menu-button{display:none}.oldie.ie7 .flexnav li{width:19.9%}.site-main [class*=navigation]{float:right;margin:25px 0 1.5em;overflow:hidden}[class*=navigation] .nav-previous{float:right;margin-top:25px;width:50%}[class*=navigation] .nav-next{float:left;text-align:left;margin-top:25px;width:50%}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);display:none;float:right;right:0;position:absolute;top:1.5em;z-index:99999;background:#fff;padding:30px}#site-navigation{border-top:solid 5px #f3f3f3;border-bottom:solid 5px #f3f3f3}ul.nav-menu li{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#fff;padding:10px}ul.nav-menu li:hover{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#f3f3f3}.menu-main-menu-container li.current-menu-item{background-color:#f3f3f3;display:block}ul.nav-menu li.current_page_item{background:#f3f3f3}#primary-nav{float:right;max-width:100%;width:100%}.nav-links a:nth-of-type(2){float:left}.sticky{background:#f1f1f1}.bypostauthor,.gallery-caption{list-style:none}.hentry{margin:0 0 1.5em}.byline,.updated{display:none}.group-blog .byline,.single .byline{display:inline}.entry-content,.entry-summary,.page-content{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}.aligncenter{float:none;margin:.5em;margin-left:auto!important;margin-right:auto!important}.aligncenter::after{clear:both;content:"";display:table}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.sticky{float:right;padding:20px}#breadcrumbs{font-size:14px;font-size:.875rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;padding:20px 0 20px 50px}#breadcrumbs a,#breadcrumbs a:visited{border-bottom:solid 1px red}.comment-content img.wp-smiley,.entry-content img.wp-smiley,.page-content img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption{border:1px solid #ccc;clear:both;margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin:1.2% auto 0;max-width:98%}.wp-caption-text{text-align:center}.wp-caption .wp-caption-text{margin:.8075em 0}.site-main .gallery{margin-bottom:1.5em}.site-main .gallery a img{border:none;height:auto;max-width:90%}.site-main .gallery dd{margin:0}embed,iframe,object{max-width:100%}.comment-content a{word-wrap:break-word}.infinite-scroll .paging-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}#content .entry-content a,#content .entry-content a:visited,#content .entry-meta a,#content .entry-meta a:visited{border-bottom:solid 1px red}.page-template-page-templatestemplate-left-col-php h1.entry-title{margin:0;text-align:right}.page-template-page-templatestemplate-left-col-php #primary{float:left}.page-template-page-templatestemplate-left-col-php #secondary{float:right;margin-left:1.5%}.page-template-page-templatestemplate-left-col-php footer{clear:both;display:table}.page-template-page-templatestemplate-right-col-php h1.entry-title{margin:0;text-align:right}.page-template-page-templatestemplate-full-width-php #primary,.page-template-page-templatestemplate-full-width-php #secondary{width:100%}.archive .format-aside .entry-title,.blog .format-aside .entry-title{display:none}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.widget_search .search-submit{display:none}footer{float:right;margin:0 auto;padding:0 40px;width:100%}footer .site-info{margin:auto;width:100%}footer .footer-left{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:right}footer .footer-left:last-child{margin-right:0}footer .footer-right{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:left}footer .footer-right:last-child{margin-right:0}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.screen-reader-text:active,.screen-reader-text:focus,.screen-reader-text:hover{top:5px;left:5px;z-index:100000;clip:auto!important;display:block;width:auto;height:auto;padding:15px 23px 14px;font-weight:700;font-size:14px;text-decoration:none;line-height:normal;color:#21759b;background-color:#f1f1f1;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}@media screen and (min-width:200px){.entry-title{font-size:40px;font-size:2.5rem}#primary{float:left;display:block;margin-right:6.66667%;width:100%}#primary:last-child{margin-right:0}#secondary{float:left;display:block;margin-right:6.66667%;width:100%;padding:30px}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:35px;font-size:2.1875rem}.site-branding .site-description{font-size:15px;font-size:.9375rem}ul.nav-menu li{text-align:center;width:100%}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #primary{float:right}}@media screen and (min-width:200px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:200px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:480px){.entry-title{font-size:65px;font-size:4.0625rem}.site-branding .site-title{font-size:55px;font-size:3.4375rem}.site-branding .site-description{font-size:18px;font-size:1.125rem}}@media screen and (min-width:768px){.entry-title{font-size:100px;font-size:6.25rem}#primary{float:left;display:block;width:65.21739%;margin-right:0}#primary:last-child{margin-right:0}#secondary{float:left;display:block;width:30.43478%;margin-right:0}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:75px;font-size:4.6875rem}.site-branding .site-description{font-size:25px;font-size:1.5625rem}ul.nav-menu li{text-align:none;width:inherit}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #secondary{float:left;margin-left:1.5%}}@media screen and (min-width:768px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media screen and (min-width:768px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media all and (min-width:800px){body.one-page{padding-top:70px}.flexnav{overflow:visible}.flexnav.opacity{opacity:1}.flexnav.one-page{top:0;left:auto;max-width:1080px}.flexnav li{position:relative;list-style:none;float:right;display:block;background-color:#000;overflow:visible;width:25%}.flexnav li a{border-bottom:1px solid #acaca1;border-left:1px solid #acaca1;border-right:1px solid #acaca1;border-top:1px solid #acaca1}.flexnav li>ul{position:absolute;top:auto;right:0}.flexnav li>ul li{width:100%}.flexnav li ul li>ul{margin-right:100%;top:0}.flexnav li ul li a{border-bottom:none}.flexnav li ul.open{display:block;opacity:1;visibility:visible;z-index:1}.flexnav li ul.open li{overflow:visible;max-height:100px}.flexnav li ul.open ul.open{margin-right:100%;top:0}.menu-button{display:none}} \ No newline at end of file diff --git a/assets/css/rtl.css b/assets/css/rtl.css index df0f3947..cf1ee955 100644 --- a/assets/css/rtl.css +++ b/assets/css/rtl.css @@ -50,7 +50,7 @@ and Blueprint http://www.blueprintcss.org/ button, input[type="submit"] { -webkit-font-smoothing: antialiased; - background-color: #477dca; + background-color: #477DCA; border-radius: 3px; color: white; display: inline-block; @@ -74,8 +74,8 @@ input[type="submit"]:disabled { body { -webkit-font-smoothing: antialiased; background-color: white; - color: #333333; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + color: #333; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; line-height: 1.5; } @@ -86,7 +86,7 @@ h3, h4, h5, h6 { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; line-height: 1.25; margin: 0; text-rendering: optimizeLegibility; @@ -123,7 +123,7 @@ p { a { -webkit-transition: color 0.1s linear; transition: color 0.1s linear; - color: #477dca; + color: #477DCA; text-decoration: none; } a:hover { @@ -135,7 +135,7 @@ a:active, a:focus { } hr { - border-bottom: 1px solid #dddddd; + border-bottom: 1px solid #DDD; border-left: none; border-right: none; border-top: none; @@ -149,7 +149,7 @@ picture { } blockquote { - border-left: 2px solid #dddddd; + border-left: 2px solid #DDD; color: #595959; margin: 1.5em 0; padding-left: 0.75em; @@ -165,7 +165,7 @@ cite:before { fieldset { background: #f7f7f7; - border: 1px solid #dddddd; + border: 1px solid #DDD; margin: 0 0 0.75em 0; padding: 1.5em; } @@ -174,7 +174,7 @@ input, label, select { display: block; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; } @@ -198,10 +198,10 @@ select[multiple=multiple] { transition: border-color; background-color: white; border-radius: 3px; - border: 1px solid #dddddd; + border: 1px solid #DDD; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; margin-bottom: 0.75em; padding: 0.5em 0.5em; @@ -215,7 +215,7 @@ select[multiple=multiple]:hover { textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { - border-color: #477dca; + border-color: #477DCA; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7); outline: none; @@ -265,7 +265,7 @@ th { } td { - border-bottom: 1px solid #dddddd; + border-bottom: 1px solid #DDD; padding: 0.75em 0; } @@ -320,11 +320,16 @@ input[type="submit"] { white-space: nowrap; } -* { +html { -webkit-box-sizing: border-box; box-sizing: border-box; } +*, *:before, *:after { + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + /*-------------------------------------------------------------- 2.0 Normalize/Reset --------------------------------------------------------------*/ @@ -739,10 +744,10 @@ h1, h2, h3, h4, h5, h6 { margin-bottom: 20px; text-transform: uppercase; } -h1:after, h2:after, h3:after, h4:after, h5:after, h6:after { +h1::after, h2::after, h3::after, h4::after, h5::after, h6::after { + clear: both; content: ""; display: table; - clear: both; } h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited { text-decoration: none; @@ -755,42 +760,42 @@ h1 { font-size: 75px; font-size: 4.6875rem; color: #000; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h2 { font-size: 50px; font-size: 3.125rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h3 { font-size: 35px; font-size: 2.1875rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h4 { font-size: 24px; font-size: 1.5rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h5 { font-size: 20px; font-size: 1.25rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h6 { font-size: 18px; font-size: 1.125rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } blockquote { background-color: #f9f9f9; - border-right: solid 5px red; + border-right: solid 5px #ff0000; font-style: italic; padding: 20px; } @@ -803,7 +808,7 @@ strong, b { font-size: 20px; font-size: 1.25rem; color: #000; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } a, a:visited { @@ -815,11 +820,11 @@ a, a:visited { a:hover, a:visited:hover { -webkit-transition: all 200ms ease-in-out; transition: all 200ms ease-in-out; - color: red; + color: #ff0000; } .entry-title { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; text-align: center; } @media screen and (min-width: 200px) { @@ -843,20 +848,20 @@ a:hover, a:visited:hover { #primary, #secondary { - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; } /*-------------------------------------------------------------- 5.0 Components/Add-ons --------------------------------------------------------------*/ #submit { - background: black; - border: solid 5px #555555; + background: #000; + border: solid 5px #555; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -868,7 +873,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } #submit:hover { @@ -877,7 +882,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } #submit:hover { @@ -885,13 +890,13 @@ a:hover, a:visited:hover { } .neat-button { - background: white; - border: solid 5px #cccccc; + background: #ffffff; + border: solid 5px #ccc; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -903,7 +908,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-button:hover { @@ -912,15 +917,15 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-3d-button { - background: white; - border-top: solid 3px #cccccc; - border-right: solid 3px #cccccc; - border-left: solid 3px #cccccc; + background: #ffffff; + border-top: solid 3px #ccc; + border-right: solid 3px #ccc; + border-left: solid 3px #ccc; border-bottom: solid 5px #999; border-radius: 0; clear: both; @@ -940,7 +945,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-3d-button:hover { @@ -952,18 +957,18 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"] { - background: black; - border: solid 5px #555555; + background: #000; + border: solid 5px #555; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -977,7 +982,7 @@ input[type="submit"]:focus { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"]:hover { @@ -986,7 +991,7 @@ input[type="submit"]:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"]:hover { @@ -1006,7 +1011,7 @@ input#s { -------------------------------------------------------------- */ body { color: #000; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; line-height: 1.5em; word-break: break-word; direction: rtl; @@ -1018,10 +1023,10 @@ body { margin-left: auto; margin-right: auto; } -#page:after { +#page::after { + clear: both; content: ""; display: table; - clear: both; } #main { @@ -1032,10 +1037,10 @@ body { margin: auto; width: 100%; } -#primary:after { +#primary::after { + clear: both; content: ""; display: table; - clear: both; } @media screen and (min-width: 200px) { #primary { @@ -1104,7 +1109,7 @@ body { text-align: center; } .site-branding .site-title { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 40px; } @media screen and (min-width: 200px) { @@ -1132,7 +1137,7 @@ body { padding: 25px 0; font-size: 20px; font-size: 1.25rem; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; font-style: italic; } @media screen and (min-width: 200px) { @@ -1194,14 +1199,14 @@ body { padding: .80em; z-index: 2; overflow: hidden; - color: white; - background: black; + color: #fff; + background: #000; border-bottom: 1px solid rgba(0, 0, 0, 0.15); white-space: nowrap; } .flexnav li a:hover { background: #fff; - color: red !important; + color: #ff0000 !important; } .flexnav li a:focus { background: #fff; @@ -1218,18 +1223,21 @@ body { position: relative; overflow: hidden; } +.flexnav li ul li:last-child { + border-bottom: 1px solid #666; +} .flexnav li ul.flexnav-show li { overflow: visible; } .flexnav li ul li a { display: block; - background: #333333; + background: #333; } .flexnav ul li ul li a { - background: #666666; + background: #666; } .flexnav ul li ul li ul li a { - background: #999999; + background: #999; } .flexnav .touch-button { position: absolute; @@ -1257,8 +1265,8 @@ body { position: relative; display: block; padding: 1em; - background: black; - color: white; + background: #000; + color: #fff; cursor: pointer; border-bottom: 1px solid rgba(0, 0, 0, 0.2); width: 100%; @@ -1328,7 +1336,7 @@ body { list-style: none; float: right; display: block; - background-color: black; + background-color: #000; overflow: visible; width: 25%; } @@ -1388,7 +1396,7 @@ body { list-style: none; float: right; display: block; - background-color: black; + background-color: #000; width: 20%; min-height: 50px; overflow: visible; @@ -1579,10 +1587,10 @@ ul.nav-menu li.current_page_item { margin-bottom: .5em; margin-right: auto !important; } -.aligncenter:after { +.aligncenter::after { + clear: both; content: ""; display: table; - clear: both; } .alignleft { @@ -1607,11 +1615,11 @@ ul.nav-menu li.current_page_item { #breadcrumbs { font-size: 14px; font-size: 0.875rem; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; padding: 20px 0 20px 50px; } #breadcrumbs a, #breadcrumbs a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } /* =Media @@ -1688,10 +1696,10 @@ object { } #content .entry-content a, #content .entry-content a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } #content .entry-meta a, #content .entry-meta a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } /*-------------------------------------------------------------- diff --git a/assets/css/style-min.css b/assets/css/style-min.css index 8934fecd..29449542 100644 --- a/assets/css/style-min.css +++ b/assets/css/style-min.css @@ -1 +1 @@ -button,input[type=submit]{-webkit-font-smoothing:antialiased;background-color:#477dca;border-radius:3px;color:#fff;display:inline-block;font-size:1em;font-weight:700;line-height:1;padding:.75em 1em;text-decoration:none}button:hover,input[type=submit]:hover{background-color:#2c5999;color:#fff}button:disabled,input[type=submit]:disabled{cursor:not-allowed;opacity:.5}body{-webkit-font-smoothing:antialiased;background-color:#fff}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:0;text-rendering:optimizeLegibility}p{margin:0 0 .75em}a:active,a:focus{color:#2c5999}hr{border-bottom:1px solid #ddd;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img,picture{margin:0;max-width:100%}blockquote{color:#595959;margin:1.5em 0}cite{color:#737373}cite:before{content:"\2014 \00A0"}fieldset{background:#f7f7f7}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:700;margin-bottom:.375em}label.required:after{content:"*"}label abbr{display:none}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;transition:border-color;background-color:#fff;border-radius:3px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06);box-shadow:inset 0 1px 3px rgba(0,0,0,.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:.75em;padding:.5em;width:100%}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#c4c4c4}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#477dca;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);outline:0}textarea{resize:vertical}input[type=search]{-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{display:inline;margin-right:.375em}input[type=file]{padding-bottom:.75em;width:100%}select{max-width:100%;width:auto}table{margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:700;padding:.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:.75em 0}td,th,tr{vertical-align:middle}ol,ul{margin:0;padding:0}ul{list-style-type:disc;margin-bottom:.75em;padding-left:1.5em}ol{list-style-type:decimal;margin-bottom:.75em;padding-left:1.5em}dl{margin-bottom:.75em}dl dt{font-weight:700;margin-top:.75em}dl dd{margin:0}button,input[type=submit]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}*{-webkit-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;height:auto;max-height:100%;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html{font-size:100%}body{font-size:20px;font-size:1.25rem}h1,h2,h3,h4,h5,h6{clear:both;float:none;line-height:1.25em;margin-bottom:20px;text-transform:uppercase}h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:"";display:table;clear:both}h1 a,h1 a:visited,h2 a,h2 a:visited,h3 a,h3 a:visited,h4 a,h4 a:visited,h5 a,h5 a:visited,h6 a,h6 a:visited{text-decoration:none}h1 a:hover,h1 a:visited:hover,h2 a:hover,h2 a:visited:hover,h3 a:hover,h3 a:visited:hover,h4 a:hover,h4 a:visited:hover,h5 a:hover,h5 a:visited:hover,h6 a:hover,h6 a:visited:hover{text-decoration:underline}h1{font-size:75px;font-size:4.6875rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h2{font-size:50px;font-size:3.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h3{font-size:35px;font-size:2.1875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h4{font-size:24px;font-size:1.5rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h5{font-size:20px;font-size:1.25rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h6{font-size:18px;font-size:1.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}blockquote{background-color:#f9f9f9;border-left:solid 5px red;font-style:italic;padding:20px}cite{font-style:italic}b,strong{font-size:20px;font-size:1.25rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}a,a:visited{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:#666;text-decoration:none}a:hover,a:visited:hover{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:red}.entry-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center}#primary,#secondary{font-family:Georgia,Cambria,"Times New Roman",Times,serif}#submit{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}#submit:focus,#submit:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}#submit:hover{background-color:#555}.neat-button{background:#fff;border:5px solid #ccc;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-button:focus,.neat-button:hover{background:#f2f2f2;border:5px solid #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}.neat-3d-button{background:#fff;border-top:solid 3px #ccc;border-right:solid 3px #ccc;border-left:solid 3px #ccc;border-bottom:solid 5px #999;border-radius:0;clear:both;float:left;font-family:oswald;margin:15px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-3d-button:focus,.neat-3d-button:hover{background:#f2f2f2;border-top:solid 3px #999;border-right:solid 3px #999;border-left:solid 3px #999;border-bottom:solid 3px #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;margin:0;padding:8px}input[type=submit]:focus,input[type=submit]:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]:hover{background-color:#555;padding:8px}input#s{float:left;width:70%}body{color:#000;font-family:Georgia,Cambria,"Times New Roman",Times,serif;line-height:1.5em;word-break:break-word}#page{max-width:71.25em;margin-left:auto;margin-right:auto}#page:after{content:"";display:table;clear:both}#main{padding:0 50px}#primary{margin:auto;width:100%}#primary:after{content:"";display:table;clear:both}#primary ul{list-style:none}#primary ul li{list-style-type:square}#secondary{margin:20px auto;padding:0 30px 0 0;width:100%}.site-branding{text-align:center}.site-branding .site-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:40px}.site-branding .site-title a,.site-branding .site-title a:visited{line-height:1}.site-branding .site-description{padding:25px 0;font-size:20px;font-size:1.25rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-style:italic}.flexnav{overflow:hidden;margin:0 auto;width:100%;max-height:0;-webkit-transition:all .5s ease-in-out,width 0,height 0,top 0,left 0;transition:all .5s ease-in-out,width 0,height 0,top 0,left 0}.flexnav ul,.flexnav.opacity{padding-left:0}.flexnav.flexnav-show{max-height:2000px;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.flexnav.one-page{position:fixed;top:50px;right:5%;max-width:200px}.flexnav li{font-size:100%;position:relative;overflow:hidden}.flexnav li a{position:relative;display:block;padding:.8em;z-index:2;overflow:hidden;color:#fff;background:#000;border-bottom:1px solid rgba(0,0,0,.15);white-space:nowrap}.flexnav li a:hover{background:#fff;color:red!important}.flexnav li a:focus{background:#fff}.flexnav li ul{display:none;margin-bottom:0;padding-left:0;width:100%;z-index:5}.flexnav li ul li{font-size:100%;position:relative;overflow:hidden}.flexnav li ul.flexnav-show li{overflow:visible}.flexnav li ul li a{display:block;background:#333}.flexnav ul li ul li a{background:#666}.flexnav ul li ul li ul li a{background:#999}.flexnav .touch-button{position:absolute;z-index:999;top:0;right:0;width:50px;height:100%;display:inline-block;background:#acaca1;background:rgba(0,0,0,.075);text-align:center}.flexnav .touch-button:hover{cursor:pointer}.flexnav .touch-button .navicon{position:relative;top:1.4em;font-size:12px;color:#666}.menu-button{position:relative;display:block;padding:1em;background:#000;color:#fff;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.2);width:100%}.menu-button.one-page{position:fixed;top:0;right:5%;padding-right:45px}.menu-button .touch-button{background:0 0;position:absolute;z-index:999;top:0;right:0;width:50px;height:50px;display:none;text-align:center}.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666}.menu-button:hover,.menu-button:hover i.navicon{color:#fff}.menu-button:hover i.navicon:after{color:#fff;content:'Menu'}.menu-button i.navicon{display:block!important;position:relative;right:30px}.menu-button i.navicon:after{color:#555;content:'Menu'}.oldie body.one-page{padding-top:70px}.oldie .flexnav{overflow:visible}.oldie .flexnav.one-page{top:0;right:auto;max-width:1080px}.oldie .flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#000;width:20%;min-height:50px;overflow:visible}.oldie .flexnav li:hover>ul{display:block;width:100%;overflow:visible}.oldie .flexnav li:hover>ul li{width:100%;float:none}.oldie .flexnav li a{border-left:1px solid #acaca1;border-bottom:none;overflow:visible}.oldie .flexnav li>ul{background:#acaca1;position:absolute;top:auto;left:0;display:none;z-index:1;overflow:visible}.oldie .flexnav li ul li ul{top:0}.oldie .flexnav li ul li a{border-bottom:none}.oldie .flexnav li ul.open{display:block;width:100%;overflow:visible}.oldie .flexnav li ul.open li{width:100%}.oldie .flexnav li ul.open ul.open{margin-left:100%;top:0;display:block;width:100%;overflow:visible}.oldie .flexnav ul li:hover ul{margin-left:100%;top:0}.oldie .menu-button{display:none}.oldie.ie7 .flexnav li{width:19.9%}.site-main [class*=navigation]{float:left;margin:25px 0 1.5em;overflow:hidden}[class*=navigation] .nav-previous{float:left;margin-top:25px;width:50%}[class*=navigation] .nav-next{float:right;text-align:right;margin-top:25px;width:50%}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);display:none;float:left;left:0;position:absolute;top:1.5em;z-index:99999;background:#fff;padding:30px}#site-navigation{border-top:solid 5px #f3f3f3;border-bottom:solid 5px #f3f3f3}ul.nav-menu li{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#fff;padding:10px}ul.nav-menu li:hover{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#f3f3f3}.menu-main-menu-container li.current-menu-item{background-color:#f3f3f3;display:block}ul.nav-menu li.current_page_item{background:#f3f3f3}#primary-nav{float:left;max-width:100%;width:100%}.nav-links a:nth-of-type(2){float:right}.sticky{background:#f1f1f1}.bypostauthor,.gallery-caption{list-style:none}.hentry{margin:0 0 1.5em}.byline,.updated{display:none}.group-blog .byline,.single .byline{display:inline}.entry-content,.entry-summary,.page-content{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}.aligncenter{float:none;margin:.5em;margin-right:auto!important;margin-left:auto!important}.aligncenter:after{content:"";display:table;clear:both}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.sticky{float:left;padding:20px}#breadcrumbs{font-size:14px;font-size:.875rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;padding:20px 0 20px 50px}#breadcrumbs a,#breadcrumbs a:visited{border-bottom:solid 1px red}.comment-content img.wp-smiley,.entry-content img.wp-smiley,.page-content img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption{border:1px solid #ccc;clear:both;margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin:1.2% auto 0;max-width:98%}.wp-caption-text{text-align:center}.wp-caption .wp-caption-text{margin:.8075em 0}.site-main .gallery{margin-bottom:1.5em}.site-main .gallery a img{border:none;height:auto;max-width:90%}.site-main .gallery dd{margin:0}embed,iframe,object{max-width:100%}.comment-content a{word-wrap:break-word}.infinite-scroll .paging-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}#content .entry-content a,#content .entry-content a:visited,#content .entry-meta a,#content .entry-meta a:visited{border-bottom:solid 1px red}.page-template-page-templatestemplate-left-col-php h1.entry-title{margin:0;text-align:left}.page-template-page-templatestemplate-left-col-php #primary{float:right}.page-template-page-templatestemplate-left-col-php #secondary{float:left;margin-right:1.5%}.page-template-page-templatestemplate-left-col-php footer{clear:both;display:table}.page-template-page-templatestemplate-right-col-php h1.entry-title{margin:0;text-align:left}.page-template-page-templatestemplate-full-width-php #primary,.page-template-page-templatestemplate-full-width-php #secondary{width:100%}.archive .format-aside .entry-title,.blog .format-aside .entry-title{display:none}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.widget_search .search-submit{display:none}footer{float:left;margin:0 auto;padding:0 40px;width:100%}footer .site-info{margin:auto;width:100%}footer .footer-left{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:left}footer .footer-left:last-child{margin-right:0}footer .footer-right{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:right}footer .footer-right:last-child{margin-right:0}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.screen-reader-text:active,.screen-reader-text:focus,.screen-reader-text:hover{top:5px;left:5px;z-index:100000;clip:auto!important;display:block;width:auto;height:auto;padding:15px 23px 14px;font-weight:700;font-size:14px;text-decoration:none;line-height:normal;color:#21759b;background-color:#f1f1f1;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}@media screen and (min-width:200px){.entry-title{font-size:40px;font-size:2.5rem}#primary{float:left;display:block;margin-right:6.66667%;width:100%}#primary:last-child{margin-right:0}#secondary{float:left;display:block;margin-right:6.66667%;width:100%;padding:30px}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:35px;font-size:2.1875rem}.site-branding .site-description{font-size:15px;font-size:.9375rem}ul.nav-menu li{text-align:center;width:100%}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #primary{float:left}}@media screen and (min-width:200px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:200px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:480px){.entry-title{font-size:65px;font-size:4.0625rem}.site-branding .site-title{font-size:55px;font-size:3.4375rem}.site-branding .site-description{font-size:18px;font-size:1.125rem}}@media screen and (min-width:768px){.entry-title{font-size:100px;font-size:6.25rem}#primary{float:left;display:block;width:65.21739%;margin-right:0}#primary:last-child{margin-right:0}#secondary{float:left;display:block;width:30.43478%;margin-right:0}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:75px;font-size:4.6875rem}.site-branding .site-description{font-size:25px;font-size:1.5625rem}ul.nav-menu li{text-align:none;width:inherit}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #secondary{float:right;margin-right:1.5%}}@media screen and (min-width:768px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media screen and (min-width:768px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media all and (min-width:800px){body.one-page{padding-top:70px}.flexnav{overflow:visible}.flexnav.opacity{opacity:1}.flexnav.one-page{top:0;right:auto;max-width:1080px}.flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#000;overflow:visible;width:25%}.flexnav li a{border-bottom:1px solid #acaca1;border-left:1px solid #acaca1;border-right:1px solid #acaca1;border-top:1px solid #acaca1}.flexnav li>ul{position:absolute;top:auto;left:0}.flexnav li>ul li{width:100%}.flexnav li ul li>ul{margin-left:100%;top:0}.flexnav li ul li a{border-bottom:none}.flexnav li ul.open{display:block;opacity:1;visibility:visible;z-index:1}.flexnav li ul.open li{overflow:visible;max-height:100px}.flexnav li ul.open ul.open{margin-left:100%;top:0}.menu-button{display:none}} \ No newline at end of file +button,input[type=submit]{-webkit-font-smoothing:antialiased;background-color:#477DCA;border-radius:3px;color:#fff;display:inline-block;font-size:1em;font-weight:700;line-height:1;padding:.75em 1em;text-decoration:none}button:hover,input[type=submit]:hover{background-color:#2c5999;color:#fff}button:disabled,input[type=submit]:disabled{cursor:not-allowed;opacity:.5}body{-webkit-font-smoothing:antialiased;background-color:#fff}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:0;text-rendering:optimizeLegibility}p{margin:0 0 .75em}a:active,a:focus{color:#2c5999}hr{border-bottom:1px solid #DDD;border-left:none;border-right:none;border-top:none;margin:1.5em 0}img,picture{margin:0;max-width:100%}blockquote{color:#595959;margin:1.5em 0}cite{color:#737373}cite:before{content:"\2014 \00A0"}fieldset{background:#f7f7f7}input,label,select{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em}label{font-weight:700;margin-bottom:.375em}label.required:after{content:"*"}label abbr{display:none}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color;transition:border-color;background-color:#fff;border-radius:3px;border:1px solid #DDD;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06);box-shadow:inset 0 1px 3px rgba(0,0,0,.06);font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1em;margin-bottom:.75em;padding:.5em;width:100%}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#c4c4c4}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#477DCA;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(55,112,192,.7);outline:0}textarea{resize:vertical}input[type=search]{-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{display:inline;margin-right:.375em}input[type=file]{padding-bottom:.75em;width:100%}select{max-width:100%;width:auto}table{margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #b7b7b7;font-weight:700;padding:.75em 0;text-align:left}td{border-bottom:1px solid #DDD;padding:.75em 0}td,th,tr{vertical-align:middle}ol,ul{margin:0;padding:0}ul{list-style-type:disc;margin-bottom:.75em;padding-left:1.5em}ol{list-style-type:decimal;margin-bottom:.75em;padding-left:1.5em}dl{margin-bottom:.75em}dl dt{font-weight:700;margin-top:.75em}dl dd{margin:0}button,input[type=submit]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;height:auto;max-height:100%;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html{font-size:100%}body{font-size:20px;font-size:1.25rem}h1,h2,h3,h4,h5,h6{clear:both;float:none;line-height:1.25em;margin-bottom:20px;text-transform:uppercase}h1::after,h2::after,h3::after,h4::after,h5::after,h6::after{clear:both;content:"";display:table}h1 a,h1 a:visited,h2 a,h2 a:visited,h3 a,h3 a:visited,h4 a,h4 a:visited,h5 a,h5 a:visited,h6 a,h6 a:visited{text-decoration:none}h1 a:hover,h1 a:visited:hover,h2 a:hover,h2 a:visited:hover,h3 a:hover,h3 a:visited:hover,h4 a:hover,h4 a:visited:hover,h5 a:hover,h5 a:visited:hover,h6 a:hover,h6 a:visited:hover{text-decoration:underline}h1{font-size:75px;font-size:4.6875rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h2{font-size:50px;font-size:3.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h3{font-size:35px;font-size:2.1875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h4{font-size:24px;font-size:1.5rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h5{font-size:20px;font-size:1.25rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}h6{font-size:18px;font-size:1.125rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}blockquote{background-color:#f9f9f9;border-left:solid 5px red;font-style:italic;padding:20px}cite{font-style:italic}b,strong{font-size:20px;font-size:1.25rem;color:#000;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}a,a:visited{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:#666;text-decoration:none}a:hover,a:visited:hover{-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;color:red}.entry-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center}#primary,#secondary{font-family:Georgia,Cambria,"Times New Roman",Times,serif}#submit{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}#submit:focus,#submit:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}#submit:hover{background-color:#555}.neat-button{background:#fff;border:5px solid #ccc;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;margin:10px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-button:focus,.neat-button:hover{background:#f2f2f2;border:5px solid #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}.neat-3d-button{background:#fff;border-top:solid 3px #ccc;border-right:solid 3px #ccc;border-left:solid 3px #ccc;border-bottom:solid 5px #999;border-radius:0;clear:both;float:left;font-family:oswald;margin:15px 0;padding:20px;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.neat-3d-button:focus,.neat-3d-button:hover{background:#f2f2f2;border-top:solid 3px #999;border-right:solid 3px #999;border-left:solid 3px #999;border-bottom:solid 3px #999;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]{background:#000;border:5px solid #555;border-radius:0;-webkit-box-shadow:none;box-shadow:none;clear:both;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;margin:0;padding:8px}input[type=submit]:focus,input[type=submit]:hover{background:#000;border:5px solid #222;border-radius:0;-webkit-box-shadow:none;box-shadow:none;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:20px}input[type=submit]:hover{background-color:#555;padding:8px}input#s{float:left;width:70%}body{color:#000;font-family:Georgia,Cambria,"Times New Roman",Times,serif;line-height:1.5em;word-break:break-word}#page{max-width:71.25em;margin-left:auto;margin-right:auto}#page::after{clear:both;content:"";display:table}#main{padding:0 50px}#primary{margin:auto;width:100%}#primary::after{clear:both;content:"";display:table}#primary ul{list-style:none}#primary ul li{list-style-type:square}#secondary{margin:20px auto;padding:0 30px 0 0;width:100%}.site-branding{text-align:center}.site-branding .site-title{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;padding:40px}.site-branding .site-title a,.site-branding .site-title a:visited{line-height:1}.site-branding .site-description{padding:25px 0;font-size:20px;font-size:1.25rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-style:italic}.flexnav{overflow:hidden;margin:0 auto;width:100%;max-height:0;-webkit-transition:all .5s ease-in-out,width 0,height 0,top 0,left 0;transition:all .5s ease-in-out,width 0,height 0,top 0,left 0}.flexnav ul,.flexnav.opacity{padding-left:0}.flexnav.flexnav-show{max-height:2000px;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.flexnav.one-page{position:fixed;top:50px;right:5%;max-width:200px}.flexnav li{font-size:100%;position:relative;overflow:hidden}.flexnav li a{position:relative;display:block;padding:.8em;z-index:2;overflow:hidden;color:#fff;background:#000;border-bottom:1px solid rgba(0,0,0,.15);white-space:nowrap}.flexnav li a:hover{background:#fff;color:red!important}.flexnav li a:focus{background:#fff}.flexnav li ul{display:none;margin-bottom:0;padding-left:0;width:100%;z-index:5}.flexnav li ul li{font-size:100%;position:relative;overflow:hidden}.flexnav li ul li:last-child{border-bottom:1px solid #666}.flexnav li ul.flexnav-show li{overflow:visible}.flexnav li ul li a{display:block;background:#333}.flexnav ul li ul li a{background:#666}.flexnav ul li ul li ul li a{background:#999}.flexnav .touch-button{position:absolute;z-index:999;top:0;right:0;width:50px;height:100%;display:inline-block;background:#acaca1;background:rgba(0,0,0,.075);text-align:center}.flexnav .touch-button:hover{cursor:pointer}.flexnav .touch-button .navicon{position:relative;top:1.4em;font-size:12px;color:#666}.menu-button{position:relative;display:block;padding:1em;background:#000;color:#fff;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.2);width:100%}.menu-button.one-page{position:fixed;top:0;right:5%;padding-right:45px}.menu-button .touch-button{background:0 0;position:absolute;z-index:999;top:0;right:0;width:50px;height:50px;display:none;text-align:center}.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666}.menu-button:hover,.menu-button:hover i.navicon{color:#fff}.menu-button:hover i.navicon:after{color:#fff;content:'Menu'}.menu-button i.navicon{display:block!important;position:relative;right:30px}.menu-button i.navicon:after{color:#555;content:'Menu'}.oldie body.one-page{padding-top:70px}.oldie .flexnav{overflow:visible}.oldie .flexnav.one-page{top:0;right:auto;max-width:1080px}.oldie .flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#000;width:20%;min-height:50px;overflow:visible}.oldie .flexnav li:hover>ul{display:block;width:100%;overflow:visible}.oldie .flexnav li:hover>ul li{width:100%;float:none}.oldie .flexnav li a{border-left:1px solid #acaca1;border-bottom:none;overflow:visible}.oldie .flexnav li>ul{background:#acaca1;position:absolute;top:auto;left:0;display:none;z-index:1;overflow:visible}.oldie .flexnav li ul li ul{top:0}.oldie .flexnav li ul li a{border-bottom:none}.oldie .flexnav li ul.open{display:block;width:100%;overflow:visible}.oldie .flexnav li ul.open li{width:100%}.oldie .flexnav li ul.open ul.open{margin-left:100%;top:0;display:block;width:100%;overflow:visible}.oldie .flexnav ul li:hover ul{margin-left:100%;top:0}.oldie .menu-button{display:none}.oldie.ie7 .flexnav li{width:19.9%}.site-main [class*=navigation]{float:left;margin:25px 0 1.5em;overflow:hidden}[class*=navigation] .nav-previous{float:left;margin-top:25px;width:50%}[class*=navigation] .nav-next{float:right;text-align:right;margin-top:25px;width:50%}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);display:none;float:left;left:0;position:absolute;top:1.5em;z-index:99999;background:#fff;padding:30px}#site-navigation{border-top:solid 5px #f3f3f3;border-bottom:solid 5px #f3f3f3}ul.nav-menu li{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#fff;padding:10px}ul.nav-menu li:hover{-webkit-transition:background 200ms ease-in-out;transition:background 200ms ease-in-out;background:#f3f3f3}.menu-main-menu-container li.current-menu-item{background-color:#f3f3f3;display:block}ul.nav-menu li.current_page_item{background:#f3f3f3}#primary-nav{float:left;max-width:100%;width:100%}.nav-links a:nth-of-type(2){float:right}.sticky{background:#f1f1f1}.bypostauthor,.gallery-caption{list-style:none}.hentry{margin:0 0 1.5em}.byline,.updated{display:none}.group-blog .byline,.single .byline{display:inline}.entry-content,.entry-summary,.page-content{margin:1.5em 0 0}.page-links{clear:both;margin:0 0 1.5em}.aligncenter{float:none;margin:.5em;margin-right:auto!important;margin-left:auto!important}.aligncenter::after{clear:both;content:"";display:table}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.sticky{float:left;padding:20px}#breadcrumbs{font-size:14px;font-size:.875rem;font-family:Georgia,Cambria,"Times New Roman",Times,serif;padding:20px 0 20px 50px}#breadcrumbs a,#breadcrumbs a:visited{border-bottom:solid 1px red}.comment-content img.wp-smiley,.entry-content img.wp-smiley,.page-content img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption{border:1px solid #ccc;clear:both;margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin:1.2% auto 0;max-width:98%}.wp-caption-text{text-align:center}.wp-caption .wp-caption-text{margin:.8075em 0}.site-main .gallery{margin-bottom:1.5em}.site-main .gallery a img{border:none;height:auto;max-width:90%}.site-main .gallery dd{margin:0}embed,iframe,object{max-width:100%}.comment-content a{word-wrap:break-word}.infinite-scroll .paging-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}#content .entry-content a,#content .entry-content a:visited,#content .entry-meta a,#content .entry-meta a:visited{border-bottom:solid 1px red}.page-template-page-templatestemplate-left-col-php h1.entry-title{margin:0;text-align:left}.page-template-page-templatestemplate-left-col-php #primary{float:right}.page-template-page-templatestemplate-left-col-php #secondary{float:left;margin-right:1.5%}.page-template-page-templatestemplate-left-col-php footer{clear:both;display:table}.page-template-page-templatestemplate-right-col-php h1.entry-title{margin:0;text-align:left}.page-template-page-templatestemplate-full-width-php #primary,.page-template-page-templatestemplate-full-width-php #secondary{width:100%}.archive .format-aside .entry-title,.blog .format-aside .entry-title{display:none}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.widget_search .search-submit{display:none}footer{float:left;margin:0 auto;padding:0 40px;width:100%}footer .site-info{margin:auto;width:100%}footer .footer-left{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:left}footer .footer-left:last-child{margin-right:0}footer .footer-right{float:left;display:block;margin-right:2.12766%;width:48.93617%;margin-top:30px;margin-bottom:40px;padding:10px;text-align:right}footer .footer-right:last-child{margin-right:0}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.screen-reader-text:active,.screen-reader-text:focus,.screen-reader-text:hover{top:5px;left:5px;z-index:100000;clip:auto!important;display:block;width:auto;height:auto;padding:15px 23px 14px;font-weight:700;font-size:14px;text-decoration:none;line-height:normal;color:#21759b;background-color:#f1f1f1;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}@media screen and (min-width:200px){.entry-title{font-size:40px;font-size:2.5rem}#primary{float:left;display:block;margin-right:6.66667%;width:100%}#primary:last-child{margin-right:0}#secondary{float:left;display:block;margin-right:6.66667%;width:100%;padding:30px}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:35px;font-size:2.1875rem}.site-branding .site-description{font-size:15px;font-size:.9375rem}ul.nav-menu li{text-align:center;width:100%}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #primary{float:left}}@media screen and (min-width:200px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:200px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-right-col-php #primary:last-child{margin-right:0}}@media screen and (min-width:480px){.entry-title{font-size:65px;font-size:4.0625rem}.site-branding .site-title{font-size:55px;font-size:3.4375rem}.site-branding .site-description{font-size:18px;font-size:1.125rem}}@media screen and (min-width:768px){.entry-title{font-size:100px;font-size:6.25rem}#primary{float:left;display:block;width:65.21739%;margin-right:0}#primary:last-child{margin-right:0}#secondary{float:left;display:block;width:30.43478%;margin-right:0}#secondary:last-child{margin-right:0}.site-branding .site-title{font-size:75px;font-size:4.6875rem}.site-branding .site-description{font-size:25px;font-size:1.5625rem}ul.nav-menu li{text-align:none;width:inherit}.page-template-page-templatestemplate-left-col-php #primary{float:left;display:block;margin-right:4.34783%;width:65.21739%}.page-template-page-templatestemplate-left-col-php #primary:last-child{margin-right:0}.page-template-page-templatestemplate-left-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-left-col-php #secondary:last-child{margin-right:0}.page-template-page-templatestemplate-right-col-php #secondary{float:right;margin-right:1.5%}}@media screen and (min-width:768px) and (min-width:200px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:6.66667%;width:100%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media screen and (min-width:768px) and (min-width:768px){.page-template-page-templatestemplate-right-col-php #secondary{float:left;display:block;margin-right:4.34783%;width:30.43478%}.page-template-page-templatestemplate-right-col-php #secondary:last-child{margin-right:0}}@media all and (min-width:800px){body.one-page{padding-top:70px}.flexnav{overflow:visible}.flexnav.opacity{opacity:1}.flexnav.one-page{top:0;right:auto;max-width:1080px}.flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#000;overflow:visible;width:25%}.flexnav li a{border-bottom:1px solid #acaca1;border-left:1px solid #acaca1;border-right:1px solid #acaca1;border-top:1px solid #acaca1}.flexnav li>ul{position:absolute;top:auto;left:0}.flexnav li>ul li{width:100%}.flexnav li ul li>ul{margin-left:100%;top:0}.flexnav li ul li a{border-bottom:none}.flexnav li ul.open{display:block;opacity:1;visibility:visible;z-index:1}.flexnav li ul.open li{overflow:visible;max-height:100px}.flexnav li ul.open ul.open{margin-left:100%;top:0}.menu-button{display:none}} \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css index 12472d2d..2bfce225 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -54,7 +54,7 @@ and Blueprint http://www.blueprintcss.org/ button, input[type="submit"] { -webkit-font-smoothing: antialiased; - background-color: #477dca; + background-color: #477DCA; border-radius: 3px; color: white; display: inline-block; @@ -78,8 +78,8 @@ input[type="submit"]:disabled { body { -webkit-font-smoothing: antialiased; background-color: white; - color: #333333; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + color: #333; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; line-height: 1.5; } @@ -90,7 +90,7 @@ h3, h4, h5, h6 { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; line-height: 1.25; margin: 0; text-rendering: optimizeLegibility; @@ -127,7 +127,7 @@ p { a { -webkit-transition: color 0.1s linear; transition: color 0.1s linear; - color: #477dca; + color: #477DCA; text-decoration: none; } a:hover { @@ -139,7 +139,7 @@ a:active, a:focus { } hr { - border-bottom: 1px solid #dddddd; + border-bottom: 1px solid #DDD; border-left: none; border-right: none; border-top: none; @@ -153,7 +153,7 @@ picture { } blockquote { - border-left: 2px solid #dddddd; + border-left: 2px solid #DDD; color: #595959; margin: 1.5em 0; padding-left: 0.75em; @@ -169,7 +169,7 @@ cite:before { fieldset { background: #f7f7f7; - border: 1px solid #dddddd; + border: 1px solid #DDD; margin: 0 0 0.75em 0; padding: 1.5em; } @@ -178,7 +178,7 @@ input, label, select { display: block; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; } @@ -202,10 +202,10 @@ select[multiple=multiple] { transition: border-color; background-color: white; border-radius: 3px; - border: 1px solid #dddddd; + border: 1px solid #DDD; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; font-size: 1em; margin-bottom: 0.75em; padding: 0.5em 0.5em; @@ -219,7 +219,7 @@ select[multiple=multiple]:hover { textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { - border-color: #477dca; + border-color: #477DCA; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7); outline: none; @@ -269,7 +269,7 @@ th { } td { - border-bottom: 1px solid #dddddd; + border-bottom: 1px solid #DDD; padding: 0.75em 0; } @@ -324,11 +324,16 @@ input[type="submit"] { white-space: nowrap; } -* { +html { -webkit-box-sizing: border-box; box-sizing: border-box; } +*, *:before, *:after { + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + /*-------------------------------------------------------------- 2.0 Normalize/Reset --------------------------------------------------------------*/ @@ -743,10 +748,10 @@ h1, h2, h3, h4, h5, h6 { margin-bottom: 20px; text-transform: uppercase; } -h1:after, h2:after, h3:after, h4:after, h5:after, h6:after { +h1::after, h2::after, h3::after, h4::after, h5::after, h6::after { + clear: both; content: ""; display: table; - clear: both; } h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited { text-decoration: none; @@ -759,42 +764,42 @@ h1 { font-size: 75px; font-size: 4.6875rem; color: #000; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h2 { font-size: 50px; font-size: 3.125rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h3 { font-size: 35px; font-size: 2.1875rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h4 { font-size: 24px; font-size: 1.5rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h5 { font-size: 20px; font-size: 1.25rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } h6 { font-size: 18px; font-size: 1.125rem; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } blockquote { background-color: #f9f9f9; - border-left: solid 5px red; + border-left: solid 5px #ff0000; font-style: italic; padding: 20px; } @@ -807,7 +812,7 @@ strong, b { font-size: 20px; font-size: 1.25rem; color: #000; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; } a, a:visited { @@ -819,11 +824,11 @@ a, a:visited { a:hover, a:visited:hover { -webkit-transition: all 200ms ease-in-out; transition: all 200ms ease-in-out; - color: red; + color: #ff0000; } .entry-title { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; text-align: center; } @media screen and (min-width: 200px) { @@ -847,20 +852,20 @@ a:hover, a:visited:hover { #primary, #secondary { - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; } /*-------------------------------------------------------------- 5.0 Components/Add-ons --------------------------------------------------------------*/ #submit { - background: black; - border: solid 5px #555555; + background: #000; + border: solid 5px #555; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -872,7 +877,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } #submit:hover { @@ -881,7 +886,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } #submit:hover { @@ -889,13 +894,13 @@ a:hover, a:visited:hover { } .neat-button { - background: white; - border: solid 5px #cccccc; + background: #ffffff; + border: solid 5px #ccc; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -907,7 +912,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-button:hover { @@ -916,15 +921,15 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-3d-button { - background: white; - border-top: solid 3px #cccccc; - border-right: solid 3px #cccccc; - border-left: solid 3px #cccccc; + background: #ffffff; + border-top: solid 3px #ccc; + border-right: solid 3px #ccc; + border-left: solid 3px #ccc; border-bottom: solid 5px #999; border-radius: 0; clear: both; @@ -944,7 +949,7 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } .neat-3d-button:hover { @@ -956,18 +961,18 @@ a:hover, a:visited:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"] { - background: black; - border: solid 5px #555555; + background: #000; + border: solid 5px #555; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; clear: both; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; margin: 10px 0; padding: 20px; -webkit-transition: all 200ms ease-in-out; @@ -981,7 +986,7 @@ input[type="submit"]:focus { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"]:hover { @@ -990,7 +995,7 @@ input[type="submit"]:hover { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 20px; } input[type="submit"]:hover { @@ -1010,7 +1015,7 @@ input#s { -------------------------------------------------------------- */ body { color: #000; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; line-height: 1.5em; word-break: break-word; } @@ -1020,10 +1025,10 @@ body { margin-left: auto; margin-right: auto; } -#page:after { +#page::after { + clear: both; content: ""; display: table; - clear: both; } #main { @@ -1034,10 +1039,10 @@ body { margin: auto; width: 100%; } -#primary:after { +#primary::after { + clear: both; content: ""; display: table; - clear: both; } @media screen and (min-width: 200px) { #primary { @@ -1106,7 +1111,7 @@ body { text-align: center; } .site-branding .site-title { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; padding: 40px; } @media screen and (min-width: 200px) { @@ -1134,7 +1139,7 @@ body { padding: 25px 0; font-size: 20px; font-size: 1.25rem; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; font-style: italic; } @media screen and (min-width: 200px) { @@ -1196,14 +1201,14 @@ body { padding: .80em; z-index: 2; overflow: hidden; - color: white; - background: black; + color: #fff; + background: #000; border-bottom: 1px solid rgba(0, 0, 0, 0.15); white-space: nowrap; } .flexnav li a:hover { background: #fff; - color: red !important; + color: #ff0000 !important; } .flexnav li a:focus { background: #fff; @@ -1220,18 +1225,21 @@ body { position: relative; overflow: hidden; } +.flexnav li ul li:last-child { + border-bottom: 1px solid #666; +} .flexnav li ul.flexnav-show li { overflow: visible; } .flexnav li ul li a { display: block; - background: #333333; + background: #333; } .flexnav ul li ul li a { - background: #666666; + background: #666; } .flexnav ul li ul li ul li a { - background: #999999; + background: #999; } .flexnav .touch-button { position: absolute; @@ -1259,8 +1267,8 @@ body { position: relative; display: block; padding: 1em; - background: black; - color: white; + background: #000; + color: #fff; cursor: pointer; border-bottom: 1px solid rgba(0, 0, 0, 0.2); width: 100%; @@ -1330,7 +1338,7 @@ body { list-style: none; float: left; display: block; - background-color: black; + background-color: #000; overflow: visible; width: 25%; } @@ -1390,7 +1398,7 @@ body { list-style: none; float: left; display: block; - background-color: black; + background-color: #000; width: 20%; min-height: 50px; overflow: visible; @@ -1581,10 +1589,10 @@ ul.nav-menu li.current_page_item { margin-bottom: .5em; margin-left: auto !important; } -.aligncenter:after { +.aligncenter::after { + clear: both; content: ""; display: table; - clear: both; } .alignleft { @@ -1609,11 +1617,11 @@ ul.nav-menu li.current_page_item { #breadcrumbs { font-size: 14px; font-size: 0.875rem; - font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif; padding: 20px 0 20px 50px; } #breadcrumbs a, #breadcrumbs a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } /* =Media @@ -1690,10 +1698,10 @@ object { } #content .entry-content a, #content .entry-content a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } #content .entry-meta a, #content .entry-meta a:visited { - border-bottom: solid 1px red; + border-bottom: solid 1px #ff0000; } /*-------------------------------------------------------------- diff --git a/assets/js/production-min.js b/assets/js/production-min.js index 47ea8611..6f693fe5 100644 --- a/assets/js/production-min.js +++ b/assets/js/production-min.js @@ -1 +1 @@ -!function(){var e,t,n;if(e=document.getElementById("site-navigation"),e&&(t=e.getElementsByTagName("h1")[0],"undefined"!=typeof t)){if(n=e.getElementsByTagName("ul")[0],"undefined"==typeof n)return t.style.display="none",void 0;-1===n.className.indexOf("nav-menu")&&(n.className+=" nav-menu"),t.onclick=function(){-1!==e.className.indexOf("toggled")?e.className=e.className.replace(" toggled",""):e.className+=" toggled"}}}(),function(){var e=navigator.userAgent.toLowerCase().indexOf("webkit")>-1,t=navigator.userAgent.toLowerCase().indexOf("opera")>-1,n=navigator.userAgent.toLowerCase().indexOf("msie")>-1;if((e||t||n)&&"undefined"!=typeof document.getElementById){var o=window.addEventListener?"addEventListener":"attachEvent";window[o]("hashchange",function(){var e=document.getElementById(location.hash.substring(1));e&&(/^(?:a|select|input|button|textarea)$/i.test(e.tagName)||(e.tabIndex=-1),e.focus())},!1)}}(),function(){var e;e=jQuery,e.fn.flexNav=function(t){var n,o,r,i,a,s,c,l,u,d,f,h;return u=e.extend({animationSpeed:250,transitionOpacity:!0,buttonSelector:".menu-button",hoverIntent:!1,hoverIntentTimeout:150,calcItemWidths:!1,hover:!0},t),n=e(this),n.addClass("with-js"),u.transitionOpacity===!0&&n.addClass("opacity"),n.find("li").each(function(){return e(this).has("ul").length?e(this).addClass("item-with-ul").find("ul").hide():void 0}),u.calcItemWidths===!0&&(o=n.find(">li"),i=o.length,s=100/i,a=s+"%"),n.data("breakpoint")&&(r=n.data("breakpoint")),d=function(){return n.hasClass("lg-screen")===!0&&u.hover===!0?u.transitionOpacity===!0?e(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},u.animationSpeed):e(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},u.animationSpeed):void 0},c=function(){return n.hasClass("lg-screen")===!0&&e(this).find(">ul").hasClass("flexnav-show")===!0&&u.hover===!0?u.transitionOpacity===!0?e(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},u.animationSpeed):e(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},u.animationSpeed):void 0},l=function(){var t;if(e(window).width()<=r)return n.removeClass("lg-screen").addClass("sm-screen"),u.calcItemWidths===!0&&o.css("width","100%"),t=u.buttonSelector+", "+u.buttonSelector+" .touch-button",e(t).removeClass("active"),e(".one-page li a").on("click",function(){return n.removeClass("flexnav-show")});if(e(window).width()>r){if(n.removeClass("sm-screen").addClass("lg-screen"),u.calcItemWidths===!0&&o.css("width",a),n.removeClass("flexnav-show").find(".item-with-ul").on(),e(".item-with-ul").find("ul").removeClass("flexnav-show"),c(),u.hoverIntent===!0)return e(".item-with-ul").hoverIntent({over:d,out:c,timeout:u.hoverIntentTimeout});if(u.hoverIntent===!1)return e(".item-with-ul").on("mouseenter",d).on("mouseleave",c)}},e(u.buttonSelector).data("navEl",n),h=".item-with-ul, "+u.buttonSelector,e(h).append(''),f=u.buttonSelector+", "+u.buttonSelector+" .touch-button",e(f).on("click",function(t){var n,o,r;return e(f).toggleClass("active"),t.preventDefault(),t.stopPropagation(),r=u.buttonSelector,n=e(this).is(r)?e(this):e(this).parent(r),o=n.data("navEl"),o.toggleClass("flexnav-show")}),e(".touch-button").on("click",function(){var t,o;return t=e(this).parent(".item-with-ul").find(">ul"),o=e(this).parent(".item-with-ul").find(">span.touch-button"),n.hasClass("lg-screen")===!0&&e(this).parent(".item-with-ul").siblings().find("ul.flexnav-show").removeClass("flexnav-show").hide(),t.hasClass("flexnav-show")===!0?(t.removeClass("flexnav-show").slideUp(u.animationSpeed),o.removeClass("active")):t.hasClass("flexnav-show")===!1?(t.addClass("flexnav-show").slideDown(u.animationSpeed),o.addClass("active")):void 0}),n.find(".item-with-ul *").focus(function(){return e(this).parent(".item-with-ul").parent().find(".open").not(this).removeClass("open").hide(),e(this).parent(".item-with-ul").find(">ul").addClass("open").show()}),l(),e(window).on("resize",l)}}.call(this),function(e){e.fn.hoverIntent=function(t,n,o){var r={interval:100,sensitivity:7,timeout:0};r="object"==typeof t?e.extend(r,t):e.isFunction(n)?e.extend(r,{over:t,out:n,selector:o}):e.extend(r,{over:t,out:t,selector:n});var i,a,s,c,l=function(e){i=e.pageX,a=e.pageY},u=function(t,n){return n.hoverIntent_t=clearTimeout(n.hoverIntent_t),Math.abs(s-i)+Math.abs(c-a)o;o++)O[n[o]]=n[o]in w;return O.list&&(O.list=!!t.createElement("datalist")&&!!e.HTMLDataListElement),O}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),p.inputtypes=function(e){for(var o,r,i,a=0,s=e.length;s>a;a++)w.setAttribute("type",r=e[a]),o="text"!==w.type,o&&(w.value=x,w.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(r)&&w.style.WebkitAppearance!==n?(v.appendChild(w),i=t.defaultView,o=i.getComputedStyle&&"textfield"!==i.getComputedStyle(w,null).WebkitAppearance&&0!==w.offsetHeight,v.removeChild(w)):/^(search|tel)$/.test(r)||(o=/^(url|email)$/.test(r)?w.checkValidity&&w.checkValidity()===!1:w.value!=x)),N[e[a]]=!!o;return N}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d,f,h="2.7.1",p={},m=!0,v=t.documentElement,g="modernizr",y=t.createElement(g),b=y.style,w=t.createElement("input"),x=":)",C={}.toString,E=" -webkit- -moz- -o- -ms- ".split(" "),S="Webkit Moz O ms",k=S.split(" "),I=S.toLowerCase().split(" "),T={svg:"http://www.w3.org/2000/svg"},j={},N={},O={},P=[],L=P.slice,M=function(e,n,o,r){var i,a,s,c,l=t.createElement("div"),u=t.body,d=u||t.createElement("body");if(parseInt(o,10))for(;o--;)s=t.createElement("div"),s.id=r?r[o]:g+(o+1),l.appendChild(s);return i=["­",'"].join(""),l.id=g,(u?l:d).innerHTML+=i,d.appendChild(l),u||(d.style.background="",d.style.overflow="hidden",c=v.style.overflow,v.style.overflow="hidden",v.appendChild(d)),a=n(l,e),u?l.parentNode.removeChild(l):(d.parentNode.removeChild(d),v.style.overflow=c),!!a},A=function(){function e(e,r){r=r||t.createElement(o[e]||"div"),e="on"+e;var a=e in r;return a||(r.setAttribute||(r=t.createElement("div")),r.setAttribute&&r.removeAttribute&&(r.setAttribute(e,""),a=i(r[e],"function"),i(r[e],"undefined")||(r[e]=n),r.removeAttribute(e))),r=null,a}var o={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),_={}.hasOwnProperty;f=i(_,"undefined")||i(_.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototype[t],"undefined")}:function(e,t){return _.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=L.call(arguments,1),o=function(){if(this instanceof o){var r=function(){};r.prototype=t.prototype;var i=new r,a=t.apply(i,n.concat(L.call(arguments)));return Object(a)===a?a:i}return t.apply(e,n.concat(L.call(arguments)))};return o}),j.flexbox=function(){return l("flexWrap")},j.flexboxlegacy=function(){return l("boxDirection")},j.canvas=function(){var e=t.createElement("canvas");return!!e.getContext&&!!e.getContext("2d")},j.canvastext=function(){return!!p.canvas&&!!i(t.createElement("canvas").getContext("2d").fillText,"function")},j.webgl=function(){return!!e.WebGLRenderingContext},j.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:M(["@media (",E.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},j.geolocation=function(){return"geolocation"in navigator},j.postmessage=function(){return!!e.postMessage},j.websqldatabase=function(){return!!e.openDatabase},j.indexedDB=function(){return!!l("indexedDB",e)},j.hashchange=function(){return A("hashchange",e)&&(t.documentMode===n||t.documentMode>7)},j.history=function(){return!!e.history&&!!history.pushState},j.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},j.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},j.rgba=function(){return o("background-color:rgba(150,255,150,.5)"),a(b.backgroundColor,"rgba")},j.hsla=function(){return o("background-color:hsla(120,40%,100%,.5)"),a(b.backgroundColor,"rgba")||a(b.backgroundColor,"hsla")},j.multiplebgs=function(){return o("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(b.background)},j.backgroundsize=function(){return l("backgroundSize")},j.borderimage=function(){return l("borderImage")},j.borderradius=function(){return l("borderRadius")},j.boxshadow=function(){return l("boxShadow")},j.textshadow=function(){return""===t.createElement("div").style.textShadow},j.opacity=function(){return r("opacity:.55"),/^0.55$/.test(b.opacity)},j.cssanimations=function(){return l("animationName")},j.csscolumns=function(){return l("columnCount")},j.cssgradients=function(){var e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, white);";return o((e+"-webkit- ".split(" ").join(t+e)+E.join(n+e)).slice(0,-e.length)),a(b.backgroundImage,"gradient")},j.cssreflections=function(){return l("boxReflect")},j.csstransforms=function(){return!!l("transform")},j.csstransforms3d=function(){var e=!!l("perspective");return e&&"webkitPerspective"in v.style&&M("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){e=9===t.offsetLeft&&3===t.offsetHeight}),e},j.csstransitions=function(){return l("transition")},j.fontface=function(){var e;return M('@font-face {font-family:"font";src:url("https://")}',function(n,o){var r=t.getElementById("smodernizr"),i=r.sheet||r.styleSheet,a=i?i.cssRules&&i.cssRules[0]?i.cssRules[0].cssText:i.cssText||"":"";e=/src/i.test(a)&&0===a.indexOf(o.split(" ")[0])}),e},j.generatedcontent=function(){var e;return M(["#",g,"{font:0/0 a}#",g,':after{content:"',x,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){e=t.offsetHeight>=3}),e},j.video=function(){var e=t.createElement("video"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(o){}return n},j.audio=function(){var e=t.createElement("audio"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=e.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=e.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(e.canPlayType("audio/x-m4a;")||e.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(o){}return n},j.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(e){return!1}},j.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(e){return!1}},j.webworkers=function(){return!!e.Worker},j.applicationcache=function(){return!!e.applicationCache},j.svg=function(){return!!t.createElementNS&&!!t.createElementNS(T.svg,"svg").createSVGRect},j.inlinesvg=function(){var e=t.createElement("div");return e.innerHTML="",(e.firstChild&&e.firstChild.namespaceURI)==T.svg},j.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(C.call(t.createElementNS(T.svg,"animate")))},j.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(C.call(t.createElementNS(T.svg,"clipPath")))};for(var D in j)f(j,D)&&(d=D.toLowerCase(),p[d]=j[D](),P.push((p[d]?"":"no-")+d));return p.input||u(),p.addTest=function(e,t){if("object"==typeof e)for(var o in e)f(e,o)&&p.addTest(o,e[o]);else{if(e=e.toLowerCase(),p[e]!==n)return p;t="function"==typeof t?t():t,"undefined"!=typeof m&&m&&(v.className+=" "+(t?"":"no-")+e),p[e]=t}return p},o(""),y=w=null,function(e,t){function n(e,t){var n=e.createElement("p"),o=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",o.insertBefore(n.lastChild,o.firstChild)}function o(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t=g[e[m]];return t||(t={},v++,e[m]=v,g[v]=t),t}function i(e,n,o){if(n||(n=t),u)return n.createElement(e);o||(o=r(n));var i;return i=o.cache[e]?o.cache[e].cloneNode():p.test(e)?(o.cache[e]=o.createElem(e)).cloneNode():o.createElem(e),!i.canHaveChildren||h.test(e)||i.tagUrn?i:o.frag.appendChild(i)}function a(e,n){if(e||(e=t),u)return e.createDocumentFragment();n=n||r(e);for(var i=n.frag.cloneNode(),a=0,s=o(),c=s.length;c>a;a++)i.createElement(s[a]);return i}function s(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?i(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+o().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function c(e){e||(e=t);var o=r(e);return y.shivCSS&&!l&&!o.hasCSS&&(o.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),u||s(e,o),e}var l,u,d="3.7.0",f=e.html5||{},h=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,m="_html5shiv",v=0,g={};!function(){try{var e=t.createElement("a");e.innerHTML="",l="hidden"in e,u=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){l=!0,u=!0}}();var y={elements:f.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:d,shivCSS:f.shivCSS!==!1,supportsUnknownElements:u,shivMethods:f.shivMethods!==!1,type:"default",shivDocument:c,createElement:i,createDocumentFragment:a};e.html5=y,c(t)}(this,t),p._version=h,p._prefixes=E,p._domPrefixes=I,p._cssomPrefixes=k,p.hasEvent=A,p.testProp=function(e){return s([e])},p.testAllProps=l,p.testStyles=M,v.className=v.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(m?" js "+P.join(" "):""),p}(this,this.document),function(e,t,n){function o(e){return"[object Function]"==v.call(e)}function r(e){return"string"==typeof e}function i(){}function a(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function s(){var e=g.shift();y=1,e?e.t?p(function(){("c"==e.t?f.injectCss:f.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),s()):y=0}function c(e,n,o,r,i,c,l){function u(t){if(!h&&a(d.readyState)&&(b.r=h=1,!y&&s(),d.onload=d.onreadystatechange=null,t)){"img"!=e&&p(function(){x.removeChild(d)},50);for(var o in I[n])I[n].hasOwnProperty(o)&&I[n][o].onload()}}var l=l||f.errorTimeout,d=t.createElement(e),h=0,v=0,b={t:o,s:n,e:i,a:c,x:l};1===I[n]&&(v=1,I[n]=[]),"object"==e?d.data=n:(d.src=n,d.type=e),d.width=d.height="0",d.onerror=d.onload=d.onreadystatechange=function(){u.call(this,v)},g.splice(r,0,b),"img"!=e&&(v||2===I[n]?(x.insertBefore(d,w?null:m),p(u,l)):I[n].push(d))}function l(e,t,n,o,i){return y=0,t=t||"j",r(e)?c("c"==t?E:C,e,t,this.i++,n,o,i):(g.splice(this.i++,0,e),1==g.length&&s()),this}function u(){var e=f;return e.loader={load:l,i:0},e}var d,f,h=t.documentElement,p=e.setTimeout,m=t.getElementsByTagName("script")[0],v={}.toString,g=[],y=0,b="MozAppearance"in h.style,w=b&&!!t.createRange().compareNode,x=w?h:m.parentNode,h=e.opera&&"[object Opera]"==v.call(e.opera),h=!!t.attachEvent&&!h,C=b?"object":h?"script":"img",E=h?"script":C,S=Array.isArray||function(e){return"[object Array]"==v.call(e)},k=[],I={},T={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};f=function(e){function t(e){var t,n,o,e=e.split("!"),r=k.length,i=e.pop(),a=e.length,i={url:i,origUrl:i,prefixes:e};for(n=0;a>n;n++)o=e[n].split("="),(t=T[o.shift()])&&(i=t(i,o));for(n=0;r>n;n++)i=k[n](i);return i}function a(e,r,i,a,s){var c=t(e),l=c.autoCallback;c.url.split(".").pop().split("?").shift(),c.bypass||(r&&(r=o(r)?r:r[e]||r[a]||r[e.split("/").pop().split("?")[0]]),c.instead?c.instead(e,r,i,a,s):(I[c.url]?c.noexec=!0:I[c.url]=1,i.load(c.url,c.forceCSS||!c.forceJS&&"css"==c.url.split(".").pop().split("?").shift()?"c":n,c.noexec,c.attrs,c.timeout),(o(r)||o(l))&&i.load(function(){u(),r&&r(c.origUrl,s,a),l&&l(c.origUrl,s,a),I[c.url]=2})))}function s(e,t){function n(e,n){if(e){if(r(e))n||(d=function(){var e=[].slice.call(arguments);f.apply(this,e),h()}),a(e,d,t,0,l);else if(Object(e)===e)for(c in s=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(c)&&(!n&&!--s&&(o(d)?d=function(){var e=[].slice.call(arguments);f.apply(this,e),h()}:d[c]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),h()}}(f[c])),a(e[c],d,t,c,l))}else!n&&h()}var s,c,l=!!e.test,u=e.load||e.both,d=e.callback||i,f=d,h=e.complete||i;n(l?e.yep:e.nope,!!u),u&&n(u)}var c,l,d=this.yepnope.loader;if(r(e))a(e,0,d,0);else if(S(e))for(c=0;c-1,t=navigator.userAgent.toLowerCase().indexOf("opera")>-1,n=navigator.userAgent.toLowerCase().indexOf("msie")>-1;if((e||t||n)&&"undefined"!=typeof document.getElementById){var o=window.addEventListener?"addEventListener":"attachEvent";window[o]("hashchange",function(){var e=document.getElementById(location.hash.substring(1));e&&(/^(?:a|select|input|button|textarea)$/i.test(e.tagName)||(e.tabIndex=-1),e.focus())},!1)}}(),function(e){return}(this),window.Modernizr=function(e,t,n){function o(e){b.cssText=e}function r(e,t){return o(E.join(e+";")+(t||""))}function i(e,t){return typeof e===t}function a(e,t){return!!~(""+e).indexOf(t)}function s(e,t){for(var o in e){var r=e[o];if(!a(r,"-")&&b[r]!==n)return"pfx"==t?r:!0}return!1}function c(e,t,o){for(var r in e){var a=t[e[r]];if(a!==n)return o===!1?e[r]:i(a,"function")?a.bind(o||t):a}return!1}function u(e,t,n){var o=e.charAt(0).toUpperCase()+e.slice(1),r=(e+" "+I.join(o+" ")+o).split(" ");return i(t,"string")||i(t,"undefined")?s(r,t):(r=(e+" "+k.join(o+" ")+o).split(" "),c(r,t,n))}function l(){m.input=function(n){for(var o=0,r=n.length;r>o;o++)M[n[o]]=!!(n[o]in w);return M.list&&(M.list=!(!t.createElement("datalist")||!e.HTMLDataListElement)),M}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),m.inputtypes=function(e){for(var o,r,i,a=0,s=e.length;s>a;a++)w.setAttribute("type",r=e[a]),o="text"!==w.type,o&&(w.value=x,w.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(r)&&w.style.WebkitAppearance!==n?(v.appendChild(w),i=t.defaultView,o=i.getComputedStyle&&"textfield"!==i.getComputedStyle(w,null).WebkitAppearance&&0!==w.offsetHeight,v.removeChild(w)):/^(search|tel)$/.test(r)||(o=/^(url|email)$/.test(r)?w.checkValidity&&w.checkValidity()===!1:w.value!=x)),j[e[a]]=!!o;return j}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d,f,h="2.8.2",m={},p=!0,v=t.documentElement,g="modernizr",y=t.createElement(g),b=y.style,w=t.createElement("input"),x=":)",C={}.toString,E=" -webkit- -moz- -o- -ms- ".split(" "),S="Webkit Moz O ms",I=S.split(" "),k=S.toLowerCase().split(" "),T={svg:"http://www.w3.org/2000/svg"},N={},j={},M={},P=[],_=P.slice,$=function(e,n,o,r){var i,a,s,c,u=t.createElement("div"),l=t.body,d=l||t.createElement("body");if(parseInt(o,10))for(;o--;)s=t.createElement("div"),s.id=r?r[o]:g+(o+1),u.appendChild(s);return i=["­",'"].join(""),u.id=g,(l?u:d).innerHTML+=i,d.appendChild(u),l||(d.style.background="",d.style.overflow="hidden",c=v.style.overflow,v.style.overflow="hidden",v.appendChild(d)),a=n(u,e),l?u.parentNode.removeChild(u):(d.parentNode.removeChild(d),v.style.overflow=c),!!a},D=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var o;return $("@media "+t+" { #"+g+" { position: absolute; } }",function(t){o="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),o},L=function(){function e(e,r){r=r||t.createElement(o[e]||"div"),e="on"+e;var a=e in r;return a||(r.setAttribute||(r=t.createElement("div")),r.setAttribute&&r.removeAttribute&&(r.setAttribute(e,""),a=i(r[e],"function"),i(r[e],"undefined")||(r[e]=n),r.removeAttribute(e))),r=null,a}var o={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),A={}.hasOwnProperty;f=i(A,"undefined")||i(A.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototype[t],"undefined")}:function(e,t){return A.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=_.call(arguments,1),o=function(){if(this instanceof o){var r=function(){};r.prototype=t.prototype;var i=new r,a=t.apply(i,n.concat(_.call(arguments)));return Object(a)===a?a:i}return t.apply(e,n.concat(_.call(arguments)))};return o}),N.flexbox=function(){return u("flexWrap")},N.flexboxlegacy=function(){return u("boxDirection")},N.canvas=function(){var e=t.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))},N.canvastext=function(){return!(!m.canvas||!i(t.createElement("canvas").getContext("2d").fillText,"function"))},N.webgl=function(){return!!e.WebGLRenderingContext},N.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:$(["@media (",E.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},N.geolocation=function(){return"geolocation"in navigator},N.postmessage=function(){return!!e.postMessage},N.websqldatabase=function(){return!!e.openDatabase},N.indexedDB=function(){return!!u("indexedDB",e)},N.hashchange=function(){return L("hashchange",e)&&(t.documentMode===n||t.documentMode>7)},N.history=function(){return!(!e.history||!history.pushState)},N.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},N.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},N.rgba=function(){return o("background-color:rgba(150,255,150,.5)"),a(b.backgroundColor,"rgba")},N.hsla=function(){return o("background-color:hsla(120,40%,100%,.5)"),a(b.backgroundColor,"rgba")||a(b.backgroundColor,"hsla")},N.multiplebgs=function(){return o("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(b.background)},N.backgroundsize=function(){return u("backgroundSize")},N.borderimage=function(){return u("borderImage")},N.borderradius=function(){return u("borderRadius")},N.boxshadow=function(){return u("boxShadow")},N.textshadow=function(){return""===t.createElement("div").style.textShadow},N.opacity=function(){return r("opacity:.55"),/^0.55$/.test(b.opacity)},N.cssanimations=function(){return u("animationName")},N.csscolumns=function(){return u("columnCount")},N.cssgradients=function(){var e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, white);";return o((e+"-webkit- ".split(" ").join(t+e)+E.join(n+e)).slice(0,-e.length)),a(b.backgroundImage,"gradient")},N.cssreflections=function(){return u("boxReflect")},N.csstransforms=function(){return!!u("transform")},N.csstransforms3d=function(){var e=!!u("perspective");return e&&"webkitPerspective"in v.style&&$("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){e=9===t.offsetLeft&&3===t.offsetHeight}),e},N.csstransitions=function(){return u("transition")},N.fontface=function(){var e;return $('@font-face {font-family:"font";src:url("https://")}',function(n,o){var r=t.getElementById("smodernizr"),i=r.sheet||r.styleSheet,a=i?i.cssRules&&i.cssRules[0]?i.cssRules[0].cssText:i.cssText||"":"";e=/src/i.test(a)&&0===a.indexOf(o.split(" ")[0])}),e},N.generatedcontent=function(){var e;return $(["#",g,"{font:0/0 a}#",g,':after{content:"',x,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){e=t.offsetHeight>=3}),e},N.video=function(){var e=t.createElement("video"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(o){}return n},N.audio=function(){var e=t.createElement("audio"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=e.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=e.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(e.canPlayType("audio/x-m4a;")||e.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(o){}return n},N.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(e){return!1}},N.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(e){return!1}},N.webworkers=function(){return!!e.Worker},N.applicationcache=function(){return!!e.applicationCache},N.svg=function(){return!!t.createElementNS&&!!t.createElementNS(T.svg,"svg").createSVGRect},N.inlinesvg=function(){var e=t.createElement("div");return e.innerHTML="",(e.firstChild&&e.firstChild.namespaceURI)==T.svg},N.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(C.call(t.createElementNS(T.svg,"animate")))},N.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(C.call(t.createElementNS(T.svg,"clipPath")))};for(var F in N)f(N,F)&&(d=F.toLowerCase(),m[d]=N[F](),P.push((m[d]?"":"no-")+d));return m.input||l(),m.addTest=function(e,t){if("object"==typeof e)for(var o in e)f(e,o)&&m.addTest(o,e[o]);else{if(e=e.toLowerCase(),m[e]!==n)return m;t="function"==typeof t?t():t,"undefined"!=typeof p&&p&&(v.className+=" "+(t?"":"no-")+e),m[e]=t}return m},o(""),y=w=null,function(e,t){function n(e,t){var n=e.createElement("p"),o=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",o.insertBefore(n.lastChild,o.firstChild)}function o(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t=g[e[p]];return t||(t={},v++,e[p]=v,g[v]=t),t}function i(e,n,o){if(n||(n=t),l)return n.createElement(e);o||(o=r(n));var i;return i=o.cache[e]?o.cache[e].cloneNode():m.test(e)?(o.cache[e]=o.createElem(e)).cloneNode():o.createElem(e),!i.canHaveChildren||h.test(e)||i.tagUrn?i:o.frag.appendChild(i)}function a(e,n){if(e||(e=t),l)return e.createDocumentFragment();n=n||r(e);for(var i=n.frag.cloneNode(),a=0,s=o(),c=s.length;c>a;a++)i.createElement(s[a]);return i}function s(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?i(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+o().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function c(e){e||(e=t);var o=r(e);return!y.shivCSS||u||o.hasCSS||(o.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||s(e,o),e}var u,l,d="3.7.0",f=e.html5||{},h=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,m=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",v=0,g={};!function(){try{var e=t.createElement("a");e.innerHTML="",u="hidden"in e,l=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){u=!0,l=!0}}();var y={elements:f.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:d,shivCSS:f.shivCSS!==!1,supportsUnknownElements:l,shivMethods:f.shivMethods!==!1,type:"default",shivDocument:c,createElement:i,createDocumentFragment:a};e.html5=y,c(t)}(this,t),m._version=h,m._prefixes=E,m._domPrefixes=k,m._cssomPrefixes=I,m.mq=D,m.hasEvent=L,m.testProp=function(e){return s([e])},m.testAllProps=u,m.testStyles=$,m.prefixed=function(e,t,n){return t?u(e,t,n):u(e,"pfx")},v.className=v.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+P.join(" "):""),m}(this,this.document),function(e){e.fn.hoverIntent=function(t,n,o){var r={interval:100,sensitivity:6,timeout:0};r="object"==typeof t?e.extend(r,t):e.isFunction(n)?e.extend(r,{over:t,out:n,selector:o}):e.extend(r,{over:t,out:t,selector:n});var i,a,s,c,u=function(e){i=e.pageX,a=e.pageY},l=function(t,n){return n.hoverIntent_t=clearTimeout(n.hoverIntent_t),Math.sqrt((s-i)*(s-i)+(c-a)*(c-a))li"),i=o.length,s=100/i,a=s+"%"),n.data("breakpoint")&&(r=n.data("breakpoint")),d=function(){return n.hasClass("lg-screen")===!0&&l.hover===!0?l.transitionOpacity===!0?e(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},l.animationSpeed):e(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},l.animationSpeed):void 0},c=function(){return n.hasClass("lg-screen")===!0&&e(this).find(">ul").hasClass("flexnav-show")===!0&&l.hover===!0?l.transitionOpacity===!0?e(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},l.animationSpeed):e(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},l.animationSpeed):void 0},u=function(){var t;if(e(window).width()<=r)return n.removeClass("lg-screen").addClass("sm-screen"),l.calcItemWidths===!0&&o.css("width","100%"),t=l.buttonSelector+", "+l.buttonSelector+" .touch-button",e(t).removeClass("active"),e(".one-page li a").on("click",function(){return n.removeClass("flexnav-show")});if(e(window).width()>r){if(n.removeClass("sm-screen").addClass("lg-screen"),l.calcItemWidths===!0&&o.css("width",a),n.removeClass("flexnav-show").find(".item-with-ul").on(),e(".item-with-ul").find("ul").removeClass("flexnav-show"),c(),l.hoverIntent===!0)return e(".item-with-ul").hoverIntent({over:d,out:c,timeout:l.hoverIntentTimeout});if(l.hoverIntent===!1)return e(".item-with-ul").on("mouseenter",d).on("mouseleave",c)}},e(l.buttonSelector).data("navEl",n),h=".item-with-ul, "+l.buttonSelector,e(h).append(''),f=l.buttonSelector+", "+l.buttonSelector+" .touch-button",e(f).on("click",function(t){var n,o,r;return e(f).toggleClass("active"),t.preventDefault(),t.stopPropagation(),r=l.buttonSelector,n=e(this).is(r)?e(this):e(this).parent(r),o=n.data("navEl"),o.toggleClass("flexnav-show")}),e(".touch-button").on("click",function(){var t,o;return t=e(this).parent(".item-with-ul").find(">ul"),o=e(this).parent(".item-with-ul").find(">span.touch-button"),n.hasClass("lg-screen")===!0&&e(this).parent(".item-with-ul").siblings().find("ul.flexnav-show").removeClass("flexnav-show").hide(),t.hasClass("flexnav-show")===!0?(t.removeClass("flexnav-show").slideUp(l.animationSpeed),o.removeClass("active")):t.hasClass("flexnav-show")===!1?(t.addClass("flexnav-show").slideDown(l.animationSpeed),o.addClass("active")):void 0}),n.find(".item-with-ul *").focus(function(){return e(this).parent(".item-with-ul").parent().find(".open").not(this).removeClass("open").hide(),e(this).parent(".item-with-ul").find(">ul").addClass("open").show()}),u(),e(window).on("resize",u)}}.call(this); \ No newline at end of file diff --git a/assets/js/production.js b/assets/js/production.js index 8a06b9d6..2fb73d4c 100644 --- a/assets/js/production.js +++ b/assets/js/production.js @@ -13,51 +13,2135 @@ button = container.getElementsByTagName( 'h1' )[0]; if ( 'undefined' === typeof button ) return; - + menu = container.getElementsByTagName( 'ul' )[0]; - // Hide menu toggle button if menu is empty and return early. - if ( 'undefined' === typeof menu ) { - button.style.display = 'none'; - return; - } + // Hide menu toggle button if menu is empty and return early. + if ( 'undefined' === typeof menu ) { + button.style.display = 'none'; + return; + } + + if ( -1 === menu.className.indexOf( 'nav-menu' ) ) + menu.className += ' nav-menu'; + + button.onclick = function() { + if ( -1 !== container.className.indexOf( 'toggled' ) ) + container.className = container.className.replace( ' toggled', '' ); + else + container.className += ' toggled'; + }; +} )(); + +( function() { + var is_webkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1, + is_opera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1, + is_ie = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1; + + if ( ( is_webkit || is_opera || is_ie ) && 'undefined' !== typeof( document.getElementById ) ) { + var eventMethod = ( window.addEventListener ) ? 'addEventListener' : 'attachEvent'; + window[ eventMethod ]( 'hashchange', function() { + var element = document.getElementById( location.hash.substring( 1 ) ); + + if ( element ) { + if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) + element.tabIndex = -1; + + element.focus(); + } + }, false ); + } +})(); + +/* +selectivizr v1.0.2b - (c) Keith Clark, freely distributable under the terms +of the MIT license. + +selectivizr.com +*/ +/* + +Notes about this source +----------------------- + + * The #DEBUG_START and #DEBUG_END comments are used to mark blocks of code + that will be removed prior to building a final release version (using a + pre-compression script) + + +References: +----------- + + * CSS Syntax : http://www.w3.org/TR/2003/WD-css3-syntax-20030813/#style + * Selectors : http://www.w3.org/TR/css3-selectors/#selectors + * IE Compatability : http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx + * W3C Selector Tests : http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/tests/ + +*/ + +(function(win) { + + // If browser isn't IE, then stop execution! This handles the script + // being loaded by non IE browsers because the developer didn't use + // conditional comments. + if (/*@cc_on!@*/true) return; + + // =========================== Init Objects ============================ + + var doc = document; + var root = doc.documentElement; + var xhr = getXHRObject(); + var ieVersion = /MSIE (\d+)/.exec(navigator.userAgent)[1]; + + // If were not in standards mode, IE is too old / new or we can't create + // an XMLHttpRequest object then we should get out now. + if (doc.compatMode != 'CSS1Compat' || ieVersion<6 || ieVersion>8 || !xhr) { + return; + } + + + // ========================= Common Objects ============================ + + // Compatiable selector engines in order of CSS3 support. Note: '*' is + // a placholder for the object key name. (basically, crude compression) + var selectorEngines = { + "NW" : "*.Dom.select", + "MooTools" : "$$", + "DOMAssistant" : "*.$", + "Prototype" : "$$", + "YAHOO" : "*.util.Selector.query", + "Sizzle" : "*", + "jQuery" : "*", + "dojo" : "*.query" + }; + + var selectorMethod; + var enabledWatchers = []; // array of :enabled/:disabled elements to poll + var ie6PatchID = 0; // used to solve ie6's multiple class bug + var patchIE6MultipleClasses = true; // if true adds class bloat to ie6 + var namespace = "slvzr"; + + // Stylesheet parsing regexp's + var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g; + var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g; + var RE_ASSET_URL = /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g; + var RE_PSEUDO_STRUCTURAL = /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/; + var RE_PSEUDO_ELEMENTS = /:(:first-(?:line|letter))/g; + var RE_SELECTOR_GROUP = /(^|})\s*([^\{]*?[\[:][^{]+)/g; + var RE_SELECTOR_PARSE = /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; + var RE_LIBRARY_INCOMPATIBLE_PSEUDOS = /(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g; + var RE_PATCH_CLASS_NAME_REPLACE = /[^\w-]/g; + + // HTML UI element regexp's + var RE_INPUT_ELEMENTS = /^(INPUT|SELECT|TEXTAREA|BUTTON)$/; + var RE_INPUT_CHECKABLE_TYPES = /^(checkbox|radio)$/; + + // Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""]) + var BROKEN_ATTR_IMPLEMENTATIONS = ieVersion>6 ? /[\$\^*]=(['"])\1/ : null; + + // Whitespace normalization regexp's + var RE_TIDY_TRAILING_WHITESPACE = /([(\[+~])\s+/g; + var RE_TIDY_LEADING_WHITESPACE = /\s+([)\]+~])/g; + var RE_TIDY_CONSECUTIVE_WHITESPACE = /\s+/g; + var RE_TIDY_TRIM_WHITESPACE = /^\s*((?:[\S\s]*\S)?)\s*$/; + + // String constants + var EMPTY_STRING = ""; + var SPACE_STRING = " "; + var PLACEHOLDER_STRING = "$1"; + + // =========================== Patching ================================ + + // --[ patchStyleSheet() ]---------------------------------------------- + // Scans the passed cssText for selectors that require emulation and + // creates one or more patches for each matched selector. + function patchStyleSheet( cssText ) { + return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING). + replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) { + var selectorGroups = selectorText.split(","); + for (var c = 0, cs = selectorGroups.length; c < cs; c++) { + var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING; + var patches = []; + selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE, + function(match, combinator, pseudo, attribute, index) { + if (combinator) { + if (patches.length>0) { + applyPatches( selector.substring(0, index), patches ); + patches = []; + } + return combinator; + } + else { + var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute ); + if (patch) { + patches.push(patch); + return "." + patch.className; + } + return match; + } + } + ); + } + return prefix + selectorGroups.join(","); + }); + }; + + // --[ patchAttribute() ]----------------------------------------------- + // returns a patch for an attribute selector. + function patchAttribute( attr ) { + return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ? + { className: createClassName(attr), applyClass: true } : null; + }; + + // --[ patchPseudoClass() ]--------------------------------------------- + // returns a patch for a pseudo-class + function patchPseudoClass( pseudo ) { + + var applyClass = true; + var className = createClassName(pseudo.slice(1)); + var isNegated = pseudo.substring(0, 5) == ":not("; + var activateEventName; + var deactivateEventName; + + // if negated, remove :not() + if (isNegated) { + pseudo = pseudo.slice(5, -1); + } + + // bracket contents are irrelevant - remove them + var bracketIndex = pseudo.indexOf("(") + if (bracketIndex > -1) { + pseudo = pseudo.substring(0, bracketIndex); + } + + // check we're still dealing with a pseudo-class + if (pseudo.charAt(0) == ":") { + switch (pseudo.slice(1)) { + + case "root": + applyClass = function(e) { + return isNegated ? e != root : e == root; + } + break; + + case "target": + // :target is only supported in IE8 + if (ieVersion == 8) { + applyClass = function(e) { + var handler = function() { + var hash = location.hash; + var hashID = hash.slice(1); + return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID); + }; + addEvent( win, "hashchange", function() { + toggleElementClass(e, className, handler()); + }) + return handler(); + } + break; + } + return false; + + case "checked": + applyClass = function(e) { + if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) { + addEvent( e, "propertychange", function() { + if (event.propertyName == "checked") { + toggleElementClass( e, className, e.checked !== isNegated ); + } + }) + } + return e.checked !== isNegated; + } + break; + + case "disabled": + isNegated = !isNegated; + + case "enabled": + applyClass = function(e) { + if (RE_INPUT_ELEMENTS.test(e.tagName)) { + addEvent( e, "propertychange", function() { + if (event.propertyName == "$disabled") { + toggleElementClass( e, className, e.$disabled === isNegated ); + } + }); + enabledWatchers.push(e); + e.$disabled = e.disabled; + return e.disabled === isNegated; + } + return pseudo == ":enabled" ? isNegated : !isNegated; + } + break; + + case "focus": + activateEventName = "focus"; + deactivateEventName = "blur"; + + case "hover": + if (!activateEventName) { + activateEventName = "mouseenter"; + deactivateEventName = "mouseleave"; + } + applyClass = function(e) { + addEvent( e, isNegated ? deactivateEventName : activateEventName, function() { + toggleElementClass( e, className, true ); + }) + addEvent( e, isNegated ? activateEventName : deactivateEventName, function() { + toggleElementClass( e, className, false ); + }) + return isNegated; + } + break; + + // everything else + default: + // If we don't support this pseudo-class don't create + // a patch for it + if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) { + return false; + } + break; + } + } + return { className: className, applyClass: applyClass }; + }; + + // --[ applyPatches() ]------------------------------------------------- + // uses the passed selector text to find DOM nodes and patch them + function applyPatches(selectorText, patches) { + var elms; + + // Although some selector libraries can find :checked :enabled etc. + // we need to find all elements that could have that state because + // it can be changed by the user. + var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING); + + // If the dom selector equates to an empty string or ends with + // whitespace then we need to append a universal selector (*) to it. + if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) { + domSelectorText += "*"; + } + + // Ensure we catch errors from the selector library + try { + elms = selectorMethod( domSelectorText ); + } catch (ex) { + // #DEBUG_START + log( "Selector '" + selectorText + "' threw exception '" + ex + "'" ); + // #DEBUG_END + } + + + if (elms) { + for (var d = 0, dl = elms.length; d < dl; d++) { + var elm = elms[d]; + var cssClasses = elm.className; + for (var f = 0, fl = patches.length; f < fl; f++) { + var patch = patches[f]; + + if (!hasPatch(elm, patch)) { + if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) { + cssClasses = toggleClass(cssClasses, patch.className, true ); + } + } + } + elm.className = cssClasses; + } + } + }; + + // --[ hasPatch() ]----------------------------------------------------- + // checks for the exsistence of a patch on an element + function hasPatch( elm, patch ) { + return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className); + }; + + + // =========================== Utility ================================= + + function createClassName( className ) { + return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ? + ie6PatchID++ + : + className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) })); + }; + + // --[ log() ]---------------------------------------------------------- + // #DEBUG_START + function log( message ) { + if (win.console) { + win.console.log(message); + } + }; + // #DEBUG_END + + // --[ trim() ]--------------------------------------------------------- + // removes leading, trailing whitespace from a string + function trim( text ) { + return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING); + }; + + // --[ normalizeWhitespace() ]------------------------------------------ + // removes leading, trailing and consecutive whitespace from a string + function normalizeWhitespace( text ) { + return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING); + }; + + // --[ normalizeSelectorWhitespace() ]---------------------------------- + // tidies whitespace around selector brackets and combinators + function normalizeSelectorWhitespace( selectorText ) { + return normalizeWhitespace(selectorText. + replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING). + replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING) + ); + }; + + // --[ toggleElementClass() ]------------------------------------------- + // toggles a single className on an element + function toggleElementClass( elm, className, on ) { + var oldClassName = elm.className; + var newClassName = toggleClass(oldClassName, className, on); + if (newClassName != oldClassName) { + elm.className = newClassName; + elm.parentNode.className += EMPTY_STRING; + } + }; + + // --[ toggleClass() ]-------------------------------------------------- + // adds / removes a className from a string of classNames. Used to + // manage multiple class changes without forcing a DOM redraw + function toggleClass( classList, className, on ) { + var re = RegExp("(^|\\s)" + className + "(\\s|$)"); + var classExists = re.test(classList); + if (on) { + return classExists ? classList : classList + SPACE_STRING + className; + } else { + return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList; + } + }; + + // --[ addEvent() ]----------------------------------------------------- + function addEvent(elm, eventName, eventHandler) { + elm.attachEvent("on" + eventName, eventHandler); + }; + + // --[ getXHRObject() ]------------------------------------------------- + function getXHRObject() + { + if (win.XMLHttpRequest) { + return new XMLHttpRequest; + } + try { + return new ActiveXObject('Microsoft.XMLHTTP'); + } catch(e) { + return null; + } + }; + + // --[ loadStyleSheet() ]----------------------------------------------- + function loadStyleSheet( url ) { + xhr.open("GET", url, false); + xhr.send(); + return (xhr.status==200) ? xhr.responseText : EMPTY_STRING; + }; + + // --[ resolveUrl() ]--------------------------------------------------- + // Converts a URL fragment to a fully qualified URL using the specified + // context URL. Returns null if same-origin policy is broken + function resolveUrl( url, contextUrl ) { + + function getProtocolAndHost( url ) { + return url.substring(0, url.indexOf("/", 8)); + }; + + // absolute path + if (/^https?:\/\//i.test(url)) { + return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null; + } + + // root-relative path + if (url.charAt(0)=="/") { + return getProtocolAndHost(contextUrl) + url; + } + + // relative path + var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl + if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") { + contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1); + } + + return contextUrlPath + url; + }; + + // --[ parseStyleSheet() ]---------------------------------------------- + // Downloads the stylesheet specified by the URL, removes it's comments + // and recursivly replaces @import rules with their contents, ultimately + // returning the full cssText. + function parseStyleSheet( url ) { + if (url) { + return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING). + replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) { + return parseStyleSheet(resolveUrl(importUrl || importUrl2, url)); + }). + replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) { + quoteChar = quoteChar || EMPTY_STRING; + return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") "; + }); + } + return EMPTY_STRING; + }; + + // --[ init() ]--------------------------------------------------------- + function init() { + // honour the tag + var url, stylesheet; + var baseTags = doc.getElementsByTagName("BASE"); + var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href; + + /* Note: This code prevents IE from freezing / crashing when using + @font-face .eot files but it modifies the tag and could + trigger the IE stylesheet limit. It will also cause FOUC issues. + If you choose to use it, make sure you comment out the for loop + directly below this comment. + + var head = doc.getElementsByTagName("head")[0]; + for (var c=doc.styleSheets.length-1; c>=0; c--) { + stylesheet = doc.styleSheets[c] + head.appendChild(doc.createElement("style")) + var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1]; + + if (stylesheet.href != EMPTY_STRING) { + url = resolveUrl(stylesheet.href, baseUrl) + if (url) { + patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ) + stylesheet.disabled = true + setTimeout( function () { + stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement) + }) + } + } + } + */ + + for (var c = 0; c < doc.styleSheets.length; c++) { + stylesheet = doc.styleSheets[c] + if (stylesheet.href != EMPTY_STRING) { + url = resolveUrl(stylesheet.href, baseUrl); + if (url) { + stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ); + } + } + } + + // :enabled & :disabled polling script (since we can't hook + // onpropertychange event when an element is disabled) + if (enabledWatchers.length > 0) { + setInterval( function() { + for (var c = 0, cl = enabledWatchers.length; c < cl; c++) { + var e = enabledWatchers[c]; + if (e.disabled !== e.$disabled) { + if (e.disabled) { + e.disabled = false; + e.$disabled = true; + e.disabled = true; + } + else { + e.$disabled = e.disabled; + } + } + } + },250) + } + }; + + // Bind selectivizr to the ContentLoaded event. + ContentLoaded(win, function() { + // Determine the "best fit" selector engine + for (var engine in selectorEngines) { + var members, member, context = win; + if (win[engine]) { + members = selectorEngines[engine].replace("*", engine).split("."); + while ((member = members.shift()) && (context = context[member])) {} + if (typeof context == "function") { + selectorMethod = context; + init(); + return; + } + } + } + }); + + + /*! + * ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space) + * + * Author: Diego Perini (diego.perini at gmail.com) + * Summary: cross-browser wrapper for DOMContentLoaded + * Updated: 20101020 + * License: MIT + * Version: 1.2 + * + * URL: + * http://javascript.nwbox.com/ContentLoaded/ + * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE + * + */ + + // @w window reference + // @f function reference + function ContentLoaded(win, fn) { + + var done = false, top = true, + init = function(e) { + if (e.type == "readystatechange" && doc.readyState != "complete") return; + (e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }, + poll = function() { + try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == "complete") fn.call(win, EMPTY_STRING); + else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + addEvent(doc,"readystatechange", init); + addEvent(win,"load", init); + } + }; +})(this); +/*! + * Modernizr v2.8.2 + * www.modernizr.com + * + * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton + * Available under the BSD and MIT licenses: www.modernizr.com/license/ + */ + +/* + * Modernizr tests which native CSS3 and HTML5 features are available in + * the current UA and makes the results available to you in two ways: + * as properties on a global Modernizr object, and as classes on the + * element. This information allows you to progressively enhance + * your pages with a granular level of control over the experience. + * + * Modernizr has an optional (not included) conditional resource loader + * called Modernizr.load(), based on Yepnope.js (yepnopejs.com). + * To get a build that includes Modernizr.load(), as well as choosing + * which tests to include, go to www.modernizr.com/download/ + * + * Authors Faruk Ates, Paul Irish, Alex Sexton + * Contributors Ryan Seddon, Ben Alman + */ + +window.Modernizr = (function( window, document, undefined ) { + + var version = '2.8.2', + + Modernizr = {}, + + /*>>cssclasses*/ + // option for enabling the HTML classes to be added + enableClasses = true, + /*>>cssclasses*/ + + docElement = document.documentElement, + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement(mod), + mStyle = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ , + + /*>>smile*/ + smile = ':)', + /*>>smile*/ + + toString = {}.toString, + + // TODO :: make the prefixes more granular + /*>>prefixes*/ + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- '.split(' '), + /*>>prefixes*/ + + /*>>domprefixes*/ + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+ + // erik.eae.net/archives/2008/03/10/21.48.10/ + + // More here: github.com/Modernizr/Modernizr/issues/issue/21 + omPrefixes = 'Webkit Moz O ms', + + cssomPrefixes = omPrefixes.split(' '), + + domPrefixes = omPrefixes.toLowerCase().split(' '), + /*>>domprefixes*/ + + /*>>ns*/ + ns = {'svg': 'http://www.w3.org/2000/svg'}, + /*>>ns*/ + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + slice = classes.slice, + + featureName, // used in testing loop + + + /*>>teststyles*/ + // Inject element with style element and some CSS rules + injectElementWithStyles = function( rule, callback, nodes, testnames ) { + + var style, ret, node, docOverflow, + div = document.createElement('div'), + // After page load injecting a fake body doesn't work so check if body exists + body = document.body, + // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it. + fakeBody = body || document.createElement('body'); + + if ( parseInt(nodes, 10) ) { + // In order not to give false positives we create a node for each test + // This also allows the method to scale for unspecified uses + while ( nodes-- ) { + node = document.createElement('div'); + node.id = testnames ? testnames[nodes] : mod + (nodes + 1); + div.appendChild(node); + } + } + + // '].join(''); + div.id = mod; + // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody. + // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270 + (body ? div : fakeBody).innerHTML += style; + fakeBody.appendChild(div); + if ( !body ) { + //avoid crashing IE8, if background image is used + fakeBody.style.background = ''; + //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible + fakeBody.style.overflow = 'hidden'; + docOverflow = docElement.style.overflow; + docElement.style.overflow = 'hidden'; + docElement.appendChild(fakeBody); + } + + ret = callback(div, rule); + // If this is done after page load we don't want to remove the body so check if body exists + if ( !body ) { + fakeBody.parentNode.removeChild(fakeBody); + docElement.style.overflow = docOverflow; + } else { + div.parentNode.removeChild(div); + } + + return !!ret; + + }, + /*>>teststyles*/ + + /*>>mq*/ + // adapted from matchMedia polyfill + // by Scott Jehl and Paul Irish + // gist.github.com/786768 + testMediaQuery = function( mq ) { + + var matchMedia = window.matchMedia || window.msMatchMedia; + if ( matchMedia ) { + return matchMedia(mq) && matchMedia(mq).matches || false; + } + + var bool; + + injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) { + bool = (window.getComputedStyle ? + getComputedStyle(node, null) : + node.currentStyle)['position'] == 'absolute'; + }); + + return bool; + + }, + /*>>mq*/ + + + /*>>hasevent*/ + // + // isEventSupported determines if a given element supports the given event + // kangax.github.com/iseventsupported/ + // + // The following results are known incorrects: + // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative + // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333 + // ... + isEventSupported = (function() { + + var TAGNAMES = { + 'select': 'input', 'change': 'input', + 'submit': 'form', 'reset': 'form', + 'error': 'img', 'load': 'img', 'abort': 'img' + }; + + function isEventSupported( eventName, element ) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = eventName in element; + + if ( !isSupported ) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if ( !element.setAttribute ) { + element = document.createElement('div'); + } + if ( element.setAttribute && element.removeAttribute ) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if ( !is(element[eventName], 'undefined') ) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(), + /*>>hasevent*/ + + // TODO :: Add flag for hasownprop ? didn't last time + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp; + + if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) { + hasOwnProp = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], 'undefined')); + }; + } + + // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js + // es5.github.com/#x15.3.4.5 + + if (!Function.prototype.bind) { + Function.prototype.bind = function bind(that) { + + var target = this; + + if (typeof target != "function") { + throw new TypeError(); + } + + var args = slice.call(arguments, 1), + bound = function () { + + if (this instanceof bound) { + + var F = function(){}; + F.prototype = target.prototype; + var self = new F(); + + var result = target.apply( + self, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return self; + + } else { + + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + + } + + }; + + return bound; + }; + } + + /** + * setCss applies given styles to the Modernizr DOM node. + */ + function setCss( str ) { + mStyle.cssText = str; + } + + /** + * setCssAll extrapolates all vendor-specific css strings. + */ + function setCssAll( str1, str2 ) { + return setCss(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return !!~('' + str).indexOf(substr); + } + + /*>>testprop*/ + + // testProps is a generic CSS / DOM property test. + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + // Because the testing of the CSS property names (with "-", as + // opposed to the camelCase DOM properties) is non-portable and + // non-standard but works in WebKit and IE (but not Gecko or Opera), + // we explicitly reject properties with dashes so that authors + // developing in WebKit or IE first don't end up with + // browser-specific content by accident. + + function testProps( props, prefixed ) { + for ( var i in props ) { + var prop = props[i]; + if ( !contains(prop, "-") && mStyle[prop] !== undefined ) { + return prefixed == 'pfx' ? prop : true; + } + } + return false; + } + /*>>testprop*/ + + // TODO :: add testDOMProps + /** + * testDOMProps is a generic DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + */ + function testDOMProps( props, obj, elem ) { + for ( var i in props ) { + var item = obj[props[i]]; + if ( item !== undefined) { + + // return the property name as a string + if (elem === false) return props[i]; + + // let's bind a function + if (is(item, 'function')){ + // default to autobind unless override + return item.bind(elem || obj); + } + + // return the unbound function or obj or value + return item; + } + } + return false; + } + + /*>>testallprops*/ + /** + * testPropsAll tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function testPropsAll( prop, prefixed, elem ) { + + var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), + props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' '); + + // did they call .prefixed('boxSizing') or are we just testing a prop? + if(is(prefixed, "string") || is(prefixed, "undefined")) { + return testProps(props, prefixed); + + // otherwise, they called .prefixed('requestAnimationFrame', window[, elem]) + } else { + props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' '); + return testDOMProps(props, prefixed, elem); + } + } + /*>>testallprops*/ + + + /** + * Tests + * ----- + */ + + // The *new* flexbox + // dev.w3.org/csswg/css3-flexbox + + tests['flexbox'] = function() { + return testPropsAll('flexWrap'); + }; + + // The *old* flexbox + // www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + + tests['flexboxlegacy'] = function() { + return testPropsAll('boxDirection'); + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // so we actually have to call getContext() to verify + // github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement('canvas'); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function')); + }; + + // webk.it/70117 is tracking a legit WebGL feature detect proposal + + // We do a soft detect which may false positive in order to avoid + // an expensive context creation: bugzil.la/732441 + + tests['webgl'] = function() { + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + var bool; + + if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) { + bool = true; + } else { + injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) { + bool = node.offsetTop === 9; + }); + } + + return bool; + }; + + + // geolocation is often considered a trivial feature detect... + // Turns out, it's quite tricky to get right: + // + // Using !!navigator.geolocation does two things we don't want. It: + // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513 + // 2. Disables page caching in WebKit: webk.it/43956 + // + // Meanwhile, in Firefox < 8, an about:config setting could expose + // a false positive that would throw an exception: bugzil.la/688158 + + tests['geolocation'] = function() { + return 'geolocation' in navigator; + }; + + + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + + // Chrome incognito mode used to throw an exception when using openDatabase + // It doesn't anymore. + tests['websqldatabase'] = function() { + return !!window.openDatabase; + }; + + // Vendors had inconsistent prefixing with the experimental Indexed DB: + // - Webkit's implementation is accessible through webkitIndexedDB + // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB + // For speed, we don't test the legacy (and beta-only) indexedDB + tests['indexedDB'] = function() { + return !!testPropsAll("indexedDB", window); + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + var div = document.createElement('div'); + return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div); + }; + + // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10 + // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17. + // FF10 still uses prefixes, so check for it until then. + // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/ + tests['websockets'] = function() { + return 'WebSocket' in window || 'MozWebSocket' in window; + }; + + + // css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + setCss('background-color:rgba(150,255,150,.5)'); + + return contains(mStyle.backgroundColor, 'rgba'); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + setCss('background-color:hsla(120,40%,100%,.5)'); + + return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla'); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + setCss('background:url(https://),url(https://),red url(https://)'); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elemStyle.background + + return (/(url\s*\(.*?){3}/).test(mStyle.background); + }; + + + + // this will false positive in Opera Mini + // github.com/Modernizr/Modernizr/issues/396 + + tests['backgroundsize'] = function() { + return testPropsAll('backgroundSize'); + }; + + tests['borderimage'] = function() { + return testPropsAll('borderImage'); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return testPropsAll('borderRadius'); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return testPropsAll('boxShadow'); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function() { + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + setCssAll('opacity:.55'); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return (/^0.55$/).test(mStyle.opacity); + }; + + + // Note, Android < 4 will pass this test, but can only animate + // a single property at a time + // goo.gl/v3V4Gp + tests['cssanimations'] = function() { + return testPropsAll('animationName'); + }; + + + tests['csscolumns'] = function() { + return testPropsAll('columnCount'); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * webkit.org/blog/175/introducing-css-gradients/ + * developer.mozilla.org/en/CSS/-moz-linear-gradient + * developer.mozilla.org/en/CSS/-moz-radial-gradient + * dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + setCss( + // legacy webkit syntax (FIXME: remove when syntax not in use anymore) + (str1 + '-webkit- '.split(' ').join(str2 + str1) + + // standard syntax // trailing 'background-image:' + prefixes.join(str3 + str1)).slice(0, -str1.length) + ); + + return contains(mStyle.backgroundImage, 'gradient'); + }; + + + tests['cssreflections'] = function() { + return testPropsAll('boxReflect'); + }; + + + tests['csstransforms'] = function() { + return !!testPropsAll('transform'); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!testPropsAll('perspective'); + + // Webkit's 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if ( ret && 'webkitPerspective' in docElement.style ) { + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-webkit-transform-3d){ ... }` + injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) { + ret = node.offsetLeft === 9 && node.offsetHeight === 3; + }); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return testPropsAll('transition'); + }; + + + /*>>fontface*/ + // @font-face detection routine by Diego Perini + // javascript.nwbox.com/CSSSupport/ + + // false positives: + // WebOS github.com/Modernizr/Modernizr/issues/342 + // WP7 github.com/Modernizr/Modernizr/issues/538 + tests['fontface'] = function() { + var bool; + + injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) { + var style = document.getElementById('smodernizr'), + sheet = style.sheet || style.styleSheet, + cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; + + bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0; + }); + + return bool; + }; + /*>>fontface*/ + + // CSS generated content detection + tests['generatedcontent'] = function() { + var bool; + + injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) { + bool = node.offsetHeight >= 3; + }); + + return bool; + }; + + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in some older browsers, "no" was a return value instead of empty string. + // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 + // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = false; + + // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224 + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,''); + + // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546 + bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,''); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,''); + } + + } catch(e) { } + + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = false; + + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,''); + bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,''); + + // Mimetypes accepted: + // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,''); + bool.m4a = ( elem.canPlayType('audio/x-m4a;') || + elem.canPlayType('audio/aac;')) .replace(/^no$/,''); + } + } catch(e) { } + + return bool; + }; + + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw bugzil.la/365772 if cookies are disabled + + // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem + // will throw the exception: + // QUOTA_EXCEEDED_ERRROR DOM Exception 22. + // Peculiarly, getItem and removeItem calls do not throw. + + // Because we are forced to try/catch this, we'll go aggressive. + + // Just FWIW: IE8 Compat mode supports these features completely: + // www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + localStorage.setItem(mod, mod); + localStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + sessionStorage.setItem(mod, mod); + sessionStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + + tests['webworkers'] = function() { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function() { + return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect; + }; + + // specifically for SVG inline in HTML, not within XHTML + // test page: paulirish.com/demo/inline-svg + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // SVG SMIL animation + tests['smil'] = function() { + return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate'))); + }; + + // This test is only for clip paths in SVG proper, not clip paths on HTML content + // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg + + // However read the comments to dig into applying SVG clippaths to HTML content here: + // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491 + tests['svgclippaths'] = function() { + return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath'))); + }; + + /*>>webforms*/ + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms() { + /*>>input*/ + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // miketaylr.com/code/input-type-attr.html + // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + + // Only input placeholder is tested while textarea's placeholder is not. + // Currently Safari 4 and Opera 11 have support only for the input placeholder + // Both tests are available in feature-detects/forms-placeholder.js + Modernizr['input'] = (function( props ) { + for ( var i = 0, len = props.length; i < len; i++ ) { + attrs[ props[i] ] = !!(props[i] in inputElem); + } + if (attrs.list){ + // safari false positive's on datalist: webk.it/74252 + // see also github.com/Modernizr/Modernizr/issues/146 + attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement); + } + return attrs; + })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' ')); + /*>>input*/ + + /*>>inputtypes*/ + // Run through HTML5's new input types to see if the UA understands any. + // This is put behind the tests runloop because it doesn't return a + // true/false like all the other tests; instead, it returns an object + // containing each input type with its corresponding true/false value + + // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/ + Modernizr['inputtypes'] = (function(props) { + + for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) { + + inputElem.setAttribute('type', inputElemType = props[i]); + bool = inputElem.type !== 'text'; + + // We first check to see if the type we give it sticks.. + // If the type does, we feed it a textual value, which shouldn't be valid. + // If the value doesn't stick, we know there's input sanitization which infers a custom UI + if ( bool ) { + + inputElem.value = smile; + inputElem.style.cssText = 'position:absolute;visibility:hidden;'; + + if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) { + + docElement.appendChild(inputElem); + defaultView = document.defaultView; + + // Safari 2-4 allows the smiley as a value, despite making a slider + bool = defaultView.getComputedStyle && + defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' && + // Mobile android web browser has false positive, so must + // check the height to see if the widget is actually there. + (inputElem.offsetHeight !== 0); + + docElement.removeChild(inputElem); + + } else if ( /^(search|tel)$/.test(inputElemType) ){ + // Spec doesn't define any special parsing or detectable UI + // behaviors so we pass these through as true + + // Interestingly, opera fails the earlier test, so it doesn't + // even make it here. + + } else if ( /^(url|email)$/.test(inputElemType) ) { + // Real url and email support comes with prebaked validation. + bool = inputElem.checkValidity && inputElem.checkValidity() === false; + + } else { + // If the upgraded input compontent rejects the :) text, we got a winner + bool = inputElem.value != smile; + } + } + + inputs[ props[i] ] = !!bool; + } + return inputs; + })('search tel url email datetime date month week time datetime-local number range color'.split(' ')); + /*>>inputtypes*/ + } + /*>>webforms*/ + + + // End of test definitions + // ----------------------- + + + + // Run through all tests and detect their support in the current UA. + // todo: hypothetically we could be doing an array of tests and use a basic loop here. + for ( var feature in tests ) { + if ( hasOwnProp(tests, feature) ) { + // run the test, throw the return value into the Modernizr, + // then based on that boolean, define an appropriate className + // and push it into an array of classes we'll join later. + featureName = feature.toLowerCase(); + Modernizr[featureName] = tests[feature](); + + classes.push((Modernizr[featureName] ? '' : 'no-') + featureName); + } + } + + /*>>webforms*/ + // input tests need to run. + Modernizr.input || webforms(); + /*>>webforms*/ + + + /** + * addTest allows the user to define their own feature tests + * the result will be added onto the Modernizr object, + * as well as an appropriate className set on the html element + * + * @param feature - String naming the feature + * @param test - Function returning true if feature is supported, false if not + */ + Modernizr.addTest = function ( feature, test ) { + if ( typeof feature == 'object' ) { + for ( var key in feature ) { + if ( hasOwnProp( feature, key ) ) { + Modernizr.addTest( key, feature[ key ] ); + } + } + } else { + + feature = feature.toLowerCase(); + + if ( Modernizr[feature] !== undefined ) { + // we're going to quit if you're trying to overwrite an existing test + // if we were to allow it, we'd do this: + // var re = new RegExp("\\b(no-)?" + feature + "\\b"); + // docElement.className = docElement.className.replace( re, '' ); + // but, no rly, stuff 'em. + return Modernizr; + } + + test = typeof test == 'function' ? test() : test; + + if (typeof enableClasses !== "undefined" && enableClasses) { + docElement.className += ' ' + (test ? '' : 'no-') + feature; + } + Modernizr[feature] = test; + + } + + return Modernizr; // allow chaining. + }; + + + // Reset modElem.cssText to nothing to reduce memory footprint. + setCss(''); + modElem = inputElem = null; + + /*>>shiv*/ + /** + * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed + */ + ;(function(window, document) { + /*jshint evil:true */ + /** version */ + var version = '3.7.0'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i>shiv*/ + + // Assign private properties to the return object with prefix + Modernizr._version = version; + + // expose these for the plugin API. Look in the source for how to join() them against your input + /*>>prefixes*/ + Modernizr._prefixes = prefixes; + /*>>prefixes*/ + /*>>domprefixes*/ + Modernizr._domPrefixes = domPrefixes; + Modernizr._cssomPrefixes = cssomPrefixes; + /*>>domprefixes*/ + + /*>>mq*/ + // Modernizr.mq tests a given media query, live against the current state of the window + // A few important notes: + // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false + // * A max-width or orientation query will be evaluated against the current state, which may change later. + // * You must specify values. Eg. If you are testing support for the min-width media query use: + // Modernizr.mq('(min-width:0)') + // usage: + // Modernizr.mq('only screen and (max-width:768)') + Modernizr.mq = testMediaQuery; + /*>>mq*/ + + /*>>hasevent*/ + // Modernizr.hasEvent() detects support for a given event, with an optional element to test on + // Modernizr.hasEvent('gesturestart', elem) + Modernizr.hasEvent = isEventSupported; + /*>>hasevent*/ + + /*>>testprop*/ + // Modernizr.testProp() investigates whether a given style property is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testProp('pointerEvents') + Modernizr.testProp = function(prop){ + return testProps([prop]); + }; + /*>>testprop*/ + + /*>>testallprops*/ + // Modernizr.testAllProps() investigates whether a given style property, + // or any of its vendor-prefixed variants, is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testAllProps('boxSizing') + Modernizr.testAllProps = testPropsAll; + /*>>testallprops*/ + + + /*>>teststyles*/ + // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards + // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... }) + Modernizr.testStyles = injectElementWithStyles; + /*>>teststyles*/ + + + /*>>prefixed*/ + // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input + // Modernizr.prefixed('boxSizing') // 'MozBoxSizing' + + // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style. + // Return values will also be the camelCase variant, if you need to translate that to hypenated style use: + // + // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-'); + + // If you're trying to ascertain which transition end event to bind to, you might do something like... + // + // var transEndEventNames = { + // 'WebkitTransition' : 'webkitTransitionEnd', + // 'MozTransition' : 'transitionend', + // 'OTransition' : 'oTransitionEnd', + // 'msTransition' : 'MSTransitionEnd', + // 'transition' : 'transitionend' + // }, + // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ]; + + Modernizr.prefixed = function(prop, obj, elem){ + if(!obj) { + return testPropsAll(prop, 'pfx'); + } else { + // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame' + return testPropsAll(prop, obj, elem); + } + }; + /*>>prefixed*/ + + + /*>>cssclasses*/ + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') + + + // Add the new classes to the element. + (enableClasses ? ' js ' + classes.join(' ') : ''); + /*>>cssclasses*/ + + return Modernizr; + +})(this, this.document); + +/*! + * hoverIntent v1.8.1 // 2014.08.11 // jQuery v1.9.1+ + * http://cherne.net/brian/resources/jquery.hoverIntent.html + * + * You may use hoverIntent under the terms of the MIT license. Basically that + * means you are free to use hoverIntent as long as this header is left intact. + * Copyright 2007, 2014 Brian Cherne + */ + +/* hoverIntent is similar to jQuery's built-in "hover" method except that + * instead of firing the handlerIn function immediately, hoverIntent checks + * to see if the user's mouse has slowed down (beneath the sensitivity + * threshold) before firing the event. The handlerOut function is only + * called after a matching handlerIn. + * + * // basic usage ... just like .hover() + * .hoverIntent( handlerIn, handlerOut ) + * .hoverIntent( handlerInOut ) + * + * // basic usage ... with event delegation! + * .hoverIntent( handlerIn, handlerOut, selector ) + * .hoverIntent( handlerInOut, selector ) + * + * // using a basic configuration object + * .hoverIntent( config ) + * + * @param handlerIn function OR configuration object + * @param handlerOut function OR selector for delegation OR undefined + * @param selector selector OR undefined + * @author Brian Cherne + */ +(function($) { + $.fn.hoverIntent = function(handlerIn,handlerOut,selector) { + + // default configuration values + var cfg = { + interval: 100, + sensitivity: 6, + timeout: 0 + }; + + if ( typeof handlerIn === "object" ) { + cfg = $.extend(cfg, handlerIn ); + } else if ($.isFunction(handlerOut)) { + cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } ); + } else { + cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } ); + } + + // instantiate variables + // cX, cY = current X and Y position of mouse, updated by mousemove event + // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval + var cX, cY, pX, pY; + + // A private function for getting mouse position + var track = function(ev) { + cX = ev.pageX; + cY = ev.pageY; + }; - if ( -1 === menu.className.indexOf( 'nav-menu' ) ) - menu.className += ' nav-menu'; + // A private function for comparing current and previous mouse position + var compare = function(ev,ob) { + ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); + // compare mouse positions to see if they've crossed the threshold + if ( Math.sqrt( (pX-cX)*(pX-cX) + (pY-cY)*(pY-cY) ) < cfg.sensitivity ) { + $(ob).off("mousemove.hoverIntent",track); + // set hoverIntent state to true (so mouseOut can be called) + ob.hoverIntent_s = true; + return cfg.over.apply(ob,[ev]); + } else { + // set previous coordinates for next time + pX = cX; pY = cY; + // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) + ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval ); + } + }; - button.onclick = function() { - if ( -1 !== container.className.indexOf( 'toggled' ) ) - container.className = container.className.replace( ' toggled', '' ); - else - container.className += ' toggled'; - }; -} )(); + // A private function for delaying the mouseOut function + var delay = function(ev,ob) { + ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); + ob.hoverIntent_s = false; + return cfg.out.apply(ob,[ev]); + }; -( function() { - var is_webkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1, - is_opera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1, - is_ie = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1; + // A private function for handling mouse 'hovering' + var handleHover = function(e) { + // copy objects to be passed into t (required for event object to be passed in IE) + var ev = $.extend({},e); + var ob = this; - if ( ( is_webkit || is_opera || is_ie ) && 'undefined' !== typeof( document.getElementById ) ) { - var eventMethod = ( window.addEventListener ) ? 'addEventListener' : 'attachEvent'; - window[ eventMethod ]( 'hashchange', function() { - var element = document.getElementById( location.hash.substring( 1 ) ); + // cancel hoverIntent timer if it exists + if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } - if ( element ) { - if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) - element.tabIndex = -1; + // if e.type === "mouseenter" + if (e.type === "mouseenter") { + // set "previous" X and Y position based on initial entry point + pX = ev.pageX; pY = ev.pageY; + // update "current" X and Y position based on mousemove + $(ob).on("mousemove.hoverIntent",track); + // start polling interval (self-calling timeout) to compare mouse coordinates over time + if (!ob.hoverIntent_s) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );} - element.focus(); - } - }, false ); - } -})(); + // else e.type == "mouseleave" + } else { + // unbind expensive mousemove event + $(ob).off("mousemove.hoverIntent",track); + // if hoverIntent state is true, then call the mouseOut function after the specified delay + if (ob.hoverIntent_s) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );} + } + }; + + // listen for mouseenter and mouseleave + return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector); + }; +})(jQuery); /* - FlexNav.js 1.3.3 + FlexNav.js 1.3.3 - Created by Jason Weaver http://jasonweaver.name - Released under http://unlicense.org/ + Created by Jason Weaver http://jasonweaver.name + Released under http://unlicense.org/ // */ @@ -195,684 +2279,3 @@ }; }).call(this); - -/** - * hoverIntent is similar to jQuery's built-in "hover" method except that - * instead of firing the handlerIn function immediately, hoverIntent checks - * to see if the user's mouse has slowed down (beneath the sensitivity - * threshold) before firing the event. The handlerOut function is only - * called after a matching handlerIn. - * - * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+ - * http://cherne.net/brian/resources/jquery.hoverIntent.html - * - * You may use hoverIntent under the terms of the MIT license. Basically that - * means you are free to use hoverIntent as long as this header is left intact. - * Copyright 2007, 2013 Brian Cherne - * - * // basic usage ... just like .hover() - * .hoverIntent( handlerIn, handlerOut ) - * .hoverIntent( handlerInOut ) - * - * // basic usage ... with event delegation! - * .hoverIntent( handlerIn, handlerOut, selector ) - * .hoverIntent( handlerInOut, selector ) - * - * // using a basic configuration object - * .hoverIntent( config ) - * - * @param handlerIn function OR configuration object - * @param handlerOut function OR selector for delegation OR undefined - * @param selector selector OR undefined - * @author Brian Cherne - **/ -(function($) { - $.fn.hoverIntent = function(handlerIn,handlerOut,selector) { - - // default configuration values - var cfg = { - interval: 100, - sensitivity: 7, - timeout: 0 - }; - - if ( typeof handlerIn === "object" ) { - cfg = $.extend(cfg, handlerIn ); - } else if ($.isFunction(handlerOut)) { - cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } ); - } else { - cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } ); - } - - // instantiate variables - // cX, cY = current X and Y position of mouse, updated by mousemove event - // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval - var cX, cY, pX, pY; - - // A private function for getting mouse position - var track = function(ev) { - cX = ev.pageX; - cY = ev.pageY; - }; - - // A private function for comparing current and previous mouse position - var compare = function(ev,ob) { - ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); - // compare mouse positions to see if they've crossed the threshold - if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) { - $(ob).off("mousemove.hoverIntent",track); - // set hoverIntent state to true (so mouseOut can be called) - ob.hoverIntent_s = 1; - return cfg.over.apply(ob,[ev]); - } else { - // set previous coordinates for next time - pX = cX; pY = cY; - // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) - ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval ); - } - }; - - // A private function for delaying the mouseOut function - var delay = function(ev,ob) { - ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); - ob.hoverIntent_s = 0; - return cfg.out.apply(ob,[ev]); - }; - - // A private function for handling mouse 'hovering' - var handleHover = function(e) { - // copy objects to be passed into t (required for event object to be passed in IE) - var ev = jQuery.extend({},e); - var ob = this; - - // cancel hoverIntent timer if it exists - if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } - - // if e.type == "mouseenter" - if (e.type == "mouseenter") { - // set "previous" X and Y position based on initial entry point - pX = ev.pageX; pY = ev.pageY; - // update "current" X and Y position based on mousemove - $(ob).on("mousemove.hoverIntent",track); - // start polling interval (self-calling timeout) to compare mouse coordinates over time - if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );} - - // else e.type == "mouseleave" - } else { - // unbind expensive mousemove event - $(ob).off("mousemove.hoverIntent",track); - // if hoverIntent state is true, then call the mouseOut function after the specified delay - if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );} - } - }; - - // listen for mouseenter and mouseleave - return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector); - }; -})(jQuery); -/* Modernizr 2.7.1 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.flexboxlegacy=function(){return I("boxDirection")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f8 || !xhr) { - return; - } - - - // ========================= Common Objects ============================ - - // Compatiable selector engines in order of CSS3 support. Note: '*' is - // a placholder for the object key name. (basically, crude compression) - var selectorEngines = { - "NW" : "*.Dom.select", - "MooTools" : "$$", - "DOMAssistant" : "*.$", - "Prototype" : "$$", - "YAHOO" : "*.util.Selector.query", - "Sizzle" : "*", - "jQuery" : "*", - "dojo" : "*.query" - }; - - var selectorMethod; - var enabledWatchers = []; // array of :enabled/:disabled elements to poll - var ie6PatchID = 0; // used to solve ie6's multiple class bug - var patchIE6MultipleClasses = true; // if true adds class bloat to ie6 - var namespace = "slvzr"; - - // Stylesheet parsing regexp's - var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g; - var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g; - var RE_ASSET_URL = /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g; - var RE_PSEUDO_STRUCTURAL = /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/; - var RE_PSEUDO_ELEMENTS = /:(:first-(?:line|letter))/g; - var RE_SELECTOR_GROUP = /(^|})\s*([^\{]*?[\[:][^{]+)/g; - var RE_SELECTOR_PARSE = /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; - var RE_LIBRARY_INCOMPATIBLE_PSEUDOS = /(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g; - var RE_PATCH_CLASS_NAME_REPLACE = /[^\w-]/g; - - // HTML UI element regexp's - var RE_INPUT_ELEMENTS = /^(INPUT|SELECT|TEXTAREA|BUTTON)$/; - var RE_INPUT_CHECKABLE_TYPES = /^(checkbox|radio)$/; - - // Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""]) - var BROKEN_ATTR_IMPLEMENTATIONS = ieVersion>6 ? /[\$\^*]=(['"])\1/ : null; - - // Whitespace normalization regexp's - var RE_TIDY_TRAILING_WHITESPACE = /([(\[+~])\s+/g; - var RE_TIDY_LEADING_WHITESPACE = /\s+([)\]+~])/g; - var RE_TIDY_CONSECUTIVE_WHITESPACE = /\s+/g; - var RE_TIDY_TRIM_WHITESPACE = /^\s*((?:[\S\s]*\S)?)\s*$/; - - // String constants - var EMPTY_STRING = ""; - var SPACE_STRING = " "; - var PLACEHOLDER_STRING = "$1"; - - // =========================== Patching ================================ - - // --[ patchStyleSheet() ]---------------------------------------------- - // Scans the passed cssText for selectors that require emulation and - // creates one or more patches for each matched selector. - function patchStyleSheet( cssText ) { - return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING). - replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) { - var selectorGroups = selectorText.split(","); - for (var c = 0, cs = selectorGroups.length; c < cs; c++) { - var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING; - var patches = []; - selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE, - function(match, combinator, pseudo, attribute, index) { - if (combinator) { - if (patches.length>0) { - applyPatches( selector.substring(0, index), patches ); - patches = []; - } - return combinator; - } - else { - var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute ); - if (patch) { - patches.push(patch); - return "." + patch.className; - } - return match; - } - } - ); - } - return prefix + selectorGroups.join(","); - }); - }; - - // --[ patchAttribute() ]----------------------------------------------- - // returns a patch for an attribute selector. - function patchAttribute( attr ) { - return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ? - { className: createClassName(attr), applyClass: true } : null; - }; - - // --[ patchPseudoClass() ]--------------------------------------------- - // returns a patch for a pseudo-class - function patchPseudoClass( pseudo ) { - - var applyClass = true; - var className = createClassName(pseudo.slice(1)); - var isNegated = pseudo.substring(0, 5) == ":not("; - var activateEventName; - var deactivateEventName; - - // if negated, remove :not() - if (isNegated) { - pseudo = pseudo.slice(5, -1); - } - - // bracket contents are irrelevant - remove them - var bracketIndex = pseudo.indexOf("(") - if (bracketIndex > -1) { - pseudo = pseudo.substring(0, bracketIndex); - } - - // check we're still dealing with a pseudo-class - if (pseudo.charAt(0) == ":") { - switch (pseudo.slice(1)) { - - case "root": - applyClass = function(e) { - return isNegated ? e != root : e == root; - } - break; - - case "target": - // :target is only supported in IE8 - if (ieVersion == 8) { - applyClass = function(e) { - var handler = function() { - var hash = location.hash; - var hashID = hash.slice(1); - return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID); - }; - addEvent( win, "hashchange", function() { - toggleElementClass(e, className, handler()); - }) - return handler(); - } - break; - } - return false; - - case "checked": - applyClass = function(e) { - if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) { - addEvent( e, "propertychange", function() { - if (event.propertyName == "checked") { - toggleElementClass( e, className, e.checked !== isNegated ); - } - }) - } - return e.checked !== isNegated; - } - break; - - case "disabled": - isNegated = !isNegated; - - case "enabled": - applyClass = function(e) { - if (RE_INPUT_ELEMENTS.test(e.tagName)) { - addEvent( e, "propertychange", function() { - if (event.propertyName == "$disabled") { - toggleElementClass( e, className, e.$disabled === isNegated ); - } - }); - enabledWatchers.push(e); - e.$disabled = e.disabled; - return e.disabled === isNegated; - } - return pseudo == ":enabled" ? isNegated : !isNegated; - } - break; - - case "focus": - activateEventName = "focus"; - deactivateEventName = "blur"; - - case "hover": - if (!activateEventName) { - activateEventName = "mouseenter"; - deactivateEventName = "mouseleave"; - } - applyClass = function(e) { - addEvent( e, isNegated ? deactivateEventName : activateEventName, function() { - toggleElementClass( e, className, true ); - }) - addEvent( e, isNegated ? activateEventName : deactivateEventName, function() { - toggleElementClass( e, className, false ); - }) - return isNegated; - } - break; - - // everything else - default: - // If we don't support this pseudo-class don't create - // a patch for it - if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) { - return false; - } - break; - } - } - return { className: className, applyClass: applyClass }; - }; - - // --[ applyPatches() ]------------------------------------------------- - // uses the passed selector text to find DOM nodes and patch them - function applyPatches(selectorText, patches) { - var elms; - - // Although some selector libraries can find :checked :enabled etc. - // we need to find all elements that could have that state because - // it can be changed by the user. - var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING); - - // If the dom selector equates to an empty string or ends with - // whitespace then we need to append a universal selector (*) to it. - if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) { - domSelectorText += "*"; - } - - // Ensure we catch errors from the selector library - try { - elms = selectorMethod( domSelectorText ); - } catch (ex) { - // #DEBUG_START - log( "Selector '" + selectorText + "' threw exception '" + ex + "'" ); - // #DEBUG_END - } - - - if (elms) { - for (var d = 0, dl = elms.length; d < dl; d++) { - var elm = elms[d]; - var cssClasses = elm.className; - for (var f = 0, fl = patches.length; f < fl; f++) { - var patch = patches[f]; - - if (!hasPatch(elm, patch)) { - if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) { - cssClasses = toggleClass(cssClasses, patch.className, true ); - } - } - } - elm.className = cssClasses; - } - } - }; - - // --[ hasPatch() ]----------------------------------------------------- - // checks for the exsistence of a patch on an element - function hasPatch( elm, patch ) { - return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className); - }; - - - // =========================== Utility ================================= - - function createClassName( className ) { - return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ? - ie6PatchID++ - : - className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) })); - }; - - // --[ log() ]---------------------------------------------------------- - // #DEBUG_START - function log( message ) { - if (win.console) { - win.console.log(message); - } - }; - // #DEBUG_END - - // --[ trim() ]--------------------------------------------------------- - // removes leading, trailing whitespace from a string - function trim( text ) { - return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING); - }; - - // --[ normalizeWhitespace() ]------------------------------------------ - // removes leading, trailing and consecutive whitespace from a string - function normalizeWhitespace( text ) { - return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING); - }; - - // --[ normalizeSelectorWhitespace() ]---------------------------------- - // tidies whitespace around selector brackets and combinators - function normalizeSelectorWhitespace( selectorText ) { - return normalizeWhitespace(selectorText. - replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING). - replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING) - ); - }; - - // --[ toggleElementClass() ]------------------------------------------- - // toggles a single className on an element - function toggleElementClass( elm, className, on ) { - var oldClassName = elm.className; - var newClassName = toggleClass(oldClassName, className, on); - if (newClassName != oldClassName) { - elm.className = newClassName; - elm.parentNode.className += EMPTY_STRING; - } - }; - - // --[ toggleClass() ]-------------------------------------------------- - // adds / removes a className from a string of classNames. Used to - // manage multiple class changes without forcing a DOM redraw - function toggleClass( classList, className, on ) { - var re = RegExp("(^|\\s)" + className + "(\\s|$)"); - var classExists = re.test(classList); - if (on) { - return classExists ? classList : classList + SPACE_STRING + className; - } else { - return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList; - } - }; - - // --[ addEvent() ]----------------------------------------------------- - function addEvent(elm, eventName, eventHandler) { - elm.attachEvent("on" + eventName, eventHandler); - }; - - // --[ getXHRObject() ]------------------------------------------------- - function getXHRObject() - { - if (win.XMLHttpRequest) { - return new XMLHttpRequest; - } - try { - return new ActiveXObject('Microsoft.XMLHTTP'); - } catch(e) { - return null; - } - }; - - // --[ loadStyleSheet() ]----------------------------------------------- - function loadStyleSheet( url ) { - xhr.open("GET", url, false); - xhr.send(); - return (xhr.status==200) ? xhr.responseText : EMPTY_STRING; - }; - - // --[ resolveUrl() ]--------------------------------------------------- - // Converts a URL fragment to a fully qualified URL using the specified - // context URL. Returns null if same-origin policy is broken - function resolveUrl( url, contextUrl ) { - - function getProtocolAndHost( url ) { - return url.substring(0, url.indexOf("/", 8)); - }; - - // absolute path - if (/^https?:\/\//i.test(url)) { - return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null; - } - - // root-relative path - if (url.charAt(0)=="/") { - return getProtocolAndHost(contextUrl) + url; - } - - // relative path - var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl - if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") { - contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1); - } - - return contextUrlPath + url; - }; - - // --[ parseStyleSheet() ]---------------------------------------------- - // Downloads the stylesheet specified by the URL, removes it's comments - // and recursivly replaces @import rules with their contents, ultimately - // returning the full cssText. - function parseStyleSheet( url ) { - if (url) { - return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING). - replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) { - return parseStyleSheet(resolveUrl(importUrl || importUrl2, url)); - }). - replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) { - quoteChar = quoteChar || EMPTY_STRING; - return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") "; - }); - } - return EMPTY_STRING; - }; - - // --[ init() ]--------------------------------------------------------- - function init() { - // honour the tag - var url, stylesheet; - var baseTags = doc.getElementsByTagName("BASE"); - var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href; - - /* Note: This code prevents IE from freezing / crashing when using - @font-face .eot files but it modifies the tag and could - trigger the IE stylesheet limit. It will also cause FOUC issues. - If you choose to use it, make sure you comment out the for loop - directly below this comment. - - var head = doc.getElementsByTagName("head")[0]; - for (var c=doc.styleSheets.length-1; c>=0; c--) { - stylesheet = doc.styleSheets[c] - head.appendChild(doc.createElement("style")) - var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1]; - - if (stylesheet.href != EMPTY_STRING) { - url = resolveUrl(stylesheet.href, baseUrl) - if (url) { - patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ) - stylesheet.disabled = true - setTimeout( function () { - stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement) - }) - } - } - } - */ - - for (var c = 0; c < doc.styleSheets.length; c++) { - stylesheet = doc.styleSheets[c] - if (stylesheet.href != EMPTY_STRING) { - url = resolveUrl(stylesheet.href, baseUrl); - if (url) { - stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ); - } - } - } - - // :enabled & :disabled polling script (since we can't hook - // onpropertychange event when an element is disabled) - if (enabledWatchers.length > 0) { - setInterval( function() { - for (var c = 0, cl = enabledWatchers.length; c < cl; c++) { - var e = enabledWatchers[c]; - if (e.disabled !== e.$disabled) { - if (e.disabled) { - e.disabled = false; - e.$disabled = true; - e.disabled = true; - } - else { - e.$disabled = e.disabled; - } - } - } - },250) - } - }; - - // Bind selectivizr to the ContentLoaded event. - ContentLoaded(win, function() { - // Determine the "best fit" selector engine - for (var engine in selectorEngines) { - var members, member, context = win; - if (win[engine]) { - members = selectorEngines[engine].replace("*", engine).split("."); - while ((member = members.shift()) && (context = context[member])) {} - if (typeof context == "function") { - selectorMethod = context; - init(); - return; - } - } - } - }); - - - /*! - * ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space) - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - * - */ - - // @w window reference - // @f function reference - function ContentLoaded(win, fn) { - - var done = false, top = true, - init = function(e) { - if (e.type == "readystatechange" && doc.readyState != "complete") return; - (e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false); - if (!done && (done = true)) fn.call(win, e.type || e); - }, - poll = function() { - try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; } - init('poll'); - }; - - if (doc.readyState == "complete") fn.call(win, EMPTY_STRING); - else { - if (doc.createEventObject && root.doScroll) { - try { top = !win.frameElement; } catch(e) { } - if (top) poll(); - } - addEvent(doc,"readystatechange", init); - addEvent(win,"load", init); - } - }; -})(this); diff --git a/assets/js/vendor/flexnav/jquery.flexnav.js b/assets/js/vendor/flexnav/jquery.flexnav.js deleted file mode 100755 index 7a7aa928..00000000 --- a/assets/js/vendor/flexnav/jquery.flexnav.js +++ /dev/null @@ -1,142 +0,0 @@ -/* - FlexNav.js 1.3.3 - - Created by Jason Weaver http://jasonweaver.name - Released under http://unlicense.org/ - -// -*/ - - -(function() { - var $; - - $ = jQuery; - - $.fn.flexNav = function(options) { - var $nav, $top_nav_items, breakpoint, count, nav_percent, nav_width, resetMenu, resizer, settings, showMenu, toggle_selector, touch_selector; - settings = $.extend({ - 'animationSpeed': 250, - 'transitionOpacity': true, - 'buttonSelector': '.menu-button', - 'hoverIntent': false, - 'hoverIntentTimeout': 150, - 'calcItemWidths': false, - 'hover': true - }, options); - $nav = $(this); - $nav.addClass('with-js'); - if (settings.transitionOpacity === true) { - $nav.addClass('opacity'); - } - $nav.find("li").each(function() { - if ($(this).has("ul").length) { - return $(this).addClass("item-with-ul").find("ul").hide(); - } - }); - if (settings.calcItemWidths === true) { - $top_nav_items = $nav.find('>li'); - count = $top_nav_items.length; - nav_width = 100 / count; - nav_percent = nav_width + "%"; - } - if ($nav.data('breakpoint')) { - breakpoint = $nav.data('breakpoint'); - } - showMenu = function() { - if ($nav.hasClass('lg-screen') === true && settings.hover === true) { - if (settings.transitionOpacity === true) { - return $(this).find('>ul').addClass('flexnav-show').stop(true, true).animate({ - height: ["toggle", "swing"], - opacity: "toggle" - }, settings.animationSpeed); - } else { - return $(this).find('>ul').addClass('flexnav-show').stop(true, true).animate({ - height: ["toggle", "swing"] - }, settings.animationSpeed); - } - } - }; - resetMenu = function() { - if ($nav.hasClass('lg-screen') === true && $(this).find('>ul').hasClass('flexnav-show') === true && settings.hover === true) { - if (settings.transitionOpacity === true) { - return $(this).find('>ul').removeClass('flexnav-show').stop(true, true).animate({ - height: ["toggle", "swing"], - opacity: "toggle" - }, settings.animationSpeed); - } else { - return $(this).find('>ul').removeClass('flexnav-show').stop(true, true).animate({ - height: ["toggle", "swing"] - }, settings.animationSpeed); - } - } - }; - resizer = function() { - var selector; - if ($(window).width() <= breakpoint) { - $nav.removeClass("lg-screen").addClass("sm-screen"); - if (settings.calcItemWidths === true) { - $top_nav_items.css('width', '100%'); - } - selector = settings['buttonSelector'] + ', ' + settings['buttonSelector'] + ' .touch-button'; - $(selector).removeClass('active'); - return $('.one-page li a').on('click', function() { - return $nav.removeClass('flexnav-show'); - }); - } else if ($(window).width() > breakpoint) { - $nav.removeClass("sm-screen").addClass("lg-screen"); - if (settings.calcItemWidths === true) { - $top_nav_items.css('width', nav_percent); - } - $nav.removeClass('flexnav-show').find('.item-with-ul').on(); - $('.item-with-ul').find('ul').removeClass('flexnav-show'); - resetMenu(); - if (settings.hoverIntent === true) { - return $('.item-with-ul').hoverIntent({ - over: showMenu, - out: resetMenu, - timeout: settings.hoverIntentTimeout - }); - } else if (settings.hoverIntent === false) { - return $('.item-with-ul').on('mouseenter', showMenu).on('mouseleave', resetMenu); - } - } - }; - $(settings['buttonSelector']).data('navEl', $nav); - touch_selector = '.item-with-ul, ' + settings['buttonSelector']; - $(touch_selector).append(''); - toggle_selector = settings['buttonSelector'] + ', ' + settings['buttonSelector'] + ' .touch-button'; - $(toggle_selector).on('click', function(e) { - var $btnParent, $thisNav, bs; - $(toggle_selector).toggleClass('active'); - e.preventDefault(); - e.stopPropagation(); - bs = settings['buttonSelector']; - $btnParent = $(this).is(bs) ? $(this) : $(this).parent(bs); - $thisNav = $btnParent.data('navEl'); - return $thisNav.toggleClass('flexnav-show'); - }); - $('.touch-button').on('click', function(e) { - var $sub, $touchButton; - $sub = $(this).parent('.item-with-ul').find('>ul'); - $touchButton = $(this).parent('.item-with-ul').find('>span.touch-button'); - if ($nav.hasClass('lg-screen') === true) { - $(this).parent('.item-with-ul').siblings().find('ul.flexnav-show').removeClass('flexnav-show').hide(); - } - if ($sub.hasClass('flexnav-show') === true) { - $sub.removeClass('flexnav-show').slideUp(settings.animationSpeed); - return $touchButton.removeClass('active'); - } else if ($sub.hasClass('flexnav-show') === false) { - $sub.addClass('flexnav-show').slideDown(settings.animationSpeed); - return $touchButton.addClass('active'); - } - }); - $nav.find('.item-with-ul *').focus(function() { - $(this).parent('.item-with-ul').parent().find(".open").not(this).removeClass("open").hide(); - return $(this).parent('.item-with-ul').find('>ul').addClass("open").show(); - }); - resizer(); - return $(window).on('resize', resizer); - }; - -}).call(this); diff --git a/assets/js/vendor/hoverintent/hoverintent.js b/assets/js/vendor/hoverintent/hoverintent.js deleted file mode 100755 index cbe3ae71..00000000 --- a/assets/js/vendor/hoverintent/hoverintent.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * hoverIntent is similar to jQuery's built-in "hover" method except that - * instead of firing the handlerIn function immediately, hoverIntent checks - * to see if the user's mouse has slowed down (beneath the sensitivity - * threshold) before firing the event. The handlerOut function is only - * called after a matching handlerIn. - * - * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+ - * http://cherne.net/brian/resources/jquery.hoverIntent.html - * - * You may use hoverIntent under the terms of the MIT license. Basically that - * means you are free to use hoverIntent as long as this header is left intact. - * Copyright 2007, 2013 Brian Cherne - * - * // basic usage ... just like .hover() - * .hoverIntent( handlerIn, handlerOut ) - * .hoverIntent( handlerInOut ) - * - * // basic usage ... with event delegation! - * .hoverIntent( handlerIn, handlerOut, selector ) - * .hoverIntent( handlerInOut, selector ) - * - * // using a basic configuration object - * .hoverIntent( config ) - * - * @param handlerIn function OR configuration object - * @param handlerOut function OR selector for delegation OR undefined - * @param selector selector OR undefined - * @author Brian Cherne - **/ -(function($) { - $.fn.hoverIntent = function(handlerIn,handlerOut,selector) { - - // default configuration values - var cfg = { - interval: 100, - sensitivity: 7, - timeout: 0 - }; - - if ( typeof handlerIn === "object" ) { - cfg = $.extend(cfg, handlerIn ); - } else if ($.isFunction(handlerOut)) { - cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } ); - } else { - cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } ); - } - - // instantiate variables - // cX, cY = current X and Y position of mouse, updated by mousemove event - // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval - var cX, cY, pX, pY; - - // A private function for getting mouse position - var track = function(ev) { - cX = ev.pageX; - cY = ev.pageY; - }; - - // A private function for comparing current and previous mouse position - var compare = function(ev,ob) { - ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); - // compare mouse positions to see if they've crossed the threshold - if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) { - $(ob).off("mousemove.hoverIntent",track); - // set hoverIntent state to true (so mouseOut can be called) - ob.hoverIntent_s = 1; - return cfg.over.apply(ob,[ev]); - } else { - // set previous coordinates for next time - pX = cX; pY = cY; - // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) - ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval ); - } - }; - - // A private function for delaying the mouseOut function - var delay = function(ev,ob) { - ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); - ob.hoverIntent_s = 0; - return cfg.out.apply(ob,[ev]); - }; - - // A private function for handling mouse 'hovering' - var handleHover = function(e) { - // copy objects to be passed into t (required for event object to be passed in IE) - var ev = jQuery.extend({},e); - var ob = this; - - // cancel hoverIntent timer if it exists - if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } - - // if e.type == "mouseenter" - if (e.type == "mouseenter") { - // set "previous" X and Y position based on initial entry point - pX = ev.pageX; pY = ev.pageY; - // update "current" X and Y position based on mousemove - $(ob).on("mousemove.hoverIntent",track); - // start polling interval (self-calling timeout) to compare mouse coordinates over time - if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );} - - // else e.type == "mouseleave" - } else { - // unbind expensive mousemove event - $(ob).off("mousemove.hoverIntent",track); - // if hoverIntent state is true, then call the mouseOut function after the specified delay - if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );} - } - }; - - // listen for mouseenter and mouseleave - return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector); - }; -})(jQuery); \ No newline at end of file diff --git a/assets/js/vendor/modernizr/modernizr-2.7.1.js b/assets/js/vendor/modernizr/modernizr-2.7.1.js deleted file mode 100644 index 93c778ee..00000000 --- a/assets/js/vendor/modernizr/modernizr-2.7.1.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.7.1 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.flexboxlegacy=function(){return I("boxDirection")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f8 || !xhr) { - return; - } - - - // ========================= Common Objects ============================ - - // Compatiable selector engines in order of CSS3 support. Note: '*' is - // a placholder for the object key name. (basically, crude compression) - var selectorEngines = { - "NW" : "*.Dom.select", - "MooTools" : "$$", - "DOMAssistant" : "*.$", - "Prototype" : "$$", - "YAHOO" : "*.util.Selector.query", - "Sizzle" : "*", - "jQuery" : "*", - "dojo" : "*.query" - }; - - var selectorMethod; - var enabledWatchers = []; // array of :enabled/:disabled elements to poll - var ie6PatchID = 0; // used to solve ie6's multiple class bug - var patchIE6MultipleClasses = true; // if true adds class bloat to ie6 - var namespace = "slvzr"; - - // Stylesheet parsing regexp's - var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g; - var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g; - var RE_ASSET_URL = /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g; - var RE_PSEUDO_STRUCTURAL = /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/; - var RE_PSEUDO_ELEMENTS = /:(:first-(?:line|letter))/g; - var RE_SELECTOR_GROUP = /(^|})\s*([^\{]*?[\[:][^{]+)/g; - var RE_SELECTOR_PARSE = /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; - var RE_LIBRARY_INCOMPATIBLE_PSEUDOS = /(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g; - var RE_PATCH_CLASS_NAME_REPLACE = /[^\w-]/g; - - // HTML UI element regexp's - var RE_INPUT_ELEMENTS = /^(INPUT|SELECT|TEXTAREA|BUTTON)$/; - var RE_INPUT_CHECKABLE_TYPES = /^(checkbox|radio)$/; - - // Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""]) - var BROKEN_ATTR_IMPLEMENTATIONS = ieVersion>6 ? /[\$\^*]=(['"])\1/ : null; - - // Whitespace normalization regexp's - var RE_TIDY_TRAILING_WHITESPACE = /([(\[+~])\s+/g; - var RE_TIDY_LEADING_WHITESPACE = /\s+([)\]+~])/g; - var RE_TIDY_CONSECUTIVE_WHITESPACE = /\s+/g; - var RE_TIDY_TRIM_WHITESPACE = /^\s*((?:[\S\s]*\S)?)\s*$/; - - // String constants - var EMPTY_STRING = ""; - var SPACE_STRING = " "; - var PLACEHOLDER_STRING = "$1"; - - // =========================== Patching ================================ - - // --[ patchStyleSheet() ]---------------------------------------------- - // Scans the passed cssText for selectors that require emulation and - // creates one or more patches for each matched selector. - function patchStyleSheet( cssText ) { - return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING). - replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) { - var selectorGroups = selectorText.split(","); - for (var c = 0, cs = selectorGroups.length; c < cs; c++) { - var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING; - var patches = []; - selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE, - function(match, combinator, pseudo, attribute, index) { - if (combinator) { - if (patches.length>0) { - applyPatches( selector.substring(0, index), patches ); - patches = []; - } - return combinator; - } - else { - var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute ); - if (patch) { - patches.push(patch); - return "." + patch.className; - } - return match; - } - } - ); - } - return prefix + selectorGroups.join(","); - }); - }; - - // --[ patchAttribute() ]----------------------------------------------- - // returns a patch for an attribute selector. - function patchAttribute( attr ) { - return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ? - { className: createClassName(attr), applyClass: true } : null; - }; - - // --[ patchPseudoClass() ]--------------------------------------------- - // returns a patch for a pseudo-class - function patchPseudoClass( pseudo ) { - - var applyClass = true; - var className = createClassName(pseudo.slice(1)); - var isNegated = pseudo.substring(0, 5) == ":not("; - var activateEventName; - var deactivateEventName; - - // if negated, remove :not() - if (isNegated) { - pseudo = pseudo.slice(5, -1); - } - - // bracket contents are irrelevant - remove them - var bracketIndex = pseudo.indexOf("(") - if (bracketIndex > -1) { - pseudo = pseudo.substring(0, bracketIndex); - } - - // check we're still dealing with a pseudo-class - if (pseudo.charAt(0) == ":") { - switch (pseudo.slice(1)) { - - case "root": - applyClass = function(e) { - return isNegated ? e != root : e == root; - } - break; - - case "target": - // :target is only supported in IE8 - if (ieVersion == 8) { - applyClass = function(e) { - var handler = function() { - var hash = location.hash; - var hashID = hash.slice(1); - return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID); - }; - addEvent( win, "hashchange", function() { - toggleElementClass(e, className, handler()); - }) - return handler(); - } - break; - } - return false; - - case "checked": - applyClass = function(e) { - if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) { - addEvent( e, "propertychange", function() { - if (event.propertyName == "checked") { - toggleElementClass( e, className, e.checked !== isNegated ); - } - }) - } - return e.checked !== isNegated; - } - break; - - case "disabled": - isNegated = !isNegated; - - case "enabled": - applyClass = function(e) { - if (RE_INPUT_ELEMENTS.test(e.tagName)) { - addEvent( e, "propertychange", function() { - if (event.propertyName == "$disabled") { - toggleElementClass( e, className, e.$disabled === isNegated ); - } - }); - enabledWatchers.push(e); - e.$disabled = e.disabled; - return e.disabled === isNegated; - } - return pseudo == ":enabled" ? isNegated : !isNegated; - } - break; - - case "focus": - activateEventName = "focus"; - deactivateEventName = "blur"; - - case "hover": - if (!activateEventName) { - activateEventName = "mouseenter"; - deactivateEventName = "mouseleave"; - } - applyClass = function(e) { - addEvent( e, isNegated ? deactivateEventName : activateEventName, function() { - toggleElementClass( e, className, true ); - }) - addEvent( e, isNegated ? activateEventName : deactivateEventName, function() { - toggleElementClass( e, className, false ); - }) - return isNegated; - } - break; - - // everything else - default: - // If we don't support this pseudo-class don't create - // a patch for it - if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) { - return false; - } - break; - } - } - return { className: className, applyClass: applyClass }; - }; - - // --[ applyPatches() ]------------------------------------------------- - // uses the passed selector text to find DOM nodes and patch them - function applyPatches(selectorText, patches) { - var elms; - - // Although some selector libraries can find :checked :enabled etc. - // we need to find all elements that could have that state because - // it can be changed by the user. - var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING); - - // If the dom selector equates to an empty string or ends with - // whitespace then we need to append a universal selector (*) to it. - if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) { - domSelectorText += "*"; - } - - // Ensure we catch errors from the selector library - try { - elms = selectorMethod( domSelectorText ); - } catch (ex) { - // #DEBUG_START - log( "Selector '" + selectorText + "' threw exception '" + ex + "'" ); - // #DEBUG_END - } - - - if (elms) { - for (var d = 0, dl = elms.length; d < dl; d++) { - var elm = elms[d]; - var cssClasses = elm.className; - for (var f = 0, fl = patches.length; f < fl; f++) { - var patch = patches[f]; - - if (!hasPatch(elm, patch)) { - if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) { - cssClasses = toggleClass(cssClasses, patch.className, true ); - } - } - } - elm.className = cssClasses; - } - } - }; - - // --[ hasPatch() ]----------------------------------------------------- - // checks for the exsistence of a patch on an element - function hasPatch( elm, patch ) { - return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className); - }; - - - // =========================== Utility ================================= - - function createClassName( className ) { - return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ? - ie6PatchID++ - : - className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) })); - }; - - // --[ log() ]---------------------------------------------------------- - // #DEBUG_START - function log( message ) { - if (win.console) { - win.console.log(message); - } - }; - // #DEBUG_END - - // --[ trim() ]--------------------------------------------------------- - // removes leading, trailing whitespace from a string - function trim( text ) { - return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING); - }; - - // --[ normalizeWhitespace() ]------------------------------------------ - // removes leading, trailing and consecutive whitespace from a string - function normalizeWhitespace( text ) { - return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING); - }; - - // --[ normalizeSelectorWhitespace() ]---------------------------------- - // tidies whitespace around selector brackets and combinators - function normalizeSelectorWhitespace( selectorText ) { - return normalizeWhitespace(selectorText. - replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING). - replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING) - ); - }; - - // --[ toggleElementClass() ]------------------------------------------- - // toggles a single className on an element - function toggleElementClass( elm, className, on ) { - var oldClassName = elm.className; - var newClassName = toggleClass(oldClassName, className, on); - if (newClassName != oldClassName) { - elm.className = newClassName; - elm.parentNode.className += EMPTY_STRING; - } - }; - - // --[ toggleClass() ]-------------------------------------------------- - // adds / removes a className from a string of classNames. Used to - // manage multiple class changes without forcing a DOM redraw - function toggleClass( classList, className, on ) { - var re = RegExp("(^|\\s)" + className + "(\\s|$)"); - var classExists = re.test(classList); - if (on) { - return classExists ? classList : classList + SPACE_STRING + className; - } else { - return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList; - } - }; - - // --[ addEvent() ]----------------------------------------------------- - function addEvent(elm, eventName, eventHandler) { - elm.attachEvent("on" + eventName, eventHandler); - }; - - // --[ getXHRObject() ]------------------------------------------------- - function getXHRObject() - { - if (win.XMLHttpRequest) { - return new XMLHttpRequest; - } - try { - return new ActiveXObject('Microsoft.XMLHTTP'); - } catch(e) { - return null; - } - }; - - // --[ loadStyleSheet() ]----------------------------------------------- - function loadStyleSheet( url ) { - xhr.open("GET", url, false); - xhr.send(); - return (xhr.status==200) ? xhr.responseText : EMPTY_STRING; - }; - - // --[ resolveUrl() ]--------------------------------------------------- - // Converts a URL fragment to a fully qualified URL using the specified - // context URL. Returns null if same-origin policy is broken - function resolveUrl( url, contextUrl ) { - - function getProtocolAndHost( url ) { - return url.substring(0, url.indexOf("/", 8)); - }; - - // absolute path - if (/^https?:\/\//i.test(url)) { - return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null; - } - - // root-relative path - if (url.charAt(0)=="/") { - return getProtocolAndHost(contextUrl) + url; - } - - // relative path - var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl - if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") { - contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1); - } - - return contextUrlPath + url; - }; - - // --[ parseStyleSheet() ]---------------------------------------------- - // Downloads the stylesheet specified by the URL, removes it's comments - // and recursivly replaces @import rules with their contents, ultimately - // returning the full cssText. - function parseStyleSheet( url ) { - if (url) { - return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING). - replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) { - return parseStyleSheet(resolveUrl(importUrl || importUrl2, url)); - }). - replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) { - quoteChar = quoteChar || EMPTY_STRING; - return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") "; - }); - } - return EMPTY_STRING; - }; - - // --[ init() ]--------------------------------------------------------- - function init() { - // honour the tag - var url, stylesheet; - var baseTags = doc.getElementsByTagName("BASE"); - var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href; - - /* Note: This code prevents IE from freezing / crashing when using - @font-face .eot files but it modifies the tag and could - trigger the IE stylesheet limit. It will also cause FOUC issues. - If you choose to use it, make sure you comment out the for loop - directly below this comment. - - var head = doc.getElementsByTagName("head")[0]; - for (var c=doc.styleSheets.length-1; c>=0; c--) { - stylesheet = doc.styleSheets[c] - head.appendChild(doc.createElement("style")) - var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1]; - - if (stylesheet.href != EMPTY_STRING) { - url = resolveUrl(stylesheet.href, baseUrl) - if (url) { - patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ) - stylesheet.disabled = true - setTimeout( function () { - stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement) - }) - } - } - } - */ - - for (var c = 0; c < doc.styleSheets.length; c++) { - stylesheet = doc.styleSheets[c] - if (stylesheet.href != EMPTY_STRING) { - url = resolveUrl(stylesheet.href, baseUrl); - if (url) { - stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) ); - } - } - } - - // :enabled & :disabled polling script (since we can't hook - // onpropertychange event when an element is disabled) - if (enabledWatchers.length > 0) { - setInterval( function() { - for (var c = 0, cl = enabledWatchers.length; c < cl; c++) { - var e = enabledWatchers[c]; - if (e.disabled !== e.$disabled) { - if (e.disabled) { - e.disabled = false; - e.$disabled = true; - e.disabled = true; - } - else { - e.$disabled = e.disabled; - } - } - } - },250) - } - }; - - // Bind selectivizr to the ContentLoaded event. - ContentLoaded(win, function() { - // Determine the "best fit" selector engine - for (var engine in selectorEngines) { - var members, member, context = win; - if (win[engine]) { - members = selectorEngines[engine].replace("*", engine).split("."); - while ((member = members.shift()) && (context = context[member])) {} - if (typeof context == "function") { - selectorMethod = context; - init(); - return; - } - } - } - }); - - - /*! - * ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space) - * - * Author: Diego Perini (diego.perini at gmail.com) - * Summary: cross-browser wrapper for DOMContentLoaded - * Updated: 20101020 - * License: MIT - * Version: 1.2 - * - * URL: - * http://javascript.nwbox.com/ContentLoaded/ - * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE - * - */ - - // @w window reference - // @f function reference - function ContentLoaded(win, fn) { - - var done = false, top = true, - init = function(e) { - if (e.type == "readystatechange" && doc.readyState != "complete") return; - (e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false); - if (!done && (done = true)) fn.call(win, e.type || e); - }, - poll = function() { - try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; } - init('poll'); - }; - - if (doc.readyState == "complete") fn.call(win, EMPTY_STRING); - else { - if (doc.createEventObject && root.doScroll) { - try { top = !win.frameElement; } catch(e) { } - if (top) poll(); - } - addEvent(doc,"readystatechange", init); - addEvent(win,"load", init); - } - }; -})(this); diff --git a/assets/sass/_app.scss b/assets/sass/_app.scss index 7dc18978..f7f8e2c4 100644 --- a/assets/sass/_app.scss +++ b/assets/sass/_app.scss @@ -44,10 +44,10 @@ and Blueprint http://www.blueprintcss.org/ /*-------------------------------------------------------------- 1.0 Bourbon, Bitters, Neat --------------------------------------------------------------*/ -@import "bourbon/bourbon"; +@import "../../assets/bower_components/bourbon/app/assets/stylesheets/bourbon"; @import "base/base"; // Bitters @import "grid-settings"; -@import "neat/neat"; +@import "../../assets/bower_components/neat/app/assets/stylesheets/neat"; /*-------------------------------------------------------------- 2.0 Normalize/Reset @@ -67,9 +67,9 @@ and Blueprint http://www.blueprintcss.org/ /*-------------------------------------------------------------- 5.0 Components/Add-ons --------------------------------------------------------------*/ -@import "bourbon/addons/clearfix"; -@import "bourbon/addons/prefixer"; -@import "bourbon/addons/font-family"; +@import "../../assets/bower_components/bourbon/app/assets/stylesheets/addons/clearfix"; +@import "../../assets/bower_components/bourbon/app/assets/stylesheets/addons/prefixer"; +@import "../../assets/bower_components/bourbon/app/assets/stylesheets/addons/font-family"; @import "components/buttons"; /*-------------------------------------------------------------- diff --git a/assets/sass/_grid-settings.scss b/assets/sass/_grid-settings.scss index e973717a..156d87c6 100644 --- a/assets/sass/_grid-settings.scss +++ b/assets/sass/_grid-settings.scss @@ -1,4 +1,4 @@ -@import "neat/neat-helpers"; +@import "../../assets/bower_components/neat/app/assets/stylesheets/neat-helpers"; // Adding a Visual Grid while you develop. Set to 'true.' $visual-grid: false; diff --git a/assets/sass/base/_grid-settings.scss b/assets/sass/base/_grid-settings.scss index c42bdaf6..de2827dc 100644 --- a/assets/sass/base/_grid-settings.scss +++ b/assets/sass/base/_grid-settings.scss @@ -1,4 +1,4 @@ -@import "neat-helpers"; // or "../neat/neat-helpers" when not in Rails +@import "../neat/neat-helpers" // Neat Overrides // $column: 90px; diff --git a/assets/sass/bi-app/_bi-app-ltr.scss b/assets/sass/bi-app/_bi-app-ltr.scss deleted file mode 100755 index 6278a313..00000000 --- a/assets/sass/bi-app/_bi-app-ltr.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// left to right module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-ltr'; -@import 'mixins'; \ No newline at end of file diff --git a/assets/sass/bi-app/_bi-app-rtl.scss b/assets/sass/bi-app/_bi-app-rtl.scss deleted file mode 100755 index 17b7f2e9..00000000 --- a/assets/sass/bi-app/_bi-app-rtl.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// right to left module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-rtl'; -@import 'mixins'; \ No newline at end of file diff --git a/assets/sass/bi-app/_mixins.scss b/assets/sass/bi-app/_mixins.scss deleted file mode 100755 index 35399967..00000000 --- a/assets/sass/bi-app/_mixins.scss +++ /dev/null @@ -1,294 +0,0 @@ -// ------------------------------------------ -// bi app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// ------------------------------------------ -// Table of contents -// ------------------------------------------ -// padding -// margin -// float -// text align -// clear -// left / right -// border -// - width -// - style -// - color -// - generic -// - radius -// ltr / rtl contents -// ------------------------------------------ - -// generic mixin for properties with values -// (top right bottom left) -// ------------------------------------------ -@mixin bi-app-compact($property, $top, $right, $bottom, $left) { - @if $bi-app-direction == ltr { - #{$property}: $top $right $bottom $left; - } @else { - #{$property}: $top $left $bottom $right; - } -} - -// padding -// ------------------------------------------ -@mixin padding-left($distance) { - padding-#{$bi-app-left}: $distance; -} - -@mixin padding-right($distance) { - padding-#{$bi-app-right}: $distance; -} - -@mixin padding($top, $right, $bottom, $left) { - @include bi-app-compact(padding, $top, $right, $bottom, $left); -} - -// margin -// ------------------------------------------ -@mixin margin-left($distance) { - margin-#{$bi-app-left}: $distance; -} - -@mixin margin-right($distance) { - margin-#{$bi-app-right}: $distance; -} - -@mixin margin($top, $right, $bottom, $left) { - @include bi-app-compact(margin, $top, $right, $bottom, $left); -} - -// float -// ------------------------------------------ -@mixin bi-app-float-left { - float: $bi-app-left; -} - -@mixin bi-app-float-right { - float: $bi-app-right; -} - -@mixin float($direction) { - @if $direction == left { - @include bi-app-float-left; - } @else if $direction == right { - @include bi-app-float-right; - } @else { - float: $direction; - } -} - -// text align -// ------------------------------------------ -@mixin bi-app-text-align-left { - text-align: $bi-app-left; -} - -@mixin bi-app-text-align-right { - text-align: $bi-app-right; -} - -@mixin text-align($direction) { - @if $direction == left { - @include bi-app-text-align-left; - } @else if $direction == right { - @include bi-app-text-align-right; - } @else { - text-align: $direction; - } -} - -// clear -// ------------------------------------------ -@mixin bi-app-clear-left { - clear: $bi-app-left; -} - -@mixin bi-app-clear-right { - clear: $bi-app-right; -} - -@mixin clear($direction) { - @if $direction == left { - @include bi-app-clear-left; - } @else if $direction == right { - @include bi-app-clear-right; - } @else { - clear: $direction; - } -} - -// left / right -// ------------------------------------------ -@mixin left($distance) { - @if $bi-app-direction == ltr { - left: $distance; - } @else if $bi-app-direction == rtl { - right: $distance; - } -} - -@mixin right($distance) { - @if $bi-app-direction == ltr { - right: $distance; - } @else if $bi-app-direction == rtl { - left: $distance; - } -} - -// border -// ------------------------------------------ - -// width -@mixin border-left-width($width) { - border-#{$bi-app-left}-width: $width; -} - -@mixin border-right-width($width) { - border-#{$bi-app-right}-width: $width; -} - -@mixin border-width($top, $right, $bottom, $left) { - @include bi-app-compact(border-width, $top, $right, $bottom, $left); -} - -// style -@mixin border-left-style($style) { - border-#{$bi-app-left}-style: $style; -} - -@mixin border-right-style($style) { - border-#{$bi-app-right}-style: $style; -} - -@mixin border-style($top, $right, $bottom, $left) { - @include bi-app-compact(border-style, $top, $right, $bottom, $left); -} - -// color -@mixin border-left-color($color) { - border-#{$bi-app-left}-color: $color; -} - -@mixin border-right-color($color) { - border-#{$bi-app-right}-color: $color; -} - -@mixin border-color($top, $right, $bottom, $left) { - @include bi-app-compact(border-color, $top, $right, $bottom, $left); -} - -// generic -@mixin border-left($border-style) { - border-#{$bi-app-left}: $border-style; -} - -@mixin border-right($border-style) { - border-#{$bi-app-right}: $border-style; -} - -// radius -@mixin border-top-left-radius($radius) { - -webkit-border-top-#{$bi-app-left}-radius: $radius; - -moz-border-top#{$bi-app-left}-radius: $radius; - border-top-#{$bi-app-left}-radius: $radius; -} - -@mixin border-top-right-radius($radius) { - -webkit-border-top-#{$bi-app-right}-radius: $radius; - -moz-border-top#{$bi-app-right}-radius: $radius; - border-top-#{$bi-app-right}-radius: $radius; -} - -@mixin border-bottom-left-radius($radius) { - -webkit-border-bottom-#{$bi-app-left}-radius: $radius; - -moz-border-bottom#{$bi-app-left}-radius: $radius; - border-bottom-#{$bi-app-left}-radius: $radius; -} - -@mixin border-bottom-right-radius($radius) { - -webkit-border-bottom-#{$bi-app-right}-radius: $radius; - -moz-border-bottom#{$bi-app-right}-radius: $radius; - border-bottom-#{$bi-app-right}-radius: $radius; -} - -@mixin border-right-radius($radius) { - @include border-top-right-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-left-radius($radius) { - @include border-top-left-radius($radius); - @include border-bottom-left-radius($radius); -} - -@mixin border-top-radius($radius) { - @include border-top-left-radius($radius); - @include border-top-right-radius($radius); -} - -@mixin border-bottom-radius($radius) { - @include border-bottom-left-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-radius($topLeft, $topRight: null, $bottomRight: null, $bottomLeft: null) { - @if $topRight != null { - @include border-top-left-radius($topLeft); - @include border-top-right-radius($topRight); - @include border-bottom-right-radius($bottomRight); - @include border-bottom-left-radius($bottomLeft); - } @else { - -webkit-border-radius: $topLeft; - -moz-border-radius: $topLeft; - -ms-border-radius: $topLeft; - -o-border-radius: $topLeft; - border-radius: $topLeft; - } -} - -// Returns "en" or "ar", useful for image suffixes. -// Usage: background-image: url(/img/header-#{lang()}.png); -@function lang() { - @if $bi-app-direction == ltr { - @return 'en'; - } @else { - @return 'ar'; - } -} - -// Support for "direction" declaration (renders ltr/rtl). -// Useful for form elements as they swap the text-indent property and align the text accordingly. -@mixin direction { - direction: $bi-app-direction; -} - -// Inverts a percentage value. Example: 97% becames 3%. -// Useful for background-position. -@function bi-app-invert-percentage($percentage) { - @if $bi-app-direction == rtl { - @return 100% - $percentage; - } @else { - @return $percentage; - } -} - -// ltr / rtl contents -// ------------------------------------------ -@mixin ltr { - @if $bi-app-direction == ltr { - @content; - } -} - -@mixin rtl { - @if $bi-app-direction == rtl { - @content; - } -} diff --git a/assets/sass/bi-app/_variables-ltr.scss b/assets/sass/bi-app/_variables-ltr.scss deleted file mode 100755 index 36d5a7b0..00000000 --- a/assets/sass/bi-app/_variables-ltr.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// left to right variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : left; -$bi-app-right : right; -$bi-app-direction : ltr; -$bi-app-invert-direction: rtl; \ No newline at end of file diff --git a/assets/sass/bi-app/_variables-rtl.scss b/assets/sass/bi-app/_variables-rtl.scss deleted file mode 100755 index 7300f178..00000000 --- a/assets/sass/bi-app/_variables-rtl.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// right to left variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : right; -$bi-app-right : left; -$bi-app-direction : rtl; -$bi-app-invert-direction: ltr; \ No newline at end of file diff --git a/assets/sass/bourbon/_bourbon-deprecated-upcoming.scss b/assets/sass/bourbon/_bourbon-deprecated-upcoming.scss deleted file mode 100644 index f946b3b4..00000000 --- a/assets/sass/bourbon/_bourbon-deprecated-upcoming.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// These mixins/functions are deprecated -// They will be removed in the next MAJOR version release -//************************************************************************// -@mixin inline-block { - display: inline-block; - @warn "inline-block mixin is deprecated and will be removed in the next major version release"; -} diff --git a/assets/sass/bourbon/_bourbon.scss b/assets/sass/bourbon/_bourbon.scss deleted file mode 100644 index eea6e21e..00000000 --- a/assets/sass/bourbon/_bourbon.scss +++ /dev/null @@ -1,79 +0,0 @@ -// Settings -@import "settings/prefixer"; -@import "settings/px-to-em"; -@import "settings/asset-pipeline"; - -// Custom Helpers -@import "helpers/convert-units"; -@import "helpers/gradient-positions-parser"; -@import "helpers/is-num"; -@import "helpers/linear-angle-parser"; -@import "helpers/linear-gradient-parser"; -@import "helpers/linear-positions-parser"; -@import "helpers/linear-side-corner-parser"; -@import "helpers/radial-arg-parser"; -@import "helpers/radial-positions-parser"; -@import "helpers/radial-gradient-parser"; -@import "helpers/render-gradients"; -@import "helpers/shape-size-stripper"; -@import "helpers/str-to-num"; - -// Custom Functions -@import "functions/assign"; -@import "functions/color-lightness"; -@import "functions/flex-grid"; -@import "functions/golden-ratio"; -@import "functions/grid-width"; -@import "functions/modular-scale"; -@import "functions/px-to-em"; -@import "functions/px-to-rem"; -@import "functions/strip-units"; -@import "functions/tint-shade"; -@import "functions/transition-property-name"; -@import "functions/unpack"; - -// CSS3 Mixins -@import "css3/animation"; -@import "css3/appearance"; -@import "css3/backface-visibility"; -@import "css3/background"; -@import "css3/background-image"; -@import "css3/border-image"; -@import "css3/border-radius"; -@import "css3/box-sizing"; -@import "css3/calc"; -@import "css3/columns"; -@import "css3/filter"; -@import "css3/flex-box"; -@import "css3/font-face"; -@import "css3/font-feature-settings"; -@import "css3/hyphens"; -@import "css3/hidpi-media-query"; -@import "css3/image-rendering"; -@import "css3/keyframes"; -@import "css3/linear-gradient"; -@import "css3/perspective"; -@import "css3/radial-gradient"; -@import "css3/transform"; -@import "css3/transition"; -@import "css3/user-select"; -@import "css3/placeholder"; - -// Addons & other mixins -@import "addons/button"; -@import "addons/clearfix"; -@import "addons/directional-values"; -@import "addons/ellipsis"; -@import "addons/font-family"; -@import "addons/hide-text"; -@import "addons/html5-input-types"; -@import "addons/position"; -@import "addons/prefixer"; -@import "addons/retina-image"; -@import "addons/size"; -@import "addons/timing-functions"; -@import "addons/triangle"; -@import "addons/word-wrap"; - -// Soon to be deprecated Mixins -@import "bourbon-deprecated-upcoming"; diff --git a/assets/sass/bourbon/addons/_button.scss b/assets/sass/bourbon/addons/_button.scss deleted file mode 100644 index 14a89e48..00000000 --- a/assets/sass/bourbon/addons/_button.scss +++ /dev/null @@ -1,374 +0,0 @@ -@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { - - @if type-of($style) == string and type-of($base-color) == color { - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == string and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: #4294f0; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == color { - $base-color: $style; - $style: simple; - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: $style; - $style: simple; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == number { - $padding: $base-color; - $text-size: $style; - $base-color: #4294f0; - $style: simple; - - @if $padding == #4294f0 { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - &:disabled { - opacity: 0.5; - cursor: not-allowed; - } -} - - -// Selector Style Button -//************************************************************************// -@mixin buttonstyle($type, $b-color, $t-size, $pad) { - // Grayscale button - @if $type == simple and $b-color == grayscale($b-color) { - @include simple($b-color, true, $t-size, $pad); - } - - @if $type == shiny and $b-color == grayscale($b-color) { - @include shiny($b-color, true, $t-size, $pad); - } - - @if $type == pill and $b-color == grayscale($b-color) { - @include pill($b-color, true, $t-size, $pad); - } - - @if $type == flat and $b-color == grayscale($b-color) { - @include flat($b-color, true, $t-size, $pad); - } - - // Colored button - @if $type == simple { - @include simple($b-color, false, $t-size, $pad); - } - - @else if $type == shiny { - @include shiny($b-color, false, $t-size, $pad); - } - - @else if $type == pill { - @include pill($b-color, false, $t-size, $pad); - } - - @else if $type == flat { - @include flat($b-color, false, $t-size, $pad); - } -} - - -// Simple Button -//************************************************************************// -@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); - $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); - $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border; - border-radius: 3px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-decoration: none; - text-shadow: 0 1px 0 $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); - $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - } - - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); - - @if $grayscale == true { - $border-active: grayscale($border-active); - $inset-shadow-active: grayscale($inset-shadow-active); - } - - border: 1px solid $border-active; - box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; - } -} - - -// Shiny Button -//************************************************************************// -@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); - $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); - $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); - $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); - $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); - $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); - $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $border-bottom: grayscale($border-bottom); - $fourth-stop: grayscale($fourth-stop); - $inset-shadow: grayscale($inset-shadow); - $second-stop: grayscale($second-stop); - $text-shadow: grayscale($text-shadow); - $third-stop: grayscale($third-stop); - } - - border: 1px solid $border; - border-bottom: 1px solid $border-bottom; - border-radius: 5px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - - &:hover:not(:disabled) { - $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); - $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); - $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); - $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); - - @if $grayscale == true { - $first-stop-hover: grayscale($first-stop-hover); - $second-stop-hover: grayscale($second-stop-hover); - $third-stop-hover: grayscale($third-stop-hover); - $fourth-stop-hover: grayscale($fourth-stop-hover); - } - - cursor: pointer; - @include linear-gradient(top, $first-stop-hover 0%, - $second-stop-hover 50%, - $third-stop-hover 50%, - $fourth-stop-hover 100%); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); - - @if $grayscale == true { - $inset-shadow-active: grayscale($inset-shadow-active); - } - - box-shadow: inset 0 0 20px 0 $inset-shadow-active; - } -} - - -// Pill Button -//************************************************************************// -@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); - $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); - $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); - $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - border-radius: 16px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: normal; - line-height: 1; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $lightness: -4.5%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); - $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); - $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - $text-shadow-hover: grayscale($text-shadow-hover); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - text-shadow: 0 -1px 1px $text-shadow-hover; - background-clip: padding-box; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); - $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); - $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); - $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); - $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); - - @if $grayscale == true { - $active-color: grayscale($active-color); - $border-active: grayscale($border-active); - $border-bottom-active: grayscale($border-bottom-active); - $inset-shadow-active: grayscale($inset-shadow-active); - $text-shadow-active: grayscale($text-shadow-active); - } - - background: $active-color; - border: 1px solid $border-active; - border-bottom: 1px solid $border-bottom-active; - box-shadow: inset 0 0 6px 3px $inset-shadow-active; - text-shadow: 0 -1px 1px $text-shadow-active; - } -} - - - -// Flat Button -//************************************************************************// -@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - } - - background-color: $base-color; - border-radius: 3px; - border: none; - color: $color; - display: inline-block; - font-size: inherit; - font-weight: bold; - padding: 7px 18px; - text-decoration: none; - background-clip: padding-box; - - &:hover:not(:disabled){ - $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - } - - background-color: $base-color-hover; - cursor: pointer; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - - @if $grayscale == true { - $base-color-active: grayscale($base-color-active); - } - - background-color: $base-color-active; - cursor: pointer; - } -} diff --git a/assets/sass/bourbon/addons/_clearfix.scss b/assets/sass/bourbon/addons/_clearfix.scss deleted file mode 100644 index 783cfbc7..00000000 --- a/assets/sass/bourbon/addons/_clearfix.scss +++ /dev/null @@ -1,23 +0,0 @@ -// Modern micro clearfix provides an easy way to contain floats without adding additional markup. -// -// Example usage: -// -// // Contain all floats within .wrapper -// .wrapper { -// @include clearfix; -// .content, -// .sidebar { -// float : left; -// } -// } - -@mixin clearfix { - &:after { - content:""; - display:table; - clear:both; - } -} - -// Acknowledgements -// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php) diff --git a/assets/sass/bourbon/addons/_directional-values.scss b/assets/sass/bourbon/addons/_directional-values.scss deleted file mode 100644 index 742f1031..00000000 --- a/assets/sass/bourbon/addons/_directional-values.scss +++ /dev/null @@ -1,111 +0,0 @@ -// directional-property mixins are shorthands -// for writing properties like the following -// -// @include margin(null 0 10px); -// ------ -// margin-right: 0; -// margin-bottom: 10px; -// margin-left: 0; -// -// - or - -// -// @include border-style(dotted null); -// ------ -// border-top-style: dotted; -// border-bottom-style: dotted; -// -// ------ -// -// Note: You can also use false instead of null - -@function collapse-directionals($vals) { - $output: null; - - $A: nth( $vals, 1 ); - $B: if( length($vals) < 2, $A, nth($vals, 2)); - $C: if( length($vals) < 3, $A, nth($vals, 3)); - $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) )); - - @if $A == 0 { $A: 0 } - @if $B == 0 { $B: 0 } - @if $C == 0 { $C: 0 } - @if $D == 0 { $D: 0 } - - @if $A == $B and $A == $C and $A == $D { $output: $A } - @else if $A == $C and $B == $D { $output: $A $B } - @else if $B == $D { $output: $A $B $C } - @else { $output: $A $B $C $D } - - @return $output; -} - -@function contains-falsy($list) { - @each $item in $list { - @if not $item { - @return true; - } - } - - @return false; -} - -@mixin directional-property($pre, $suf, $vals) { - // Property Names - $top: $pre + "-top" + if($suf, "-#{$suf}", ""); - $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); - $left: $pre + "-left" + if($suf, "-#{$suf}", ""); - $right: $pre + "-right" + if($suf, "-#{$suf}", ""); - $all: $pre + if($suf, "-#{$suf}", ""); - - $vals: collapse-directionals($vals); - - @if contains-falsy($vals) { - @if nth($vals, 1) { #{$top}: nth($vals, 1); } - - @if length($vals) == 1 { - @if nth($vals, 1) { #{$right}: nth($vals, 1); } - } @else { - @if nth($vals, 2) { #{$right}: nth($vals, 2); } - } - - // prop: top/bottom right/left - @if length($vals) == 2 { - @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right/left bottom - } @else if length($vals) == 3 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right bottom left - } @else if length($vals) == 4 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 4) { #{$left}: nth($vals, 4); } - } - - // prop: top/right/bottom/left - } @else { - #{$all}: $vals; - } -} - -@mixin margin($vals...) { - @include directional-property(margin, false, $vals...); -} - -@mixin padding($vals...) { - @include directional-property(padding, false, $vals...); -} - -@mixin border-style($vals...) { - @include directional-property(border, style, $vals...); -} - -@mixin border-color($vals...) { - @include directional-property(border, color, $vals...); -} - -@mixin border-width($vals...) { - @include directional-property(border, width, $vals...); -} diff --git a/assets/sass/bourbon/addons/_ellipsis.scss b/assets/sass/bourbon/addons/_ellipsis.scss deleted file mode 100644 index a8ea2a4a..00000000 --- a/assets/sass/bourbon/addons/_ellipsis.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin ellipsis($width: 100%) { - display: inline-block; - max-width: $width; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/assets/sass/bourbon/addons/_font-family.scss b/assets/sass/bourbon/addons/_font-family.scss deleted file mode 100644 index 31f5d9ca..00000000 --- a/assets/sass/bourbon/addons/_font-family.scss +++ /dev/null @@ -1,5 +0,0 @@ -$georgia: Georgia, Cambria, "Times New Roman", Times, serif; -$helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; -$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif; -$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace; -$verdana: Verdana, Geneva, sans-serif; diff --git a/assets/sass/bourbon/addons/_hide-text.scss b/assets/sass/bourbon/addons/_hide-text.scss deleted file mode 100644 index fc794381..00000000 --- a/assets/sass/bourbon/addons/_hide-text.scss +++ /dev/null @@ -1,10 +0,0 @@ -@mixin hide-text { - overflow: hidden; - - &:before { - content: ""; - display: block; - width: 0; - height: 100%; - } -} diff --git a/assets/sass/bourbon/addons/_html5-input-types.scss b/assets/sass/bourbon/addons/_html5-input-types.scss deleted file mode 100644 index 9e9324ae..00000000 --- a/assets/sass/bourbon/addons/_html5-input-types.scss +++ /dev/null @@ -1,86 +0,0 @@ -//************************************************************************// -// Generate a variable ($all-text-inputs) with a list of all html5 -// input types that have a text-based input, excluding textarea. -// http://diveintohtml5.org/forms.html -//************************************************************************// -$inputs-list: 'input[type="email"]', - 'input[type="number"]', - 'input[type="password"]', - 'input[type="search"]', - 'input[type="tel"]', - 'input[type="text"]', - 'input[type="url"]', - - // Webkit & Gecko may change the display of these in the future - 'input[type="color"]', - 'input[type="date"]', - 'input[type="datetime"]', - 'input[type="datetime-local"]', - 'input[type="month"]', - 'input[type="time"]', - 'input[type="week"]'; - -// Bare inputs -//************************************************************************// -$all-text-inputs: assign-inputs($inputs-list); - -// Hover Pseudo-class -//************************************************************************// -$all-text-inputs-hover: assign-inputs($inputs-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-text-inputs-focus: assign-inputs($inputs-list, focus); - - - -// You must use interpolation on the variable: -// #{$all-text-inputs} -// #{$all-text-inputs-hover} -// #{$all-text-inputs-focus} - -// Example -//************************************************************************// -// #{$all-text-inputs}, textarea { -// border: 1px solid red; -// } - - - -//************************************************************************// -// Generate a variable ($all-button-inputs) with a list of all html5 -// input types that have a button-based input, excluding button. -//************************************************************************// -$inputs-button-list: 'input[type="button"]', - 'input[type="reset"]', - 'input[type="submit"]'; - -// Bare inputs -//************************************************************************// -$all-button-inputs: assign-inputs($inputs-button-list); - -// Hover Pseudo-class -//************************************************************************// -$all-button-inputs-hover: assign-inputs($inputs-button-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-button-inputs-focus: assign-inputs($inputs-button-list, focus); - -// Active Pseudo-class -//************************************************************************// -$all-button-inputs-active: assign-inputs($inputs-button-list, active); - - - -// You must use interpolation on the variable: -// #{$all-button-inputs} -// #{$all-button-inputs-hover} -// #{$all-button-inputs-focus} -// #{$all-button-inputs-active} - -// Example -//************************************************************************// -// #{$all-button-inputs}, button { -// border: 1px solid red; -// } diff --git a/assets/sass/bourbon/addons/_position.scss b/assets/sass/bourbon/addons/_position.scss deleted file mode 100644 index 7de75182..00000000 --- a/assets/sass/bourbon/addons/_position.scss +++ /dev/null @@ -1,32 +0,0 @@ -@mixin position ($position: relative, $coordinates: null null null null) { - - @if type-of($position) == list { - $coordinates: $position; - $position: relative; - } - - $coordinates: unpack($coordinates); - - $top: nth($coordinates, 1); - $right: nth($coordinates, 2); - $bottom: nth($coordinates, 3); - $left: nth($coordinates, 4); - - position: $position; - - @if ($top and $top == auto) or (type-of($top) == number) { - top: $top; - } - - @if ($right and $right == auto) or (type-of($right) == number) { - right: $right; - } - - @if ($bottom and $bottom == auto) or (type-of($bottom) == number) { - bottom: $bottom; - } - - @if ($left and $left == auto) or (type-of($left) == number) { - left: $left; - } -} diff --git a/assets/sass/bourbon/addons/_prefixer.scss b/assets/sass/bourbon/addons/_prefixer.scss deleted file mode 100644 index c32f5027..00000000 --- a/assets/sass/bourbon/addons/_prefixer.scss +++ /dev/null @@ -1,45 +0,0 @@ -//************************************************************************// -// Example: @include prefixer(border-radius, $radii, webkit ms spec); -//************************************************************************// -// Variables located in /settings/_prefixer.scss - -@mixin prefixer ($property, $value, $prefixes) { - @each $prefix in $prefixes { - @if $prefix == webkit { - @if $prefix-for-webkit { - -webkit-#{$property}: $value; - } - } - @else if $prefix == moz { - @if $prefix-for-mozilla { - -moz-#{$property}: $value; - } - } - @else if $prefix == ms { - @if $prefix-for-microsoft { - -ms-#{$property}: $value; - } - } - @else if $prefix == o { - @if $prefix-for-opera { - -o-#{$property}: $value; - } - } - @else if $prefix == spec { - @if $prefix-for-spec { - #{$property}: $value; - } - } - @else { - @warn "Unrecognized prefix: #{$prefix}"; - } - } -} - -@mixin disable-prefix-for-all() { - $prefix-for-webkit: false !global; - $prefix-for-mozilla: false !global; - $prefix-for-microsoft: false !global; - $prefix-for-opera: false !global; - $prefix-for-spec: false !global; -} diff --git a/assets/sass/bourbon/addons/_retina-image.scss b/assets/sass/bourbon/addons/_retina-image.scss deleted file mode 100644 index 3995c197..00000000 --- a/assets/sass/bourbon/addons/_retina-image.scss +++ /dev/null @@ -1,31 +0,0 @@ -@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { - @if $asset-pipeline { - background-image: image-url("#{$filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}.#{$extension}"); - } - - @include hidpi { - @if $asset-pipeline { - @if $retina-filename { - background-image: image-url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - @else { - @if $retina-filename { - background-image: url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - background-size: $background-size; - - } -} diff --git a/assets/sass/bourbon/addons/_size.scss b/assets/sass/bourbon/addons/_size.scss deleted file mode 100644 index a8653799..00000000 --- a/assets/sass/bourbon/addons/_size.scss +++ /dev/null @@ -1,16 +0,0 @@ -@mixin size($size) { - $height: nth($size, 1); - $width: $height; - - @if length($size) > 1 { - $height: nth($size, 2); - } - - @if $height == auto or (type-of($height) == number and not unitless($height)) { - height: $height; - } - - @if $width == auto or (type-of($width) == number and not unitless($width)) { - width: $width; - } -} diff --git a/assets/sass/bourbon/addons/_timing-functions.scss b/assets/sass/bourbon/addons/_timing-functions.scss deleted file mode 100644 index 5ecc6f9d..00000000 --- a/assets/sass/bourbon/addons/_timing-functions.scss +++ /dev/null @@ -1,32 +0,0 @@ -// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) -// Timing functions are the same as demo'ed here: http://jqueryui.com/resources/demos/effect/easing.html - -// EASE IN -$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); -$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); -$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); -$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); -$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); -$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); -$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); -$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); - -// EASE OUT -$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); -$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); -$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); -$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); -$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); -$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); -$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); -$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); - -// EASE IN OUT -$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); -$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); -$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); -$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); -$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); -$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); -$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); -$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); diff --git a/assets/sass/bourbon/addons/_triangle.scss b/assets/sass/bourbon/addons/_triangle.scss deleted file mode 100644 index 573954e4..00000000 --- a/assets/sass/bourbon/addons/_triangle.scss +++ /dev/null @@ -1,83 +0,0 @@ -@mixin triangle ($size, $color, $direction) { - height: 0; - width: 0; - - $width: nth($size, 1); - $height: nth($size, length($size)); - - $foreground-color: nth($color, 1); - $background-color: if(length($color) == 2, nth($color, 2), transparent); - - @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { - - $width: $width / 2; - $height: if(length($size) > 1, $height, $height/2); - - @if $direction == up { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-bottom: $height solid $foreground-color; - - } @else if $direction == right { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-left: $height solid $foreground-color; - - } @else if $direction == down { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-top: $height solid $foreground-color; - - } @else if $direction == left { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-right: $height solid $foreground-color; - } - } - - @else if ($direction == up-right) or ($direction == up-left) { - border-top: $height solid $foreground-color; - - @if $direction == up-right { - border-left: $width solid $background-color; - - } @else if $direction == up-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == down-right) or ($direction == down-left) { - border-bottom: $height solid $foreground-color; - - @if $direction == down-right { - border-left: $width solid $background-color; - - } @else if $direction == down-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == inset-up) { - border-width: $height $width; - border-style: solid; - border-color: $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-down) { - border-width: $height $width; - border-style: solid; - border-color: $foreground-color $background-color $background-color; - } - - @else if ($direction == inset-right) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-left) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $foreground-color $background-color $background-color; - } -} diff --git a/assets/sass/bourbon/addons/_word-wrap.scss b/assets/sass/bourbon/addons/_word-wrap.scss deleted file mode 100644 index 9734a597..00000000 --- a/assets/sass/bourbon/addons/_word-wrap.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin word-wrap($wrap: break-word) { - word-wrap: $wrap; - - @if $wrap == break-word { - overflow-wrap: break-word; - word-break: break-all; - } -} diff --git a/assets/sass/bourbon/css3/_animation.scss b/assets/sass/bourbon/css3/_animation.scss deleted file mode 100644 index 08c3dbf1..00000000 --- a/assets/sass/bourbon/css3/_animation.scss +++ /dev/null @@ -1,52 +0,0 @@ -// http://www.w3.org/TR/css3-animations/#the-animation-name-property- -// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. - -// Official animation shorthand property. -@mixin animation ($animations...) { - @include prefixer(animation, $animations, webkit moz spec); -} - -// Individual Animation Properties -@mixin animation-name ($names...) { - @include prefixer(animation-name, $names, webkit moz spec); -} - - -@mixin animation-duration ($times...) { - @include prefixer(animation-duration, $times, webkit moz spec); -} - - -@mixin animation-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out - @include prefixer(animation-timing-function, $motions, webkit moz spec); -} - - -@mixin animation-iteration-count ($values...) { -// infinite | - @include prefixer(animation-iteration-count, $values, webkit moz spec); -} - - -@mixin animation-direction ($directions...) { -// normal | alternate - @include prefixer(animation-direction, $directions, webkit moz spec); -} - - -@mixin animation-play-state ($states...) { -// running | paused - @include prefixer(animation-play-state, $states, webkit moz spec); -} - - -@mixin animation-delay ($times...) { - @include prefixer(animation-delay, $times, webkit moz spec); -} - - -@mixin animation-fill-mode ($modes...) { -// none | forwards | backwards | both - @include prefixer(animation-fill-mode, $modes, webkit moz spec); -} diff --git a/assets/sass/bourbon/css3/_appearance.scss b/assets/sass/bourbon/css3/_appearance.scss deleted file mode 100644 index 3eb16e45..00000000 --- a/assets/sass/bourbon/css3/_appearance.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin appearance ($value) { - @include prefixer(appearance, $value, webkit moz ms o spec); -} diff --git a/assets/sass/bourbon/css3/_backface-visibility.scss b/assets/sass/bourbon/css3/_backface-visibility.scss deleted file mode 100644 index 1161fe60..00000000 --- a/assets/sass/bourbon/css3/_backface-visibility.scss +++ /dev/null @@ -1,6 +0,0 @@ -//************************************************************************// -// Backface-visibility mixin -//************************************************************************// -@mixin backface-visibility($visibility) { - @include prefixer(backface-visibility, $visibility, webkit spec); -} diff --git a/assets/sass/bourbon/css3/_background-image.scss b/assets/sass/bourbon/css3/_background-image.scss deleted file mode 100644 index 6abe88be..00000000 --- a/assets/sass/bourbon/css3/_background-image.scss +++ /dev/null @@ -1,42 +0,0 @@ -//************************************************************************// -// Background-image property for adding multiple background images with -// gradients, or for stringing multiple gradients together. -//************************************************************************// - -@mixin background-image($images...) { - $webkit-images: (); - $spec-images: (); - - @each $image in $images { - $webkit-image: (); - $spec-image: (); - - @if (type-of($image) == string) { - $url-str: str-slice($image, 0, 3); - $gradient-type: str-slice($image, 0, 6); - - @if $url-str == "url" { - $webkit-image: $image; - $spec-image: $image; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - } - - $webkit-images: append($webkit-images, $webkit-image, comma); - $spec-images: append($spec-images, $spec-image, comma); - } - - background-image: $webkit-images; - background-image: $spec-images; -} diff --git a/assets/sass/bourbon/css3/_background.scss b/assets/sass/bourbon/css3/_background.scss deleted file mode 100644 index 9bce9308..00000000 --- a/assets/sass/bourbon/css3/_background.scss +++ /dev/null @@ -1,55 +0,0 @@ -//************************************************************************// -// Background property for adding multiple backgrounds using shorthand -// notation. -//************************************************************************// - -@mixin background($backgrounds...) { - $webkit-backgrounds: (); - $spec-backgrounds: (); - - @each $background in $backgrounds { - $webkit-background: (); - $spec-background: (); - $background-type: type-of($background); - - @if $background-type == string or list { - $background-str: if($background-type == list, nth($background, 1), $background); - - $url-str: str-slice($background-str, 0, 3); - $gradient-type: str-slice($background-str, 0, 6); - - @if $url-str == "url" { - $webkit-background: $background; - $spec-background: $background; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - - $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); - $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); - } - - background: $webkit-backgrounds; - background: $spec-backgrounds; -} diff --git a/assets/sass/bourbon/css3/_border-image.scss b/assets/sass/bourbon/css3/_border-image.scss deleted file mode 100644 index e338c2dc..00000000 --- a/assets/sass/bourbon/css3/_border-image.scss +++ /dev/null @@ -1,59 +0,0 @@ -@mixin border-image($borders...) { - $webkit-borders: (); - $spec-borders: (); - - @each $border in $borders { - $webkit-border: (); - $spec-border: (); - $border-type: type-of($border); - - @if $border-type == string or list { - $border-str: if($border-type == list, nth($border, 1), $border); - - $url-str: str-slice($border-str, 0, 3); - $gradient-type: str-slice($border-str, 0, 6); - - @if $url-str == "url" { - $webkit-border: $border; - $spec-border: $border; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - - $webkit-borders: append($webkit-borders, $webkit-border, comma); - $spec-borders: append($spec-borders, $spec-border, comma); - } - - -webkit-border-image: $webkit-borders; - border-image: $spec-borders; - border-style: solid; -} - -//Examples: -// @include border-image(url("image.png")); -// @include border-image(url("image.png") 20 stretch); -// @include border-image(linear-gradient(45deg, orange, yellow)); -// @include border-image(linear-gradient(45deg, orange, yellow) stretch); -// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); -// @include border-image(radial-gradient(top, cover, orange, yellow, orange)); diff --git a/assets/sass/bourbon/css3/_border-radius.scss b/assets/sass/bourbon/css3/_border-radius.scss deleted file mode 100644 index 7c171901..00000000 --- a/assets/sass/bourbon/css3/_border-radius.scss +++ /dev/null @@ -1,22 +0,0 @@ -//************************************************************************// -// Shorthand Border-radius mixins -//************************************************************************// -@mixin border-top-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-top-right-radius, $radii, spec); -} - -@mixin border-bottom-radius($radii) { - @include prefixer(border-bottom-left-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} - -@mixin border-left-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-bottom-left-radius, $radii, spec); -} - -@mixin border-right-radius($radii) { - @include prefixer(border-top-right-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} diff --git a/assets/sass/bourbon/css3/_box-sizing.scss b/assets/sass/bourbon/css3/_box-sizing.scss deleted file mode 100644 index f07e1d41..00000000 --- a/assets/sass/bourbon/css3/_box-sizing.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin box-sizing ($box) { -// content-box | border-box | inherit - @include prefixer(box-sizing, $box, webkit moz spec); -} diff --git a/assets/sass/bourbon/css3/_calc.scss b/assets/sass/bourbon/css3/_calc.scss deleted file mode 100644 index 94d7e4ce..00000000 --- a/assets/sass/bourbon/css3/_calc.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin calc($property, $value) { - #{$property}: -webkit-calc(#{$value}); - #{$property}: calc(#{$value}); -} diff --git a/assets/sass/bourbon/css3/_columns.scss b/assets/sass/bourbon/css3/_columns.scss deleted file mode 100644 index 96f601c1..00000000 --- a/assets/sass/bourbon/css3/_columns.scss +++ /dev/null @@ -1,47 +0,0 @@ -@mixin columns($arg: auto) { -// || - @include prefixer(columns, $arg, webkit moz spec); -} - -@mixin column-count($int: auto) { -// auto || integer - @include prefixer(column-count, $int, webkit moz spec); -} - -@mixin column-gap($length: normal) { -// normal || length - @include prefixer(column-gap, $length, webkit moz spec); -} - -@mixin column-fill($arg: auto) { -// auto || length - @include prefixer(column-fill, $arg, webkit moz spec); -} - -@mixin column-rule($arg) { -// || || - @include prefixer(column-rule, $arg, webkit moz spec); -} - -@mixin column-rule-color($color) { - @include prefixer(column-rule-color, $color, webkit moz spec); -} - -@mixin column-rule-style($style: none) { -// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid - @include prefixer(column-rule-style, $style, webkit moz spec); -} - -@mixin column-rule-width ($width: none) { - @include prefixer(column-rule-width, $width, webkit moz spec); -} - -@mixin column-span($arg: none) { -// none || all - @include prefixer(column-span, $arg, webkit moz spec); -} - -@mixin column-width($length: auto) { -// auto || length - @include prefixer(column-width, $length, webkit moz spec); -} diff --git a/assets/sass/bourbon/css3/_filter.scss b/assets/sass/bourbon/css3/_filter.scss deleted file mode 100644 index 8560d776..00000000 --- a/assets/sass/bourbon/css3/_filter.scss +++ /dev/null @@ -1,5 +0,0 @@ -@mixin filter($function: none) { - // [ - @include prefixer(perspective, $depth, webkit moz spec); -} - -@mixin perspective-origin($value: 50% 50%) { - @include prefixer(perspective-origin, $value, webkit moz spec); -} diff --git a/assets/sass/bourbon/css3/_placeholder.scss b/assets/sass/bourbon/css3/_placeholder.scss deleted file mode 100644 index 5682fd09..00000000 --- a/assets/sass/bourbon/css3/_placeholder.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin placeholder { - $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; - @each $placeholder in $placeholders { - &:#{$placeholder}-placeholder { - @content; - } - } -} diff --git a/assets/sass/bourbon/css3/_radial-gradient.scss b/assets/sass/bourbon/css3/_radial-gradient.scss deleted file mode 100644 index 7a8c3765..00000000 --- a/assets/sass/bourbon/css3/_radial-gradient.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Requires Sass 3.1+ -@mixin radial-gradient($G1, $G2, - $G3: null, $G4: null, - $G5: null, $G6: null, - $G7: null, $G8: null, - $G9: null, $G10: null, - $pos: null, - $shape-size: null, - $fallback: null) { - - $data: _radial-arg-parser($G1, $G2, $pos, $shape-size); - $G1: nth($data, 1); - $G2: nth($data, 2); - $pos: nth($data, 3); - $shape-size: nth($data, 4); - - $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; - - // Strip deprecated cover/contain for spec - $shape-size-spec: _shape-size-stripper($shape-size); - - // Set $G1 as the default fallback color - $first-color: nth($full, 1); - $fallback-color: nth($first-color, 1); - - @if (type-of($fallback) == color) or ($fallback == "transparent") { - $fallback-color: $fallback; - } - - // Add Commas and spaces - $shape-size: if($shape-size, '#{$shape-size}, ', null); - $pos: if($pos, '#{$pos}, ', null); - $pos-spec: if($pos, 'at #{$pos}', null); - $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} '); - - background-color: $fallback-color; - background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); - background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); -} diff --git a/assets/sass/bourbon/css3/_transform.scss b/assets/sass/bourbon/css3/_transform.scss deleted file mode 100644 index 8cc35963..00000000 --- a/assets/sass/bourbon/css3/_transform.scss +++ /dev/null @@ -1,15 +0,0 @@ -@mixin transform($property: none) { -// none | - @include prefixer(transform, $property, webkit moz ms o spec); -} - -@mixin transform-origin($axes: 50%) { -// x-axis - left | center | right | length | % -// y-axis - top | center | bottom | length | % -// z-axis - length - @include prefixer(transform-origin, $axes, webkit moz ms o spec); -} - -@mixin transform-style ($style: flat) { - @include prefixer(transform-style, $style, webkit moz ms o spec); -} diff --git a/assets/sass/bourbon/css3/_transition.scss b/assets/sass/bourbon/css3/_transition.scss deleted file mode 100644 index 5ad4c0ae..00000000 --- a/assets/sass/bourbon/css3/_transition.scss +++ /dev/null @@ -1,77 +0,0 @@ -// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. -// Example: @include transition (all 2s ease-in-out); -// @include transition (opacity 1s ease-in 2s, width 2s ease-out); -// @include transition-property (transform, opacity); - -@mixin transition ($properties...) { - // Fix for vendor-prefix transform property - $needs-prefixes: false; - $webkit: (); - $moz: (); - $spec: (); - - // Create lists for vendor-prefixed transform - @each $list in $properties { - @if nth($list, 1) == "transform" { - $needs-prefixes: true; - $list1: -webkit-transform; - $list2: -moz-transform; - $list3: (); - - @each $var in $list { - $list3: join($list3, $var); - - @if $var != "transform" { - $list1: join($list1, $var); - $list2: join($list2, $var); - } - } - - $webkit: append($webkit, $list1); - $moz: append($moz, $list2); - $spec: append($spec, $list3); - } - - // Create lists for non-prefixed transition properties - @else { - $webkit: append($webkit, $list, comma); - $moz: append($moz, $list, comma); - $spec: append($spec, $list, comma); - } - } - - @if $needs-prefixes { - -webkit-transition: $webkit; - -moz-transition: $moz; - transition: $spec; - } - @else { - @if length($properties) >= 1 { - @include prefixer(transition, $properties, webkit moz spec); - } - - @else { - $properties: all 0.15s ease-out 0s; - @include prefixer(transition, $properties, webkit moz spec); - } - } -} - -@mixin transition-property ($properties...) { - -webkit-transition-property: transition-property-names($properties, 'webkit'); - -moz-transition-property: transition-property-names($properties, 'moz'); - transition-property: transition-property-names($properties, false); -} - -@mixin transition-duration ($times...) { - @include prefixer(transition-duration, $times, webkit moz spec); -} - -@mixin transition-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() - @include prefixer(transition-timing-function, $motions, webkit moz spec); -} - -@mixin transition-delay ($times...) { - @include prefixer(transition-delay, $times, webkit moz spec); -} diff --git a/assets/sass/bourbon/css3/_user-select.scss b/assets/sass/bourbon/css3/_user-select.scss deleted file mode 100644 index 1380aa8b..00000000 --- a/assets/sass/bourbon/css3/_user-select.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin user-select($arg: none) { - @include prefixer(user-select, $arg, webkit moz ms spec); -} diff --git a/assets/sass/bourbon/functions/_assign.scss b/assets/sass/bourbon/functions/_assign.scss deleted file mode 100644 index 9a1db93e..00000000 --- a/assets/sass/bourbon/functions/_assign.scss +++ /dev/null @@ -1,11 +0,0 @@ -@function assign-inputs($inputs, $pseudo: null) { - $list : (); - - @each $input in $inputs { - $input: unquote($input); - $input: if($pseudo, $input + ":" + $pseudo, $input); - $list: append($list, $input, comma); - } - - @return $list; -} \ No newline at end of file diff --git a/assets/sass/bourbon/functions/_color-lightness.scss b/assets/sass/bourbon/functions/_color-lightness.scss deleted file mode 100644 index 8c6df4e2..00000000 --- a/assets/sass/bourbon/functions/_color-lightness.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Programatically determines whether a color is light or dark -// Returns a boolean -// More details here http://robots.thoughtbot.com/closer-look-color-lightness - -@function is-light($hex-color) { - $-local-red: red(rgba($hex-color, 1.0)); - $-local-green: green(rgba($hex-color, 1.0)); - $-local-blue: blue(rgba($hex-color, 1.0)); - - $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; - - @return $-local-lightness > .6; -} diff --git a/assets/sass/bourbon/functions/_flex-grid.scss b/assets/sass/bourbon/functions/_flex-grid.scss deleted file mode 100644 index 3bbd8665..00000000 --- a/assets/sass/bourbon/functions/_flex-grid.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Flexible grid -@function flex-grid($columns, $container-columns: $fg-max-columns) { - $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($width / $container-width); -} - -// Flexible gutter -@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($gutter / $container-width); -} - -// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function. -// This function takes the fluid grid equation (target / context = result) and uses columns to help define each. -// -// The calculation presumes that your column structure will be missing the last gutter: -// -// -- column -- gutter -- column -- gutter -- column -// -// $fg-column: 60px; // Column Width -// $fg-gutter: 25px; // Gutter Width -// $fg-max-columns: 12; // Total Columns For Main Container -// -// div { -// width: flex-grid(4); // returns (315px / 995px) = 31.65829%; -// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%; -// -// p { -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// float: left; -// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%; -// } -// -// blockquote { -// float: left; -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// } -// } \ No newline at end of file diff --git a/assets/sass/bourbon/functions/_golden-ratio.scss b/assets/sass/bourbon/functions/_golden-ratio.scss deleted file mode 100644 index 463d14a0..00000000 --- a/assets/sass/bourbon/functions/_golden-ratio.scss +++ /dev/null @@ -1,3 +0,0 @@ -@function golden-ratio($value, $increment) { - @return modular-scale($value, $increment, $golden) -} diff --git a/assets/sass/bourbon/functions/_grid-width.scss b/assets/sass/bourbon/functions/_grid-width.scss deleted file mode 100644 index 8e63d83d..00000000 --- a/assets/sass/bourbon/functions/_grid-width.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function grid-width($n) { - @return $n * $gw-column + ($n - 1) * $gw-gutter; -} - -// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function. -// -// $gw-column: 100px; // Column Width -// $gw-gutter: 40px; // Gutter Width -// -// div { -// width: grid-width(4); // returns 520px; -// margin-left: $gw-gutter; // returns 40px; -// } diff --git a/assets/sass/bourbon/functions/_modular-scale.scss b/assets/sass/bourbon/functions/_modular-scale.scss deleted file mode 100644 index afc59eb9..00000000 --- a/assets/sass/bourbon/functions/_modular-scale.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Scaling Variables -$golden: 1.618; -$minor-second: 1.067; -$major-second: 1.125; -$minor-third: 1.2; -$major-third: 1.25; -$perfect-fourth: 1.333; -$augmented-fourth: 1.414; -$perfect-fifth: 1.5; -$minor-sixth: 1.6; -$major-sixth: 1.667; -$minor-seventh: 1.778; -$major-seventh: 1.875; -$octave: 2; -$major-tenth: 2.5; -$major-eleventh: 2.667; -$major-twelfth: 3; -$double-octave: 4; - -@function modular-scale($value, $increment, $ratio) { - $v1: nth($value, 1); - $v2: nth($value, length($value)); - $value: $v1; - - // scale $v2 to just above $v1 - @while $v2 > $v1 { - $v2: ($v2 / $ratio); // will be off-by-1 - } - @while $v2 < $v1 { - $v2: ($v2 * $ratio); // will fix off-by-1 - } - - // check AFTER scaling $v2 to prevent double-counting corner-case - $double-stranded: $v2 > $v1; - - @if $increment > 0 { - @for $i from 1 through $increment { - @if $double-stranded and ($v1 * $ratio) > $v2 { - $value: $v2; - $v2: ($v2 * $ratio); - } @else { - $v1: ($v1 * $ratio); - $value: $v1; - } - } - } - - @if $increment < 0 { - // adjust $v2 to just below $v1 - @if $double-stranded { - $v2: ($v2 / $ratio); - } - - @for $i from $increment through -1 { - @if $double-stranded and ($v1 / $ratio) < $v2 { - $value: $v2; - $v2: ($v2 / $ratio); - } @else { - $v1: ($v1 / $ratio); - $value: $v1; - } - } - } - - @return $value; -} diff --git a/assets/sass/bourbon/functions/_px-to-em.scss b/assets/sass/bourbon/functions/_px-to-em.scss deleted file mode 100644 index 4832245e..00000000 --- a/assets/sass/bourbon/functions/_px-to-em.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Convert pixels to ems -// eg. for a relational value of 12px write em(12) when the parent is 16px -// if the parent is another value say 24px write em(12, 24) - -@function em($pxval, $base: $em-base) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1em; -} diff --git a/assets/sass/bourbon/functions/_px-to-rem.scss b/assets/sass/bourbon/functions/_px-to-rem.scss deleted file mode 100644 index 96b244e4..00000000 --- a/assets/sass/bourbon/functions/_px-to-rem.scss +++ /dev/null @@ -1,15 +0,0 @@ -// Convert pixels to rems -// eg. for a relational value of 12px write rem(12) -// Assumes $em-base is the font-size of - -@function rem($pxval) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - - $base: $em-base; - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1rem; -} diff --git a/assets/sass/bourbon/functions/_strip-units.scss b/assets/sass/bourbon/functions/_strip-units.scss deleted file mode 100644 index 6afc6e60..00000000 --- a/assets/sass/bourbon/functions/_strip-units.scss +++ /dev/null @@ -1,5 +0,0 @@ -// Srtips the units from a value. e.g. 12px -> 12 - -@function strip-units($val) { - @return ($val / ($val * 0 + 1)); -} diff --git a/assets/sass/bourbon/functions/_tint-shade.scss b/assets/sass/bourbon/functions/_tint-shade.scss deleted file mode 100644 index f7172004..00000000 --- a/assets/sass/bourbon/functions/_tint-shade.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Add percentage of white to a color -@function tint($color, $percent){ - @return mix(white, $color, $percent); -} - -// Add percentage of black to a color -@function shade($color, $percent){ - @return mix(black, $color, $percent); -} diff --git a/assets/sass/bourbon/functions/_transition-property-name.scss b/assets/sass/bourbon/functions/_transition-property-name.scss deleted file mode 100644 index 54cd4228..00000000 --- a/assets/sass/bourbon/functions/_transition-property-name.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Return vendor-prefixed property names if appropriate -// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background -//************************************************************************// -@function transition-property-names($props, $vendor: false) { - $new-props: (); - - @each $prop in $props { - $new-props: append($new-props, transition-property-name($prop, $vendor), comma); - } - - @return $new-props; -} - -@function transition-property-name($prop, $vendor: false) { - // put other properties that need to be prefixed here aswell - @if $vendor and $prop == transform { - @return unquote('-'+$vendor+'-'+$prop); - } - @else { - @return $prop; - } -} \ No newline at end of file diff --git a/assets/sass/bourbon/functions/_unpack.scss b/assets/sass/bourbon/functions/_unpack.scss deleted file mode 100644 index 37759636..00000000 --- a/assets/sass/bourbon/functions/_unpack.scss +++ /dev/null @@ -1,17 +0,0 @@ -// Convert shorthand to the 4-value syntax - -@function unpack($shorthand) { - @if length($shorthand) == 1 { - @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); - } - @else if length($shorthand) == 2 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); - } - @else if length($shorthand) == 3 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); - } - @else { - @return $shorthand; - } -} - diff --git a/assets/sass/bourbon/helpers/_convert-units.scss b/assets/sass/bourbon/helpers/_convert-units.scss deleted file mode 100644 index 3443db39..00000000 --- a/assets/sass/bourbon/helpers/_convert-units.scss +++ /dev/null @@ -1,15 +0,0 @@ -//************************************************************************// -// Helper function for str-to-num fn. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _convert-units($number, $unit) { - $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn'; - $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn; - $index: index($strings, $unit); - - @if not $index { - @warn "Unknown unit `#{$unit}`."; - @return false; - } - @return $number * nth($units, $index); -} diff --git a/assets/sass/bourbon/helpers/_gradient-positions-parser.scss b/assets/sass/bourbon/helpers/_gradient-positions-parser.scss deleted file mode 100644 index 07d30b6c..00000000 --- a/assets/sass/bourbon/helpers/_gradient-positions-parser.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function _gradient-positions-parser($gradient-type, $gradient-positions) { - @if $gradient-positions - and ($gradient-type == linear) - and (type-of($gradient-positions) != color) { - $gradient-positions: _linear-positions-parser($gradient-positions); - } - @else if $gradient-positions - and ($gradient-type == radial) - and (type-of($gradient-positions) != color) { - $gradient-positions: _radial-positions-parser($gradient-positions); - } - @return $gradient-positions; -} diff --git a/assets/sass/bourbon/helpers/_is-num.scss b/assets/sass/bourbon/helpers/_is-num.scss deleted file mode 100644 index 71459e14..00000000 --- a/assets/sass/bourbon/helpers/_is-num.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// Helper for linear-gradient-parser -//************************************************************************// -@function _is-num($char) { - $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9; - $index: index($values, $char); - @return if($index, true, false); -} diff --git a/assets/sass/bourbon/helpers/_linear-angle-parser.scss b/assets/sass/bourbon/helpers/_linear-angle-parser.scss deleted file mode 100644 index e0401ed8..00000000 --- a/assets/sass/bourbon/helpers/_linear-angle-parser.scss +++ /dev/null @@ -1,25 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-angle-parser($image, $first-val, $prefix, $suffix) { - $offset: null; - $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); - $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); - - @if ($unit-long == "grad") or - ($unit-long == "turn") { - $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); - } - - @else if ($unit-short == "deg") or - ($unit-short == "rad") { - $offset: if($unit-short == "deg", -90 * 3, 1.6rad); - } - - @if $offset { - $num: _str-to-num($first-val); - - @return ( - webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, - spec-image: $image - ); - } -} diff --git a/assets/sass/bourbon/helpers/_linear-gradient-parser.scss b/assets/sass/bourbon/helpers/_linear-gradient-parser.scss deleted file mode 100644 index 12bcdcda..00000000 --- a/assets/sass/bourbon/helpers/_linear-gradient-parser.scss +++ /dev/null @@ -1,41 +0,0 @@ -@function _linear-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $has-multiple-vals: str-index($first-val, " "); - $has-single-position: unquote(_position-flipper($first-val) + ""); - $has-angle: _is-num(str-slice($first-val, 0, 0)); - - @if $has-multiple-vals { - $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); - } - - @else if $has-single-position != "" { - $pos: unquote($has-single-position + ""); - - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } - - @else if $has-angle { - // Rotate degree for webkit - $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ); - } - - @return $gradients; -} diff --git a/assets/sass/bourbon/helpers/_linear-positions-parser.scss b/assets/sass/bourbon/helpers/_linear-positions-parser.scss deleted file mode 100644 index d26383ed..00000000 --- a/assets/sass/bourbon/helpers/_linear-positions-parser.scss +++ /dev/null @@ -1,61 +0,0 @@ -@function _linear-positions-parser($pos) { - $type: type-of(nth($pos, 1)); - $spec: null; - $degree: null; - $side: null; - $corner: null; - $length: length($pos); - // Parse Side and corner positions - @if ($length > 1) { - @if nth($pos, 1) == "to" { // Newer syntax - $side: nth($pos, 2); - - @if $length == 2 { // eg. to top - // Swap for backwards compatability - $degree: _position-flipper(nth($pos, 2)); - } - @else if $length == 3 { // eg. to top left - $corner: nth($pos, 3); - } - } - @else if $length == 2 { // Older syntax ("top left") - $side: _position-flipper(nth($pos, 1)); - $corner: _position-flipper(nth($pos, 2)); - } - - @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - $spec: to $side $corner; - } - @else if $length == 1 { - // Swap for backwards compatability - @if $type == string { - $degree: $pos; - $spec: to _position-flipper($pos); - } - @else { - $degree: -270 - $pos; //rotate the gradient opposite from spec - $spec: $pos; - } - } - $degree: unquote($degree + ","); - $spec: unquote($spec + ","); - @return $degree $spec; -} - -@function _position-flipper($pos) { - @return if($pos == left, right, null) - if($pos == right, left, null) - if($pos == top, bottom, null) - if($pos == bottom, top, null); -} diff --git a/assets/sass/bourbon/helpers/_linear-side-corner-parser.scss b/assets/sass/bourbon/helpers/_linear-side-corner-parser.scss deleted file mode 100644 index 86ad88fb..00000000 --- a/assets/sass/bourbon/helpers/_linear-side-corner-parser.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { - $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); - $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); - $val-3: null; - $has-val-3: str-index($val-2, " "); - - @if $has-val-3 { - $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); - $val-2: str-slice($val-2, 0, $has-val-3 - 1); - } - - $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); - $pos: unquote($pos + ""); - - // Use old spec for webkit - @if $val-1 == "to" { - @return ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ); - } - - // Bring the code up to spec - @else { - @return ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } -} diff --git a/assets/sass/bourbon/helpers/_radial-arg-parser.scss b/assets/sass/bourbon/helpers/_radial-arg-parser.scss deleted file mode 100644 index a3a3704a..00000000 --- a/assets/sass/bourbon/helpers/_radial-arg-parser.scss +++ /dev/null @@ -1,69 +0,0 @@ -@function _radial-arg-parser($G1, $G2, $pos, $shape-size) { - @each $value in $G1, $G2 { - $first-val: nth($value, 1); - $pos-type: type-of($first-val); - $spec-at-index: null; - - // Determine if spec was passed to mixin - @if type-of($value) == list { - $spec-at-index: if(index($value, at), index($value, at), false); - } - @if $spec-at-index { - @if $spec-at-index > 1 { - @for $i from 1 through ($spec-at-index - 1) { - $shape-size: $shape-size nth($value, $i); - } - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - @else if $spec-at-index == 1 { - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - $G1: null; - } - - // If not spec calculate correct values - @else { - @if ($pos-type != color) or ($first-val != "transparent") { - @if ($pos-type == number) - or ($first-val == "center") - or ($first-val == "top") - or ($first-val == "right") - or ($first-val == "bottom") - or ($first-val == "left") { - - $pos: $value; - - @if $pos == $G1 { - $G1: null; - } - } - - @else if - ($first-val == "ellipse") - or ($first-val == "circle") - or ($first-val == "closest-side") - or ($first-val == "closest-corner") - or ($first-val == "farthest-side") - or ($first-val == "farthest-corner") - or ($first-val == "contain") - or ($first-val == "cover") { - - $shape-size: $value; - - @if $value == $G1 { - $G1: null; - } - - @else if $value == $G2 { - $G2: null; - } - } - } - } - } - @return $G1, $G2, $pos, $shape-size; -} diff --git a/assets/sass/bourbon/helpers/_radial-gradient-parser.scss b/assets/sass/bourbon/helpers/_radial-gradient-parser.scss deleted file mode 100644 index 6dde50f0..00000000 --- a/assets/sass/bourbon/helpers/_radial-gradient-parser.scss +++ /dev/null @@ -1,50 +0,0 @@ -@function _radial-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $is-spec-syntax: str-index($first-val, "at"); - - @if $is-spec-syntax and $is-spec-syntax > 1 { - $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - $pos: append($pos, $keyword, comma); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if $is-spec-syntax == 1 { - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if str-index($image, "cover") or str-index($image, "contain") { - @warn "Radial-gradient needs to be updated to conform to latest spec."; - - $gradients: ( - webkit-image: null, - spec-image: $image - ) - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ) - } - - @return $gradients; -} diff --git a/assets/sass/bourbon/helpers/_radial-positions-parser.scss b/assets/sass/bourbon/helpers/_radial-positions-parser.scss deleted file mode 100644 index 6a5b4777..00000000 --- a/assets/sass/bourbon/helpers/_radial-positions-parser.scss +++ /dev/null @@ -1,18 +0,0 @@ -@function _radial-positions-parser($gradient-pos) { - $shape-size: nth($gradient-pos, 1); - $pos: nth($gradient-pos, 2); - $shape-size-spec: _shape-size-stripper($shape-size); - - $pre-spec: unquote(if($pos, "#{$pos}, ", null)) - unquote(if($shape-size, "#{$shape-size},", null)); - $pos-spec: if($pos, "at #{$pos}", null); - - $spec: "#{$shape-size-spec} #{$pos-spec}"; - - // Add comma - @if ($spec != ' ') { - $spec: "#{$spec}," - } - - @return $pre-spec $spec; -} diff --git a/assets/sass/bourbon/helpers/_render-gradients.scss b/assets/sass/bourbon/helpers/_render-gradients.scss deleted file mode 100644 index 57656768..00000000 --- a/assets/sass/bourbon/helpers/_render-gradients.scss +++ /dev/null @@ -1,26 +0,0 @@ -// User for linear and radial gradients within background-image or border-image properties - -@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { - $pre-spec: null; - $spec: null; - $vendor-gradients: null; - @if $gradient-type == linear { - @if $gradient-positions { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - } - @else if $gradient-type == radial { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - - @if $vendor { - $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); - } - @else if $vendor == false { - $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; - $vendor-gradients: unquote($vendor-gradients); - } - @return $vendor-gradients; -} diff --git a/assets/sass/bourbon/helpers/_shape-size-stripper.scss b/assets/sass/bourbon/helpers/_shape-size-stripper.scss deleted file mode 100644 index ee5eda42..00000000 --- a/assets/sass/bourbon/helpers/_shape-size-stripper.scss +++ /dev/null @@ -1,10 +0,0 @@ -@function _shape-size-stripper($shape-size) { - $shape-size-spec: null; - @each $value in $shape-size { - @if ($value == "cover") or ($value == "contain") { - $value: null; - } - $shape-size-spec: "#{$shape-size-spec} #{$value}"; - } - @return $shape-size-spec; -} diff --git a/assets/sass/bourbon/helpers/_str-to-num.scss b/assets/sass/bourbon/helpers/_str-to-num.scss deleted file mode 100644 index b3d61682..00000000 --- a/assets/sass/bourbon/helpers/_str-to-num.scss +++ /dev/null @@ -1,50 +0,0 @@ -//************************************************************************// -// Helper function for linear/radial-gradient-parsers. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _str-to-num($string) { - // Matrices - $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; - $numbers: 0 1 2 3 4 5 6 7 8 9; - - // Result - $result: 0; - $divider: 0; - $minus: false; - - // Looping through all characters - @for $i from 1 through str-length($string) { - $character: str-slice($string, $i, $i); - $index: index($strings, $character); - - @if $character == '-' { - $minus: true; - } - - @else if $character == '.' { - $divider: 1; - } - - @else { - @if not $index { - $result: if($minus, $result * -1, $result); - @return _convert-units($result, str-slice($string, $i)); - } - - $number: nth($numbers, $index); - - @if $divider == 0 { - $result: $result * 10; - } - - @else { - // Move the decimal dot to the left - $divider: $divider * 10; - $number: $number / $divider; - } - - $result: $result + $number; - } - } - @return if($minus, $result * -1, $result); -} diff --git a/assets/sass/bourbon/settings/_asset-pipeline.scss b/assets/sass/bourbon/settings/_asset-pipeline.scss deleted file mode 100644 index d481a6af..00000000 --- a/assets/sass/bourbon/settings/_asset-pipeline.scss +++ /dev/null @@ -1 +0,0 @@ -$asset-pipeline: false !default; diff --git a/assets/sass/bourbon/settings/_prefixer.scss b/assets/sass/bourbon/settings/_prefixer.scss deleted file mode 100644 index ecab49fb..00000000 --- a/assets/sass/bourbon/settings/_prefixer.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Variable settings for /addons/prefixer.scss -$prefix-for-webkit: true !default; -$prefix-for-mozilla: true !default; -$prefix-for-microsoft: true !default; -$prefix-for-opera: true !default; -$prefix-for-spec: true !default; // required for keyframe mixin diff --git a/assets/sass/bourbon/settings/_px-to-em.scss b/assets/sass/bourbon/settings/_px-to-em.scss deleted file mode 100644 index f2f9a3e8..00000000 --- a/assets/sass/bourbon/settings/_px-to-em.scss +++ /dev/null @@ -1 +0,0 @@ -$em-base: 16px !default; diff --git a/assets/sass/components/_flexnav.scss b/assets/sass/components/_flexnav.scss index c122ab6f..51d776f4 100644 --- a/assets/sass/components/_flexnav.scss +++ b/assets/sass/components/_flexnav.scss @@ -74,6 +74,9 @@ $fourth_level: #999; font-size: 100%; position: relative; overflow: hidden; + &:last-child { + border-bottom: 1px solid $third_level; + } } } li ul.flexnav-show { diff --git a/assets/sass/neat/_neat-helpers.scss b/assets/sass/neat/_neat-helpers.scss deleted file mode 100644 index e915c698..00000000 --- a/assets/sass/neat/_neat-helpers.scss +++ /dev/null @@ -1,7 +0,0 @@ -// Functions -@import "functions/private"; -@import "functions/new-breakpoint"; - -// Settings -@import "settings/grid"; -@import "settings/visual-grid"; diff --git a/assets/sass/neat/_neat.scss b/assets/sass/neat/_neat.scss deleted file mode 100644 index e93d636e..00000000 --- a/assets/sass/neat/_neat.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Bourbon Neat 1.6.0.pre -// MIT Licensed -// Copyright (c) 2012-2013 thoughtbot, inc. - -// Helpers -@import "neat-helpers"; - -// Grid -@import "grid/private"; -@import "grid/reset"; -@import "grid/grid"; -@import "grid/omega"; -@import "grid/outer-container"; -@import "grid/span-columns"; -@import "grid/row"; -@import "grid/shift"; -@import "grid/pad"; -@import "grid/fill-parent"; -@import "grid/media"; -@import "grid/to-deprecate"; -@import "grid/visual-grid"; diff --git a/assets/sass/neat/functions/_new-breakpoint.scss b/assets/sass/neat/functions/_new-breakpoint.scss deleted file mode 100644 index a89c9ce6..00000000 --- a/assets/sass/neat/functions/_new-breakpoint.scss +++ /dev/null @@ -1,16 +0,0 @@ -@function new-breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { - - @if length($query) == 1 { - $query: $default-feature nth($query, 1) $total-columns; - } - - @else if length($query) % 2 == 0 { - $query: append($query, $total-columns); - } - - @if not belongs-to($query, $visual-grid-breakpoints) { - $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global; - } - - @return $query; -} diff --git a/assets/sass/neat/functions/_private.scss b/assets/sass/neat/functions/_private.scss deleted file mode 100644 index 6f03cfcc..00000000 --- a/assets/sass/neat/functions/_private.scss +++ /dev/null @@ -1,125 +0,0 @@ -// Checks if a number is even -@function is-even($int) { - @if $int%2 == 0 { - @return true; - } - - @return false; -} - -// Checks if an element belongs to a list -@function belongs-to($tested-item, $list) { - @each $item in $list { - @if $item == $tested-item { - @return true; - } - } - - @return false; -} - -// Contains display value -@function contains-display-value($query) { - @if belongs-to(table, $query) or belongs-to(block, $query) or belongs-to(inline-block, $query) or belongs-to(inline, $query) { - @return true; - } - - @return false; -} - -// Parses the first argument of span-columns() -@function container-span($span: $span) { - @if length($span) == 3 { - $container-columns: nth($span, 3); - @return $container-columns; - } - - @else if length($span) == 2 { - $container-columns: nth($span, 2); - @return $container-columns; - } - - @else { - @return $grid-columns; - } -} - -@function container-shift($shift: $shift) { - $parent-columns: $grid-columns !global !default; - - @if length($shift) == 3 { - $container-columns: nth($shift, 3); - @return $container-columns; - } - - @else if length($shift) == 2 { - $container-columns: nth($shift, 2); - @return $container-columns; - } - - @else { - @return $parent-columns; - } -} - -// Generates a striped background -@function gradient-stops($grid-columns, $color: $visual-grid-color) { - $transparent: rgba(0,0,0,0); - - $column-width: flex-grid(1, $grid-columns); - $gutter-width: flex-gutter($grid-columns); - $column-offset: $column-width; - - $values: ($transparent 0, $color 0); - - @for $i from 1 to $grid-columns*2 { - @if is-even($i) { - $values: append($values, $transparent $column-offset, comma); - $values: append($values, $color $column-offset, comma); - $column-offset: $column-offset + $column-width; - } - - @else { - $values: append($values, $color $column-offset, comma); - $values: append($values, $transparent $column-offset, comma); - $column-offset: $column-offset + $gutter-width; - } - } - - @return $values; -} - -// Layout direction -@function get-direction($layout, $default) { - $direction: nil; - - @if $layout == LTR or $layout == RTL { - $direction: direction-from-layout($layout); - } @else { - $direction: direction-from-layout($default); - } - - @return $direction; -} - -@function direction-from-layout($layout) { - $direction: nil; - - @if $layout == LTR { - $direction: right; - } @else { - $direction: left; - } - - @return $direction; -} - -@function get-opposite-direction($direction) { - $opposite-direction: left; - - @if $direction == left { - $opposite-direction: right; - } - - @return $opposite-direction; -} diff --git a/assets/sass/neat/grid/_fill-parent.scss b/assets/sass/neat/grid/_fill-parent.scss deleted file mode 100644 index 859c9779..00000000 --- a/assets/sass/neat/grid/_fill-parent.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin fill-parent() { - width: 100%; - - @if $border-box-sizing == false { - @include box-sizing(border-box); - } -} diff --git a/assets/sass/neat/grid/_grid.scss b/assets/sass/neat/grid/_grid.scss deleted file mode 100644 index e074b6c5..00000000 --- a/assets/sass/neat/grid/_grid.scss +++ /dev/null @@ -1,5 +0,0 @@ -@if $border-box-sizing == true { - * { - @include box-sizing(border-box); - } -} diff --git a/assets/sass/neat/grid/_media.scss b/assets/sass/neat/grid/_media.scss deleted file mode 100644 index bf27f70e..00000000 --- a/assets/sass/neat/grid/_media.scss +++ /dev/null @@ -1,38 +0,0 @@ -@mixin media($query:$feature $value $columns, $total-columns: $grid-columns) { - @if length($query) == 1 { - @media screen and ($default-feature: nth($query, 1)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns !global; - @content; - $grid-columns: $default-grid-columns !global; - } - } - - @else { - $loopTo: length($query); - $mediaQuery: 'screen and '; - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns !global; - - @if length($query) % 2 != 0 { - $grid-columns: nth($query, $loopTo) !global; - $loopTo: $loopTo - 1; - } - - $i: 1; - @while $i <= $loopTo { - $mediaQuery: $mediaQuery + '(' + nth($query, $i) + ': ' + nth($query, $i + 1) + ') '; - - @if ($i + 1) != $loopTo { - $mediaQuery: $mediaQuery + 'and '; - } - - $i: $i + 2; - } - - @media #{$mediaQuery} { - @content; - $grid-columns: $default-grid-columns !global; - } - } -} diff --git a/assets/sass/neat/grid/_omega.scss b/assets/sass/neat/grid/_omega.scss deleted file mode 100644 index c99ed6cf..00000000 --- a/assets/sass/neat/grid/_omega.scss +++ /dev/null @@ -1,61 +0,0 @@ -// Remove last element gutter -@mixin omega($query: block, $direction: default) { - $table: if(belongs-to(table, $query), true, false); - $auto: if(belongs-to(auto, $query), true, false); - - @if $direction != default { - @warn "The omega mixin will no longer take a $direction argument. To change the layout direction, use row($direction) or set $default-layout-direction instead." - } @else { - $direction: get-direction($layout-direction, $default-layout-direction); - } - - @if $table { - @warn "The omega mixin no longer removes padding in table layouts." - } - - @if length($query) == 1 { - @if $auto { - &:last-child { - margin-#{$direction}: 0; - } - } - - @else if contains-display-value($query) and $table == false { - margin-#{$direction}: 0; - } - - @else { - @include nth-child($query, $direction); - } - } - - @else if length($query) == 2 { - @if $auto { - &:last-child { - margin-#{$direction}: 0; - } - } - - @else { - @include nth-child(nth($query, 1), $direction); - } - } - - @else { - @warn "Too many arguments passed to the omega() mixin." - } -} - -@mixin nth-child($query, $direction) { - $opposite-direction: get-opposite-direction($direction); - - &:nth-child(#{$query}) { - margin-#{$direction}: 0; - } - - @if type-of($query) == number { - &:nth-child(#{$query}+1) { - clear: $opposite-direction; - } - } -} diff --git a/assets/sass/neat/grid/_outer-container.scss b/assets/sass/neat/grid/_outer-container.scss deleted file mode 100644 index 22c541f4..00000000 --- a/assets/sass/neat/grid/_outer-container.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin outer-container { - @include clearfix; - max-width: $max-width; - margin: { - left: auto; - right: auto; - } -} diff --git a/assets/sass/neat/grid/_pad.scss b/assets/sass/neat/grid/_pad.scss deleted file mode 100644 index 3ef5d80e..00000000 --- a/assets/sass/neat/grid/_pad.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin pad($padding: flex-gutter()) { - $padding-list: null; - @each $value in $padding { - $value: if($value == 'default', flex-gutter(), $value); - $padding-list: join($padding-list, $value); - } - padding: $padding-list; -} diff --git a/assets/sass/neat/grid/_private.scss b/assets/sass/neat/grid/_private.scss deleted file mode 100644 index b1953368..00000000 --- a/assets/sass/neat/grid/_private.scss +++ /dev/null @@ -1,43 +0,0 @@ -$parent-columns: $grid-columns !default; -$fg-column: $column; -$fg-gutter: $gutter; -$fg-max-columns: $grid-columns; -$container-display-table: false !default; -$layout-direction: nil !default; - -@function flex-grid($columns, $container-columns: $fg-max-columns) { - $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($width / $container-width); -} - -@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($gutter / $container-width); -} - -@function grid-width($n) { - @return $n * $gw-column + ($n - 1) * $gw-gutter; -} - -@function get-parent-columns($columns) { - @if $columns != $grid-columns { - $parent-columns: $columns !global; - } @else { - $parent-columns: $grid-columns !global; - } - - @return $parent-columns; -} - -@function is-display-table($container-is-display-table, $display) { - $display-table: false; - - @if $container-is-display-table == true { - $display-table: true; - } @else if $display == table { - $display-table: true; - } - - @return $display-table; -} diff --git a/assets/sass/neat/grid/_reset.scss b/assets/sass/neat/grid/_reset.scss deleted file mode 100644 index 496c4a77..00000000 --- a/assets/sass/neat/grid/_reset.scss +++ /dev/null @@ -1,12 +0,0 @@ -@mixin reset-display { - $container-display-table: false !global; -} - -@mixin reset-layout-direction { - $layout-direction: $default-layout-direction !global; -} - -@mixin reset-all { - @include reset-display; - @include reset-layout-direction; -} diff --git a/assets/sass/neat/grid/_row.scss b/assets/sass/neat/grid/_row.scss deleted file mode 100644 index 81da6d36..00000000 --- a/assets/sass/neat/grid/_row.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin row($display: block, $direction: $default-layout-direction) { - @include clearfix; - $layout-direction: $direction !global; - - @if $display == table { - display: table; - @include fill-parent; - table-layout: fixed; - $container-display-table: true !global; - } - - @else { - display: block; - $container-display-table: false !global; - } -} - diff --git a/assets/sass/neat/grid/_shift.scss b/assets/sass/neat/grid/_shift.scss deleted file mode 100644 index 1d27b9b7..00000000 --- a/assets/sass/neat/grid/_shift.scss +++ /dev/null @@ -1,16 +0,0 @@ -@mixin shift($n-columns: 1) { - @include shift-in-context($n-columns); -} - -@mixin shift-in-context($shift: $columns of $container-columns) { - $n-columns: nth($shift, 1); - $parent-columns: container-shift($shift) !global; - - $direction: get-direction($layout-direction, $default-layout-direction); - $opposite-direction: get-opposite-direction($direction); - - margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns); - - // Reset nesting context - $parent-columns: $grid-columns !global; -} diff --git a/assets/sass/neat/grid/_span-columns.scss b/assets/sass/neat/grid/_span-columns.scss deleted file mode 100644 index c79193d9..00000000 --- a/assets/sass/neat/grid/_span-columns.scss +++ /dev/null @@ -1,43 +0,0 @@ -@mixin span-columns($span: $columns of $container-columns, $display: block) { - $columns: nth($span, 1); - $container-columns: container-span($span); - - // Set nesting context (used by shift()) - $parent-columns: get-parent-columns($container-columns) !global; - - $direction: get-direction($layout-direction, $default-layout-direction); - $opposite-direction: get-opposite-direction($direction); - - $display-table: is-display-table($container-display-table, $display); - - @if $display-table { - display: table-cell; - width: percentage($columns / $container-columns); - } @else { - float: #{$opposite-direction}; - - @if $display != no-display { - display: block; - } - - @if $display == collapse { - @warn "The 'collapse' argument will be deprecated. Use 'block-collapse' instead." - } - - @if $display == collapse or $display == block-collapse { - width: flex-grid($columns, $container-columns) + flex-gutter($container-columns); - - &:last-child { - width: flex-grid($columns, $container-columns); - } - - } @else { - margin-#{$direction}: flex-gutter($container-columns); - width: flex-grid($columns, $container-columns); - - &:last-child { - margin-#{$direction}: 0; - } - } - } -} diff --git a/assets/sass/neat/grid/_to-deprecate.scss b/assets/sass/neat/grid/_to-deprecate.scss deleted file mode 100644 index d0a681fd..00000000 --- a/assets/sass/neat/grid/_to-deprecate.scss +++ /dev/null @@ -1,57 +0,0 @@ -@mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { - @warn "The breakpoint() mixin was renamed to media() in Neat 1.0. Please update your project with the new syntax before the next version bump."; - - @if length($query) == 1 { - @media screen and ($default-feature: nth($query, 1)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 2 { - @media screen and (nth($query, 1): nth($query, 2)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 3 { - @media screen and (nth($query, 1): nth($query, 2)) { - $default-grid-columns: $grid-columns; - $grid-columns: nth($query, 3); - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 4 { - @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 5 { - @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { - $default-grid-columns: $grid-columns; - $grid-columns: nth($query, 5); - @content; - $grid-columns: $default-grid-columns; - } - } - - @else { - @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details."; - } -} - -@mixin nth-omega($nth, $display: block, $direction: default) { - @warn "The nth-omega() mixin is deprecated. Please use omega() instead."; - @include omega($nth $display, $direction); -} diff --git a/assets/sass/neat/grid/_visual-grid.scss b/assets/sass/neat/grid/_visual-grid.scss deleted file mode 100644 index 1c822fd3..00000000 --- a/assets/sass/neat/grid/_visual-grid.scss +++ /dev/null @@ -1,41 +0,0 @@ -@mixin grid-column-gradient($values...) { - background-image: deprecated-webkit-gradient(linear, left top, left bottom, $values); - background-image: -webkit-linear-gradient(left, $values); - background-image: -moz-linear-gradient(left, $values); - background-image: -ms-linear-gradient(left, $values); - background-image: -o-linear-gradient(left, $values); - background-image: unquote("linear-gradient(left, #{$values})"); -} - -@if $visual-grid == true or $visual-grid == yes { - body:before { - content: ''; - display: inline-block; - @include grid-column-gradient(gradient-stops($grid-columns)); - height: 100%; - left: 0; - margin: 0 auto; - max-width: $max-width; - opacity: $visual-grid-opacity; - position: fixed; - right: 0; - width: 100%; - pointer-events: none; - - @if $visual-grid-index == back { - z-index: -1; - } - - @else if $visual-grid-index == front { - z-index: 9999; - } - - @each $breakpoint in $visual-grid-breakpoints { - @if $breakpoint != nil { - @include media($breakpoint) { - @include grid-column-gradient(gradient-stops($grid-columns)); - } - } - } - } -} diff --git a/assets/sass/neat/settings/_grid.scss b/assets/sass/neat/settings/_grid.scss deleted file mode 100644 index f1dcda47..00000000 --- a/assets/sass/neat/settings/_grid.scss +++ /dev/null @@ -1,7 +0,0 @@ -$column: golden-ratio(1em, 3) !default; // Column width -$gutter: golden-ratio(1em, 1) !default; // Gutter between each two columns -$grid-columns: 12 !default; // Total number of columns in the grid -$max-width: em(1088) !default; // Max-width of the outer container -$border-box-sizing: true !default; // Makes all elements have a border-box layout -$default-feature: min-width; // Default @media feature for the breakpoint() mixin -$default-layout-direction: LTR !default; diff --git a/assets/sass/neat/settings/_visual-grid.scss b/assets/sass/neat/settings/_visual-grid.scss deleted file mode 100644 index 611c2b37..00000000 --- a/assets/sass/neat/settings/_visual-grid.scss +++ /dev/null @@ -1,5 +0,0 @@ -$visual-grid: false !default; // Display the base grid -$visual-grid-color: #EEE !default; -$visual-grid-index: back !default; // Show grid behind content (back) or overlay it over the content (front) -$visual-grid-opacity: 0.4 !default; -$visual-grid-breakpoints: () !default; diff --git a/assets/sass/rtl.scss b/assets/sass/rtl.scss index 1915f7db..2f05fe43 100644 --- a/assets/sass/rtl.scss +++ b/assets/sass/rtl.scss @@ -1,2 +1,2 @@ -@import "bi-app/bi-app-rtl"; +@import "../../assets/bower_components/bi-app-sass/bi-app/bi-app-rtl"; @import "app"; diff --git a/assets/sass/style.scss b/assets/sass/style.scss index ab8ed4a4..577b3fe5 100644 --- a/assets/sass/style.scss +++ b/assets/sass/style.scss @@ -2,5 +2,5 @@ * Note: _app.scss is now the file through which all other Sass files are compiled. * */ -@import "bi-app/bi-app-ltr"; +@import "../../assets/bower_components/bi-app-sass/bi-app/bi-app-ltr"; @import "app"; diff --git a/bower.json b/bower.json index c39eddae..8815556e 100644 --- a/bower.json +++ b/bower.json @@ -5,7 +5,13 @@ "authors": [ "Alex Vasquez " ], - "dependencies": { - + "dependencies" : { + "bourbon" : "~4.1", + "neat" : "~1.7", + "flexnav" : "~1.3.3", + "bi-app-sass" : "latest", + "jquery-hoverIntent" : "~1.8.1", + "modernizr": "2.8.2", + "selectivizr" : "latest" } } diff --git a/gulpfile.js b/gulpfile.js index 190fc337..250cc4e3 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -8,7 +8,7 @@ var project = 'somelikeitneat', // Optional - Use your own project name here... build = './build/', // Files that you want to package into a zip go here source = './assets/', // Your main project assets and naming 'source' instead of 'src' to avoid confusion with gulp.src - bower = './bower_components/'; // Not truly using this yet, more or less playing right now. TO-DO Place in Dev branch + bower = './assets/bower_components/'; // Not truly using this yet, more or less playing right now. TO-DO Place in Dev branch // Load plugins var gulp = require('gulp'), @@ -32,6 +32,7 @@ var gulp = require('gulp'), zip = require('gulp-zip'), // Using to zip up our packaged theme into a tasty zip file that can be installed in WordPress! plumber = require('gulp-plumber'), // Helps prevent stream crashing on errors pipe = require('gulp-coffee'), + filter = require('gulp-filter'), cache = require('gulp-cache'); /** @@ -59,7 +60,7 @@ gulp.task('browser-sync', function() { gulp.task('styles', function () { return gulp.src([source+'sass/**/*.scss']) .pipe(plumber()) - .pipe(sass({ style: 'expanded', })) + .pipe(sass({ style: 'expanded', 'sourcemap=none': true })) .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4')) .pipe(plumber.stop()) .pipe(gulp.dest(source+'css')) @@ -80,14 +81,14 @@ gulp.task('styles', function () { * Look at src/js and concatenate those files, send them to assets/js where we then minimize the concatenated file. */ gulp.task('js', function() { - return gulp.src([source+'js/vendor/**/*.js', source+'bower/**']) + return gulp.src([source+'js/vendor/**/*.js', source+'bower_components/selectivizr/selectivizr.js', source+'bower_components/modernizr/modernizr.js', source+'bower_components/jquery-hoverIntent/jquery.hoverIntent.js', source+'bower_components/flexnav/js/jquery.flexnav.js']) // .pipe(jshint('.jshintrc')) // TO-DO: Reporting seems to be broken for js errors. // .pipe(jshint.reporter('default')) .pipe(concat('production.js')) .pipe(gulp.dest(source+'js')) .pipe(rename({ suffix: '-min' })) .pipe(uglify()) - .pipe(gulp.dest(build+'assets/js/')) + .pipe(gulp.dest(source+'js/')) .pipe(notify({ message: 'Scripts task complete', onLast: true })); }); @@ -113,15 +114,14 @@ gulp.task('images', function() { * clearing out unoptimized image files in zip as those will have been moved and optimized */ + gulp.task('cleanup', function() { - return gulp.src(['**/build','**/.sass-cache','**/.codekit-cache','**/.DS_Store', 'src/images/*'], { read: false }) // much faster - // .pipe(ignore('node_modules/**')) //Example of a directory to ignore + return gulp.src(['**/build','./assets/bower_components/*','**/.sass-cache','**/.codekit-cache','**/.DS_Store', 'src/images/*'], { read: false }) // much faster .pipe(rimraf()) .pipe(notify({ message: 'Clean task complete', onLast: true })); }); gulp.task('cleanupFinal', function() { - return gulp.src(['**/build','**/.sass-cache','**/.codekit-cache','**/.DS_Store', 'src/images/*'], { read: false }) // much faster - // .pipe(ignore('node_modules/**')) //Example of a directory to ignore + return gulp.src(['**/build','./assets/bower_components/*','**/.sass-cache','**/.codekit-cache','**/.DS_Store', 'src/images/*'], { read: false }) // much faster .pipe(rimraf()) .pipe(notify({ message: 'Build task complete', onLast: true })); }); @@ -136,7 +136,7 @@ gulp.task('cleanupFinal', function() { * distribute uniminified/unoptimized files. And, uh, grabbing screenshot.png cause I'm janky like that! */ gulp.task('buildPhp', function() { - return gulp.src(['**/*.php', './style.css','./gulpfile.js','./package.json','./.bowercc','.gitignore', './screenshot.png','!./build/**','!./library/**','!./src/**']) + return gulp.src(['**/*.php', './style.css','./gulpfile.js','./package.json','./.bowercc','.gitignore', './screenshot.png','!./build/**','!./library/**','!./assets/**']) .pipe(gulp.dest(build)) .pipe(notify({ message: 'Moving files complete', onLast: true })); }); @@ -194,7 +194,7 @@ gulp.task('build', function(cb) { // Watch Task -gulp.task('default', ['styles', 'browser-sync'], function () { +gulp.task('default', ['styles', 'browser-sync', 'js'], function () { gulp.watch(source+"sass/**/*.scss", ['styles']); - gulp.watch(source+"js/vendor/**/*.js", ['js', browserSync.reload]); + gulp.watch(source+"js/**/*.js", ['js', browserSync.reload]); }); diff --git a/package.json b/package.json index 42253c0a..94c1f2aa 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "gulp-combine-media-queries": "^0.1.0", "gulp-concat": "^2.2.0", "gulp-consolidate": "^0.1.2", + "gulp-filter": "^2.0.0", "gulp-ignore": "^1.2.0", "gulp-imagemin": "^0.6.1", "gulp-jshint": "^1.6.4",